Data Structures
Common Data Structures
Section titled “Common Data Structures”AbcType
Section titled “AbcType”using AbcType = double;AbcErrorCode
Section titled “AbcErrorCode”| Enumeration | Value | Description | |
|---|---|---|---|
| 0 | Success | |
| -1 | Unknown error | General Errors (-1 ~ -49) |
| -2 | Timeout | |
| -3 | Invalid handle | |
| -4 | Invalid state | |
| -5 | Not initialized | |
| -6 | Not implemented | |
| -7 | Invalid argument | |
| -50 | Parameter error | Parameter Errors (-50 ~ -99) |
| -51 | Parameter value out of range | |
| -100 | Robotic arm general error | Robotic Arm Errors (-100 ~ -199) |
| -101 | Controller returned false; likely incorrect parameters or arm state error. | |
| -102 | Failed to send data (communication error) | |
| -103 | Failed to receive data or controller timeout | |
| -104 | Failed to parse returned data (invalid or incomplete format) | |
| -105 | Current position device check failed (e.g., not a joint) | |
| -106 | Timeout waiting for response | |
| -107 | Robotic arm motion out of range | |
| -200 | Torso general error | Torso Errors (-200 ~-219) |
| -201 | Torso CAN bus error | |
| -202 | Torso actuator error | |
| -206 | Timeout waiting for response | |
| -207 | Torso motion out of range | |
| -220 | Head general error | Head Errors (-220 ~ -229) |
| -221 | Head CAN bus error | |
| -222 | Head actuator error | |
| -226 | Timeout waiting for response | |
| -227 | Head motion out of range | |
| -300 | Sensor general error | Sensor Errors (-300 ~ -399) |
| -301 | Sensor not connected | |
| -302 | Sensor data error | |
| -400 | Chassis general error | Chassis Errors (-400 ~ -499) |
| -401 | Chassis initialization error | |
| -402 | Timeout waiting for response | |
| -900 | Algorithm general error | Algorithm Errors (-900 ~ -999) |
| -901 | Algorithm did not converge | |
| -902 | Algorithm approximate solution | |
AbcPose
Section titled “AbcPose”Structure Member | Data Type | Description |
|---|---|---|
position | AbcPosition | XYZ-axis coordinate values |
quaternion | AbcQuat | Quaternion |
AbcPosition
Section titled “AbcPosition”| Structure Member | Data Type | Description |
x | AbcType | XYZ-axis coordinate values, in meters. |
y | ||
z |
AbcQuat
Section titled “AbcQuat”| Structure Member | Data Type | Description |
w | AbcType | Quaternion |
x | ||
y | ||
z |
AbcPoseVelocity
Section titled “AbcPoseVelocity”| Structure Member | Data Type | Description |
x | AbcType | Velocity (Cartesian space) |
y | ||
z | ||
wx | ||
wy | ||
wz |
ArmType
Section titled “ArmType”| Enumeration | Value | Description |
RM65_B | 0 | Robotic arm type |
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”| Enumeration | Value | Description |
AlphaBot1s | 1 | Robot Type |
AlphaBot2 | 2 | |
AlphaBot1s_HuiKe | 3 |
AbcTorsoPose4D
Section titled “AbcTorsoPose4D”Structure Member | Data Type | Description |
|---|---|---|
height | AbcType | Vertical height, in meters (m). |
forward | AbcType | Front-back displacement, in meters (m). |
pitch | AbcType | Pitch angle, in radians (rad). |
yaw | AbcType | Waist rotation angle, in radians (rad). |
Robotic Arm Data Structures
Section titled “Robotic Arm Data Structures”ArmFactoryParam
Section titled “ArmFactoryParam”Structure Member | Data Type | Description |
|---|---|---|
arm_type | string | Robotic arm vendor |
arm_name | string | Robotic arm name (e.g., "left_arm") |
ip | string | TCP IP address |
udp_ip | string | UDP IP address |
port | int | TCP port number |
udp_port | int | UDP port number |
udp_cycle | int | UDP cycle (period = udp_cycle * 5 ms) |
enable_gripper | bool | Gripper status (enable/disable) |
AbcArmCurrentStatus
Section titled “AbcArmCurrentStatus”| Enumeration | Description |
|---|---|
ARM_IDLE | Enabled but idle state |
ARM_MOVE | Moving state |
ARM_MOVE_THROUGH_JOINT | Angle pass-through state |
ARM_MOVE_THROUGH_POSE | Pose pass-through state |
ARM_MOVE_THROUGH_FORCE_POSE | Force-Controlled pass-through state |
ARM_MOVE_THROUGH_CURRENT | Current-loop pass-through state |
ARM_STOP | Emergency stop state |
ARM_SLOW_STOP | Slow stop state |
ARM_PAUSE | Pause state |
ARM_CURRENT_DRAG | Current-loop drag state |
ARM_SENSOR_DRAG | 6-DoF force drag state |
ARM_TECH_DEMONSTRATION | Teaching state |
AbcJointState
Section titled “AbcJointState”If the number of joints is less than MAX_ARM_DOF, the extra data fields will be zero.
| Structure Member | Data Type | Description |
joints | array<AbcType, MAX_ARM_DOF> | Current joint angles, in radians (rad). |
joint_position | Current joint angles, in degrees (°). | |
joint_speed | Current joint speeds, in RPM (revolutions per minute). | |
joint_current | Current joint current, in milliamperes (mA). | |
joint_temperature | Current joint temperature, in degrees Celsius (°C). | |
joint_voltage | Current joint voltage, in volts (V). | |
joint_err_code | array<uint16_t, MAX_ARM_DOF> | Current joint error codes. |
joint_en_flag | array<bool, MAX_ARM_DOF> | Current joint enable flags. - true: Enabled.- false: Disabled. |
AbcArmForceSensor
Section titled “AbcArmForceSensor”Structure Member | Data Type | Description |
|---|---|---|
force | AbcType[6] | Current raw force sensor data, in units of 0.001 N or 0.001 N·m. |
zero_force | AbcType[6] | Current external force data measured by the force sensor system, in units of 0.001 N or 0.001 N·m. |
coordinate | int | Coordinate frame of the external force data. - 0: Sensor coordinate frame. - 1: Current working coordinate frame. - 2: Current tool coordinate frame. |
AbcArmRealtimeState
Section titled “AbcArmRealtimeState”Structure Member | Data Type | Description |
|---|---|---|
name | char[64] | Robotic arm name |
timestamp | std::chrono::system_clock::time_point | Timestamp |
joint_status | AbcJointState | Joint states |
pose | AbcPose | Current pose of the robotic arm |
force_sensor | AbcArmForceSensor | Force sensor status |
arm_current_status | AbcArmCurrentStatus | Robotic arm status |
gripper_state | AbcGripperState | Gripper status |
ee_pose | AbcPose | End-effector pose |
PeripheralReadWriteParams
Section titled “PeripheralReadWriteParams”Structure Member | Data Type | Description |
|---|---|---|
port | int | Communication port. - 0: Controller RS485 port. - 1: End-effector interface board RS485 port. - 3: Controller Modbus TCP device. |
address | int | Starting data address |
device | int | Peripheral device address |
num | int | Number of data items |
UdpCustomConfig
Section titled “UdpCustomConfig”Structure Member | Data Type | Description |
|---|---|---|
joint_speed | int | Joint speed. |
lift_state | int | Lift joint information. - 1: Enable reporting. - 0: Disable reporting. - -1: Do not set, keep previous state. |
expand_state | int | Extended joint information (either lift joint or extended joint, lift joint has priority). - 1: Enable reporting. - 0: Disable reporting. - -1: Do not set, keep previous state. |
hand_state | int | Dexterous hand status. - 1: Enable reporting. - 0: Disable reporting. - -1: Do not set, keep previous state. |
arm_current_status | int | Current status of the robotic arm. - 1: Enable reporting. - 0: Disable reporting. - -1: Do not set, keep previous state. |
aloha_state | int | Status of the AlphaBot main arm. - 1: Enable reporting. - 0: Disable reporting. - -1: Do not set, keep previous state. |
RealtimePushConfig
Section titled “RealtimePushConfig”Structure Member | Data Type | Description |
|---|---|---|
cycle | int | Broadcasting cycle, a multiple of 5ms. |
enable | bool | Enable flag. Whether to enable active reporting. |
port | int | Broadcast port number. |
force_coordinate | int | Coordinate frame for external force data. - -1: Force sensor not supported. - 0: Sensor frame. - 1: Current work frame. - 2: Current tool frame. |
ip | char[28] | Custom reporting target IP address. |
custom_config | UdpCustomConfig | Custom configuration settings. |
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>)>;Chassis Data Structures
Section titled “Chassis Data Structures”ChassisFactoryParam
Section titled “ChassisFactoryParam”Structure Member | Data Type | Description |
|---|---|---|
chassis_type | string | Chassis vendor |
chassis_name | string | Chassis name (e.g., "chassis") |
ip | string | IP address (e.g., "127.0.0.1") |
port | int | Port number (e.g., 54051) |
ChassisPose2D
Section titled “ChassisPose2D”Structure Member | Data Type | Description |
|---|---|---|
theta | float | Orientation |
x | float | X-axis coordinate value |
y | float | Y-axis coordinate value |
ChassisPoseSpeed
Section titled “ChassisPoseSpeed”Structure Member | Data Type | Description |
|---|---|---|
map_id | uint32_t | Map ID |
mileage | uint32_t | Accumulated mileage |
robot_id | uint32_t | Chassis ID |
pose | ChassisPose2D | 2D pose |
twist | ChassisTwist | Twist (linear + angular velocity) |
ChassisPoint32
Section titled “ChassisPoint32”Structure Member | Data Type | Description |
|---|---|---|
x | float | X-axis coordinate value |
y | float | Y-axis coordinate value |
z | float | Z-axis coordinate value |
ChassisTwist
Section titled “ChassisTwist”Structure Member | Data Type | Description |
|---|---|---|
angular | float | Angular velocity |
linear | float | Linear velocity |
ChassisTransformStamped
Section titled “ChassisTransformStamped”| Structure Member | Data Type | Description |
frame_id | string | Frame ID |
secs | int32_t | Seconds |
nsecs | uint32_t | Nanoseconds |
child_frame_id | string | Child frame ID |
t_x | double | XYZ-axis coordinate values |
t_y | double | |
t_z | double | |
r_x | double | Quaternion |
r_y | double | |
r_z | double | |
r_w | double |
ChassisBattery
Section titled “ChassisBattery”Structure Member | Data Type | Description |
|---|---|---|
charge_state | ChargeState | Charging State |
robot_id | uint32_t | Chassis ID |
power | uint32_t | Battery percentage (0–100). - 100: Fully charged. - 0: No charge. |
health | uint32_t | Battery Health (full charge capacity / design capacity) |
charge_cycle | uint32_t | Charge Cycle Count |
battery_cycle | uint32_t | Battery cycle |
temp_max | uint32_t | Battery temperature (maximum temperature) |
success | bool | Request success flag. - true: Request succeeded. - false: Request failed to process. |
msg | string | Response message description, typically used to explain why a request could not be processed. |
ChassisBattery::ChargeState
Section titled “ChassisBattery::ChargeState”| Enumeration | Value | Description |
|---|---|---|
kChargeStateUndefined | 0 | Undefined |
kNot | 1 | Not charging |
kManual | 2 | Manual charging in progress |
kAuto | 3 | Auto charging in progress |
ChassisOperationState
Section titled “ChassisOperationState”Structure Member | Data Type | Description |
|---|---|---|
robot_id | uint32_t | Chassis ID |
nav | NavState | Chassis navigation information |
robot | RobotBit | Chassis bit information |
success | bool | Request success flag. - true: Request succeeded. - false: Request failed to process. |
msg | string | Response message description, typically used to explain why a request could not be processed. |
ChassisOperationState::NavState
Section titled “ChassisOperationState::NavState”| Enumeration | Value | Description |
|---|---|---|
kNavBitUndefined | 0 | Undefined |
kNarrow | 1 | Narrow passage |
kGuide | 2 | Guide to destination |
kInaLift | 3 | In elevator |
kImpede | 4 | Obstruct |
kQRCode | 5 | QR code |
kStage | 6 | Segment arrival |
ChassisOperationState::RobotBit
Section titled “ChassisOperationState::RobotBit”| Enumeration | Value | Description |
|---|---|---|
kRobotBitUndefined | 0 | Undefined |
kTaskable | 1 | Taskable |
ChassisState
Section titled “ChassisState”Structure Member | Data Type | Description |
|---|---|---|
robot_id | uint32_t | Chassis ID |
state | State | Chassis auto mode status |
success | bool | Request success flag. - true: Request succeeded. - false: Request failed to process. |
msg | string | Response message description, typically used to explain why a request could not be processed. |
ChassisState::State
Section titled “ChassisState::State”| Enumeration | Value | Description |
|---|---|---|
kStateUndefined | 0 | Undefined |
kUninit | 1 | Uninitialized |
kIdle | 2 | Idle |
kParking | 3 | Parking |
kTask | 4 | In Task |
kWarning | 5 | Warning |
kFault | 6 | Fault |
kFollowing | 7 | Following |
kCharging | 8 | Charging |
kMapping | 9 | Mapping |
ChassisStatusCode
Section titled “ChassisStatusCode”Structure Member | Data Type | Description |
|---|---|---|
robot_id | uint32_t | Chassis ID |
code | uint64_t | Status code |
time | uint64_t | Time |
status_msg | string | Message |
robot_task_id | int64_t | Task ID |
state | RobotState | Chassis auto mode status |
type | ActionType | Action type |
level | Level | Level |
success | bool | Request success flag. - true: Request succeeded. - false: Request failed to process. |
msg | string | Response message description, typically used to explain why a request could not be processed. |
ChassisStatusCode::RobotState
Section titled “ChassisStatusCode::RobotState”| Enumeration | Value | Description |
|---|---|---|
rs_kStateUndefined | 0 | Undefined |
rs_kUninit | 1 | Uninitialized |
rs_kIdle | 2 | Idle |
rs_kParking | 3 | Parking |
rs_kTask | 4 | In Task |
rs_kWarning | 5 | Warning |
rs_kFault | 6 | Fault |
rs_kFollowing | 7 | Following |
rs_kCharging | 8 | Charging |
rs_kMapping | 9 | Mapping |
ChassisStatusCode::ActionType
Section titled “ChassisStatusCode::ActionType”| Enumeration | Value | Description |
|---|---|---|
at_kTypeUndefined | 0 | Undefined |
at_kNav | 1 | Navigation |
at_kStepCtrl | 2 | Step Control |
at_kSecondposEnter | 3 | Second Position Enter |
at_kSecondposQuit | 4 | Second Position Quit |
at_kCarry | 5 | Carrying Action |
at_kWait | 6 | Wait |
at_kCharge | 7 | Charge |
ChassisStatusCode::Level
Section titled “ChassisStatusCode::Level”| Enumeration | Value | Description |
|---|---|---|
l_kNormal | 0 | Normal |
l_kTips | 1 | Tips |
l_kWarn | 2 | Warning |
l_kFault | 3 | Fault |
ChassisHardwareState
Section titled “ChassisHardwareState”Structure Member | Data Type | Description |
|---|---|---|
robot_id | uint32_t | Chassis ID |
lidars | vector<HardwareState_State> | Repeated Lidar 2 |
cameras | vector<HardwareState_State> | Repeated Camera 2 |
success | bool | Request success flag. - true: Request succeeded. - false: Request failed to process. |
msg | string | Response message description, typically used to explain why a request could not be processed. |
ChassisHardwareState::HardwareState_State
Section titled “ChassisHardwareState::HardwareState_State”| Enumeration | Value | Description |
|---|---|---|
kNormal | 0 | Normal |
kInfo | 1 | Tips |
kWarn | 16 | Warning |
kFatal | 17 | Fault |
ChassisTaskResponse
Section titled “ChassisTaskResponse”Structure Member | Data Type | Description |
|---|---|---|
task_state | TaskState | Task state |
current_pose | ChassisPose2D | Current 2D pose |
msg_type | MassageType | Message type |
msg | string | Response message description, typically used to explain why a request could not be processed. |
ChassisTaskResponse::TaskState
Section titled “ChassisTaskResponse::TaskState”| Enumeration | Value | Description |
|---|---|---|
kSuccess | 0 | Success |
kRunning | 1 | Running |
kFailed | 2 | Failed |
ChassisTaskResponse::MassageType
Section titled “ChassisTaskResponse::MassageType”| Enumeration | Value | Description |
|---|---|---|
kNormal | 0 | Normal |
kWarn | 1 | Warning |
kFault | 2 | Fault |
Head and Torso Data Structures
Section titled “Head and Torso Data Structures”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”Structure Member | Data Type | Description |
|---|---|---|
head_type | string | Head vendor |
head_name | string | Head name |
head_joint_num | uint8_t | Number of head joints |
comm_params | CommParamsUnion | Communication parameters |
motor_params | vector<MotorParam> | Motor parameters |
CommParamsUnion
Section titled “CommParamsUnion”| Union Member | Data Type | Description |
|---|---|---|
can | CommParamsCAN | CAN parameters |
eth | CommParamsETH | ETH parameters (reserved) |
CommParamsCAN
Section titled “CommParamsCAN”Structure Member | Data Type | Description |
|---|---|---|
device | string | Device name (e.g., "can0") |
baud_rate | int | Baud rate (e.g., 500000) |
can_id | uint8_t | CAN node ID (0x00 - 0xFF) |
CommParamsETH
Section titled “CommParamsETH”Structure Member | Data Type | Description |
|---|---|---|
ip | string | IP address (e.g., "192.168.1.10") |
port | uint16_t | Port number (e.g., 8080) |
MotorParam
Section titled “MotorParam”Structure Member | Data Type | Description |
|---|---|---|
motor_id | uint16_t | Motor ID |
reduction_ratio | uint16_t | Reduction ratio |
position_max | AbcType | Maximum rotation angle |
position_min | AbcType | Minimum rotation angle |
speed_max | AbcType | Maximum rotation speed |
speed_min | AbcType | Minimum rotation speed |
acc_max | AbcType | Maximum rotation acceleration |
acc_min | AbcType | Minimum rotation acceleration |
TorsoFactoryParam
Section titled “TorsoFactoryParam”Structure Member | Data Type | Description |
|---|---|---|
torso_type | string | Torso vendor (e.g., "ti5") |
torso_name | string | Torso name |
torso_joint_num | uint8_t | Number of torso joints |
comm_params | CommParamsUnion | Communication parameters |
motor_params | vector<MotorParam> | Motor parameters |
AbcTorsoStateCallback
Section titled “AbcTorsoStateCallback”using AbcTorsoStateCallback = std::function< void(std::shared_ptr<const AbcTorsoState>)>;AbcTorsoState
Section titled “AbcTorsoState”Structure Member | Data Type | Description |
|---|---|---|
timestamp | std::chrono::system_clock::time_point | Timestamp |
err_code | std::array<uint32_t, ABC_TORSO_DOF> | Error codes for each joint |
joints_positions | std::array<AbcType, ABC_TORSO_DOF> | Angle for each joint |
joints_speed | std::array<AbcType, ABC_TORSO_DOF | Speed for each joint |
joints_current | std::array<AbcType, ABC_TORSO_DOF> | Current for each joint |
Sensor Data Structures
Section titled “Sensor Data Structures”DepthSensorParam
Section titled “DepthSensorParam”Structure Member | Data Type | Description |
|---|---|---|
sensor_type | string | Sensor vendor (e.g., "realsense") |
sensor_name | string | Sensor name (e.g., "head_camera") |
serial_number | string | Serial number |
color_width | int | Color image width |
color_height | int | Color image height |
depth_width | int | Depth image width |
depth_height | int | Depth image height |
frame_rate | int | Frame rate |
align_to_color | bool | Whether to align the depth image to the color image |
enable_depth | bool | Whether to enable the depth stream. Default is true. When set to false, the depth stream and all related logic that depends on depth data will be disabled. |
active_pull | bool | Whether to use active frame pulling mode. Defaults to false (automatic background frame pulling). When set to true, only one frame is fetched when get_data() is called, and the callback mechanism is not supported. |
SensorCallback
Section titled “SensorCallback”using SensorCallback = std::function< void(std::shared_ptr<const SensorData>)>;SensorType
Section titled “SensorType”| Enumeration | Description |
|---|---|
CAMERA | Camera sensor |
DEPTH_CAMERA | Depth camera |
LIDAR | LiDAR |
IMU | Inertial Measurement Unit |
FORCE_TORQUE | Force sensor |
PROXIMITY | Proximity sensor |
OTHER | Other types of sensors |
SensorStatus
Section titled “SensorStatus”| Enumeration | Description |
|---|---|
DISCONNECTED | Disconnected |
CONNECTED | Connected |
STREAMING | Data streaming in progress |
SENSOR_ERROR | Error state |
AbcIntrinsic
Section titled “AbcIntrinsic”Structure Member | Data Type | Description |
|---|---|---|
width | int | Image width, in pixels. |
height | int | Image height, in pixels. |
ppx | float | Horizontal coordinate of the principal point, expressed as pixel offset from the left edge. |
ppy | float | Vertical coordinate of the principal point, expressed as pixel offset from the top edge. |
fx | float | Horizontal focal length, expressed as a multiple of pixel width. |
fy | float | Vertical focal length, expressed as a multiple of pixel height. |
coeffs | float[5] | Distortion coefficients. The parameter order for each model is as follows: - Brown-Conrady model: [k1, k2, p1, p2, k3]. - F-Theta fisheye lens model: [k1, k2, k3, k4, 0]. - Other models: Refer to their specific interpretation rules. |
Trajectory Planner Data Structures
Section titled “Trajectory Planner Data Structures”TrajectoryPoint
Section titled “TrajectoryPoint”Structure Member | Data Type | Description |
|---|---|---|
positions | vector<AbcType> | Positions |
velocities | vector<AbcType> | Velocities |
accelerations | vector<AbcType> | Accelerations |
timestamp | AbcType | Timestamp |
TrajectoryEvaluation
Section titled “TrajectoryEvaluation”Structure Member | Data Type | Description |
|---|---|---|
is_valid | bool | Whether the trajectory is valid |
issues | vector<string> | Issues |
score | double | Trajectory score (higher is better) |
has_collision | bool | Whether any collision exists |
collision_indices | vector<size_t> | Indices of trajectory points |
TrajectoryStatusCallback
Section titled “TrajectoryStatusCallback”using TrajectoryStatusCallback = std::function< void(bool finished, AbcErrorCode error_code)>;Sensor Synchronizer Data Structures
Section titled “Sensor Synchronizer Data Structures”SyncDataCallback
Section titled “SyncDataCallback”using SyncDataCallback = std::function< void(std::shared_ptr<SyncDataPackage>)>;SyncPolicy
Section titled “SyncPolicy”| Enumeration | Description |
|---|---|
NEAREST | Nearest timestamp matching |
INTERPOLATE | Interpolation matching |
EXTRAPOLATE | Extrapolation matching |
SyncMode
Section titled “SyncMode”| Enumeration | Description |
|---|---|
LATEST_TIMESTAMP | Synchronize based on the latest timestamp (default mode) |
REFERENCE_SENSOR | Synchronize based on a reference sensor |
Emergency Stop Button Monitoring Data Structures
Section titled “Emergency Stop Button Monitoring Data Structures”EStopMConfig
Section titled “EStopMConfig”Structure Member | Data Type | Description |
|---|---|---|
pressed_level_ | int | GPIO level polarity when the emergency stop button is pressed. - 0: Active-Low. The pin level is low when the button is pressed. - 1: Active-High. The pin level is high when the button is pressed. |
allow_multicb_ | bool | Whether multiple callback functions are allowed. - true: Multiple callbacks are allowed. - false: Only one callback is allowed. |
name_ | string | Name |
EStopMConfig | Constructor | Initializes all data members using a member initializer list. |
ApacheOrin | Static function | Returns a configured EStopMConfig instance (gpiochip0 + pin 2 + Active-Low). Configuration is identical to EStopMConfig(), suitable for robots equipped with the Apache Orin module. |
NvidiaOrin | Static function | Returns a configured EStopMConfig instance (gpiochip1 + pin 9 + Active-High), suitable for robots equipped with the NVIDIA Jetson AGX Orin module. |
SysfsGpio | Static function | Returns a configured EStopMConfig instance that polls the GPIO state from the /sys/class/gpio/gpio309/value file to monitor the emergency stop state, suitable for robots equipped with the NVIDIA Jetson Orin NX module. |
ESState
Section titled “ESState”| Enumeration | Value | Description |
|---|---|---|
None | -1 | Unable to get status |
Pressed | 1 | Emergency stop button is pressed |
Released | 0 | Emergency stop button is released |
Gripper Data Structures
Section titled “Gripper Data Structures”AbcGripperState
Section titled “AbcGripperState”Structure Member | Data Type | Description |
|---|---|---|
status | int | Gripper status. - 0: Offline. - 1: Online. - -1: Online but disabled. |
error | int | Gripper error information. - Lower 8 bits: Internal gripper error codes. - Bits 5–7: Reserved. - Bit 4: Internal communication error. - Bit 3: Driver error. - Bit 2: Overcurrent. - Bit 1: Overtemperature. - Bit 0: Locked-rotor. |
mode | int | Current operating mode. - 1: Gripper fully open and idle. - 2: Gripper fully closed and idle. - 3: Gripper stopped and idle. - 4: Gripper is closing. - 5: Gripper is opening. - 6: Gripper stopped by force-controlled during closing. |
current_force | int | Current force, in grams (g). |
temperature | int | Current temperature, in degrees Celsius (°C). |
actpos | int | Gripper aperture, range 0–1000. - 0: Gripper fully closed. - 1000: Gripper fully open. |
Structured Fault Code Data Structure
Section titled “Structured Fault Code Data Structure”AbcFaultCode is defined as a 32-bit unsigned integer type (uint32_t). Its bit layout is specified below.
| Bit | Field Name | Bit Count | Value Range | Description |
|---|---|---|---|---|
| 31 | permission | 1 | 0/1 | Visibility: 0 = internal, 1 = external (APP/Web) |
| 30~25 | category | 6 | 0~63 | System Category |
| 24~19 | subsystem | 6 | 0~63 | Subsystem Number |
| 18~16 | level | 3 | 0~7 | Fault Level |
| 15~0 | fault_id | 16 | 0~65535 | Fault ID |
System Category
Section titled “System Category”| Enumeration | Value | Description |
|---|---|---|
| POWER | 0 | Power System |
| MOTION | 1 | Motion System |
| PERCEPTION | 2 | Perception System (LiDAR/Camera/IMU/Force Sensor) |
| COMM | 3 | Communication System (4G/Wi-Fi/Bluetooth/CAN) |
| CONTROL | 4 | Control System (Main Controller/Motion Controller/Domain Controller) |
| SAFETY | 5 | Safety System (Emergency Stop/Edge Sensor) |
| ARM | 6 | Robotic Arm |
| GRIPPER | 7 | End Effector (Gripper/Dexterous Hand) |
| INTERACTION | 8 | Interaction System (Screen/Indicator Light/Speaker/Microphone) |
| ENVIRONMENT | 9 | Environment System (Fan/Temperature & Humidity Sensor) |
| SOFTWARE | 10 | Software System (Operating System) |
| UNKNOWN | 63 | Unknown Category |
Subsystem Number
Section titled “Subsystem Number”| System Category | Subsystem Number | Subsystem Name |
|---|---|---|
| POWER(0) | 0 | Main Battery |
| 1 | Backup Battery | |
| 2 | Charging Port | |
| 3 | Power Management Board | |
| Others | Unknown | |
| MOTION(1) | 0 | Left Wheel Motor |
| 1 | Right Wheel Motor | |
| 2 | Left Front Wheel Motor | |
| 3 | Right Front Wheel Motor | |
| 4 | Left Rear Wheel Motor | |
| 5 | Right Rear Wheel Motor | |
| 6 | Leg Linear Actuator | |
| 7 | Lift Mechanism Motor 1 | |
| 8 | Lift Mechanism Motor 2 | |
| 9 | Lift Mechanism Motor 3 | |
| 10 | Lift Mechanism Motor 4 | |
| 11 | Neck Yaw Motor | |
| 12 | Neck Pitch Motor | |
| Others | Unknown | |
| PERCEPTION(2) | 0 | Chassis LiDAR-1 |
| 1 | Chassis LiDAR-2 | |
| 2 | Ultrasonic Sensor-1 | |
| 3 | Ultrasonic Sensor-2 | |
| 4 | Ultrasonic Sensor-3 | |
| 5 | Ultrasonic Sensor-4 | |
| 6 | Chassis Camera | |
| 7 | Head Vision Camera | |
| 8 | Chest Vision Camera | |
| 9 | Back Vision Camera | |
| 10 | IMU | |
| 11 | Left Arm 6‑Axis Force Sensor | |
| 12 | Right Arm 6‑Axis Force Sensor | |
| 13 | Left Hand Camera | |
| 14 | Right Hand Camera | |
| Others | Unknown | |
| COMM(3) | 0 | 4G/5G Module |
| 1 | Wi-Fi Module | |
| 2 | Bluetooth Module | |
| 3 | CAN Bus | |
| Others | Unknown | |
| CONTROL(4) | 0 | Robot Main Controller |
| 1 | Robot Motion Controller | |
| 2 | Chassis Controller | |
| 3 | Left Robotic Arm Controller | |
| 4 | Right Robotic Arm Controller | |
| 5 | Domain Controller | |
| Others | Unknown | |
| SAFETY(5) | 0 | Emergency Stop Button |
| 1 | Chassis Edge Sensor | |
| Others | Unknown | |
| ARM(6) | 0 | Left Arm Motor 1 |
| 1 | Left Arm Motor 2 | |
| 2 | Left Arm Motor 3 | |
| 3 | Left Arm Motor 4 | |
| 4 | Left Arm Motor 5 | |
| 5 | Left Arm Motor 6 | |
| 6 | Left Arm Motor 7 | |
| 7 | Right Arm Motor 1 | |
| 8 | Right Arm Motor 2 | |
| 9 | Right Arm Motor 3 | |
| 10 | Right Arm Motor 4 | |
| 11 | Right Arm Motor 5 | |
| 12 | Right Arm Motor 6 | |
| 13 | Right Arm Motor 7 | |
| Others | Unknown | |
| GRIPPER(7) | 0 | Gripper |
| 1 | Five-Finger Dexterous Hand | |
| 2 | Suction Cup | |
| Others | Unknown | |
| INTERACTION(8) | 0 | Screen |
| 1 | Chest Status Indicator | |
| 2 | Chassis Status Indicator | |
| 3 | Chest Speaker | |
| 4 | Microphone | |
| Others | Unknown | |
| ENVIRONMENT(9) | 0 | Cooling Fan |
| 1 | Temperature Sensor | |
| 2 | Humidity Sensor | |
| Others | Unknown | |
| SOFTWARE(10) | 0 | Operating System |
| Others | Unknown | |
| UNKNOWN(63) | Any | Unknown |
Fault Level
Section titled “Fault Level”| Enumeration | Value | Description |
|---|---|---|
| INFO | 0 | Informational: Minor event, logged only |
| WARNING | 1 | Warning: Potential risk, task can continue |
| FAULT | 2 | Fault: Core function failure, manual maintenance required |
| ESTOP | 3 | Emergency Stop: Safety risk, immediate operation abort required |
Core Methods
Section titled “Core Methods”Assemble Fault Code
Section titled “Assemble Fault Code”| Method | Return Value | Description |
|---|---|---|
make_fault_code(permission, category, subsystem, level, fault_id) | AbcFaultCode | Assembles a fault code |
Parse Fault Code
Section titled “Parse Fault Code”| Method | Return Value | Description |
|---|---|---|
fault_permission(fc) | 0/1 | Get visibility flag |
fault_category(fc) | 0~63 | Get System Category (enum value) |
fault_subsystem(fc) | 0~63 | Get Subsystem Number |
fault_level(fc) | 0~7 | Get Fault Level (enum value) |
fault_code_id(fc) | 0~65535 | Get fault ID |
fault_level_enum(fc) | FaultLevel | Get Fault Level (enum constant) |
fault_category_enum(fc) | FaultCategory | Get System Category (enum constant) |
Check Visibility
Section titled “Check Visibility”| Method | Description |
|---|---|
fault_is_external(fc) | Check if the fault is visible to external users (APP/Web) |
fault_is_internal(fc) | Check if the fault is for internal use only |
Check Level
Section titled “Check Level”| Method | Description |
|---|---|
fault_is_info(fc) | Check if the fault level is INFO |
fault_is_warning(fc) | Check if the fault level is WARNING |
fault_is_fault(fc) | Check if the fault level is FAULT |
fault_is_estop(fc) | Check if the fault level is ESTOP |
fault_is_at_least(fc, min_level) | Check if the fault level is greater than or equal to the specified minimum level |
Get Name
Section titled “Get Name”| Method | Return Value | Description |
|---|---|---|
fault_level_name(fc) | const char* | Get fault level name (INFO/WARNING/FAULT/ESTOP) |
fault_category_name(fc) | const char* | Get system category name (e.g. POWER/MOTION/ARM) |
fault_subsystem_name(fc) | const char* | Get subsystem name |
Generate Description
Section titled “Generate Description”| Method | Return Value | Description |
|---|---|---|
fault_description(fc) | std::string | Generate human-readable description. Format: 0xXXXXXXXX [ext/int|Category|Subsystem|Level|id=0xXXXX] |
Predefined Fault Code List
Section titled “Predefined Fault Code List”Robotic Arm
Section titled “Robotic Arm”Left Robotic Arm
| Fault Code Constant | Value (0x) | Description |
|---|---|---|
ARM_LEFT1_OVER_LIMIT | 8C010008 | Left Arm Motor 1: Position limit exceeded |
ARM_LEFT1_OVER_VOLTAGE | 8C020004 | Left Arm Motor 1: Overvoltage |
ARM_LEFT1_UNDER_VOLTAGE | 8C020023 | Left Arm Motor 1: Undervoltage |
ARM_LEFT1_OVER_TEMP | 8C020002 | Left Arm Motor 1: Overtemperature |
ARM_LEFT1_STALL | 8C020007 | Left Arm Motor 1: Motor stall |
ARM_LEFT1_ENCODER_FAULT | 8C020005 | Left Arm Motor 1: Encoder fault |
ARM_LEFT1_HW_CHECK_FAIL | 8C02000A | Left Arm Motor 1: Hardware self-test failure |
ARM_LEFT2_OVER_LIMIT | 8C090008 | Left Arm Motor 2: Position limit exceeded |
ARM_LEFT2_OVER_VOLTAGE | 8C0A0004 | Left Arm Motor 2: Overvoltage |
ARM_LEFT2_UNDER_VOLTAGE | 8C0A0023 | Left Arm Motor 2: Undervoltage |
ARM_LEFT2_OVER_TEMP | 8C0A0002 | Left Arm Motor 2: Overtemperature |
ARM_LEFT2_STALL | 8C0A0007 | Left Arm Motor 2: Motor stall |
ARM_LEFT2_ENCODER_FAULT | 8C0A0005 | Left Arm Motor 2: Encoder fault |
ARM_LEFT2_HW_CHECK_FAIL | 8C0A000A | Left Arm Motor 2: Hardware self-test failure |
ARM_LEFT3_OVER_LIMIT | 8C110008 | Left Arm Motor 3: Position limit exceeded |
ARM_LEFT3_OVER_VOLTAGE | 8C120004 | Left Arm Motor 3: Overvoltage |
ARM_LEFT3_UNDER_VOLTAGE | 8C120023 | Left Arm Motor 3: Undervoltage |
ARM_LEFT3_OVER_TEMP | 8C120002 | Left Arm Motor 3: Overtemperature |
ARM_LEFT3_STALL | 8C120007 | Left Arm Motor 3: Motor stall |
ARM_LEFT3_ENCODER_FAULT | 8C120005 | Left Arm Motor 3: Encoder fault |
ARM_LEFT3_HW_CHECK_FAIL | 8C12000A | Left Arm Motor 3: Hardware self-test failure |
ARM_LEFT4_OVER_LIMIT | 8C190008 | Left Arm Motor 4: Position limit exceeded |
ARM_LEFT4_OVER_VOLTAGE | 8C1A0004 | Left Arm Motor 4: Overvoltage |
ARM_LEFT4_UNDER_VOLTAGE | 8C1A0023 | Left Arm Motor 4: Undervoltage |
ARM_LEFT4_OVER_TEMP | 8C1A0002 | Left Arm Motor 4: Overtemperature |
ARM_LEFT4_STALL | 8C1A0007 | Left Arm Motor 4: Motor stall |
ARM_LEFT4_ENCODER_FAULT | 8C1A0005 | Left Arm Motor 4: Encoder fault |
ARM_LEFT4_HW_CHECK_FAIL | 8C1A000A | Left Arm Motor 4: Hardware self-test failure |
ARM_LEFT5_OVER_LIMIT | 8C210008 | Left Arm Motor 5: Position limit exceeded |
ARM_LEFT5_OVER_VOLTAGE | 8C220004 | Left Arm Motor 5: Overvoltage |
ARM_LEFT5_UNDER_VOLTAGE | 8C220023 | Left Arm Motor 5: Undervoltage |
ARM_LEFT5_OVER_TEMP | 8C220002 | Left Arm Motor 5: Overtemperature |
ARM_LEFT5_STALL | 8C220007 | Left Arm Motor 5: Motor stall |
ARM_LEFT5_ENCODER_FAULT | 8C220005 | Left Arm Motor 5: Encoder fault |
ARM_LEFT5_HW_CHECK_FAIL | 8C22000A | Left Arm Motor 5: Hardware self-test failure |
ARM_LEFT6_OVER_LIMIT | 8C290008 | Left Arm Motor 6: Position limit exceeded |
ARM_LEFT6_OVER_VOLTAGE | 8C2A0004 | Left Arm Motor 6: Overvoltage |
ARM_LEFT6_UNDER_VOLTAGE | 8C2A0023 | Left Arm Motor 6: Undervoltage |
ARM_LEFT6_OVER_TEMP | 8C2A0002 | Left Arm Motor 6: Overtemperature |
ARM_LEFT6_STALL | 8C2A0007 | Left Arm Motor 6: Motor stall |
ARM_LEFT6_ENCODER_FAULT | 8C2A0005 | Left Arm Motor 6: Encoder fault |
ARM_LEFT6_HW_CHECK_FAIL | 8C2A000A | Left Arm Motor 6: Hardware self-test failure |
ARM_LEFT7_OVER_LIMIT | 8C310008 | Left Arm Motor 7: Position limit exceeded |
ARM_LEFT7_OVER_VOLTAGE | 8C320004 | Left Arm Motor 7: Overvoltage |
ARM_LEFT7_UNDER_VOLTAGE | 8C320023 | Left Arm Motor 7: Undervoltage |
ARM_LEFT7_OVER_TEMP | 8C320002 | Left Arm Motor 7: Overtemperature |
ARM_LEFT7_STALL | 8C320007 | Left Arm Motor 7: Motor stall |
ARM_LEFT7_ENCODER_FAULT | 8C320005 | Left Arm Motor 7: Encoder fault |
ARM_LEFT7_HW_CHECK_FAIL | 8C32000A | Left Arm Motor 7: Hardware self-test failure |
ARM_LEFT_SINGULARITY | 8C19001B | Left arm singularity detected; target pose unreachable |
ARM_LEFT_FORCE_DATA_ABNORMAL | 8C5A000B | Left arm 6-axis force sensor: Data abnormality |
ARM_LEFT_FORCE_OVERLOAD | 8C5A0010 | Left arm 6-axis force sensor: Overload |
ARM_LEFT_CTRL_COMM_INTERRUPT | 881A000C | Left arm controller: Communication interruption |
ARM_LEFT_CTRL_HW_CHECK_FAIL | 881A000A | Left arm controller: Hardware self-test failure |
Right Robotic Arm
| Fault Code Constant | Value (0x) | Description |
|---|---|---|
ARM_RIGHT1_OVER_LIMIT | 8C390008 | Right Arm Motor 1: Position limit exceeded |
ARM_RIGHT1_OVER_VOLTAGE | 8C3A0004 | Right Arm Motor 1: Overvoltage |
ARM_RIGHT1_UNDER_VOLTAGE | 8C3A0023 | Right Arm Motor 1: Undervoltage |
ARM_RIGHT1_OVER_TEMP | 8C3A0002 | Right Arm Motor 1: Overtemperature |
ARM_RIGHT1_STALL | 8C3A0007 | Right Arm Motor 1: Motor stall |
ARM_RIGHT1_ENCODER_FAULT | 8C3A0005 | Right Arm Motor 1: Encoder fault |
ARM_RIGHT1_HW_CHECK_FAIL | 8C3A000A | Right Arm Motor 1: Hardware self-test failure |
ARM_RIGHT2_OVER_LIMIT | 8C410008 | Right Arm Motor 2: Position limit exceeded |
ARM_RIGHT2_OVER_VOLTAGE | 8C420004 | Right Arm Motor 2: Overvoltage |
ARM_RIGHT2_UNDER_VOLTAGE | 8C420023 | Right Arm Motor 2: Undervoltage |
ARM_RIGHT2_OVER_TEMP | 8C420002 | Right Arm Motor 2: Overtemperature |
ARM_RIGHT2_STALL | 8C420007 | Right Arm Motor 2: Motor stall |
ARM_RIGHT2_ENCODER_FAULT | 8C420005 | Right Arm Motor 2: Encoder fault |
ARM_RIGHT2_HW_CHECK_FAIL | 8C42000A | Right Arm Motor 2: Hardware self-test failure |
ARM_RIGHT3_OVER_LIMIT | 8C490008 | Right Arm Motor 3: Position limit exceeded |
ARM_RIGHT3_OVER_VOLTAGE | 8C4A0004 | Right Arm Motor 3: Overvoltage |
ARM_RIGHT3_UNDER_VOLTAGE | 8C4A0023 | Right Arm Motor 3: Undervoltage |
ARM_RIGHT3_OVER_TEMP | 8C4A0002 | Right Arm Motor 3: Overtemperature |
ARM_RIGHT3_STALL | 8C4A0007 | Right Arm Motor 3: Motor stall |
ARM_RIGHT3_ENCODER_FAULT | 8C4A0005 | Right Arm Motor 3: Encoder fault |
ARM_RIGHT3_HW_CHECK_FAIL | 8C4A000A | Right Arm Motor 3: Hardware self-test failure |
ARM_RIGHT4_OVER_LIMIT | 8C510008 | Right Arm Motor 4: Position limit exceeded |
ARM_RIGHT4_OVER_VOLTAGE | 8C520004 | Right Arm Motor 4: Overvoltage |
ARM_RIGHT4_UNDER_VOLTAGE | 8C520023 | Right Arm Motor 4: Undervoltage |
ARM_RIGHT4_OVER_TEMP | 8C520002 | Right Arm Motor 4: Overtemperature |
ARM_RIGHT4_STALL | 8C520007 | Right Arm Motor 4: Motor stall |
ARM_RIGHT4_ENCODER_FAULT | 8C520005 | Right Arm Motor 4: Encoder fault |
ARM_RIGHT4_HW_CHECK_FAIL | 8C52000A | Right Arm Motor 4: Hardware self-test failure |
ARM_RIGHT5_OVER_LIMIT | 8C590008 | Right Arm Motor 5: Position limit exceeded |
ARM_RIGHT5_OVER_VOLTAGE | 8C5A0004 | Right Arm Motor 5: Overvoltage |
ARM_RIGHT5_UNDER_VOLTAGE | 8C5A0023 | Right Arm Motor 5: Undervoltage |
ARM_RIGHT5_OVER_TEMP | 8C5A0002 | Right Arm Motor 5: Overtemperature |
ARM_RIGHT5_STALL | 8C5A0007 | Right Arm Motor 5: Motor stall |
ARM_RIGHT5_ENCODER_FAULT | 8C5A0005 | Right Arm Motor 5: Encoder fault |
ARM_RIGHT5_HW_CHECK_FAIL | 8C5A000A | Right Arm Motor 5: Hardware self-test failure |
ARM_RIGHT6_OVER_LIMIT | 8C610008 | Right Arm Motor 6: Position limit exceeded |
ARM_RIGHT6_OVER_VOLTAGE | 8C620004 | Right Arm Motor 6: Overvoltage |
ARM_RIGHT6_UNDER_VOLTAGE | 8C620023 | Right Arm Motor 6: Undervoltage |
ARM_RIGHT6_OVER_TEMP | 8C620002 | Right Arm Motor 6: Overtemperature |
ARM_RIGHT6_STALL | 8C620007 | Right Arm Motor 6: Motor stall |
ARM_RIGHT6_ENCODER_FAULT | 8C620005 | Right Arm Motor 6: Encoder fault |
ARM_RIGHT6_HW_CHECK_FAIL | 8C62000A | Right Arm Motor 6: Hardware self-test failure |
ARM_RIGHT7_OVER_LIMIT | 8C690008 | Right Arm Motor 7: Position limit exceeded |
ARM_RIGHT7_OVER_VOLTAGE | 8C6A0004 | Right Arm Motor 7: Overvoltage |
ARM_RIGHT7_UNDER_VOLTAGE | 8C6A0023 | Right Arm Motor 7: Undervoltage |
ARM_RIGHT7_OVER_TEMP | 8C6A0002 | Right Arm Motor 7: Overtemperature |
ARM_RIGHT7_STALL | 8C6A0007 | Right Arm Motor 7: Motor stall |
ARM_RIGHT7_ENCODER_FAULT | 8C6A0005 | Right Arm Motor 7: Encoder fault |
ARM_RIGHT7_HW_CHECK_FAIL | 8C6A000A | Right Arm Motor 7: Hardware self-test failure |
ARM_RIGHT_SINGULARITY | 8C21001B | Right arm singularity detected; target pose unreachable |
ARM_RIGHT_FORCE_DATA_ABNORMAL | 8C62000B | Right arm 6-axis force sensor: Data abnormality |
ARM_RIGHT_FORCE_OVERLOAD | 8C620010 | Right arm 6-axis force sensor: Overload |
ARM_RIGHT_CTRL_COMM_INTERRUPT | 8822000C | Right arm controller: Communication interruption |
ARM_RIGHT_CTRL_HW_CHECK_FAIL | 8822000A | Right arm controller: Hardware self-test failure |
| Fault Code Constant | Value (0x) | Description |
|---|---|---|
TORSO_LIFT1_OVER_VOLTAGE | 823A0004 | Lift Mechanism Motor 1: Overvoltage |
TORSO_LIFT1_UNDER_VOLTAGE | 823A0023 | Lift Mechanism Motor 1: Undervoltage |
TORSO_LIFT1_OVER_TEMP | 823A0002 | Lift Mechanism Motor 1: Overtemperature |
TORSO_LIFT1_ENCODER_FAULT | 823A0005 | Lift Mechanism Motor 1: Encoder fault |
TORSO_LIFT1_BATTERY_VOLTAGE | 82390006 | Lift Mechanism Motor 1: Encoder battery voltage abnormal |
TORSO_LIFT1_OVER_LIMIT | 82390008 | Lift Mechanism Motor 1: Position limit exceeded |
TORSO_LIFT1_COMM_INTERRUPT | 823A000C | Lift Mechanism Motor 1: Communication interruption |
TORSO_LIFT2_OVER_VOLTAGE | 82420004 | Lift Mechanism Motor 2: Overvoltage |
TORSO_LIFT2_UNDER_VOLTAGE | 82420023 | Lift Mechanism Motor 2: Undervoltage |
TORSO_LIFT2_OVER_TEMP | 82420002 | Lift Mechanism Motor 2: Overtemperature |
TORSO_LIFT2_ENCODER_FAULT | 82420005 | Lift Mechanism Motor 2: Encoder fault |
TORSO_LIFT2_BATTERY_VOLTAGE | 82410006 | Lift Mechanism Motor 2: Encoder battery voltage abnormal |
TORSO_LIFT2_OVER_LIMIT | 82410008 | Lift Mechanism Motor 2: Position limit exceeded |
TORSO_LIFT2_COMM_INTERRUPT | 8242000C | Lift Mechanism Motor 2: Communication interruption |
TORSO_LIFT3_OVER_VOLTAGE | 824A0004 | Lift Mechanism Motor 3: Overvoltage |
TORSO_LIFT3_UNDER_VOLTAGE | 824A0023 | Lift Mechanism Motor 3: Undervoltage |
TORSO_LIFT3_OVER_TEMP | 824A0002 | Lift Mechanism Motor 3: Overtemperature |
TORSO_LIFT3_ENCODER_FAULT | 824A0005 | Lift Mechanism Motor 3: Encoder fault |
TORSO_LIFT3_BATTERY_VOLTAGE | 82490006 | Lift Mechanism Motor 3: Encoder battery voltage abnormal |
TORSO_LIFT3_OVER_LIMIT | 82490008 | Lift Mechanism Motor 3: Position limit exceeded |
TORSO_LIFT3_COMM_INTERRUPT | 824A000C | Lift Mechanism Motor 3: Communication interruption |
TORSO_LIFT4_OVER_VOLTAGE | 82520004 | Lift Mechanism Motor 4: Overvoltage |
TORSO_LIFT4_UNDER_VOLTAGE | 82520023 | Lift Mechanism Motor 4: Undervoltage |
TORSO_LIFT4_OVER_TEMP | 82520002 | Lift Mechanism Motor 4: Overtemperature |
TORSO_LIFT4_ENCODER_FAULT | 82520005 | Lift Mechanism Motor 4: Encoder fault |
TORSO_LIFT4_BATTERY_VOLTAGE | 82510006 | Lift Mechanism Motor 4: Encoder battery voltage abnormal |
TORSO_LIFT4_OVER_LIMIT | 82510008 | Lift Mechanism Motor 4: Position limit exceeded |
TORSO_LIFT4_COMM_INTERRUPT | 8252000C | Lift Mechanism Motor 4: Communication interruption |
| Fault Code Constant | Value (0x) | Description |
|---|---|---|
HEAD_NECK_YAW_OVER_VOLTAGE | 825A0004 | Neck Yaw Motor: Overvoltage |
HEAD_NECK_YAW_UNDER_VOLTAGE | 825A0023 | Neck Yaw Motor: Undervoltage |
HEAD_NECK_YAW_OVER_TEMP | 825A0002 | Neck Yaw Motor: Overtemperature |
HEAD_NECK_YAW_ENCODER_FAULT | 825A0005 | Neck Yaw Motor: Encoder fault |
HEAD_NECK_YAW_BATTERY_VOLTAGE | 82590006 | Neck Yaw Motor: Encoder battery voltage abnormal |
HEAD_NECK_YAW_OVER_LIMIT | 82590008 | Neck Yaw Motor: Position limit exceeded |
HEAD_NECK_YAW_COMM_INTERRUPT | 825A000C | Neck Yaw Motor: Communication interruption |
HEAD_NECK_PITCH_OVER_VOLTAGE | 82620004 | Neck Pitch Motor: Overvoltage |
HEAD_NECK_PITCH_UNDER_VOLTAGE | 82620023 | Neck Pitch Motor: Undervoltage |
HEAD_NECK_PITCH_OVER_TEMP | 82620002 | Neck Pitch Motor: Overtemperature |
HEAD_NECK_PITCH_ENCODER_FAULT | 82620005 | Neck Pitch Motor: Encoder fault |
HEAD_NECK_PITCH_BATTERY_VOLTAGE | 82610006 | Neck Pitch Motor: Encoder battery voltage abnormal |
HEAD_NECK_PITCH_OVER_LIMIT | 82610008 | Neck Pitch Motor: Position limit exceeded |
HEAD_NECK_PITCH_COMM_INTERRUPT | 8262000C | Neck Pitch Motor: Communication interruption |
Chassis
Section titled “Chassis”| Fault Code Constant | Value (0x) | Description |
|---|---|---|
CHASSIS_BATTERY_LOW | 80000014 | Main battery: Low level |
CHASSIS_BATTERY_OVER_TEMP | 80010002 | Main battery: Overtemperature |
MAIN_POWER_FAULT | 8002000D | Main power supply: Fault |
MAIN_BATTERY_DEPLETED | 80010015 | Main battery: Depleted |
POWER_BOARD_BMS_ABNORMAL | 801A000B | Power board: BMS abnormal |
POWER_BOARD_OVER_VOLTAGE | 801A0004 | Power board: Overvoltage |
CHASSIS_CAMERA_DATA_ABNORMAL | 8432000B | Chassis camera: Data abnormal |
CHASSIS_CAMERA_COMM_TIMEOUT | 84310003 | Chassis camera: Communication timeout |
CHASSIS_CAMERA_HW_CHECK_FAIL | 8432000A | Chassis camera: Hardware self-test failure |
CHASSIS_CAMERA_COMM_INTERRUPT | 8432000C | Chassis camera: Communication interruption |
CHASSIS_LIDAR_DISCONNECT | 8402000F | Chassis LiDAR: Connection abnormal |
CHASSIS_LIDAR_COMM_INTERRUPT | 8402000C | Chassis LiDAR: Communication interruption |
CHASSIS_LIDAR_DATA_ABNORMAL | 8402000B | Chassis LiDAR 1: Data abnormal |
IMU_DATA_ABNORMAL | 8452000B | IMU: Data abnormal |
CHASSIS_CTRL_COMM_INTERRUPT | 8812000C | Chassis controller: Communication interruption |
CHASSIS_SAFETY_EDGE_TRIGGER | 8A0B0019 | Chassis safety edge: Triggered |
End Effector
Section titled “End Effector”Gripper
| Fault Code Constant | Value (0x) | Description |
|---|---|---|
GRIPPER_STALL | 8E020007 | Gripper: Motor stall |
GRIPPER_OVER_CURRENT | 8E020001 | Gripper: Overcurrent |
GRIPPER_OVER_TEMP | 8E020002 | Gripper: Overtemperature |
GRIPPER_OVER_VOLTAGE | 8E020004 | Gripper: Overvoltage |
GRIPPER_UNDER_VOLTAGE | 8E020023 | Gripper: Undervoltage |
GRIPPER_COMM_INTERRUPT | 8E02000C | Gripper: Communication interruption |
GRIPPER_HW_CHECK_FAIL | 8E02000A | Gripper: Hardware self-test failure |
Five‑Finger Dexterous Hand
| Fault Code Constant | Value (0x) | Description |
|---|---|---|
DEXTEROUS_HAND_OVER_CURRENT | 8E0A0001 | Dexterous Hand: Overcurrent |
DEXTEROUS_HAND_OVER_VOLTAGE | 8E0A0004 | Dexterous Hand: Overvoltage |
DEXTEROUS_HAND_UNDER_VOLTAGE | 8E0A0023 | Dexterous Hand: Undervoltage |
DEXTEROUS_HAND_COMM_INTERRUPT | 8E0A000C | Dexterous Hand: Communication interruption |
DEXTEROUS_HAND_HW_CHECK_FAIL | 8E0A000A | Dexterous Hand: Hardware self-test failure |
Cameras
Section titled “Cameras”| Fault Code Constant | Value (0x) | Description |
|---|---|---|
CHEST_CAMERA_COMM_TIMEOUT | 84410003 | Chest vision camera: Communication timeout |
CHEST_CAMERA_HW_CHECK_FAIL | 8442000A | Chest vision camera: Hardware self-test failure |
CHEST_CAMERA_DATA_ABNORMAL | 8442000B | Chest vision camera: Data abnormal |
CHEST_CAMERA_COMM_INTERRUPT | 8442000C | Chest vision camera: Communication interruption |
BACK_CAMERA_COMM_TIMEOUT | 84490003 | Back vision camera: Communication timeout |
BACK_CAMERA_HW_CHECK_FAIL | 844A000A | Back vision camera: Hardware self-test failure |
BACK_CAMERA_DATA_ABNORMAL | 844A000B | Back vision camera: Data abnormal |
BACK_CAMERA_COMM_INTERRUPT | 844A000C | Back vision camera: Communication interruption |
LEFT_HAND_CAMERA_COMM_TIMEOUT | 84690003 | Left hand camera: Communication timeout |
LEFT_HAND_CAMERA_HW_CHECK_FAIL | 846A000A | Left hand camera: Hardware self-test failure |
LEFT_HAND_CAMERA_DATA_ABNORMAL | 846A000B | Left hand camera: Data abnormal |
LEFT_HAND_CAMERA_COMM_INTERRUPT | 846A000C | Left hand camera: Communication interruption |
RIGHT_HAND_CAMERA_COMM_TIMEOUT | 84710003 | Right hand camera: Communication timeout |
RIGHT_HAND_CAMERA_HW_CHECK_FAIL | 8472000A | Right hand camera: Hardware self-test failure |
RIGHT_HAND_CAMERA_DATA_ABNORMAL | 8472000B | Right hand camera: Data abnormal |
RIGHT_HAND_CAMERA_COMM_INTERRUPT | 8472000C | Right hand camera: Communication interruption |
HEAD_CAMERA_COMM_TIMEOUT | 84390003 | Head vision camera: Communication timeout |
HEAD_CAMERA_HW_CHECK_FAIL | 843A000A | Head vision camera: Hardware self-test failure |
HEAD_CAMERA_DATA_ABNORMAL | 843A000B | Head vision camera: Data abnormal |
HEAD_CAMERA_COMM_INTERRUPT | 843A000C | Head vision camera: Communication interruption |
Communication
Section titled “Communication”| Fault Code Constant | Value (0x) | Description |
|---|---|---|
COMM_4G5G_ABNORMAL | 8602000C | 4G/5G Module: Communication abnormal |
COMM_WIFI_ABNORMAL | 860A000C | Wi-Fi Module: Communication abnormal |
COMM_BT_ABNORMAL | 8612000C | Bluetooth Module: Communication abnormal |
COMM_CAN_ABNORMAL | 861A000C | CAN bus: Communication abnormal |
Interaction Devices
Section titled “Interaction Devices”| Fault Code Constant | Value (0x) | Description |
|---|---|---|
UI_SCREEN_NOT_DETECTED | 9002000F | Screen: Not detected |
UI_CHEST_INDICATOR_NOT_DETECTED | 900A000F | Chest status indicator: Not detected |
UI_CHASSIS_INDICATOR_NOT_DETECTED | 9012000F | Chassis status indicator: Not detected |
UI_SPEAKER_NOT_DETECTED | 901A000F | Thorax speaker: Not detected |
UI_MICROPHONE_NOT_DETECTED | 9022000F | Microphone: Not detected |
Emergency Stop Button
Section titled “Emergency Stop Button”| Fault Code Constant | Value (0x) | Description |
|---|---|---|
ESTOP_BUTTON_TRIGGER | 8A030019 | Emergency Stop Button Pressed |
Generic Fault ID
Section titled “Generic Fault ID”| Constant | Value | Description |
|---|---|---|
GENERIC_FAULT_ID | 300 | Generic unmapped fault ID, intended for exceptional scenarios that do not yet have a dedicated fault code. Assemble using make_fault_code(permission, category, subsystem, level, GENERIC_FAULT_ID). |