Skip to content

ROS 2

Prerequisites

This article serves as the official API reference index for document version 1.0 and does NOT constitute a commitment for arbitrary hardware or software combinations. Prior to execution, run ros2 topic list, ros2 topic type <topic>, ros2 topic info -v <topic>, and ros2 topic hz <topic> directly on the robot host; values marked as "On-site Query" in the table MUST NOT be hardcoded in customer software applications. Except for /tf_static, this manual does not infer QoS settings unannounced by the drivers.

Delivery Package

The examples/ scripts referenced on this page are obtained through the delivery package provided via official delivery channels; use the delivery package version matching your software version. The paths shown in this document are for illustrating script structure only.

Topic Index

InterfaceDirection (Client Perspective)TypeFrequency / QoSUnit / Key SemanticsRiskApplicable VersionStatus
/odomSubscribenav_msgs/msg/Odometry~50 Hz; QoS subject to on‑site querym, m/s, rad/s, orientation quaternionRead‑onlyV1.1.1‑dl / V1.2.9 / HW 1.2Official Release
/chassis/encoder_messageSubscriberm_robot_interfaces/msg/EncoderstateSubject to on‑site queryLeft/right wheel raw counts 0–5600, pay attention to directionRead‑onlyBaselineOfficial Release
/teleop_cmd_velPublishgeometry_msgs/msg/TwistRequires continuous publication; current publisher/subscriber use RELIABLE, VOLATILE; queue depth subject to on‑site querylinear.x in m/s, angular.z in rad/sControllable riskV1.1.1‑dl / V1.2.9 / HW 1.2 current configurationReference Information
/cmd_velPublishgeometry_msgs/msg/TwistContinuous type; historically recommended ≥10 Hz; QoS subject to on‑site querylinear.x in m/s, angular.z in rad/sControllable riskBaselineReference Information
/EnableMotor / /StopMotor / /DisEnableMotorPublishstd_msgs/msg/EmptyEvent‑driven; QoS subject to on‑site queryNoneHigh riskBaselineReference Information
/scanSubscribesensor_msgs/msg/LaserScan~15 Hz; publisher uses RELIABLE/VOLATILEm, radRead‑onlyV1.1.1‑dl / V1.2.9 / HW 1.2 current configurationOfficial Release
/bluesea_node/heartbeatSubscribestd_msgs/msg/Header~6 frames per 5 seconds; subject to on‑site observationROS timestampRead‑onlyV1.1.1‑dl / V1.2.9 / current siteCurrent Limitation
/body_imu/imu/data_raw / /chassis_imu/imu/data_rawSubscribesensor_msgs/msg/ImuSubject to on‑site querym/s², rad/s, quaternionRead‑onlyBaselineOfficial Release
/robot_slave/statesSubscribestd_msgs/msg/StringLow‑frequency status; QoS subject to on‑site queryJSON; joint position in 0.001°Read‑onlyBaselineOfficial Release
/mcap/bodySubscriberm_robot_interfaces/msg/BodyData~200 Hz; QoS subject to on‑site queryJointState in rad / rad/sRead‑onlyBaselineOfficial Release
/mcap/slave_arm_left / /mcap/slave_arm_rightSubscriberm_robot_interfaces/msg/ArmSlaveData~200 Hz; QoS subject to on‑site queryrad, rad/s, m, N/N·m (fields according to message definition)Read‑onlyBaselineOfficial Release
/robot_driver/battery_stateSubscriberm_robot_interfaces/msg/RobotPowerSubject to on‑site query0.01 V, 0.01 A; see Voltage, Current and Percentage for detailsRead‑onlyBaselineOfficial Release
/robot_driver/camera_hz_stateSubscriberm_robot_interfaces/msg/CamerastateSubject to on‑site queryframes per second; array order must align with on‑site configurationRead‑onlyBaselineReference Information
/chassis_wide_cam/image_raw/compressedSubscribesensor_msgs/msg/CompressedImageSubject to on‑site measurementByte stream; encoding see formatRead‑onlyCurrent camera configurationOfficial Release
Four head/arm .../image_raw/h264Subscribesensor_msgs/msg/Image~30 Hz; BEST_EFFORTH.264 Annex‑B; 1280×992; do not interpret as ordinary RGB ImageRead‑onlyV1.1.1‑dl / V1.2.9 / HW 1.2 current configurationOfficial Release
/chest_depth_cam/* / /chassis_depth_cam/*Subscribesensor_msgs/msg/Image / CameraInfoImage stream not provided in current versionImage encoding, step, camera intrinsicsRead‑onlyCurrent camera configurationCurrent Limitation
Full topic set of head/left‑arm/right‑arm depth camerasSubscribeDriver‑definedNot guaranteedPer driver definitionRead‑onlyUncovered combinationCurrent Limitation – use only topics that are enumerated in real‑time and have data
/tf / /tf_staticSubscribetf2_msgs/msg/TFMessageDynamic / static; /tf_static uses TRANSIENT_LOCALm, quaternionRead‑onlyBaselineCurrent Limitation
/fault/aggregated / /diagnosticsSubscriberm_interface/msg/AggregatedFault / diagnostic_msgs/msg/DiagnosticArray (current baseline)Aggregated fault currently ~1 Hz; QoS subject to on‑site queryHealth score, fault records, diagnostic level and temperatureRead‑onlyCurrent baselineReference Information – do not inject faults; must be combined with logs, network endpoints and joint_err/sys_err
/trace/heartbeat/statusSubscriberm_interface/msg/TraceHeartbeatInterface comment says 1 Hz; actual observed ~30 s once, inconsistency existsSystem resources, network, collection tasks, faults and event aggregationRead‑onlyCurrent platform configurationCurrent Limitation – source rm_data_collect first; this topic is for reference only and shall not be used as availability criterion
/rm_func_mcap_recoder/rm_func_record_statusSubscriberm_interface/msg/RmFuncRecordStatusStatus includes start / stop / idle; frequency subject to on‑site observationPlatform collection tasks, path, size, duration and errorsRead‑onlyCurrent platform configurationCandidate Capability
/wheeltec_mic/heartbeatSubscribestd_msgs/msg/HeaderPresence of new timestamp within 10 seconds is used as online criterionNode online heartbeatRead‑onlyCurrent microphone configurationReference Information
/wheeltec_mic/voice_playPublishstd_msgs/msg/Int8Event‑driven; QoS subject to on‑site queryPredefined voice indexControllable riskBaselineReference Information

Service Index

StringCmd is defined as request string data / response string data. It provides only string transport and does not guarantee inner JSON fields, execution completion, or device safety.

InterfaceDirection (Client Perspective)TypeFrequency / QoSUnit / Key SemanticsRiskApplicable VersionStatus
/robot/commandCallrm_robot_interfaces/srv/StringCmdRequest/response; QoS determined by ROS2 service layerdata carries serialised wrapper JSON; arm/head/waist movej joints in 0.001°Controllable riskV1.2.9‑dr / HW 1.2Limited closed‑loop: head, right arm, small non‑zero waist and right‑side single‑DOF end‑effector
/mcap_recorder_serviceCallrm_robot_interfaces/srv/StringCmdRequest/responseoperate integer; metadata four fieldsControllable riskBaselineOfficial Release
/rm_func_mcap_trigger/web_collection_controlCallrm_interface/srv/WebCollectionControlRequest/responseWeb manual collection wrapper interface; converts start/stop/reset to recorder requests; current implementation uses COLLECT_TYPE_MANUAL = 0Controllable riskCurrent platform configurationCandidate Capability
/rm_func_mcap_recoder/recorder_controlCallrm_interface/srv/TriggerCollectionControlRequest/responseRecording start/stop and reset interface; remote teleoperation data collection path uses COLLECT_TYPE_REMOTE = 2Controllable riskCurrent platform configurationCandidate Capability
/rm_func_mcap_uploader/uploader_controlCallrm_interface/srv/RequestUploadRequest/responseSubmit upload task after recording is complete; inherits collect_type from recorder request, remote teleoperation data collection path is 2High riskCurrent platform configurationCandidate Capability
/camera_state_serviceCallrm_robot_interfaces/srv/StringCmdRequest/responseNo stable business schema publishedControllable riskVendor‑definedReference Information – first query ros2 service type and official protocol
/scan_motorCallbase/srv/ControlRequest/responseMotor parameters not published in documentation version 1.0High riskVendor‑definedReference Information
/s3_uploader_serviceCallrm_robot_interfaces/srv/StringCmdRequest/responseObject storage operationsHigh riskVendor‑definedReference Information