Repo for ROS2 packages related to Robossembler
- **RBS Bringup Launch File:** - Enabled MoveIt by default (`use_moveit: true`). - Removed unused arguments (`gripper_name`, `hardware`) for cleaner configuration. - Updated `robot_description_kinematics` to use the new kinematics file path handling. - **RBS Robot Launch File:** - Streamlined robot description setup, removing unnecessary parameters like `gripper_name`, `hardware`, and pose arguments (`x`, `y`, `z`, `roll`, etc.). - Updated robot description and semantic description to use launch configurations. - Refactored kinematics file handling for clarity. - **Skills Launch File:** - Updated kinematics YAML loading to use `load_yaml_abs` for absolute path resolution. - Standardized `robot_description`, `robot_description_semantic`, and `kinematics` parameters. - **General Improvements:** - Consolidated redundant logic across launch files. - Improved maintainability by removing hardcoded and unused configurations. |
||
---|---|---|
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