Skip to content
NRR/ROBOTICS
← Back to projects
0062026

MyActuator RMD SDK

C++17 + ROS 2 driver for X-series CAN bus motors.

  • C++17
  • Python 3.10+
  • ROS 2 Humble / Jazzy
  • pybind11
  • PyQt6
  • SocketCAN
  • CMake 3.20+
  • GTest
View on GitHub
MyActuator RMD SDK
01/ Problem

Problem

Bring up the MyActuator RMD X-series quickly across new prototypes. Their out-of-the-box stack does not cover all six control modes or expose Python bindings.

02/ Approach

Approach

Implement the V4.3 protocol over CAN (SocketCAN, candleLight, PEAK PCAN-USB, SLCAN) with all six control modes: position, velocity, torque, free / hand-guided, admittance, MIT-style impedance. Ship a ROS 2 hardware interface, a Python ROS 2 driver via pybind11, a PyQt6 Motor Studio GUI, and a URDF description package.

03/ Hardware

Hardware

MyActuator RMD X-series V2 / V3 / V4 (X4 to X15). Up to 32 motors per CAN bus at 1 Mbps. Default 500 Hz control loop. Trajectory record and playback in ROS 2 bag (sqlite3 + MCAP) with hysteresis torque triggers for hybrid playback.

04/ Result

Result

Bring-up time for new prototypes down by over 60%. 9-axis coordinated motion system shipped on top of the SDK. Open source, used in production.