68 lines
2 KiB
Markdown
68 lines
2 KiB
Markdown
# Robossembler ROS2
|
|
|
|
Repo for ROS2 packages related to Robossembler
|
|
|
|
## Instructions
|
|
### Requirements
|
|
* OS: Ubuntu 22.04
|
|
* ROS 2 Humble
|
|
* nlohman/json
|
|
|
|
### Dependencies
|
|
These are the primary dependencies required to use this project.
|
|
|
|
* MoveIt 2
|
|
> Install/build a version based on the selected ROS 2 release
|
|
* Gazebo Fortress
|
|
* [nlohman/json](https://github.com/nlohmann/json/releases/tag/v3.11.3)
|
|
|
|
### Build
|
|
|
|
1. Clone the repository
|
|
2. Build packages `colcon build`
|
|
|
|
|
|
Prepare workspace & install dependencies (So far only tested with UR robot arm)
|
|
```bash
|
|
mkdir -p ~/robossembler_ws/src && cd ~/robossembler_ws/src
|
|
git clone https://gitlab.com/robosphere/robossembler-ros2
|
|
vcs import . < robossembler-ros2/repos/sim.rbs.repos
|
|
cd ..
|
|
rosdep install -y -r -q --from-paths src --ignore-src --rosdistro humble
|
|
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --symlink-install
|
|
```
|
|
|
|
Additionally, if you want to use Cartesian controllers, such as stiffness or others, you need to execute the following:
|
|
```
|
|
# in directory robossembler_ws/src
|
|
vcs import . < robossembler-ros2/repos/cartesian_controllers.repos
|
|
```
|
|
This will also install `ros2_control` and `gz_ros2_control` as packages, so it is recommended to delete global packages if they have been installed.
|
|
|
|
### Set Gazebo enviroment variables
|
|
Replace `[WS_FOLDER]` with your workspace folder
|
|
```bash
|
|
echo "export IGN_GAZEBO_RESOURCE_PATH=${IGN_GAZEBO_RESOURCE_PATH}:~/[WS_FOLDER]/install/rbs_simulation/share/rbs_simulation/" >> ~/.bashrc
|
|
# or if you have alredy built the workspace
|
|
echo "export IGN_GAZEBO_RESOURCE_PATH=${IGN_GAZEBO_RESOURCE_PATH}:~/$(ros2 pkg prefix rbs_simulation)/share/rbs_simulation/" >> ~/.bashrc
|
|
```
|
|
|
|
### Examples
|
|
Activate current ROS2 enviroment:
|
|
```
|
|
. install/setup.bash
|
|
```
|
|
|
|
Launch MoveIt2, Gazebo, RViz:
|
|
```bash
|
|
ros2 launch rbs_bringup bringup.launch.py
|
|
```
|
|
|
|
Start BT node in another terminal
|
|
```
|
|
ros2 launch rbs_bt_executor rbs_executor.launch.py
|
|
```
|
|
|
|
### Links
|
|
* [bt_v3_cpp](https://www.behaviortree.dev)
|
|
* [moveit2](https://moveit.picknik.ai/humble/index.html)
|