Repo for ROS2 packages related to Robossembler
Find a file
Bill Finger ea4ae0ed69 feat(rbs): refactor controller paths and launch configuration
- Rename default controllers file `rbs_arm0_controllers.yaml` to `controllers.yaml` across all launch files
- Enhance `runtime.launch.py` by adding imports (`URDF_parser`, `ControllerManager`, `yaml`) and new arguments (`scene_config_file`, `ee_link_name`, `base_link_name`)
  - Implement xacro argument loading via YAML
  - Configure `robot_builder` to save controllers to `controllers.yaml` based on URDF parsing
- Add `control.launch.py` in `rbs_bringup` for dynamic controller spawning based on strategies/configurations
- Add `rbs_bringup.launch.py` as a unified entry point for single robot setup, initializing core settings like gripper, robot type, and controllers
- Remove `launch_env.launch.py`
- Remove `multi_robot.launch.py`
- Enhance `rbs_robot.launch.py` with `ee_link_name` and `base_link_name` arguments for end-effector and base link customization
- Add `ee_link_name` and `base_link_name` to `skills.launch.py` for flexible robot setup in skills
- Update `mtp_jtc_cart.cpp` with `base_link` and `robot_ee_link` parameters for KDL chain retrieval
- Remove `single_robot.launch.py` for simplified single robot deployment
2024-11-12 22:23:12 +03:00
doc Add packages description 2024-08-28 09:52:14 +00:00
env_manager feat(rbs): refactor controller paths and launch configuration 2024-11-12 22:23:12 +03:00
rbs_bringup feat(rbs): refactor controller paths and launch configuration 2024-11-12 22:23:12 +03:00
rbs_bt_executor refactor(rbs_skill_servers): update action configuration, dependencies, and skills 2024-11-06 23:57:47 +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 refactor(rbs_skill_servers): update action configuration, dependencies, and skills 2024-11-06 23:57:47 +03:00
rbs_skill_servers feat(rbs): refactor controller paths and launch configuration 2024-11-12 22:23:12 +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