Repo for ROS2 packages related to Robossembler
doc | ||
env_manager | ||
rbs_bringup | ||
rbs_bt_executor | ||
rbs_perception | ||
rbs_simulation | ||
rbs_skill_interfaces | ||
rbs_skill_servers | ||
rbs_task_planner | ||
rbs_utils | ||
rbss_movetopose | ||
rbss_objectdetection | ||
rbss_poseestimation | ||
repos | ||
robonomics | ||
.gitignore | ||
.gitlab-ci.yml | ||
Dockerfile | ||
LICENSE | ||
README.md |
Robossembler ROS2
Repo for ROS2 packages related to Robossembler
Packages List
env_manager
- virtual environment switching manager and related packagesenv_interface
- base class for creating a specific environment based on the ROS 2 LifeCycle Nodeenv_manager
- main package of the virtual environment switching managerenv_manager_interfaces
- ROS 2 interfaces for env_manager, describe messages about the state of the environment, services for configuring/loading/enabling/unloading the environmentgz_environment
- a specific instance ofenv_interface
for the Gazebo simulatorplanning_scene_manager
- sync env with planning scene for MoveIt 2rbs_gym
- training module with reinforcement: management of the learning process, formation of simulation environments, management of action spaces (actions) and perception (observation), task management, utilities
rbs_bringup
- package for launching different launch scenarios: simulation, real robot, different hardware configurations (multi-robot)rbs_bt_executor
- module for launching behavior trees on Behavior Tree CPP v4rbs_interface
- package for linking trees with skill serversrbs_perception
- machine perception module, where different versions are implementedrbs_simulation
- models for simulationrbs_skill_interfaces
- commonly used (common) interfaces for interacting with Skill Servers and the Behavior Tree (specific interfaces are placed in Skill Server packages)rbs_skill_servers
- Skill Server packages: Move, Object Detection, 6D Pose Estimationrbs_task_planner
- PDDL-based task schedulerrbs_utils
- working with a config containing capture positions for detailsrbss_objectdetection
- Object Detection Skill Server using YOLOv8
Instructions
Requirements
- OS: Ubuntu 22.04
- ROS 2 Humble
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
Build
- Clone the repository
- Build packages
colcon build
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/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
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:
ros2 launch rbs_bringup bringup.launch.py
Start BT node in another terminal
ros2 launch rbs_bt_executor rbs_executor.launch.py