Repo for ROS2 packages related to Robossembler
Find a file
2024-10-29 10:07:44 +03:00
doc Add packages description 2024-08-28 09:52:14 +00:00
env_manager refactor: (env_manager, rbs_runtime) and add YAML config loading 2024-10-14 14:23:49 +03:00
rbs_bringup refactor: (env_manager, rbs_runtime) and add YAML config loading 2024-10-14 14:23:49 +03:00
rbs_bt_executor update dependencies in package 2024-10-29 10:07:44 +03:00
rbs_perception update dependencies in package 2024-10-29 10:07:44 +03:00
rbs_simulation fix: delete old env_manager launch in rbs_bringup and rbs_simulation 2024-10-10 13:20:02 +03:00
rbs_skill_interfaces update dependencies in package 2024-10-29 10:07:44 +03:00
rbs_skill_servers refactor: (env_manager, rbs_runtime) and add YAML config loading 2024-10-14 14:23:49 +03:00
rbs_task_planner update dependencies in package 2024-10-29 10:07:44 +03:00
rbs_utils update dependencies in package 2024-10-29 10:07:44 +03:00
rbss_movetopose update dependencies in package 2024-10-29 10:07:44 +03:00
rbss_objectdetection update dependencies in package 2024-10-29 10:07:44 +03:00
rbss_poseestimation update dependencies in package 2024-10-29 10:07:44 +03:00
repos Migration to BT.cpp v4 & new BT executor 2024-07-04 12:11:07 +00:00
robonomics Add minimal pick-and-place case with world embedded 2023-03-31 20:24:56 +00:00
.gitignore Added rbs_gym package for RL & multi-robot launch setup 2024-07-04 11:38:08 +00:00
.gitlab-ci.yml Multi-Robot Setup 2024-04-18 13:29:36 +00:00
Dockerfile optimize dockerfile for different configs 2023-12-22 13:52:31 +03:00
LICENSE Added LICENSE for all packages 2022-08-12 06:21:32 +00:00
README.md Add packages description 2024-08-28 09:52:14 +00:00

Robossembler ROS2

Repo for ROS2 packages related to Robossembler

Packages List

  1. env_manager - virtual environment switching manager and related packages
    • env_interface - base class for creating a specific environment based on the ROS 2 LifeCycle Node
    • env_manager - main package of the virtual environment switching manager
    • env_manager_interfaces - ROS 2 interfaces for env_manager, describe messages about the state of the environment, services for configuring/loading/enabling/unloading the environment
    • gz_environment - a specific instance of env_interface for the Gazebo simulator
    • planning_scene_manager - sync env with planning scene for MoveIt 2
    • rbs_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
  2. rbs_bringup - package for launching different launch scenarios: simulation, real robot, different hardware configurations (multi-robot)
  3. rbs_bt_executor - module for launching behavior trees on Behavior Tree CPP v4
  4. rbs_interface - package for linking trees with skill servers
  5. rbs_perception - machine perception module, where different versions are implemented
  6. rbs_simulation - models for simulation
  7. rbs_skill_interfaces - commonly used (common) interfaces for interacting with Skill Servers and the Behavior Tree (specific interfaces are placed in Skill Server packages)
  8. rbs_skill_servers - Skill Server packages: Move, Object Detection, 6D Pose Estimation
  9. rbs_task_planner - PDDL-based task scheduler
  10. rbs_utils - working with a config containing capture positions for details
  11. rbss_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

  1. Clone the repository
  2. 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