系统状态与诊断接口
约 2480 字大约 8 分钟
| Topic | /supervisor/system_status | |
|---|---|---|
| 生效版本 | ≥V0.2 | |
| 接入方式 | 发布(publish) | |
| 接口说明 | 系统监控节点(supervisor)实时发布机器人系统的当前运行状态,包括当前模式和开机启动模式
| |
| 接口参数 | current_mode:当前系统模式uint8 mode{ //模式值 0; //未定义 1; //自动 2; //遥操 3; //建图 4; // ACT 99; // 待命,所有服务停止 } string mode_name{ //模式名称 "UNDEFINED"; //未定义 "TELEOPERATION"; //遥操作模式 "MAPPING"; //建图模式 "AUTONOMOUS"; //自动模式 "ACT"; //特定操作模式 "STANDBY"; //待命模式,所有服务停止 } | |
startup_mode:系统开机启动时的初始状态uint8 mode{ //模式值 0; //未定义 1; //自动 2; //遥操 3; //建图 4; // ACT 99; // 待命,所有服务停止 } string mode_name{ //模式名称 "UNDEFINED"; //未定义 "TELEOPERATION"; //遥操作模式 "MAPPING"; //建图模式 "AUTONOMOUS"; //自动模式 "ACT"; //特定操作模式 "STANDBY"; //待命模式,所有服务停止 } | ||
| Topic | /supervisor/change_system_mode | |
|---|---|---|
| 生效版本 | ≥V0.2 | |
| 接入方式 | Action
| |
| 接口说明 | 切换当前系统模式 | |
| 接口参数 | Goal:目标,客户端发送给服务端的请求,包含两个字段 target_mode{ //要切换的目标模式值 1; //自动 2 ; //遥操 3; //建图 4; //ACT } bool startup:是否设置为开机自启,false 表示不开机自启,true表示开机自启 | |
| Result:服务端执行完成后返回给客户端的结果,包含两个字段 bool success:模式切换是否成功,false表示模式未切换,true表示模式切换成功 string message:模式切换执行结果的描述信息,如 “切换至自动模式成功” | ||
| Feedback:服务端在执行过程中周期性地向客户端发送的进度反馈,包含两个字段 float32 progress:模式切换的进度,取值为 [0.0, 100.0] string status:当前执行切换的实时状态描述,如 “正在关闭当前服务” | ||
| Topic | /diagnostics_agg |
|---|---|
| 生效版本 | ≥V0.2 |
| 接入方式 | 订阅 (subscribe) |
| 接口说明 | 系统诊断信息汇总,用于实时获取机器人各核心子系统的运行状态与健康数据。该主题由系统监控节点聚合发布,涵盖本体关节、运动状态、底盘电机、末端执行器、传感器联通性、安全输入、运维资源、电源电池及网络等全维度诊断字段,适用于远程监控、故障排查与状态记录。 |
| 接口参数 | 该 Topic 使用自定义消息格式,以 key-value 形式组织,主要字段见下方详情表。 |
/diagnostics_agg话题的接口参数详细字段:
| 分类 | key | 含义 | 数据类型 | 单位 | |
|---|---|---|---|---|---|
| 本体关节(manipulator) | <关节名>_position | 关节位置 | float64 | rad | |
| <关节名>_velocity | 关节速度 | float64 | rad/s | ||
| <关节名>_effort | 关节力矩 | float64 | Nm | ||
| <关节名>_operational | 关节是否上电使能(OP):True 已使能 / False 未使能 | bool | — | ||
| <关节名>_alert | 关节错误码 | int | — | ||
| <关节名>_temperature | 关节电机温度 | float64 | ℃ | ||
| 底盘(chassis) | 运动状态 | linear_x / linear_y / linear_z | 三向线速度 | float64 | m/s |
| angular_x / angular_y / angular_z | 三向角速度 | float64 | rad/s | ||
| position_x / position_y / position_z | 底盘位置 | float64 | m | ||
| orientation_x / orientation_y / orientation_z / orientation_w | 底盘朝向四元数 | float64 | — | ||
| 底盘电机 | left_wheel_speed_rpm / right_wheel_speed_rpm | 左右轮转速 | float64 | rpm | |
| left_wheel_current_a / right_wheel_current_a | 左右轮电流 | float64 | A | ||
| left_motor_temperature / right_motor_temperature | 左右电机温度 | float64 | ℃ | ||
| chassis_driver_temperature | 底盘驱动器温度 | float64 | ℃ | ||
| chassis_state | 底盘电机状态:0 未使能 / 1 使能 / 2 故障 / 3 断连 / | int | — | ||
| chassis_error_code_left / chassis_error_code_right | 左右电机错误码,0 无错误 | int | — | ||
| 末端执行器(end_effector) | <side>_joint_count | 该侧灵巧手关节数 | int | — | |
| <side>_<关节名>_position | 关节闭合程度 0-100% | float64 | % | ||
| <side>_<关节名>_velocity | 关节运动速度 0-100% | float64 | % | ||
| <side>_<关节名>_state | 关节运行状态:0 空闲到位 / 1 运动中 / 2 堵转保护停止 / 3 电机报错 / 4 夹住物体 / 5 DROPPED 物体掉落 / 100 串口未连接 / 255 未知异常 | int | — | ||
| 传感器(sensors) | 传感器联通性 | left_hand_camera_reachability | 左腕部相机联通 | bool | — |
| right_hand_camera_reachability | 右腕部相机联通 | bool | — | ||
| head_camera_reachability | 头部相机联通 | bool | — | ||
| front_chassis_camera_reachability | 底盘前相机联通 | bool | — | ||
| rear_chassis_camera_reachability | 底盘后相机联通 | bool | — | ||
| chassis_laser_reachability | 底盘激光雷达联通 | bool | — | ||
| 安全输入 | estop_state | 急停按钮是否触发 | bool | — | |
| bumper_strip_front_state | 前防撞条是否触发 | bool | — | ||
| bumper_strip_rear_state | 后防撞条是否触发 | bool | — | ||
| charger_connect_state | 充电器是否接入 | bool | — | ||
| voice_wakeup_state | 语音唤醒是否触发 | bool | — | ||
| 运维监控(system_monitor) | 资源占用(PC1/PC2) | pc1_cpu_usage / pc2_cpu_usage | CPU 占用 0-100 | float64 | % |
| pc1_ram_usage / pc2_ram_usage | 内存占用 0-100 | float64 | % | ||
| pc1_disk_usage / pc2_disk_usage | 硬盘占用 0-100 | float64 | % | ||
| pc1_gpu_usage / pc2_gpu_usage | GPU 占用 0-100 | float64 | % | ||
| 电源与电池 | power_board_operational | 电源板是否在线且数据新鲜:`true` / `false` | bool | — | |
| battery_voltage | 电池电压 | float64 | V | ||
| battery_current | 电池电流 | float64 | A | ||
| battery_percentage | 电池剩余电量 0-100 | float64 | % | ||
| power_supply_health | 电池健康状态码 | int | — | ||
| battery_temperature | 电池温度 | float64 | ℃ | ||
| battery_charging | 是否充电中:`true` / `false` | bool | — | ||
| voltage_warn_low / voltage_warn_high | 电压告警下限/上限 | float64 | — | ||
| peripheral_connectivity_bitmap | 外设联通位图 | int | — | ||
| missing_required_channels | 缺失的必选通道列表,无缺失为 `none` | string | — | ||
| firmware_version | 固件版本,未知为 `unknown` | string | — | ||
| hardware_version | 硬件版本,未知为 `unknown` | string | — | ||
| sn_code | 电源板 SN 码 | string | — | ||
| pc_sn_code | PC SN 码 | string | — | ||
| channel_<通道名>(通道名请参考下表) | 各电源通道是否使能:`true` / `false`(每个通道一条) | bool | — | ||
| 网络 | pc1_wlan_ip | PC1无线IP,无则"unavailable" | string | — | |
| pc2_wlan_ip | PC2无线IP,无则"unavailable" | string | — |
通道名如下表:
|