Skip to main content
Use ROS2 topics for streaming robot state and continuous commands.

Topic Interface

Mobility

Topic NameDirMessage TypeDescription
/cmd_velSUBgeometry_msgs/TwistVelocity commands for robot base motion.
/odomPUBnav_msgs/OdometryOdometry estimate (position, orientation, and velocity).

System

Topic NameDirMessage TypeDescription
/battery_statePUBsensor_msgs/BatteryStateBattery level, voltage, and charging status.
/scanPUBsensor_msgs/LaserScanLiDAR scan data from the RPLidar stack.
Topic NameDirMessage TypeDescription
/mars/main_camera/imagePUBsensor_msgs/ImageMain front-facing RGB stream.
/mars/arm/image_rawPUBsensor_msgs/ImageGripper-mounted RGB camera feed for manipulation.
/oak/rgb/image_rawPUBsensor_msgs/ImageAlternative camera topic from OAK-D pipeline.
Topic NameDirMessage TypeDescription
/mars/arm/statePUBsensor_msgs/JointStateCurrent arm joint states from robot actuators.
/mars/arm/commandsSUBstd_msgs/Float64MultiArrayDirect arm joint command input topic.
/leader/statePUBsensor_msgs/JointStateLeader arm joint states when teleoperation is enabled.
/joint_statesPUBsensor_msgs/JointStateCombined joint state stream for robot visualization and tools.
Topic NameDirMessage TypeDescription
/ws_messagesSUBstd_msgs/StringIncoming WebSocket payloads from cloud-side orchestration.
/ws_outgoingPUBstd_msgs/StringOutgoing WebSocket payloads emitted by robot-side brain client.

How to read PUB/SUB

The Dir column is from the robot runtime perspective. PUB means MARS publishes that topic and you subscribe to it. SUB means MARS subscribes to that topic and you can publish commands to it.

Quick commands

ros2 topic list
ros2 topic list -t
ros2 topic echo /battery_state
ros2 topic hz /scan
ros2 topic info /cmd_vel