Skip to content

ROS Topic Interfaces

Both the perception host and navigation host publish the following CPU status topics:

Topic NameDescriptionMessage Type
/motion_cpu/frequencyRobot CPU frequency (MHz)std_msgs/Float32
/motion_cpu/temperatureRobot CPU temperature (°C)std_msgs/Float32
Topic NameDescriptionMessage Type
/battery/levelCurrent battery level (%)std_msgs/UInt8
/battery/currentRobot current (A or 10mA)std_msgs/Float32
/battery/voltageRobot voltage (V)std_msgs/Float32
/battery_stateRobot battery informationmessage_transformer_cpp/BatteryData
uint16 voltage
int16 current
uint16 remaining_capacity
uint16 nominal_capacity
uint16 cycles
uint16 production_date
uint16 balanced_low
uint16 balanced_high
uint16 protected_state
uint8 software_version
uint8 battery_level
uint8 mos_state
uint8 battery_quantity
uint8 battery_ntc
float32[] battery_temperature

Before using rostopic echo to view the /battery_state topic, run:

Terminal window
source ~/jy_cog/transfer/setup.bash

Both the perception host and navigation host publish the following LiDAR topics, which start publishing immediately after boot:

Topic NameDescriptionMessage TypeFrequency
/livox/lidarLivox LiDAR custom format point cloud datalivox_ros_driver2/CustomMsg10Hz
/lidar_pointsGeneric format point cloud datasensor_msgs/PointCloud210Hz

The message type livox_ros_driver2/CustomMsg for the /livox/lidar topic is a custom message type:

std_msgs/Header header
uint32 seq
time stamp
string frame_id
uint64 timebase
uint32 point_num
uint8 lidar_id
uint8[3] rsvd
livox_ros_driver2/CustomPoint[] points
uint32 offset_time
float32 x
float32 y
float32 z
uint8 reflectivity
uint8 tag
uint8 line

Before using rostopic echo to view this topic, run:

Terminal window
source ~/jy_cog/drivers/setup.bash
Topic NameDescriptionMessage TypeFrequency
/imu/dataIMU data topic from the robot bodysensor_msgs/Imu200Hz

This topic starts publishing immediately after boot. Developers can subscribe to this topic to obtain IMU data, including orientation quaternion, angular velocity, and linear acceleration.

Topic NameDescriptionMessage Type
/joint_statesJoint statessensor_msgs/JointState
Topic NameDescriptionMessage Type
/driver_temperatureDriver temperatures of 12 joints (°C)std_msgs/UInt8MultiArray
/motor_temperatureMotor temperatures of 12 joints (°C)std_msgs/Float32MultiArray
Topic NameDescriptionMessage Type
/robot_basic_stateRobot basic motion statusstd_msgs/Int32
Topic Message ValueStatus
6Soft emergency stop / Fall status
Topic NameDescriptionMessage Type
/control_modeControl modestd_msgs/UInt8
Topic Message ValueControl Mode
0Manual mode
1Non-manual mode

In addition to UDP commands, the height map module can also be controlled via ROS topics (operations should be performed on the perception host 192.168.1.105):

Topic NameDescriptionMessage Type
/brake_modeSet stop-avoidance modestd_msgs/Int32
/brake_mode_stateView stop-avoidance modestd_msgs/Int32
Topic Message ValueStop-Avoidance Mode
1Stop at obstacle
2Avoid obstacle
Topic NameDescriptionMessage Type
/vel_sourceSet velocity input sourcestd_msgs/Int32
/vel_source_stateView current velocity input sourcestd_msgs/Int32
Topic Message ValueVelocity Input Source
1Joystick
2Navigation module
Topic NameDescriptionMessage Type
/height_map_modeSet height map modestd_msgs/Int32
/height_map_mode_stateView height map modestd_msgs/Int32
Topic Message ValueHeight Map Mode
3Solid ground
4Hollow ground
5Stairs without risers
18Accumulated frame ready state
20Accumulated frame
Topic NameDescriptionMessage Type
/step_z_maxSet obstacle height threshold (meters)std_msgs/Float64
/step_z_max_stateView obstacle height threshold (meters)std_msgs/Float64

Generally, set to 0.25 for stair gait, 0.12 for slope gait, and 0.08 for walking gait.

Topic NameDescriptionMessage Type
/slow_tSet collision time for triggering correction (seconds)std_msgs/Float64
/slow_t_stateView collision time for triggering correction (seconds)std_msgs/Float64
/stop_tSet collision time for triggering zero desired velocity (seconds)std_msgs/Float64
/stop_t_stateView collision time for triggering zero desired velocity (seconds)std_msgs/Float64
Topic NameDescriptionMessage Type
/deeprobotics_local_height_map_mid360/obstacle_pointcloudObstacle point cloud in body gravity framesensor_msgs/PointCloud2
Section titled “Navigation Global Grid Map (Navigation Host 192.168.1.106)”
Topic NameDescriptionMessage Type
/mapGlobal grid map used in navigationnav_msgs/OccupancyGrid

Global Point Cloud Map (Navigation Host 192.168.1.106)

Section titled “Global Point Cloud Map (Navigation Host 192.168.1.106)”
Topic NameDescriptionMessage Type
/globalmapGlobal point cloud map used in localizationsensor_msgs/PointCloud2
Topic NameDescriptionMessage Type
/map_request/pcdPath of the new global map (.pcd file) for localizationstd_msgs/String

Reset Localization (Navigation Host 192.168.1.106)

Section titled “Reset Localization (Navigation Host 192.168.1.106)”
Topic NameDescriptionMessage Type
/initialposeReset current pose for localizationgeometry_msgs/PoseWithCovarianceStamped

Get Localization Loss Status (Navigation Host 192.168.1.106)

Section titled “Get Localization Loss Status (Navigation Host 192.168.1.106)”
Topic NameDescriptionMessage Type
/location_statusLocalization loss statusstd_msgs/Int8
Topic Message ValueStatus
0Localization normal
1Localization lost

In addition to the TCP protocol, navigation goal points can also be sent via ROS topics (operations should be performed on the navigation host 192.168.1.106):

Topic NameDescriptionMessage Type
/move_base/goalNormal navigation goal pointMoveBaseActionGoal
/move_base_direct_line/goalStraight-line navigation goal pointMoveBaseDirectLineActionGoal
Topic NameDescriptionMessage Type
/move_base/GlobalPlanner/planGlobal path planned by normal navigationnav_msgs/Path
/move_base/LocalPlanner/local_planLocal path planned by normal navigationnav_msgs/Path
/move_base/LocalPlanner/global_planGlobal path extracted by normal navigation local plannernav_msgs/Path
Topic NameDescriptionMessage Type
/move_base/obs_stateStop-avoidance statusstd_msgs/Int32
Topic Message ValueStop-Avoidance Status
0No collision risk detected
1Stop-avoidance in progress
Topic NameDescriptionMessage Type
/cmd_velVelocity command from navigation planninggeometry_msgs/Twist

Developers can also publish self-planned velocity commands on this topic. In navigation mode, messages on this topic will be forwarded to the height map module on the perception host for processing.

Topic NameDescriptionMessage Type
/charge_manager_stateGet autonomous charging statusstd_msgs/Int32
Topic Message ValueCharging Status
0Idle
1Performing charging task
2Charging in progress
3Performing end-charging task
4Charging dock power off
4098Getting localization info timed out
4099Localization algorithm failed to start
4100Arrival timed out
4101No localization info
4102Localization info jumping
4103Failed to detect charging current, lying on charging dock
4106Failed to detect charging current, exited charging dock