Migrate to Gazebo Fortress

This commit is contained in:
Ilya Uraev 2023-02-03 07:04:12 +00:00 committed by Igor Brylyov
parent b34c00a9b9
commit e46c7bef74
113 changed files with 2751 additions and 25450 deletions

View file

@ -4,77 +4,55 @@ Repo for ROS2 packages related to Robossembler
## Instructions
### Requirements
* OS: Ubuntu 20.04
* Other distributions might work (not tested).
* OS: Ubuntu 22.04
* ROS 2 Humble
### 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
* Gazebo
* Gazebo Fortress
### Build
1. Clone the repository
2. Build packages
2. Build packages `colcon build`
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
Prepare workspace & install dependencies (So far only tested with UR robot arm)
```
mkdir -p ~/robossembler_ws/src && cd ~/robossembler_ws/src
git clone https://gitlab.com/robosphere/robossembler-ros2
vcs import . < robossembler-ros2/rasms.repos
vcs import . < robossembler-ros2/rbs.repos
cd ..
rosdep install -y -r -q --from-paths src --ignore-src --rosdistro foxy
colcon build --symlink-install --mixin release
rosdep install -y -r -q --from-paths src --ignore-src --rosdistro humble
colcon build
```
but at the moment the visualization is not implemented
### Examples
Add source to environment
```
source install/setup.bash
```
Add robot model to Gazebo models directory
```
cp ~/robossembler_ws/src/robossembler-ros2/rasmt_support/ ~/.gazebo/models/
. install/setup.bash
```
Launch MoveIt2, Gazebo, RViz and PlanSys2 with domain from `pddl/domain.pddl`
Launch MoveIt2, Gazebo, RViz
```bash
ros2 launch robossembler robossembler_bringup.launch.py
ros2 launch rbs_simulation rbs_simulation.launch.py
```
#### With PlanSys2 Terminal
#### Launch bt_tree
It will execute `bt_tree` once from file `rbs_bt_executor/bt_trees/test_tree.xml`
Launch Plansys2 Terminal
```bash
ros2 run plansys2_terminal plansys2_terminal
```
Then into plansys2_terminal paste command (see updates into pddl/commands)
```bash
set instance rasmt_arm_group robot
set instance one zone
set goal (and (robot_move rasmt_arm_group one))
run
ros2 launch rbs_executor rbs_executor.launch.py
```
#### With C++ node
```bash
ros2 run robossembler move_controller_node
The robot arm should move to the point from config file in path
```
rbs_bt_executor/config/points.yaml
```
### 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)
* [moveit2](https://moveit.picknik.ai/humble/index.html)