数据结构
共用数据结构
Section titled “共用数据结构”AbcType
Section titled “AbcType”using AbcType = double;AbcErrorCode
Section titled “AbcErrorCode”| 枚举量 | 值 | 说明 | |
|---|---|---|---|
| 0 | 成功 | |
| -1 | 未知错误 | 通用错误(-1~-49) |
| -2 | 超时 | |
| -3 | 无效句柄 | |
| -4 | 无效状态 | |
| -5 | 未初始化 | |
| -6 | 未实现的功能 | |
| -7 | 无效参数 | |
| -50 | 参数错误 | 参数错误(-50~-99) |
| -51 | 参数取值超出范围 | |
| -100 | 机械臂通用错误 | 机械臂错误(-100~-199) |
| -101 | 控制器返回 false,传递参数错误或机械臂状态发生错误 | |
| -102 | 数据发送失败,通信过程中出现问题 | |
| -103 | 数据接收失败,通信过程中出现问题或者控制器超时没有返回 | |
| -104 | 返回值解析失败,接收到的数据格式不正确或不完整 | |
| -105 | 当前到位设备校验失败,即当前到位设备不为关节 | |
| -106 | 超时未接收到返回 | |
| -107 | 机械臂运动超出范围 | |
| -200 | 躯干通用错误 | 躯干错误(-200~-219) |
| -201 | 躯干 CAN 总线错误 | |
| -202 | 躯干执行器错误 | |
| -206 | 超时未接收到返回 | |
| -207 | 躯干运动超出范围 | |
| -220 | 头部通用错误 | 头部错误(-220~-229) |
| -221 | 头部 CAN 总线错误 | |
| -222 | 头部执行器错误 | |
| -226 | 超时未接收到返回 | |
| -227 | 头部运动超出范围 | |
| -300 | 传感器通用错误 | 传感器错误(-300~-399) |
| -301 | 传感器未连接 | |
| -302 | 传感器数据错误 | |
| -400 | 底盘通用错误 | 底盘错误(-400~-499) |
| -401 | 底盘初始化错误 | |
| -402 | 底盘超时未接收到返回 | |
| -900 | 算法通用错误 | 算法错误(-900~-999) |
| -901 | 算法未收敛 | |
| -902 | 算法近似解 | |
AbcPose
Section titled “AbcPose”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
position | AbcPosition | XYZ 坐标 |
quaternion | AbcQuat | 四元数 |
AbcPosition
Section titled “AbcPosition”| 结构体成员 | 数据类型 | 说明 |
x | AbcType | XYZ 坐标值,单位为米。 |
y | ||
z |
AbcQuat
Section titled “AbcQuat”| 结构体成员 | 数据类型 | 说明 |
w | AbcType | 四元数 |
x | ||
y | ||
z |
AbcPoseVelocity
Section titled “AbcPoseVelocity”| 结构体成员 | 数据类型 | 说明 |
x | AbcType | 笛卡尔空间速度 |
y | ||
z | ||
wx | ||
wy | ||
wz |
ArmType
Section titled “ArmType”| 枚举量 | 值 | 说明 |
RM65_B | 0 | 机械臂型号 |
RM65_6FB | 1 | |
RM65_6F | 2 | |
RM75_B | 3 | |
RM75_6FB | 4 | |
RM75_6F | 5 | |
ZM73L_6F | 6 | |
ZM73R_6F | 7 |
RobotType
Section titled “RobotType”| 枚举量 | 值 | 说明 |
AlphaBot1s | 1 | 机器人型号 |
AlphaBot2 | 2 | |
AlphaBot1s_HuiKe | 3 |
AbcTorsoPose4D
Section titled “AbcTorsoPose4D”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
height | AbcType | 垂直高度,单位为米(m)。 |
forward | AbcType | 前后方向位移,单位为米(m)。 |
pitch | AbcType | 俯仰角,单位为弧度(rad)。 |
yaw | AbcType | 腰部旋转角,单位为弧度(rad)。 |
机械臂相关的数据结构
Section titled “机械臂相关的数据结构”AbcArmCurrentStatus
Section titled “AbcArmCurrentStatus”| 枚举量 | 说明 |
|---|---|
ARM_IDLE | 使能但空闲状态 |
ARM_MOVE | 运动中状态 |
ARM_MOVE_THROUGH_JOINT | 角度透传状态 |
ARM_MOVE_THROUGH_POSE | 位姿透传状态 |
ARM_MOVE_THROUGH_FORCE_POSE | 力控透传状态 |
ARM_MOVE_THROUGH_CURRENT | 电流环透传状态 |
ARM_STOP | 急停状态 |
ARM_SLOW_STOP | 缓停状态 |
ARM_PAUSE | 暂停状态 |
ARM_CURRENT_DRAG | 电流环拖动状态 |
ARM_SENSOR_DRAG | 六维力拖动状态 |
ARM_TECH_DEMONSTRATION | 示教状态 |
AbcJointState
Section titled “AbcJointState”关节状态结构体包含以下成员。如果关节数量小于 MAX_ARM_DOF,则多余的数据为 0。
| 结构体成员 | 数据类型 | 说明 |
joints | array<AbcType, MAX_ARM_DOF> | 当前各关节角度,单位为 rad(弧度)。 |
joint_position | 当前各关节角度,单位为 °(度)。 | |
joint_speed | 当前各关节速度,单位为 RPM(转/分)。 | |
joint_current | 当前各关节电流,单位为 mA(毫安)。 | |
joint_temperature | 当前各关节温度,单位为 °C(摄氏度)。 | |
joint_voltage | 当前各关节电压,单位为 V(伏特)。 | |
joint_err_code | array<uint16_t, MAX_ARM_DOF> | 当前各关节错误码。 |
joint_en_flag | array<bool, MAX_ARM_DOF> | 当前各关节使能标志位。 - true 为上使能。- false 为掉使能。 |
AbcArmForceSensor
Section titled “AbcArmForceSensor”力传感器
| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
force | AbcType[6] | 当前力传感器原始数据,单位为 0.001N 或 0.001N·m。 |
zero_force | AbcType[6] | 当前力传感器系统外受力数据,单位为 0.001N 或 0.001N·m。 |
coordinate | int | 系统外受力数据的坐标系。 - 0:传感器坐标系。- 1:当前工作坐标系。- 2:当前工具坐标系。 |
AbcArmRealtimeState
Section titled “AbcArmRealtimeState”实时回调机械臂信息
| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
name | char[64] | 机械臂名称 |
timestamp | std::chrono::system_clock::time_point | 状态时间戳 |
joint_status | AbcJointState | 关节状态 |
pose | AbcPose | 机械臂当前位姿 |
force_sensor | AbcArmForceSensor | 力传感器状态 |
arm_current_status | AbcArmCurrentStatus | 机械臂状态 |
gripper_state | AbcGripperState | 夹爪状态 |
ee_pose | AbcPose | 末端位姿 |
PeripheralReadWriteParams
Section titled “PeripheralReadWriteParams”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
port | int | 通信端口。 - 0:控制器 RS485 端口。- 1:末端接口板 RS485 接口。- 3:控制器 Modbus TCP 设备。 |
address | int | 数据起始地址 |
device | int | 外设设备地址 |
num | int | 数据的数量 |
UdpCustomConfig
Section titled “UdpCustomConfig”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
joint_speed | int | 关节速度。 |
lift_state | int | 升降关节信息。 - 1:上报。- 0:关闭上报。- -1:不设置,保持之前的状态。 |
expand_state | int | 扩展关节信息(升降关节和扩展关节为二选一,优先显示升降关节)。 - 1:上报。- 0:关闭上报。- -1:不设置,保持之前的状态。 |
hand_state | int | 灵巧手状态。 - 1:上报。- 0:关闭上报。- -1:不设置,保持之前的状态。 |
arm_current_status | int | 机械臂当前状态。 - 1:上报。- 0:关闭上报。- -1:不设置,保持之前的状态。 |
aloha_state | int | AlphaBot 主臂状态。 - 1:上报。- 0:关闭上报。- -1:不设置,保持之前的状态。 |
RealtimePushConfig
Section titled “RealtimePushConfig”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
cycle | int | 广播周期,值为 5ms 的倍数。 |
enable | bool | 使能,是否主动上报。 |
port | int | 广播的端口号。 |
force_coordinate | int | 系统外受力数据的坐标系。 - -1:不支持力传感器。- 0:传感器坐标系。- 1:当前工作坐标系。- 2:当前工具坐标系。 |
ip | char[28] | 自定义的上报目标 IP 地址。 |
custom_config | UdpCustomConfig | 自定义项内容。 |
ArmFactoryParam
Section titled “ArmFactoryParam”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
arm_type | string | 机械臂厂商。 |
arm_name | string | 机械臂名称,例如 "left_arm"。 |
ip | string | TCP IP 地址。 |
udp_ip | string | UDP IP 地址。 |
port | int | TCP 端口号。 |
udp_port | int | UDP 端口号。 |
udp_cycle | int | UDP 周期,以 udp_cycle * 5 毫秒为周期。 |
enable_gripper | bool | 夹爪状态。 |
MAX_ARM_DOF
Section titled “MAX_ARM_DOF”const size_t MAX_ARM_DOF = 7;AbcArmRealtimeStateCallback
Section titled “AbcArmRealtimeStateCallback”using AbcArmRealtimeStateCallback = std::function<void(std::shared_ptr<const AbcArmRealtimeState>)>;底盘相关的数据结构
Section titled “底盘相关的数据结构”ChassisFactoryParam
Section titled “ChassisFactoryParam”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
chassis_type | string | 底盘厂商。 |
chassis_name | string | 底盘名称,例如 "chassis"。 |
ip | string | IP 地址,例如 "127.0.0.1"。 |
port | int | 端口号,例如 54051。 |
ChassisPose2D
Section titled “ChassisPose2D”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
theta | float | 朝向 |
x | float | X 轴坐标值 |
y | float | Y 轴坐标值 |
ChassisPoseSpeed
Section titled “ChassisPoseSpeed”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
map_id | uint32_t | 当前地图 ID |
mileage | uint32_t | 累计里程数 |
robot_id | uint32_t | 底盘 ID |
pose | ChassisPose2D | 2D 位姿 |
twist | ChassisTwist | 速度 |
ChassisPoint32
Section titled “ChassisPoint32”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
x | float | X 轴坐标值 |
y | float | Y 轴坐标值 |
z | float | Z 轴坐标值 |
ChassisTwist
Section titled “ChassisTwist”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
angular | float | 角速度 |
linear | float | 线速度 |
ChassisTransformStamped
Section titled “ChassisTransformStamped”| 结构体成员 | 数据类型 | 说明 |
frame_id | string | 父坐标系 |
secs | int32_t | 秒 |
nsecs | uint32_t | 纳秒 |
child_frame_id | string | 子坐标系 |
t_x | double | XYZ 坐标值 |
t_y | double | |
t_z | double | |
r_x | double | 四元数 |
r_y | double | |
r_z | double | |
r_w | double |
ChassisBattery
Section titled “ChassisBattery”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
charge_state | ChargeState | 充电状态 |
robot_id | uint32_t | 底盘 ID |
power | uint32_t | 电量百分比,取值范围为 0~100。 - 100:全满。- 0:无电量。 |
health | uint32_t | 电池健康(充满容量/设计容量) |
charge_cycle | uint32_t | 循环次数 |
battery_cycle | uint32_t | 电池寿命 |
temp_max | uint32_t | 电池温度(最高温度) |
success | bool | 请求是否成功。 - true:成功响应请求。- false:未成功处理请求。 |
msg | string | 应答消息描述,通常用于请求未能处理时的原因描述。 |
ChassisBattery::ChargeState
Section titled “ChassisBattery::ChargeState”| 枚举量 | 值 | 说明 |
|---|---|---|
kChargeStateUndefined | 0 | 未定义 |
kNot | 1 | 未充电 |
kManual | 2 | 手动充电中 |
kAuto | 3 | 自动充电中 |
ChassisOperationState
Section titled “ChassisOperationState”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
robot_id | uint32_t | 底盘 ID |
nav | NavState | 底盘导航相关位信息 |
robot | RobotBit | 底盘位信息 |
success | bool | 请求是否成功。 - true:成功响应请求。- false:未成功处理请求。 |
msg | string | 应答消息描述,通常用于请求未能处理时的原因描述。 |
ChassisOperationState::NavState
Section titled “ChassisOperationState::NavState”| 枚举量 | 值 | 说明 |
|---|---|---|
kNavBitUndefined | 0 | 未定义 |
kNarrow | 1 | 狭窄通道 |
kGuide | 2 | 引导到达 |
kInaLift | 3 | 乘梯中 |
kImpede | 4 | 阻碍 |
kQRCode | 5 | 二维码 |
kStage | 6 | 分段到达 |
ChassisOperationState::RobotBit
Section titled “ChassisOperationState::RobotBit”| 枚举量 | 值 | 说明 |
|---|---|---|
kRobotBitUndefined | 0 | 未定义 |
kTaskable | 1 | 可接任务 |
ChassisState
Section titled “ChassisState”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
robot_id | uint32_t | 底盘 ID |
state | State | 底盘自动模式状态 |
success | bool | 请求是否成功。 - true:成功响应请求。- false:未成功处理请求。 |
msg | string | 应答消息描述,通常用于请求未能处理时的原因描述。 |
ChassisState::State
Section titled “ChassisState::State”| 枚举量 | 值 | 说明 |
|---|---|---|
kStateUndefined | 0 | 未定义 |
kUninit | 1 | 未初始化 |
kIdle | 2 | 空闲 |
kParking | 3 | 泊车中 |
kTask | 4 | 任务中 |
kWarning | 5 | 警告 |
kFault | 6 | 异常 |
kFollowing | 7 | 跟随中 |
kCharging | 8 | 充电中 |
kMapping | 9 | 构图中 |
ChassisStatusCode
Section titled “ChassisStatusCode”单个状态码信息
| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
robot_id | uint32_t | 底盘 ID |
code | uint64_t | 状态码 |
time | uint64_t | 时间 |
status_msg | string | 描述 |
robot_task_id | int64_t | 任务 ID |
state | RobotState | 自动模式状态 |
type | ActionType | 动作类型 |
level | Level | 等级 |
success | bool | 请求是否成功。 - true:成功响应请求。- false:未成功处理请求。 |
msg | string | 应答消息描述,通常用于请求未能处理时的原因描述。 |
ChassisStatusCode::RobotState
Section titled “ChassisStatusCode::RobotState”| 枚举量 | 值 | 说明 |
|---|---|---|
rs_kStateUndefined | 0 | 未定义 |
rs_kUninit | 1 | 未初始化 |
rs_kIdle | 2 | 空闲 |
rs_kParking | 3 | 泊车中 |
rs_kTask | 4 | 任务中 |
rs_kWarning | 5 | 警告 |
rs_kFault | 6 | 异常 |
rs_kFollowing | 7 | 跟随中 |
rs_kCharging | 8 | 充电中 |
rs_kMapping | 9 | 构图中 |
ChassisStatusCode::ActionType
Section titled “ChassisStatusCode::ActionType”动作类型
| 枚举量 | 值 | 说明 |
|---|---|---|
at_kTypeUndefined | 0 | 未定义 |
at_kNav | 1 | 导航 |
at_kStepCtrl | 2 | 单步控制 |
at_kSecondposEnter | 3 | 二次定位进入 |
at_kSecondposQuit | 4 | 二次定位退出 |
at_kCarry | 5 | 搬运动作 |
at_kWait | 6 | 等待 |
at_kCharge | 7 | 充电 |
ChassisStatusCode::Level
Section titled “ChassisStatusCode::Level”| 枚举量 | 值 | 说明 |
|---|---|---|
l_kNormal | 0 | 正常 |
l_kTips | 1 | 提示 |
l_kWarn | 2 | 警告 |
l_kFault | 3 | 故障 |
ChassisHardwareState
Section titled “ChassisHardwareState”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
robot_id | uint32_t | 底盘 ID |
lidars | vector<HardwareState_State> | repeated 激光雷达 2 |
cameras | vector<HardwareState_State> | repeated 摄像头 2 |
success | bool | 请求是否成功。 - true:成功响应请求。- false:未成功处理请求。 |
msg | string | 应答消息描述,通常用于请求未能处理时的原因描述。 |
ChassisHardwareState::HardwareState_State
Section titled “ChassisHardwareState::HardwareState_State”硬件状态类型
| 枚举量 | 值 | 说明 |
|---|---|---|
kNormal | 0 | 正常 |
kInfo | 1 | 提示 |
kWarn | 16 | 警告 |
kFatal | 17 | 故障 |
ChassisTaskResponse
Section titled “ChassisTaskResponse”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
task_state | TaskState | 任务状态 |
current_pose | ChassisPose2D | 当前 2D 位姿 |
msg_type | MassageType | 消息类型 |
msg | string | 应答消息描述,通常用于请求未能处理时的原因描述。 |
ChassisTaskResponse::TaskState
Section titled “ChassisTaskResponse::TaskState”| 枚举量 | 值 | 说明 |
|---|---|---|
kSuccess | 0 | 完成 |
kRunning | 1 | 执行中 |
kFailed | 2 | 失败 |
ChassisTaskResponse::MassageType
Section titled “ChassisTaskResponse::MassageType”| 枚举量 | 值 | 说明 |
|---|---|---|
kNormal | 0 | 正常 |
kWarn | 1 | 警告 |
kFault | 2 | 故障 |
头部和躯干相关的数据结构
Section titled “头部和躯干相关的数据结构”ABC_TORSO_DOF
Section titled “ABC_TORSO_DOF”#define ABC_TORSO_DOF 4ABC_HEAD_DOF
Section titled “ABC_HEAD_DOF”#define ABC_HEAD_DOF 2HeadFactoryParam
Section titled “HeadFactoryParam”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
head_type | string | 头部厂商,例如 "ti5"(钛虎头部)。 |
head_name | string | 头部名称。 |
head_joint_num | uint8_t | 头部关节数。 |
comm_params | CommParamsUnion | 通信参数。 |
motor_params | vector<MotorParam> | 电机参数。 |
CommParamsUnion
Section titled “CommParamsUnion”| 联合体成员 | 数据类型 | 说明 |
|---|---|---|
can | CommParamsCAN | CAN 参数。 |
eth | CommParamsETH | ETH 参数(预留)。 |
CommParamsCAN
Section titled “CommParamsCAN”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
device | string | 设备名称,例如 "can0"。 |
baud_rate | int | 波特率,例如 500000。 |
can_id | uint8_t | CAN 节点 ID(0x00~0xFF)。 |
CommParamsETH
Section titled “CommParamsETH”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
ip | string | IP 地址。 |
port | uint16_t | 端口号。 |
MotorParam
Section titled “MotorParam”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
motor_id | uint16_t | 电机 ID。 |
reduction_ratio | uint16_t | 减速比。 |
position_max | AbcType | 转动的最大角度。 |
position_min | AbcType | 转动的最小角度。 |
speed_max | AbcType | 转动的最大速度。 |
speed_min | AbcType | 转动的最小速度。 |
acc_max | AbcType | 转动的最大加速度。 |
acc_min | AbcType | 转动的最小加速度。 |
TorsoFactoryParam
Section titled “TorsoFactoryParam”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
torso_type | string | 躯干厂商,例如 ti5(钛虎躯干)。 |
torso_name | string | 躯干名称。 |
torso_joint_num | uint8_t | 躯干关节数。 |
comm_params | CommParamsUnion | 通信参数。 |
motor_params | vector<MotorParam> | 电机参数。 |
AbcTorsoStateCallback
Section titled “AbcTorsoStateCallback”using AbcTorsoStateCallback = std::function< void(std::shared_ptr<const AbcTorsoState>)>;AbcTorsoState
Section titled “AbcTorsoState”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
timestamp | std::chrono::system_clock::time_point | 时间戳 |
err_code | std::array<uint32_t, ABC_TORSO_DOF> | 各关节错误码 |
joints_positions | std::array<AbcType, ABC_TORSO_DOF> | 各关节角度 |
joints_speed | std::array<AbcType, ABC_TORSO_DOF | 各关节速度 |
joints_current | std::array<AbcType, ABC_TORSO_DOF> | 各关节电流 |
传感器相关的数据结构
Section titled “传感器相关的数据结构”DepthSensorParam
Section titled “DepthSensorParam”结构体成员 | 数据类型 | 说明 |
|---|---|---|
sensor_type | string | 传感器厂商,例如 "realsense"。 |
sensor_name | string | 传感器名称,例如 "head_camera"。 |
serial_number | string | 序列号。 |
color_width | int | 彩色图的宽。 |
color_height | int | 彩色图的高。 |
depth_width | int | 深度图的宽。 |
depth_height | int | 深度图的高。 |
frame_rate | int | 帧率。 |
align_to_color | bool | 是否将深度图对齐到彩色图。 |
enable_depth | bool | 是否启用深度流。默认为 true;设置为 false 时,深度流及所有依赖深度数据的相关逻辑将被关闭。 |
active_pull | bool | 是否采用主动拉流模式。默认为 false(后台自动拉流);设置为 true 时,仅在调用 get_data() 时拉取一帧,且不支持回调机制。 |
SensorCallback
Section titled “SensorCallback”using SensorCallback = std::function< void(std::shared_ptr<const SensorData>)>;SensorType
Section titled “SensorType”| 枚举量 | 说明 |
|---|---|
CAMERA | 相机类传感器 |
DEPTH_CAMERA | 深度相机 |
LIDAR | 激光雷达 |
IMU | 惯性测量单元 |
FORCE_TORQUE | 力矩传感器 |
PROXIMITY | 接近传感器 |
OTHER | 其他类型传感器 |
SensorStatus
Section titled “SensorStatus”| 枚举量 | 说明 |
|---|---|
DISCONNECTED | 未连接 |
CONNECTED | 已连接 |
STREAMING | 数据流传输中 |
SENSOR_ERROR | 错误状态 |
AbcIntrinsic
Section titled “AbcIntrinsic”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
width | int | 图像宽度,单位为像素。 |
height | int | 图像高度,单位为像素。 |
ppx | float | 图像主点的水平坐标,以距左边缘的像素偏移量表示。 |
ppy | float | 图像主点的垂直坐标,以距上边缘的像素偏移量表示。 |
fx | float | 水平焦距,以像素宽度倍数表示。 |
fy | float | 垂直焦距,以像素高度倍数表示。 |
coeffs | float[5] | 畸变系数。各模型的参数顺序如下。 - Brown-Conrady 模型: [k1, k2, p1, p2, k3]。- F-Theta 鱼眼镜头模型: [k1, k2, k3, k4, 0]。- 其他模型:参见其具体解释规则。 |
轨迹规划器相关的数据结构
Section titled “轨迹规划器相关的数据结构”TrajectoryPoint
Section titled “TrajectoryPoint”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
positions | vector<AbcType> | 位置 |
velocities | vector<AbcType> | 速度 |
accelerations | vector<AbcType> | 加速度 |
timestamp | AbcType | 时间戳 |
TrajectoryEvaluation
Section titled “TrajectoryEvaluation”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
is_valid | bool | 轨迹是否有效 |
issues | vector<string> | 存在的问题 |
score | double | 轨迹得分(分值越高越好) |
has_collision | bool | 是否存在碰撞 |
collision_indices | vector<size_t> | 碰撞点索引 |
TrajectoryStatusCallback
Section titled “TrajectoryStatusCallback”using TrajectoryStatusCallback = std::function< void(bool finished, AbcErrorCode error_code)>;传感器同步器相关的数据结构
Section titled “传感器同步器相关的数据结构”SyncDataCallback
Section titled “SyncDataCallback”using SyncDataCallback = std::function< void(std::shared_ptr<SyncDataPackage>)>;SyncPolicy
Section titled “SyncPolicy”| 枚举量 | 说明 |
|---|---|
NEAREST | 最近时间戳匹配 |
INTERPOLATE | 插值匹配 |
EXTRAPOLATE | 外推匹配 |
SyncMode
Section titled “SyncMode”| 枚举量 | 说明 |
|---|---|
LATEST_TIMESTAMP | 基于最新时间戳同步(默认模式) |
REFERENCE_SENSOR | 基于参考传感器同步 |
急停检测相关的数据结构
Section titled “急停检测相关的数据结构”EStopMConfig
Section titled “EStopMConfig”结构体成员 | 数据类型 | 说明 |
|---|---|---|
pressed_level_ | int | 急停按钮按下时的 GPIO 电平极性。 - 0:低电平有效(Active-Low),按下时引脚电平为低。- 1:高电平有效(Active-High),按下时引脚电平为高。 |
allow_multicb_ | bool | 是否允许多个回调函数。 - true:允许设置多个回调函数。- false:仅允许设置一个回调函数。 |
name_ | string | 名称。 |
EStopMConfig | 构造函数 | 使用成员初始化列表的方式初始化所有数据成员。 |
ApacheOrin | 静态函数 | 返回配置完成的 EStopMConfig 实例(gpiochip0 + 引脚 2 + 低电平有效),与 EStopMConfig() 配置相同,适用于搭载 Apache Orin 模组的机器人。 |
NvidiaOrin | 静态函数 | 返回配置完成的 EStopMConfig 实例(gpiochip1 + 引脚 9 + 高电平有效),适用于搭载 NVIDIA Jetson AGX Orin 模组的机器人。 |
SysfsGpio | 静态函数 | 返回配置完成的 EStopMConfig 实例(通过 /sys/class/gpio/gpio309/value 文件轮询 GPIO 值监控急停),适用于搭载 NVIDIA Jetson Orin NX 模组的机器人。 |
ESState
Section titled “ESState”| 枚举量 | 值 | 说明 |
|---|---|---|
None | -1 | 无法获取状态 |
Pressed | 1 | 急停按钮处于被按下的状态 |
Released | 0 | 急停按钮处于被释放的状态 |
夹爪相关的数据结构
Section titled “夹爪相关的数据结构”AbcGripperState
Section titled “AbcGripperState”| 结构体成员 | 数据类型 | 说明 |
|---|---|---|
status | int | 夹爪状态。 - 0:离线。- 1:在线。- -1:在线,且处于下使能状态。 |
error | int | 夹爪错误信息。 - 低 8 位:夹爪内部的错误信息。 - bit 5~7:预留。 - bit 4:内部通信。 - bit 3:驱动。 - bit 2:过流。 - bit 1:过温。 - bit 0:堵转。 |
mode | int | 当前工作状态。 - 1:夹爪张开到最大且空闲。- 2:夹爪闭合到最小且空闲。- 3:夹爪停止且空闲。- 4:夹爪正在闭合。- 5:夹爪正在张开。- 6:夹爪闭合过程中遇到力控停止。 |
current_force | int | 夹爪当前压力,单位为 g。 |
temperature | int | 当前温度,单位为 °C。 |
actpos | int | 夹爪开口度,取值范围为 0~1000。 - 0:夹爪闭合到最小。- 1000:夹爪张开到最大。 |
结构化故障码相关的数据结构
Section titled “结构化故障码相关的数据结构”AbcFaultCode 表示 32 位的无符号整数类型(uint32_t),其结构如下。
| 位 | 字段名 | 位数 | 取值范围 | 说明 |
|---|---|---|---|---|
| 31 | permission | 1 | 0/1 | 可见性:0=内部可见,1=外部可见(APP/Web) |
| 30~25 | category | 6 | 0~63 | 系统大类 |
| 24~19 | subsystem | 6 | 0~63 | 子系统编号 |
| 18~16 | level | 3 | 0~7 | 故障等级 |
| 15~0 | fault_id | 16 | 0~65535 | 具体故障编号 |
| 枚举量 | 值 | 说明 |
|---|---|---|
| POWER | 0 | 电源系统 |
| MOTION | 1 | 运动系统 |
| PERCEPTION | 2 | 感知系统(激光雷达/摄像头/IMU/力传感器) |
| COMM | 3 | 通信系统(4G/Wi-Fi/蓝牙/CAN) |
| CONTROL | 4 | 控制系统(主控制器/运动控制器/域控制器) |
| SAFETY | 5 | 安全系统(急停/触边) |
| ARM | 6 | 机械臂 |
| GRIPPER | 7 | 末端执行器(夹爪/灵巧手) |
| INTERACTION | 8 | 交互系统(屏幕/指示灯/扬声器/麦克风) |
| ENVIRONMENT | 9 | 环境系统(风扇/温湿度传感器) |
| SOFTWARE | 10 | 软件系统(操作系统) |
| UNKNOWN | 63 | 未知类别 |
| 系统大类 | 子系统编号 | 子系统名称 |
|---|---|---|
| POWER(0) | 0 | 主电池 |
| 1 | 备用电池 | |
| 2 | 充电接口 | |
| 3 | 电源管理板 | |
| 其他 | unknown | |
| MOTION(1) | 0 | 左轮电机 |
| 1 | 右轮电机 | |
| 2 | 左前轮电机 | |
| 3 | 右前轮电机 | |
| 4 | 左后轮电机 | |
| 5 | 右后轮电机 | |
| 6 | 腿部直线升降机 | |
| 7 | 升降机构 1 号电机 | |
| 8 | 升降机构 2 号电机 | |
| 9 | 升降机构 3 号电机 | |
| 10 | 升降机构 4 号电机 | |
| 11 | 脖颈偏航电机 | |
| 12 | 脖颈俯仰电机 | |
| 其他 | unknown | |
| PERCEPTION(2) | 0 | 底盘激光雷达-1 |
| 1 | 底盘激光雷达-2 | |
| 2 | 超声波传感器-1 | |
| 3 | 超声波传感器-2 | |
| 4 | 超声波传感器-3 | |
| 5 | 超声波传感器-4 | |
| 6 | 底盘摄像头 | |
| 7 | 头部视觉摄像头 | |
| 8 | 胸部视觉摄像头 | |
| 9 | 背部视觉摄像头 | |
| 10 | IMU | |
| 11 | 左臂六维力传感器 | |
| 12 | 右臂六维力传感器 | |
| 13 | 左手摄像头 | |
| 14 | 右手摄像头 | |
| 其他 | unknown | |
| COMM(3) | 0 | 4G/5G 模块 |
| 1 | Wi-Fi 模块 | |
| 2 | 蓝牙模块 | |
| 3 | CAN 总线 | |
| 其他 | unknown | |
| CONTROL(4) | 0 | 机器人主控制器 |
| 1 | 机器人运动控制器 | |
| 2 | 底盘控制器 | |
| 3 | 机械臂控制器-左 | |
| 4 | 机械臂控制器-右 | |
| 5 | 域控制器 | |
| 其他 | unknown | |
| SAFETY(5) | 0 | 背部急停按钮 |
| 1 | 底盘触边传感器 | |
| 其他 | unknown | |
| ARM(6) | 0 | 左臂 1 号电机 |
| 1 | 左臂 2 号电机 | |
| 2 | 左臂 3 号电机 | |
| 3 | 左臂 4 号电机 | |
| 4 | 左臂 5 号电机 | |
| 5 | 左臂 6 号电机 | |
| 6 | 左臂 7 号电机 | |
| 7 | 右臂 1 号电机 | |
| 8 | 右臂 2 号电机 | |
| 9 | 右臂 3 号电机 | |
| 10 | 右臂 4 号电机 | |
| 11 | 右臂 5 号电机 | |
| 12 | 右臂 6 号电机 | |
| 13 | 右臂 7 号电机 | |
| 其他 | unknown | |
| GRIPPER(7) | 0 | 夹爪 |
| 1 | 五指灵巧手 | |
| 2 | 吸盘 | |
| 其他 | unknown | |
| INTERACTION(8) | 0 | 屏幕 |
| 1 | 胸口状态指示灯 | |
| 2 | 底盘状态指示灯 | |
| 3 | 扬声器-胸腔 | |
| 4 | 麦克风 | |
| 其他 | unknown | |
| ENVIRONMENT(9) | 0 | 散热风扇 |
| 1 | 温度传感器 | |
| 2 | 湿度传感器 | |
| 其他 | unknown | |
| SOFTWARE(10) | 0 | 操作系统 |
| 其他 | unknown | |
| UNKNOWN(63) | 任意 | unknown |
| 枚举量 | 值 | 说明 |
|---|---|---|
| INFO | 0 | 提示:极轻微,仅记录 |
| WARNING | 1 | 警告:潜在风险,任务可继续 |
| FAULT | 2 | 故障:核心功能丧失,需人工维修 |
| ESTOP | 3 | 急停:安全风险,需立即中断 |
| 方法 | 返回值 | 说明 |
|---|---|---|
make_fault_code(permission, category, subsystem, level, fault_id) | AbcFaultCode | 组装故障码 |
| 方法 | 返回值 | 说明 |
|---|---|---|
fault_permission(fc) | 0/1 | 获取可见性 |
fault_category(fc) | 0~63 | 获取系统大类(枚举常量的值) |
fault_subsystem(fc) | 0~63 | 获取子系统编号 |
fault_level(fc) | 0~7 | 获取故障等级(枚举常量的值) |
fault_code_id(fc) | 0~65535 | 获取故障编号 |
fault_level_enum(fc) | FaultLevel | 获取故障等级(枚举常量) |
fault_category_enum(fc) | FaultCategory | 获取系统大类(枚举常量) |
| 方法 | 说明 |
|---|---|
fault_is_external(fc) | 是否对外部用户(APP/Web)可见 |
fault_is_internal(fc) | 是否仅内部可见 |
| 方法 | 说明 |
|---|---|
fault_is_info(fc) | 是否为 INFO 级 |
fault_is_warning(fc) | 是否为 WARNING 级 |
fault_is_fault(fc) | 是否为 FAULT 级 |
fault_is_estop(fc) | 是否为 ESTOP 级 |
fault_is_at_least(fc, min_level) | 等级是否达到或超过指定级别 |
| 方法 | 返回值 | 说明 |
|---|---|---|
fault_level_name(fc) | const char* | 等级名称(INFO/WARNING/FAULT/ESTOP) |
fault_category_name(fc) | const char* | 类别名称(如 POWER/MOTION/ARM) |
fault_subsystem_name(fc) | const char* | 子系统中文名称(如”左臂1号电机”) |
| 方法 | 返回值 | 说明 |
|---|---|---|
fault_description(fc) | std::string | 可读描述,格式:0xXXXXXXXX [ext/int|类别|子系统|等级|id=0xXXXX] |
预定义故障码列表
Section titled “预定义故障码列表”左机械臂
| 故障码常量 | 值 (0x) | 说明 |
|---|---|---|
ARM_LEFT1_OVER_LIMIT | 8C010008 | 左臂 1 号电机超限位 |
ARM_LEFT1_OVER_VOLTAGE | 8C020004 | 左臂 1 号电机过压 |
ARM_LEFT1_UNDER_VOLTAGE | 8C020023 | 左臂 1 号电机欠压 |
ARM_LEFT1_OVER_TEMP | 8C020002 | 左臂 1 号电机过温 |
ARM_LEFT1_STALL | 8C020007 | 左臂 1 号电机堵转 |
ARM_LEFT1_ENCODER_FAULT | 8C020005 | 左臂 1 号电机编码器故障 |
ARM_LEFT1_HW_CHECK_FAIL | 8C02000A | 左臂 1 号电机硬件自检失败 |
ARM_LEFT2_OVER_LIMIT | 8C090008 | 左臂 2 号电机超限位 |
ARM_LEFT2_OVER_VOLTAGE | 8C0A0004 | 左臂 2 号电机过压 |
ARM_LEFT2_UNDER_VOLTAGE | 8C0A0023 | 左臂 2 号电机欠压 |
ARM_LEFT2_OVER_TEMP | 8C0A0002 | 左臂 2 号电机过温 |
ARM_LEFT2_STALL | 8C0A0007 | 左臂 2 号电机堵转 |
ARM_LEFT2_ENCODER_FAULT | 8C0A0005 | 左臂 2 号电机编码器故障 |
ARM_LEFT2_HW_CHECK_FAIL | 8C0A000A | 左臂 2 号电机硬件自检失败 |
ARM_LEFT3_OVER_LIMIT | 8C110008 | 左臂 3 号电机超限位 |
ARM_LEFT3_OVER_VOLTAGE | 8C120004 | 左臂 3 号电机过压 |
ARM_LEFT3_UNDER_VOLTAGE | 8C120023 | 左臂 3 号电机欠压 |
ARM_LEFT3_OVER_TEMP | 8C120002 | 左臂 3 号电机过温 |
ARM_LEFT3_STALL | 8C120007 | 左臂 3 号电机堵转 |
ARM_LEFT3_ENCODER_FAULT | 8C120005 | 左臂 3 号电机编码器故障 |
ARM_LEFT3_HW_CHECK_FAIL | 8C12000A | 左臂 3 号电机硬件自检失败 |
ARM_LEFT4_OVER_LIMIT | 8C190008 | 左臂 4 号电机超限位 |
ARM_LEFT4_OVER_VOLTAGE | 8C1A0004 | 左臂 4 号电机过压 |
ARM_LEFT4_UNDER_VOLTAGE | 8C1A0023 | 左臂 4 号电机欠压 |
ARM_LEFT4_OVER_TEMP | 8C1A0002 | 左臂 4 号电机过温 |
ARM_LEFT4_STALL | 8C1A0007 | 左臂 4 号电机堵转 |
ARM_LEFT4_ENCODER_FAULT | 8C1A0005 | 左臂 4 号电机编码器故障 |
ARM_LEFT4_HW_CHECK_FAIL | 8C1A000A | 左臂 4 号电机硬件自检失败 |
ARM_LEFT5_OVER_LIMIT | 8C210008 | 左臂 5 号电机超限位 |
ARM_LEFT5_OVER_VOLTAGE | 8C220004 | 左臂 5 号电机过压 |
ARM_LEFT5_UNDER_VOLTAGE | 8C220023 | 左臂 5 号电机欠压 |
ARM_LEFT5_OVER_TEMP | 8C220002 | 左臂 5 号电机过温 |
ARM_LEFT5_STALL | 8C220007 | 左臂 5 号电机堵转 |
ARM_LEFT5_ENCODER_FAULT | 8C220005 | 左臂 5 号电机编码器故障 |
ARM_LEFT5_HW_CHECK_FAIL | 8C22000A | 左臂 5 号电机硬件自检失败 |
ARM_LEFT6_OVER_LIMIT | 8C290008 | 左臂 6 号电机超限位 |
ARM_LEFT6_OVER_VOLTAGE | 8C2A0004 | 左臂 6 号电机过压 |
ARM_LEFT6_UNDER_VOLTAGE | 8C2A0023 | 左臂 6 号电机欠压 |
ARM_LEFT6_OVER_TEMP | 8C2A0002 | 左臂 6 号电机过温 |
ARM_LEFT6_STALL | 8C2A0007 | 左臂 6 号电机堵转 |
ARM_LEFT6_ENCODER_FAULT | 8C2A0005 | 左臂 6 号电机编码器故障 |
ARM_LEFT6_HW_CHECK_FAIL | 8C2A000A | 左臂 6 号电机硬件自检失败 |
ARM_LEFT7_OVER_LIMIT | 8C310008 | 左臂 7 号电机超限位 |
ARM_LEFT7_OVER_VOLTAGE | 8C320004 | 左臂 7 号电机过压 |
ARM_LEFT7_UNDER_VOLTAGE | 8C320023 | 左臂 7 号电机欠压 |
ARM_LEFT7_OVER_TEMP | 8C320002 | 左臂 7 号电机过温 |
ARM_LEFT7_STALL | 8C320007 | 左臂 7 号电机堵转 |
ARM_LEFT7_ENCODER_FAULT | 8C320005 | 左臂 7 号电机编码器故障 |
ARM_LEFT7_HW_CHECK_FAIL | 8C32000A | 左臂 7 号电机硬件自检失败 |
ARM_LEFT_SINGULARITY | 8C19001B | 奇异点导致左臂无法到达目标位置 |
ARM_LEFT_FORCE_DATA_ABNORMAL | 8C5A000B | 左臂六维力传感器数据异常 |
ARM_LEFT_FORCE_OVERLOAD | 8C5A0010 | 左臂六维力传感器过载 |
ARM_LEFT_CTRL_COMM_INTERRUPT | 881A000C | 左臂控制器通信中断 |
ARM_LEFT_CTRL_HW_CHECK_FAIL | 881A000A | 左臂控制器硬件自检失败 |
右机械臂
| 故障码常量 | 值 (0x) | 说明 |
|---|---|---|
ARM_RIGHT1_OVER_LIMIT | 8C390008 | 右臂 1 号电机超限位 |
ARM_RIGHT1_OVER_VOLTAGE | 8C3A0004 | 右臂 1 号电机过压 |
ARM_RIGHT1_UNDER_VOLTAGE | 8C3A0023 | 右臂 1 号电机欠压 |
ARM_RIGHT1_OVER_TEMP | 8C3A0002 | 右臂 1 号电机过温 |
ARM_RIGHT1_STALL | 8C3A0007 | 右臂 1 号电机堵转 |
ARM_RIGHT1_ENCODER_FAULT | 8C3A0005 | 右臂 1 号电机编码器故障 |
ARM_RIGHT1_HW_CHECK_FAIL | 8C3A000A | 右臂 1 号电机硬件自检失败 |
ARM_RIGHT2_OVER_LIMIT | 8C410008 | 右臂 2 号电机超限位 |
ARM_RIGHT2_OVER_VOLTAGE | 8C420004 | 右臂 2 号电机过压 |
ARM_RIGHT2_UNDER_VOLTAGE | 8C420023 | 右臂 2 号电机欠压 |
ARM_RIGHT2_OVER_TEMP | 8C420002 | 右臂 2 号电机过温 |
ARM_RIGHT2_STALL | 8C420007 | 右臂 2 号电机堵转 |
ARM_RIGHT2_ENCODER_FAULT | 8C420005 | 右臂 2 号电机编码器故障 |
ARM_RIGHT2_HW_CHECK_FAIL | 8C42000A | 右臂 2 号电机硬件自检失败 |
ARM_RIGHT3_OVER_LIMIT | 8C490008 | 右臂 3 号电机超限位 |
ARM_RIGHT3_OVER_VOLTAGE | 8C4A0004 | 右臂 3 号电机过压 |
ARM_RIGHT3_UNDER_VOLTAGE | 8C4A0023 | 右臂 3 号电机欠压 |
ARM_RIGHT3_OVER_TEMP | 8C4A0002 | 右臂 3 号电机过温 |
ARM_RIGHT3_STALL | 8C4A0007 | 右臂 3 号电机堵转 |
ARM_RIGHT3_ENCODER_FAULT | 8C4A0005 | 右臂 3 号电机编码器故障 |
ARM_RIGHT3_HW_CHECK_FAIL | 8C4A000A | 右臂 3 号电机硬件自检失败 |
ARM_RIGHT4_OVER_LIMIT | 8C510008 | 右臂 4 号电机超限位 |
ARM_RIGHT4_OVER_VOLTAGE | 8C520004 | 右臂 4 号电机过压 |
ARM_RIGHT4_UNDER_VOLTAGE | 8C520023 | 右臂 4 号电机欠压 |
ARM_RIGHT4_OVER_TEMP | 8C520002 | 右臂 4 号电机过温 |
ARM_RIGHT4_STALL | 8C520007 | 右臂 4 号电机堵转 |
ARM_RIGHT4_ENCODER_FAULT | 8C520005 | 右臂 4 号电机编码器故障 |
ARM_RIGHT4_HW_CHECK_FAIL | 8C52000A | 右臂 4 号电机硬件自检失败 |
ARM_RIGHT5_OVER_LIMIT | 8C590008 | 右臂 5 号电机超限位 |
ARM_RIGHT5_OVER_VOLTAGE | 8C5A0004 | 右臂 5 号电机过压 |
ARM_RIGHT5_UNDER_VOLTAGE | 8C5A0023 | 右臂 5 号电机欠压 |
ARM_RIGHT5_OVER_TEMP | 8C5A0002 | 右臂 5 号电机过温 |
ARM_RIGHT5_STALL | 8C5A0007 | 右臂 5 号电机堵转 |
ARM_RIGHT5_ENCODER_FAULT | 8C5A0005 | 右臂 5 号电机编码器故障 |
ARM_RIGHT5_HW_CHECK_FAIL | 8C5A000A | 右臂 5 号电机硬件自检失败 |
ARM_RIGHT6_OVER_LIMIT | 8C610008 | 右臂 6 号电机超限位 |
ARM_RIGHT6_OVER_VOLTAGE | 8C620004 | 右臂 6 号电机过压 |
ARM_RIGHT6_UNDER_VOLTAGE | 8C620023 | 右臂 6 号电机欠压 |
ARM_RIGHT6_OVER_TEMP | 8C620002 | 右臂 6 号电机过温 |
ARM_RIGHT6_STALL | 8C620007 | 右臂 6 号电机堵转 |
ARM_RIGHT6_ENCODER_FAULT | 8C620005 | 右臂 6 号电机编码器故障 |
ARM_RIGHT6_HW_CHECK_FAIL | 8C62000A | 右臂 6 号电机硬件自检失败 |
ARM_RIGHT7_OVER_LIMIT | 8C690008 | 右臂 7 号电机超限位 |
ARM_RIGHT7_OVER_VOLTAGE | 8C6A0004 | 右臂 7 号电机过压 |
ARM_RIGHT7_UNDER_VOLTAGE | 8C6A0023 | 右臂 7 号电机欠压 |
ARM_RIGHT7_OVER_TEMP | 8C6A0002 | 右臂 7 号电机过温 |
ARM_RIGHT7_STALL | 8C6A0007 | 右臂 7 号电机堵转 |
ARM_RIGHT7_ENCODER_FAULT | 8C6A0005 | 右臂 7 号电机编码器故障 |
ARM_RIGHT7_HW_CHECK_FAIL | 8C6A000A | 右臂 7 号电机硬件自检失败 |
ARM_RIGHT_SINGULARITY | 8C21001B | 奇异点导致右臂无法到达目标位置 |
ARM_RIGHT_FORCE_DATA_ABNORMAL | 8C62000B | 右臂六维力传感器数据异常 |
ARM_RIGHT_FORCE_OVERLOAD | 8C620010 | 右臂六维力传感器过载 |
ARM_RIGHT_CTRL_COMM_INTERRUPT | 8822000C | 右臂控制器通信中断 |
ARM_RIGHT_CTRL_HW_CHECK_FAIL | 8822000A | 右臂控制器硬件自检失败 |
| 故障码常量 | 值 (0x) | 说明 |
|---|---|---|
TORSO_LIFT1_OVER_VOLTAGE | 823A0004 | 升降机构 1 号电机过压 |
TORSO_LIFT1_UNDER_VOLTAGE | 823A0023 | 升降机构 1 号电机欠压 |
TORSO_LIFT1_OVER_TEMP | 823A0002 | 升降机构 1 号电机过温 |
TORSO_LIFT1_ENCODER_FAULT | 823A0005 | 升降机构 1 号电机编码器故障 |
TORSO_LIFT1_BATTERY_VOLTAGE | 82390006 | 升降机构 1 号电机编码器电池电压异常 |
TORSO_LIFT1_OVER_LIMIT | 82390008 | 升降机构 1 号电机超限位 |
TORSO_LIFT1_COMM_INTERRUPT | 823A000C | 升降机构 1 号电机通信中断 |
TORSO_LIFT2_OVER_VOLTAGE | 82420004 | 升降机构 2 号电机过压 |
TORSO_LIFT2_UNDER_VOLTAGE | 82420023 | 升降机构 2 号电机欠压 |
TORSO_LIFT2_OVER_TEMP | 82420002 | 升降机构 2 号电机过温 |
TORSO_LIFT2_ENCODER_FAULT | 82420005 | 升降机构 2 号电机编码器故障 |
TORSO_LIFT2_BATTERY_VOLTAGE | 82410006 | 升降机构 2 号电机编码器电池电压异常 |
TORSO_LIFT2_OVER_LIMIT | 82410008 | 升降机构 2 号电机超限位 |
TORSO_LIFT2_COMM_INTERRUPT | 8242000C | 升降机构 2 号电机通信中断 |
TORSO_LIFT3_OVER_VOLTAGE | 824A0004 | 升降机构 3 号电机过压 |
TORSO_LIFT3_UNDER_VOLTAGE | 824A0023 | 升降机构 3 号电机欠压 |
TORSO_LIFT3_OVER_TEMP | 824A0002 | 升降机构 3 号电机过温 |
TORSO_LIFT3_ENCODER_FAULT | 824A0005 | 升降机构 3 号电机编码器故障 |
TORSO_LIFT3_BATTERY_VOLTAGE | 82490006 | 升降机构 3 号电机编码器电池电压异常 |
TORSO_LIFT3_OVER_LIMIT | 82490008 | 升降机构 3 号电机超限位 |
TORSO_LIFT3_COMM_INTERRUPT | 824A000C | 升降机构 3 号电机通信中断 |
TORSO_LIFT4_OVER_VOLTAGE | 82520004 | 升降机构 4 号电机过压 |
TORSO_LIFT4_UNDER_VOLTAGE | 82520023 | 升降机构 4 号电机欠压 |
TORSO_LIFT4_OVER_TEMP | 82520002 | 升降机构 4 号电机过温 |
TORSO_LIFT4_ENCODER_FAULT | 82520005 | 升降机构 4 号电机编码器故障 |
TORSO_LIFT4_BATTERY_VOLTAGE | 82510006 | 升降机构 4 号电机编码器电池电压异常 |
TORSO_LIFT4_OVER_LIMIT | 82510008 | 升降机构 4 号电机超限位 |
TORSO_LIFT4_COMM_INTERRUPT | 8252000C | 升降机构 4 号电机通信中断 |
| 故障码常量 | 值 (0x) | 说明 |
|---|---|---|
HEAD_NECK_YAW_OVER_VOLTAGE | 825A0004 | 脖颈偏航电机过压 |
HEAD_NECK_YAW_UNDER_VOLTAGE | 825A0023 | 脖颈偏航电机欠压 |
HEAD_NECK_YAW_OVER_TEMP | 825A0002 | 脖颈偏航电机过温 |
HEAD_NECK_YAW_ENCODER_FAULT | 825A0005 | 脖颈偏航电机编码器故障 |
HEAD_NECK_YAW_BATTERY_VOLTAGE | 82590006 | 脖颈偏航电机编码器电池电压异常 |
HEAD_NECK_YAW_OVER_LIMIT | 82590008 | 脖颈偏航电机超限位 |
HEAD_NECK_YAW_COMM_INTERRUPT | 825A000C | 脖颈偏航电机通信中断 |
HEAD_NECK_PITCH_OVER_VOLTAGE | 82620004 | 脖颈俯仰电机过压 |
HEAD_NECK_PITCH_UNDER_VOLTAGE | 82620023 | 脖颈俯仰电机欠压 |
HEAD_NECK_PITCH_OVER_TEMP | 82620002 | 脖颈俯仰电机过温 |
HEAD_NECK_PITCH_ENCODER_FAULT | 82620005 | 脖颈俯仰电机编码器故障 |
HEAD_NECK_PITCH_BATTERY_VOLTAGE | 82610006 | 脖颈俯仰电机编码器电池电压异常 |
HEAD_NECK_PITCH_OVER_LIMIT | 82610008 | 脖颈俯仰电机超限位 |
HEAD_NECK_PITCH_COMM_INTERRUPT | 8262000C | 脖颈俯仰电机通信中断 |
| 故障码常量 | 值 (0x) | 说明 |
|---|---|---|
CHASSIS_BATTERY_LOW | 80000014 | 主电源电池电量低 |
CHASSIS_BATTERY_OVER_TEMP | 80010002 | 主电源电池温度过高 |
MAIN_POWER_FAULT | 8002000D | 主电源电源故障 |
MAIN_BATTERY_DEPLETED | 80010015 | 主电源电池电量耗尽 |
POWER_BOARD_BMS_ABNORMAL | 801A000B | 电源板 BMS 异常 |
POWER_BOARD_OVER_VOLTAGE | 801A0004 | 电源板过压 |
CHASSIS_CAMERA_DATA_ABNORMAL | 8432000B | 底盘摄像头数据异常 |
CHASSIS_CAMERA_COMM_TIMEOUT | 84310003 | 底盘摄像头通信超时 |
CHASSIS_CAMERA_HW_CHECK_FAIL | 8432000A | 底盘摄像头硬件自检失败 |
CHASSIS_CAMERA_COMM_INTERRUPT | 8432000C | 底盘摄像头通信中断 |
CHASSIS_LIDAR_DISCONNECT | 8402000F | 底盘激光雷达连接异常 |
CHASSIS_LIDAR_COMM_INTERRUPT | 8402000C | 底盘激光雷达通信异常 |
CHASSIS_LIDAR_DATA_ABNORMAL | 8402000B | 底盘激光雷达-1数据异常 |
IMU_DATA_ABNORMAL | 8452000B | IMU 数据异常 |
CHASSIS_CTRL_COMM_INTERRUPT | 8812000C | 底盘控制器通信中断 |
CHASSIS_SAFETY_EDGE_TRIGGER | 8A0B0019 | 底盘安全触边触发 |
夹爪
| 故障码常量 | 值 (0x) | 说明 |
|---|---|---|
GRIPPER_STALL | 8E020007 | 堵转 |
GRIPPER_OVER_CURRENT | 8E020001 | 过流 |
GRIPPER_OVER_TEMP | 8E020002 | 过温 |
GRIPPER_OVER_VOLTAGE | 8E020004 | 过压 |
GRIPPER_UNDER_VOLTAGE | 8E020023 | 欠压 |
GRIPPER_COMM_INTERRUPT | 8E02000C | 通信中断 |
GRIPPER_HW_CHECK_FAIL | 8E02000A | 硬件自检失败 |
五指灵巧手
| 故障码常量 | 值 (0x) | 说明 |
|---|---|---|
DEXTEROUS_HAND_OVER_CURRENT | 8E0A0001 | 过流 |
DEXTEROUS_HAND_OVER_VOLTAGE | 8E0A0004 | 过压 |
DEXTEROUS_HAND_UNDER_VOLTAGE | 8E0A0023 | 欠压 |
DEXTEROUS_HAND_COMM_INTERRUPT | 8E0A000C | 通信中断 |
DEXTEROUS_HAND_HW_CHECK_FAIL | 8E0A000A | 硬件自检失败 |
| 故障码常量 | 值 (0x) | 说明 |
|---|---|---|
CHEST_CAMERA_COMM_TIMEOUT | 84410003 | 胸部视觉摄像头通信超时 |
CHEST_CAMERA_HW_CHECK_FAIL | 8442000A | 胸部视觉摄像头硬件自检失败 |
CHEST_CAMERA_DATA_ABNORMAL | 8442000B | 胸部视觉摄像头数据异常 |
CHEST_CAMERA_COMM_INTERRUPT | 8442000C | 胸部视觉摄像头通信中断 |
BACK_CAMERA_COMM_TIMEOUT | 84490003 | 背部视觉摄像头通信超时 |
BACK_CAMERA_HW_CHECK_FAIL | 844A000A | 背部视觉摄像头硬件自检失败 |
BACK_CAMERA_DATA_ABNORMAL | 844A000B | 背部视觉摄像头数据异常 |
BACK_CAMERA_COMM_INTERRUPT | 844A000C | 背部视觉摄像头通信中断 |
LEFT_HAND_CAMERA_COMM_TIMEOUT | 84690003 | 左手摄像头通信超时 |
LEFT_HAND_CAMERA_HW_CHECK_FAIL | 846A000A | 左手摄像头硬件自检失败 |
LEFT_HAND_CAMERA_DATA_ABNORMAL | 846A000B | 左手摄像头数据异常 |
LEFT_HAND_CAMERA_COMM_INTERRUPT | 846A000C | 左手摄像头通信中断 |
RIGHT_HAND_CAMERA_COMM_TIMEOUT | 84710003 | 右手摄像头通信超时 |
RIGHT_HAND_CAMERA_HW_CHECK_FAIL | 8472000A | 右手摄像头硬件自检失败 |
RIGHT_HAND_CAMERA_DATA_ABNORMAL | 8472000B | 右手摄像头数据异常 |
RIGHT_HAND_CAMERA_COMM_INTERRUPT | 8472000C | 右手摄像头通信中断 |
HEAD_CAMERA_COMM_TIMEOUT | 84390003 | 头部视觉摄像头通信超时 |
HEAD_CAMERA_HW_CHECK_FAIL | 843A000A | 头部视觉摄像头硬件自检失败 |
HEAD_CAMERA_DATA_ABNORMAL | 843A000B | 头部视觉摄像头数据异常 |
HEAD_CAMERA_COMM_INTERRUPT | 843A000C | 头部视觉摄像头通信中断 |
| 故障码常量 | 值 (0x) | 说明 |
|---|---|---|
COMM_4G5G_ABNORMAL | 8602000C | 4G/5G 模块通讯异常 |
COMM_WIFI_ABNORMAL | 860A000C | Wi-Fi 模块通讯异常 |
COMM_BT_ABNORMAL | 8612000C | 蓝牙模块通讯异常 |
COMM_CAN_ABNORMAL | 861A000C | CAN 总线通讯异常 |
| 故障码常量 | 值 (0x) | 说明 |
|---|---|---|
UI_SCREEN_NOT_DETECTED | 9002000F | 未检测到屏幕 |
UI_CHEST_INDICATOR_NOT_DETECTED | 900A000F | 未检测到胸口状态指示灯 |
UI_CHASSIS_INDICATOR_NOT_DETECTED | 9012000F | 未检测到底盘状态指示灯 |
UI_SPEAKER_NOT_DETECTED | 901A000F | 未检测到扬声器-胸腔 |
UI_MICROPHONE_NOT_DETECTED | 9022000F | 未检测到麦克风 |
后背急停按钮
Section titled “后背急停按钮”| 故障码常量 | 值 (0x) | 说明 |
|---|---|---|
ESTOP_BUTTON_TRIGGER | 8A030019 | 按下后背急停按钮 |
通用故障编号
Section titled “通用故障编号”| 常量 | 值 | 说明 |
|---|---|---|
GENERIC_FAULT_ID | 300 | 通用未映射故障编号,专门用于还未定义专属故障码的异常场景,需通过 make_fault_code(permission, category, subsystem, level, GENERIC_FAULT_ID) 组装。 |