This package provides the interface between ROS2 and Robotis Dynamixel servos.
cd $COLCON_WS/src
git clone --recursive https://github.com/107-systems/ros2_dynamixel_bridge
cd $COLCON_WS
source /opt/ros/humble/setup.bash
colcon build --packages-select ros2_dynamixel_bridge
cd $COLCON_WS
. install/setup.bash
ros2 launch ros2_dynamixel_bridge bridge-default.py
or
cd $COLCON_WS
ros2 launch ros2_dynamixel_bridge bridge-l3xz.py
Upon start-up the ROS2 node will scan the connected bus and automatically create topics for each discovered Robotis Dynamixel servo.
Default name | Type | Description |
---|---|---|
/dynamixel/servo_1/angle/target |
std_msgs/Float32 |
Servo #1 target angle / rad |
/dynamixel/servo_1/angular_velocity/target |
std_msgs/Float32 |
Servo #1 target angular velocity / rad/sec |
/dynamixel/servo_1/mode/set |
msg/Mode.msg |
Servo #1 operation mode (Position Control / Angular Velocity Control) |
/dynamixel/servo_2/angle/target |
std_msgs/Float32 |
Servo #2 target angle / rad |
/dynamixel/servo_2/angular_velocity/target |
std_msgs/Float32 |
Servo #2 target angular velocity / rad/sec |
/dynamixel/servo_2/mode/set |
msg/Mode.msg |
Servo #2 operation mode (Position Control / Angular Velocity Control) |
... | ... | ... |
/dynamixel/servo_n/angle/target |
std_msgs/Float32 |
Servo #n target angle / rad |
/dynamixel/servo_n/angular_velocity/target |
std_msgs/Float32 |
Servo #n target angular velocity / rad/sec |
/dynamixel/servo_n/mode/set |
msg/Mode.msg |
Servo #n operation mode (Position Control / Angular Velocity Control) |
Default name | Type | Description |
---|---|---|
/l3xz/ros2_dynamixel_bridge/heartbeat |
std_msgs/UInt64 |
Heartbeat signal containing the node uptime in seconds. |
/dynamixel/servo_1/angle/actual |
std_msgs/Float32 |
Servo #1 current angle / rad |
/dynamixel/servo_2/angle/actual |
std_msgs/Float32 |
Servo #1 current angle / rad |
... | ... | ... |
/dynamixel/servo_n/angle/actual |
std_msgs/Float32 |
Servo #n current angle / rad |
Name | Default | Description |
---|---|---|
serial_port |
/dev/ttyUSB0 |
Serial port of RS485 bus. |
serial_port_baudrate |
2 Mbps | Serial baud rate of RS485 bus. |
required_node_id_list |
{1, 2, 3, 4, 5, 6, 7, 8} | A list of required Dynamixel servo IDs to be uncovered during startup. |
check_required_node_id_list |
True |
If this parameter is True then the discovered servo IDs are compared with the required_node_id_list during startup. |