2021-10-13 05:58:24 +00:00
|
|
|
# Robossembler ROS2
|
|
|
|
|
2022-01-12 21:14:36 +04:00
|
|
|
Repo for ROS2 packages related to Robossembler
|
|
|
|
|
2022-01-17 00:27:17 +08:00
|
|
|
## Instructions
|
|
|
|
### Requirements
|
|
|
|
* OS: Ubuntu 20.04
|
|
|
|
* Other distributions might work (not tested).
|
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
These are the primary dependencies required to use this project.
|
|
|
|
|
|
|
|
* ROS 2 Foxy
|
|
|
|
* MoveIt 2
|
|
|
|
> Install/build a version based on the selected ROS 2 release
|
|
|
|
|
|
|
|
### Build
|
2022-01-12 21:14:36 +04:00
|
|
|
|
|
|
|
1. Clone the repository
|
|
|
|
2. Build packages
|
|
|
|
|
|
|
|
For visualization install ```colcon``` with ```mixin``` (it's required to install ```moveit_visual_tools```):
|
|
|
|
```bash
|
|
|
|
sudo apt install python3-colcon-common-extensions python3-colcon-mixin python3-vcstool
|
|
|
|
colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
|
|
|
|
colcon mixin update default
|
|
|
|
```
|
|
|
|
|
|
|
|
Prepare workspace & install dependencies
|
|
|
|
```
|
|
|
|
mkdir -p ~/robossembler_ws/src && cd ~/robossembler_ws/src
|
2022-01-17 00:27:17 +08:00
|
|
|
git clone https://gitlab.com/robosphere/robossembler-ros2
|
2022-01-12 21:14:36 +04:00
|
|
|
vcs import . < robossembler-ros2/rasms.repos
|
|
|
|
cd ..
|
|
|
|
rosdep install -y -r -q --from-paths src --ignore-src --rosdistro foxy
|
|
|
|
colcon build --symlink-install --mixin release
|
|
|
|
```
|
|
|
|
|
|
|
|
but at the moment the visualization is not implemented
|
|
|
|
|
2022-01-17 00:27:17 +08:00
|
|
|
### Examples
|
2022-01-12 21:14:36 +04:00
|
|
|
Add source to environment
|
|
|
|
```
|
|
|
|
source install/setup.bash
|
|
|
|
```
|
2022-01-19 17:22:13 +04:00
|
|
|
Launch MoveIt2, Gazebo, RViz and PlanSys2 with domain from `pddl/domain.pddl`
|
2022-01-12 21:14:36 +04:00
|
|
|
```bash
|
2022-01-19 17:22:13 +04:00
|
|
|
ros2 launch robossembler robossembler_bringup.launch.py
|
2022-01-12 21:14:36 +04:00
|
|
|
```
|
2022-01-19 17:22:13 +04:00
|
|
|
#### With PlanSys2 Terminal
|
|
|
|
|
2022-01-12 21:14:36 +04:00
|
|
|
Launch Plansys2 Terminal
|
|
|
|
```bash
|
|
|
|
ros2 run plansys2_terminal plansys2_terminal
|
|
|
|
```
|
|
|
|
Then into plansys2_terminal paste command (see updates into pddl/commands)
|
|
|
|
```bash
|
2022-01-19 17:22:13 +04:00
|
|
|
set instance rasmt_arm_group robot
|
2022-01-12 21:14:36 +04:00
|
|
|
set instance one zone
|
2022-01-19 17:22:13 +04:00
|
|
|
set goal (and (robot_move rasmt_arm_group one))
|
2022-01-12 21:14:36 +04:00
|
|
|
run
|
|
|
|
```
|
|
|
|
|
2022-01-19 17:22:13 +04:00
|
|
|
#### With C++ node
|
|
|
|
|
|
|
|
```bash
|
|
|
|
ros2 run robossembler move_controller_node
|
|
|
|
```
|
|
|
|
|
2022-01-12 21:14:36 +04:00
|
|
|
### Links
|
|
|
|
* [plansys2_bt](https://intelligentroboticslab.gsyc.urjc.es/ros2_planning_system.github.io/tutorials/docs/bt_actions.html)
|
|
|
|
* [bt_v3_cpp](https://www.behaviortree.dev)
|
|
|
|
* [moveit2](https://moveit.picknik.ai/foxy/index.html)
|