Overview

rby1_ros2 is a unified ROS 2 driver package for controlling the Rainbow Robotics RBY1 robot.
It wraps the RBY1 C++ SDK into a ROS 2 node, providing state monitoring and multiple control modes (Joint Position, Cartesian Position, Impedance, Gravity Compensation, and Trajectory Streaming) through a clean action/service/topic interface.

  • ROS 2 version: Humble

  • OS: Ubuntu 22.04

  • SDK compatibility: rby1-sdk 0.10.x and later

../../_images/system_architecture.png

The system operates using two primary pipelines to interface with the robot:

  1. Direct Control Mode (rby1_ros2_driver): A standalone C++ ROS 2 node that communicates directly with the RBY1 robot or simulator via gRPC. User applications/scripts send standard ROS 2 topics, services, and actions (e.g. robot_joint, robot_cartesian) to command movements and monitor status.

  2. MoveIt 2 Integration (rby1_hardware): Bridges MoveIt 2 and ros2_control to the robot via a custom RBY1SystemHardware interface plugin. The hardware plugin streams command inputs to the robot via a direct gRPC connection, while querying status and coordinating power, servo states, and control rights with the rby1_ros2_driver node via internal ROS 2 service calls (like /hardware_control).