The neo_relayboard_v2 package provides a means to communicate with the physical RelayBoardV2 installed in all mobile platforms.

The relayboard_v2_node publishes status information regarding the mobile platform such as battery voltage, charging current and emergency stop status. Moreover it provides services to control the charging process, the on-demand relays as well as the LCD display.

The drive motors are also connected to the RelayBoardV2 (except MPO-700), hence the drive control commands and drive signals are sent and received over the relayboard_v2_node as well.




  • /relayboard_v2/state
  • /relayboard_v2/battery_state
  • /relayboard_v2/emergency_stop_state
  • /drives/joint_states (except MPO-700)
  • /ioboard/data (with IOBoard only)
  • /usboard/measurements (with USBoard only)
  • /usboard/sensor (with USBoard only)


  • /drives/joint_trajectory (except MPO-700)


  • /relayboard_v2/set_LCD_msg <message>
    Sets the first line on the LCD display for the next 30 seconds.
  • /relayboard_v2/set_relay <id (0 to 3)> <true/false>
    Controls the 4 on-demand relays.
  • /relayboard_v2/start_charging
    Starts charging process (when connected to automatic charging station)
  • /relayboard_v2/stop_charging
    Stops the charging process (when connected to automatic charging station)
  • /ioboard/set_digital_output <id (0 to 15)> <true/false>
    Controls the 16 digital outputs, when IOBoard is connected.


  • port (serial bus device file, /dev/…)
  • request_rate (node update frequency, defines publish frequency as well as frequency of drive commands sent to * RelayBoardV2)
  • motor_delay (time subtracted in seconds from /drives/joint_states timestamp, to account for transmission delays)
  • trajectory_timeout (time after which motors will be stopped if no input received, in seconds)
  • battery/
    serial_number location design_capacity chemistry
  • ioboard/
    active (true if IOBoard is connected)
  • usboard/
    active (true if USBoard is connected) sensor1_active (true if USBoard sensor1 is connected) sensor2_active (true if USBoard sensor2 is connected) …
  • log (true if to enable raw binary logging of data stream to file, for debugging)
  • drive2/ (first motor)
    motor_active (true if connected) homing_active (true if omni drive) joint_name (ROS frame_id) EncIncrPerRevMot VelMeasFrqHz GearRatio BeltRatio Sign (direction of rotation) VelMaxEncIncrS VelPModeEncIncrS AccIncrS2 DecIncrS2 Modulo
  • drive3/ (second motor)