跳转到内容

ROS 话题接口

感知主机和导航主机均发布以下 CPU 状态话题:

话题名描述消息类型
/motion_cpu/frequency机器人CPU主频(MHz)std_msgs/Float32
/motion_cpu/temperature机器人CPU温度(℃)std_msgs/Float32
话题名描述消息类型
/battery/level机器人当前剩余电量(%)std_msgs/UInt8
/battery/current机器人电流(A或10mA)std_msgs/Float32
/battery/voltage机器人电压(V)std_msgs/Float32
/battery_state机器人电池信息message_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

使用 rostopic echo 命令查看 /battery_state 话题消息前需要执行:

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

感知主机和导航主机均发布以下激光雷达话题,开机后即有消息发布:

话题名描述消息类型频率
/livox/lidar览沃激光雷达自定义格式点云数据livox_ros_driver2/CustomMsg10Hz
/lidar_points通用格式点云数据sensor_msgs/PointCloud210Hz

/livox/lidar 话题的消息类型 livox_ros_driver2/CustomMsg 是自定义消息类型:

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

使用 rostopic echo 命令查看该话题消息前需要执行:

Terminal window
source ~/jy_cog/drivers/setup.bash
话题名描述消息类型频率
/imu/data本体内部IMU的数据话题sensor_msgs/Imu200Hz

该话题为开机后即有消息发布,开发者可订阅话题消息获取 IMU 数据,包括姿态四元数、角速度和线加速度。

话题名描述消息类型
/joint_states关节状态sensor_msgs/JointState
话题名描述消息类型
/driver_temperature12个关节的驱动器温度(℃)std_msgs/UInt8MultiArray
/motor_temperature12个关节的电机温度(℃)std_msgs/Float32MultiArray
话题名描述消息类型
/robot_basic_state机器人基本运动状态std_msgs/Int32
话题消息值状态
6软急停/摔倒状态
话题名描述消息类型
/control_mode控制模式std_msgs/UInt8
话题消息值控制模式
0手动模式
1非手动模式

除 UDP 指令外,也可通过 ROS 话题控制地形图模块(需在感知主机 192.168.1.105 上操作):

话题名描述消息类型
/brake_mode设置停避障模式std_msgs/Int32
/brake_mode_state查看停避障模式std_msgs/Int32
话题消息值停避障模式
1停障
2避障
话题名描述消息类型
/vel_source设置速度输入源std_msgs/Int32
/vel_source_state查看当前速度输入源std_msgs/Int32
话题消息值速度输入源
1手柄摇杆
2导航模块
话题名描述消息类型
/height_map_mode设置地形图模式std_msgs/Int32
/height_map_mode_state查看地形图模式std_msgs/Int32
话题消息值地形图模式
3实心地面
4镂空地面
5无踢面楼梯
18累积帧准备状态
20累积帧
话题名描述消息类型
/step_z_max设置障碍物高度阈值(米)std_msgs/Float64
/step_z_max_state查看障碍物高度阈值(米)std_msgs/Float64

一般情况下,楼梯步态设置为0.25,斜坡步态设置为0.12,行走步态设置为0.08。

话题名描述消息类型
/slow_t设置触发修正的碰撞时间(秒)std_msgs/Float64
/slow_t_state查看触发修正的碰撞时间(秒)std_msgs/Float64
/stop_t设置触发期望速度置零的碰撞时间(秒)std_msgs/Float64
/stop_t_state查看触发期望速度置零的碰撞时间(秒)std_msgs/Float64
话题名描述消息类型
/deeprobotics_local_height_map_mid360/obstacle_pointcloud身体重力坐标系下的障碍物点云sensor_msgs/PointCloud2

导航全局栅格地图(导航主机 192.168.1.106)

Section titled “导航全局栅格地图(导航主机 192.168.1.106)”
话题名描述消息类型
/map导航中使用的全局栅格地图nav_msgs/OccupancyGrid

全局点云地图(导航主机 192.168.1.106)

Section titled “全局点云地图(导航主机 192.168.1.106)”
话题名描述消息类型
/globalmap定位中使用的全局点云地图sensor_msgs/PointCloud2
话题名描述消息类型
/map_request/pcd为定位设置的新全局地图(.pcd文件)的路径std_msgs/String

重置定位(导航主机 192.168.1.106)

Section titled “重置定位(导航主机 192.168.1.106)”
话题名描述消息类型
/initialpose为定位重置当前的位姿geometry_msgs/PoseWithCovarianceStamped

获取定位丢失状态(导航主机 192.168.1.106)

Section titled “获取定位丢失状态(导航主机 192.168.1.106)”
话题名描述消息类型
/location_status定位丢失状态std_msgs/Int8
话题消息值状态
0定位正常
1定位丢失

除 TCP 协议外,也可通过 ROS 话题下发导航目标点(需在导航主机 192.168.1.106 上操作):

话题名描述消息类型
/move_base/goal普通导航目标点MoveBaseActionGoal
/move_base_direct_line/goal直线导航目标点MoveBaseDirectLineActionGoal
话题名描述消息类型
/move_base/GlobalPlanner/plan普通导航规划的全局路径nav_msgs/Path
/move_base/LocalPlanner/local_plan普通导航规划的局部路径nav_msgs/Path
/move_base/LocalPlanner/global_plan普通导航局部规划器截取的全局路径nav_msgs/Path
话题名描述消息类型
/move_base/obs_state停避障状态std_msgs/Int32
话题消息值停避障状态
0未检测到碰撞风险
1正在停避障
话题名描述消息类型
/cmd_vel导航规划得到的速度指令geometry_msgs/Twist

开发者也可以在本话题中下发自行规划的速度指令,在导航模式下,该话题消息会被转发给感知主机中的地形图模块进行处理。

话题名描述消息类型
/charge_manager_state获取自主充电状态std_msgs/Int32
话题消息值充电状态
0空闲
1正在做充电任务
2正在充电
3正在做结束充电任务
4充电桩断电
4098获取定位信息超时
4099定位算法开启失败
4100到达超时
4101没有定位信息
4102定位信息跳变
4103检测充电电流失败,趴在充电桩
4106检测充电电流失败,退出充电桩