Skip to content
This repository has been archived by the owner on May 26, 2024. It is now read-only.

This package provides an interface between ROS2 and Robotis Dynamixel servos.

License

Notifications You must be signed in to change notification settings

107-systems/ros2_dynamixel_bridge

Repository files navigation

💾 ros2_dynamixel_bridge

Build Status Spell Check status

This package provides the interface between ROS2 and Robotis Dynamixel servos.

How-to-build

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

How-to-run

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.

Interface Documentation

Subscribed Topics
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)
Published Topics
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
Parameters
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.

About

This package provides an interface between ROS2 and Robotis Dynamixel servos.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published