threemxl provides a library to communicate with Dynamixel servos and 3mxl motor control boards. It also allows multiple ROS nodes to communicate with a single Dynamixel chain using a shared_serial node.
As threemxl depends on some external packages, make sure to run rosdep install threemxl
at least once!
To quickly test the board, you can use the console
node. Just type rosrun threemxl console
, provided you have a roscore
running somewhere. Note that the console defaults to /dev/ttyUSB0
. You can specify a different port or namespace as argument.
The main classes are CDynamixel and C3mxl. These communicate with the hardware directly through a serial port (either LxSerial or LxFTDI). The ROS versions, CDynamixelROS and C3mxlROS, just subclass CDynamixel and C3mxl and set the package handler to CDxlROSPacketHandler such that the communication works over a shared_serial node.