Skip to content

Data Structures

using AbcType = double;
EnumerationValueDescription

SUCCESS

0

Success

UNKNOWN_ERROR

-1

Unknown error

General Errors (-1 ~ -49)

TIMEOUT

-2

Timeout

INVALID_HANDLE

-3

Invalid handle

INVALID_STATE

-4

Invalid state

NOT_INITIALIZED

-5

Not initialized

NOT_IMPLEMENTED

-6

Not implemented

INVALID_ARGUMENT

-7

Invalid argument

PARAM_ERROR

-50

Parameter error

Parameter Errors (-50 ~ -99)

PARAM_OUT_OF_RANGE

-51

Parameter value out of range

ARM_ERROR

-100

Robotic arm general error

Robotic Arm Errors (-100 ~ -199)

ARM_CTRL_FALSE

-101

Controller returned false; likely incorrect parameters or arm state error.

ARM_DATA_SEND_FAILED

-102

Failed to send data (communication error)

ARM_DATA_RECEIVE_FAILED

-103

Failed to receive data or controller timeout

ARM_RETURN_DATA_ERR

-104

Failed to parse returned data (invalid or incomplete format)

ARM_CHECK_FAILED

-105

Current position device check failed (e.g., not a joint)

ARM_TIMEOUT

-106

Timeout waiting for response

ARM_OUT_OF_RANGE

-107

Robotic arm motion out of range

TORSO_ERROR

-200

Torso general error

Torso Errors (-200 ~-219)

TORSO_CANBUS_ERROR

-201

Torso CAN bus error

TORSO_ACTUATOR_ERROR

-202

Torso actuator error

TORSO_TIMEOUT

-206

Timeout waiting for response

TORSO_OUT_OF_RANGE

-207

Torso motion out of range

HEAD_ERROR

-220

Head general error

Head Errors (-220 ~ -229)

HEAD_CANBUS_ERROR

-221

Head CAN bus error

HEAD_ACTUATOR_ERROR

-222

Head actuator error

HEAD_TIMEOUT

-226

Timeout waiting for response

HEAD_OUT_OF_RANGE

-227

Head motion out of range

SENSOR_ERROR

-300

Sensor general error

Sensor Errors (-300 ~ -399)

SENSOR_NOT_CONNECTED

-301

Sensor not connected

SENSOR_DATA_ERROR

-302

Sensor data error

CHASSIS_ERROR

-400

Chassis general error

Chassis Errors (-400 ~ -499)

CHASSIS_INIT_ERROR

-401

Chassis initialization error

CHASSIS_TIMEOUT

-402

Timeout waiting for response

ALGO_ERROR

-900

Algorithm general error

Algorithm Errors (-900 ~ -999)

ALGO_NOT_CONVERGED

-901

Algorithm did not converge

ALGO_APPROXIMATE_SOLUTION

-902

Algorithm approximate solution

Structure Member
Data Type
Description
positionAbcPositionXYZ-axis coordinate values
quaternionAbcQuatQuaternion
Structure MemberData TypeDescription
xAbcTypeXYZ-axis coordinate values, in meters.
y
z
Structure MemberData TypeDescription
wAbcTypeQuaternion
x
y
z
Structure MemberData TypeDescription
xAbcTypeVelocity (Cartesian space)
y
z
wx
wy
wz
EnumerationValueDescription
RM65_B0Robotic arm type
RM65_6FB1
RM65_6F2
RM75_B3
RM75_6FB4
RM75_6F5
ZM73L_6F6
ZM73R_6F7
EnumerationValueDescription
AlphaBot1s1Robot Type
AlphaBot22
AlphaBot1s_HuiKe3
Structure Member
Data Type
Description
heightAbcTypeVertical height, in meters (m).
forwardAbcTypeFront-back displacement, in meters (m).
pitchAbcTypePitch angle, in radians (rad).
yawAbcTypeWaist rotation angle, in radians (rad).
Structure Member
Data Type
Description
arm_typestringRobotic arm vendor
arm_namestringRobotic arm name (e.g., "left_arm")
ipstringTCP IP address
udp_ipstringUDP IP address
portintTCP port number
udp_portintUDP port number
udp_cycleintUDP cycle (period = udp_cycle * 5 ms)
enable_gripperboolGripper status (enable/disable)
EnumerationDescription
ARM_IDLEEnabled but idle state
ARM_MOVEMoving state
ARM_MOVE_THROUGH_JOINTAngle pass-through state
ARM_MOVE_THROUGH_POSEPose pass-through state
ARM_MOVE_THROUGH_FORCE_POSEForce-Controlled pass-through state
ARM_MOVE_THROUGH_CURRENTCurrent-loop pass-through state
ARM_STOPEmergency stop state
ARM_SLOW_STOPSlow stop state
ARM_PAUSEPause state
ARM_CURRENT_DRAGCurrent-loop drag state
ARM_SENSOR_DRAG6-DoF force drag state
ARM_TECH_DEMONSTRATIONTeaching state

If the number of joints is less than MAX_ARM_DOF, the extra data fields will be zero.

Structure MemberData TypeDescription
jointsarray<AbcType, MAX_ARM_DOF>Current joint angles, in radians (rad).
joint_positionCurrent joint angles, in degrees (°).
joint_speedCurrent joint speeds, in RPM (revolutions per minute).
joint_currentCurrent joint current, in milliamperes (mA).
joint_temperatureCurrent joint temperature, in degrees Celsius (°C).
joint_voltageCurrent joint voltage, in volts (V).
joint_err_codearray<uint16_t, MAX_ARM_DOF>Current joint error codes.
joint_en_flagarray<bool, MAX_ARM_DOF>Current joint enable flags.
- true: Enabled.
- false: Disabled.
Structure Member
Data Type
Description
forceAbcType[6]Current raw force sensor data, in units of 0.001 N or 0.001 N·m.
zero_forceAbcType[6]Current external force data measured by the force sensor system, in units of 0.001 N or 0.001 N·m.
coordinateintCoordinate frame of the external force data.
- 0: Sensor coordinate frame.
- 1: Current working coordinate frame.
- 2: Current tool coordinate frame.
Structure Member
Data Type
Description
namechar[64]Robotic arm name
timestampstd::chrono::system_clock::time_pointTimestamp
joint_statusAbcJointStateJoint states
poseAbcPoseCurrent pose of the robotic arm
force_sensorAbcArmForceSensorForce sensor status
arm_current_statusAbcArmCurrentStatusRobotic arm status
gripper_stateAbcGripperStateGripper status
ee_poseAbcPoseEnd-effector pose
Structure Member
Data Type
Description
portintCommunication port.
- 0: Controller RS485 port.
- 1: End-effector interface board RS485 port.
- 3: Controller Modbus TCP device.
addressintStarting data address
deviceintPeripheral device address
numintNumber of data items
Structure Member
Data Type
Description
joint_speedintJoint speed.
lift_stateintLift joint information.
- 1: Enable reporting.
- 0: Disable reporting.
- -1: Do not set, keep previous state.
expand_stateintExtended 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_stateintDexterous hand status.
- 1: Enable reporting.
- 0: Disable reporting.
- -1: Do not set, keep previous state.
arm_current_statusintCurrent status of the robotic arm.
- 1: Enable reporting.
- 0: Disable reporting.
- -1: Do not set, keep previous state.
aloha_stateintStatus of the AlphaBot main arm.
- 1: Enable reporting.
- 0: Disable reporting.
- -1: Do not set, keep previous state.
Structure Member
Data Type
Description
cycleintBroadcasting cycle, a multiple of 5ms.
enableboolEnable flag. Whether to enable active reporting.
portintBroadcast port number.
force_coordinateintCoordinate frame for external force data.
- -1: Force sensor not supported.
- 0: Sensor frame.
- 1: Current work frame.
- 2: Current tool frame.
ipchar[28]Custom reporting target IP address.
custom_configUdpCustomConfigCustom configuration settings.
const size_t MAX_ARM_DOF = 7;
using AbcArmRealtimeStateCallback =
std::function<void(std::shared_ptr<const AbcArmRealtimeState>)>;
Structure Member
Data Type
Description
chassis_typestringChassis vendor
chassis_namestringChassis name (e.g., "chassis")
ipstringIP address (e.g., "127.0.0.1")
portintPort number (e.g., 54051)
Structure Member
Data Type
Description
thetafloatOrientation
xfloatX-axis coordinate value
yfloatY-axis coordinate value
Structure Member
Data Type
Description
map_iduint32_tMap ID
mileageuint32_tAccumulated mileage
robot_iduint32_tChassis ID
poseChassisPose2D2D pose
twistChassisTwistTwist (linear + angular velocity)
Structure Member
Data Type
Description
xfloatX-axis coordinate value
yfloatY-axis coordinate value
zfloatZ-axis coordinate value
Structure Member
Data Type
Description
angularfloatAngular velocity
linearfloatLinear velocity
Structure MemberData TypeDescription
frame_idstringFrame ID
secsint32_tSeconds
nsecsuint32_tNanoseconds
child_frame_idstringChild frame ID
t_xdoubleXYZ-axis coordinate values
t_ydouble
t_zdouble
r_xdoubleQuaternion
r_ydouble
r_zdouble
r_wdouble
Structure Member
Data Type
Description
charge_stateChargeStateCharging State
robot_iduint32_tChassis ID
poweruint32_tBattery percentage (0–100).
- 100: Fully charged.
- 0: No charge.
healthuint32_tBattery Health (full charge capacity / design capacity)
charge_cycleuint32_tCharge Cycle Count
battery_cycleuint32_tBattery cycle
temp_maxuint32_tBattery temperature (maximum temperature)
successboolRequest success flag.
- true: Request succeeded.
- false: Request failed to process.
msgstringResponse message description, typically used to explain why a request could not be processed.
EnumerationValueDescription
kChargeStateUndefined0Undefined
kNot1Not charging
kManual2Manual charging in progress
kAuto3Auto charging in progress
Structure Member
Data Type
Description
robot_iduint32_tChassis ID
navNavStateChassis navigation information
robotRobotBitChassis bit information
successboolRequest success flag.
- true: Request succeeded.
- false: Request failed to process.
msgstringResponse message description, typically used to explain why a request could not be processed.
EnumerationValueDescription
kNavBitUndefined0Undefined
kNarrow1Narrow passage
kGuide2Guide to destination
kInaLift3In elevator
kImpede4Obstruct
kQRCode5QR code
kStage6Segment arrival
EnumerationValueDescription
kRobotBitUndefined0Undefined
kTaskable1Taskable
Structure Member
Data Type
Description
robot_iduint32_tChassis ID
stateStateChassis auto mode status
successboolRequest success flag.
- true: Request succeeded.
- false: Request failed to process.
msgstringResponse message description, typically used to explain why a request could not be processed.
EnumerationValueDescription
kStateUndefined0Undefined
kUninit1Uninitialized
kIdle2Idle
kParking3Parking
kTask4In Task
kWarning5Warning
kFault6Fault
kFollowing7Following
kCharging8Charging
kMapping9Mapping
Structure Member
Data Type
Description
robot_iduint32_tChassis ID
codeuint64_tStatus code
timeuint64_tTime
status_msgstringMessage
robot_task_idint64_tTask ID
stateRobotStateChassis auto mode status
typeActionTypeAction type
levelLevelLevel
successboolRequest success flag.
- true: Request succeeded.
- false: Request failed to process.
msgstringResponse message description, typically used to explain why a request could not be processed.
EnumerationValueDescription
rs_kStateUndefined0Undefined
rs_kUninit1Uninitialized
rs_kIdle2Idle
rs_kParking3Parking
rs_kTask4In Task
rs_kWarning5Warning
rs_kFault6Fault
rs_kFollowing7Following
rs_kCharging8Charging
rs_kMapping9Mapping
EnumerationValueDescription
at_kTypeUndefined0Undefined
at_kNav1Navigation
at_kStepCtrl2Step Control
at_kSecondposEnter3Second Position Enter
at_kSecondposQuit4Second Position Quit
at_kCarry5Carrying Action
at_kWait6Wait
at_kCharge7Charge
EnumerationValueDescription
l_kNormal0Normal
l_kTips1Tips
l_kWarn2Warning
l_kFault3Fault
Structure Member
Data Type
Description
robot_iduint32_tChassis ID
lidarsvector<HardwareState_State>Repeated Lidar 2
camerasvector<HardwareState_State>Repeated Camera 2
successboolRequest success flag.
- true: Request succeeded.
- false: Request failed to process.
msgstringResponse message description, typically used to explain why a request could not be processed.
EnumerationValueDescription
kNormal0Normal
kInfo1Tips
kWarn16Warning
kFatal17Fault
Structure Member
Data Type
Description
task_stateTaskStateTask state
current_poseChassisPose2DCurrent 2D pose
msg_typeMassageTypeMessage type
msgstringResponse message description, typically used to explain why a request could not be processed.
EnumerationValueDescription
kSuccess0Success
kRunning1Running
kFailed2Failed
EnumerationValueDescription
kNormal0Normal
kWarn1Warning
kFault2Fault
#define ABC_TORSO_DOF 4
#define ABC_HEAD_DOF 2
Structure Member
Data Type
Description
head_typestringHead vendor
head_namestringHead name
head_joint_numuint8_tNumber of head joints
comm_paramsCommParamsUnionCommunication parameters
motor_paramsvector<MotorParam>Motor parameters
Union MemberData TypeDescription
canCommParamsCANCAN parameters
ethCommParamsETHETH parameters (reserved)
Structure Member
Data Type
Description
devicestringDevice name (e.g., "can0")
baud_rateintBaud rate (e.g., 500000)
can_iduint8_tCAN node ID (0x00 - 0xFF)
Structure Member
Data Type
Description
ipstringIP address (e.g., "192.168.1.10")
portuint16_tPort number (e.g., 8080)
Structure Member
Data Type
Description
motor_iduint16_tMotor ID
reduction_ratiouint16_tReduction ratio
position_maxAbcTypeMaximum rotation angle
position_minAbcTypeMinimum rotation angle
speed_maxAbcTypeMaximum rotation speed
speed_minAbcTypeMinimum rotation speed
acc_maxAbcTypeMaximum rotation acceleration
acc_minAbcTypeMinimum rotation acceleration
Structure Member
Data Type
Description
torso_typestringTorso vendor (e.g., "ti5")
torso_namestringTorso name
torso_joint_numuint8_tNumber of torso joints
comm_paramsCommParamsUnionCommunication parameters
motor_paramsvector<MotorParam>Motor parameters
using AbcTorsoStateCallback = std::function<
void(std::shared_ptr<const AbcTorsoState>)>;
Structure Member
Data Type
Description
timestampstd::chrono::system_clock::time_pointTimestamp
err_codestd::array<uint32_t, ABC_TORSO_DOF>Error codes for each joint
joints_positionsstd::array<AbcType, ABC_TORSO_DOF>Angle for each joint
joints_speedstd::array<AbcType, ABC_TORSO_DOFSpeed for each joint
joints_currentstd::array<AbcType, ABC_TORSO_DOF>Current for each joint
Structure Member
Data Type
Description
sensor_typestringSensor vendor (e.g., "realsense")
sensor_namestringSensor name (e.g., "head_camera")
serial_numberstringSerial number
color_widthintColor image width
color_heightintColor image height
depth_widthintDepth image width
depth_heightintDepth image height
frame_rateintFrame rate
align_to_colorboolWhether to align the depth image to the color image
enable_depthboolWhether 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_pullboolWhether 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.
using SensorCallback = std::function<
void(std::shared_ptr<const SensorData>)>;
EnumerationDescription
CAMERACamera sensor
DEPTH_CAMERADepth camera
LIDARLiDAR
IMUInertial Measurement Unit
FORCE_TORQUEForce sensor
PROXIMITYProximity sensor
OTHEROther types of sensors
EnumerationDescription
DISCONNECTEDDisconnected
CONNECTEDConnected
STREAMINGData streaming in progress
SENSOR_ERRORError state
Structure Member
Data Type
Description
widthintImage width, in pixels.
heightintImage height, in pixels.
ppxfloatHorizontal coordinate of the principal point, expressed as pixel offset from the left edge.
ppyfloatVertical coordinate of the principal point, expressed as pixel offset from the top edge.
fxfloatHorizontal focal length, expressed as a multiple of pixel width.
fyfloatVertical focal length, expressed as a multiple of pixel height.
coeffsfloat[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.
Structure Member
Data Type
Description
positionsvector<AbcType>Positions
velocitiesvector<AbcType>Velocities
accelerationsvector<AbcType>Accelerations
timestampAbcTypeTimestamp
Structure Member
Data Type
Description
is_validboolWhether the trajectory is valid
issuesvector<string>Issues
scoredoubleTrajectory score (higher is better)
has_collisionboolWhether any collision exists
collision_indicesvector<size_t>Indices of trajectory points
using TrajectoryStatusCallback = std::function<
void(bool finished, AbcErrorCode error_code)>;
using SyncDataCallback = std::function<
void(std::shared_ptr<SyncDataPackage>)>;
EnumerationDescription
NEARESTNearest timestamp matching
INTERPOLATEInterpolation matching
EXTRAPOLATEExtrapolation matching
EnumerationDescription
LATEST_TIMESTAMPSynchronize based on the latest timestamp (default mode)
REFERENCE_SENSORSynchronize based on a reference sensor

Emergency Stop Button Monitoring Data Structures

Section titled “Emergency Stop Button Monitoring Data Structures”
Structure Member
Data Type
Description
pressed_level_intGPIO 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_boolWhether multiple callback functions are allowed.
- true: Multiple callbacks are allowed.
- false: Only one callback is allowed.
name_stringName
EStopMConfigConstructorInitializes all data members using a member initializer list.
ApacheOrinStatic functionReturns a configured EStopMConfig instance (gpiochip0 + pin 2 + Active-Low). Configuration is identical to EStopMConfig(), suitable for robots equipped with the Apache Orin module.
NvidiaOrinStatic functionReturns a configured EStopMConfig instance (gpiochip1 + pin 9 + Active-High), suitable for robots equipped with the NVIDIA Jetson AGX Orin module.
SysfsGpioStatic functionReturns 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.
EnumerationValueDescription
None-1Unable to get status
Pressed1Emergency stop button is pressed
Released0Emergency stop button is released
Structure Member
Data Type
Description
statusintGripper status.
- 0: Offline.
- 1: Online.
- -1: Online but disabled.
errorintGripper 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.
modeintCurrent 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_forceintCurrent force, in grams (g).
temperatureintCurrent temperature, in degrees Celsius (°C).
actposintGripper aperture, range 0–1000.
- 0: Gripper fully closed.
- 1000: Gripper fully open.

AbcFaultCode is defined as a 32-bit unsigned integer type (uint32_t). Its bit layout is specified below.

BitField NameBit CountValue RangeDescription
31permission10/1Visibility: 0 = internal, 1 = external (APP/Web)
30~25category60~63System Category
24~19subsystem60~63Subsystem Number
18~16level30~7Fault Level
15~0fault_id160~65535Fault ID
EnumerationValueDescription
POWER0Power System
MOTION1Motion System
PERCEPTION2Perception System (LiDAR/Camera/IMU/Force Sensor)
COMM3Communication System (4G/Wi-Fi/Bluetooth/CAN)
CONTROL4Control System (Main Controller/Motion Controller/Domain Controller)
SAFETY5Safety System (Emergency Stop/Edge Sensor)
ARM6Robotic Arm
GRIPPER7End Effector (Gripper/Dexterous Hand)
INTERACTION8Interaction System (Screen/Indicator Light/Speaker/Microphone)
ENVIRONMENT9Environment System (Fan/Temperature & Humidity Sensor)
SOFTWARE10Software System (Operating System)
UNKNOWN63Unknown Category
System CategorySubsystem NumberSubsystem Name
POWER(0)0Main Battery
1Backup Battery
2Charging Port
3Power Management Board
OthersUnknown
MOTION(1)0Left Wheel Motor
1Right Wheel Motor
2Left Front Wheel Motor
3Right Front Wheel Motor
4Left Rear Wheel Motor
5Right Rear Wheel Motor
6Leg Linear Actuator
7Lift Mechanism Motor 1
8Lift Mechanism Motor 2
9Lift Mechanism Motor 3
10Lift Mechanism Motor 4
11Neck Yaw Motor
12Neck Pitch Motor
OthersUnknown
PERCEPTION(2)0Chassis LiDAR-1
1Chassis LiDAR-2
2Ultrasonic Sensor-1
3Ultrasonic Sensor-2
4Ultrasonic Sensor-3
5Ultrasonic Sensor-4
6Chassis Camera
7Head Vision Camera
8Chest Vision Camera
9Back Vision Camera
10IMU
11Left Arm 6‑Axis Force Sensor
12Right Arm 6‑Axis Force Sensor
13Left Hand Camera
14Right Hand Camera
OthersUnknown
COMM(3)04G/5G Module
1Wi-Fi Module
2Bluetooth Module
3CAN Bus
OthersUnknown
CONTROL(4)0Robot Main Controller
1Robot Motion Controller
2Chassis Controller
3Left Robotic Arm Controller
4Right Robotic Arm Controller
5Domain Controller
OthersUnknown
SAFETY(5)0Emergency Stop Button
1Chassis Edge Sensor
OthersUnknown
ARM(6)0Left Arm Motor 1
1Left Arm Motor 2
2Left Arm Motor 3
3Left Arm Motor 4
4Left Arm Motor 5
5Left Arm Motor 6
6Left Arm Motor 7
7Right Arm Motor 1
8Right Arm Motor 2
9Right Arm Motor 3
10Right Arm Motor 4
11Right Arm Motor 5
12Right Arm Motor 6
13Right Arm Motor 7
OthersUnknown
GRIPPER(7)0Gripper
1Five-Finger Dexterous Hand
2Suction Cup
OthersUnknown
INTERACTION(8)0Screen
1Chest Status Indicator
2Chassis Status Indicator
3Chest Speaker
4Microphone
OthersUnknown
ENVIRONMENT(9)0Cooling Fan
1Temperature Sensor
2Humidity Sensor
OthersUnknown
SOFTWARE(10)0Operating System
OthersUnknown
UNKNOWN(63)AnyUnknown
EnumerationValueDescription
INFO0Informational: Minor event, logged only
WARNING1Warning: Potential risk, task can continue
FAULT2Fault: Core function failure, manual maintenance required
ESTOP3Emergency Stop: Safety risk, immediate operation abort required
MethodReturn ValueDescription
make_fault_code(permission, category, subsystem, level, fault_id)AbcFaultCodeAssembles a fault code
MethodReturn ValueDescription
fault_permission(fc)0/1Get visibility flag
fault_category(fc)0~63Get System Category (enum value)
fault_subsystem(fc)0~63Get Subsystem Number
fault_level(fc)0~7Get Fault Level (enum value)
fault_code_id(fc)0~65535Get fault ID
fault_level_enum(fc)FaultLevelGet Fault Level (enum constant)
fault_category_enum(fc)FaultCategoryGet System Category (enum constant)
MethodDescription
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
MethodDescription
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
MethodReturn ValueDescription
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
MethodReturn ValueDescription
fault_description(fc)std::stringGenerate human-readable description. Format: 0xXXXXXXXX [ext/int|Category|Subsystem|Level|id=0xXXXX]

Left Robotic Arm

Fault Code ConstantValue (0x)Description
ARM_LEFT1_OVER_LIMIT8C010008Left Arm Motor 1: Position limit exceeded
ARM_LEFT1_OVER_VOLTAGE8C020004Left Arm Motor 1: Overvoltage
ARM_LEFT1_UNDER_VOLTAGE8C020023Left Arm Motor 1: Undervoltage
ARM_LEFT1_OVER_TEMP8C020002Left Arm Motor 1: Overtemperature
ARM_LEFT1_STALL8C020007Left Arm Motor 1: Motor stall
ARM_LEFT1_ENCODER_FAULT8C020005Left Arm Motor 1: Encoder fault
ARM_LEFT1_HW_CHECK_FAIL8C02000ALeft Arm Motor 1: Hardware self-test failure
ARM_LEFT2_OVER_LIMIT8C090008Left Arm Motor 2: Position limit exceeded
ARM_LEFT2_OVER_VOLTAGE8C0A0004Left Arm Motor 2: Overvoltage
ARM_LEFT2_UNDER_VOLTAGE8C0A0023Left Arm Motor 2: Undervoltage
ARM_LEFT2_OVER_TEMP8C0A0002Left Arm Motor 2: Overtemperature
ARM_LEFT2_STALL8C0A0007Left Arm Motor 2: Motor stall
ARM_LEFT2_ENCODER_FAULT8C0A0005Left Arm Motor 2: Encoder fault
ARM_LEFT2_HW_CHECK_FAIL8C0A000ALeft Arm Motor 2: Hardware self-test failure
ARM_LEFT3_OVER_LIMIT8C110008Left Arm Motor 3: Position limit exceeded
ARM_LEFT3_OVER_VOLTAGE8C120004Left Arm Motor 3: Overvoltage
ARM_LEFT3_UNDER_VOLTAGE8C120023Left Arm Motor 3: Undervoltage
ARM_LEFT3_OVER_TEMP8C120002Left Arm Motor 3: Overtemperature
ARM_LEFT3_STALL8C120007Left Arm Motor 3: Motor stall
ARM_LEFT3_ENCODER_FAULT8C120005Left Arm Motor 3: Encoder fault
ARM_LEFT3_HW_CHECK_FAIL8C12000ALeft Arm Motor 3: Hardware self-test failure
ARM_LEFT4_OVER_LIMIT8C190008Left Arm Motor 4: Position limit exceeded
ARM_LEFT4_OVER_VOLTAGE8C1A0004Left Arm Motor 4: Overvoltage
ARM_LEFT4_UNDER_VOLTAGE8C1A0023Left Arm Motor 4: Undervoltage
ARM_LEFT4_OVER_TEMP8C1A0002Left Arm Motor 4: Overtemperature
ARM_LEFT4_STALL8C1A0007Left Arm Motor 4: Motor stall
ARM_LEFT4_ENCODER_FAULT8C1A0005Left Arm Motor 4: Encoder fault
ARM_LEFT4_HW_CHECK_FAIL8C1A000ALeft Arm Motor 4: Hardware self-test failure
ARM_LEFT5_OVER_LIMIT8C210008Left Arm Motor 5: Position limit exceeded
ARM_LEFT5_OVER_VOLTAGE8C220004Left Arm Motor 5: Overvoltage
ARM_LEFT5_UNDER_VOLTAGE8C220023Left Arm Motor 5: Undervoltage
ARM_LEFT5_OVER_TEMP8C220002Left Arm Motor 5: Overtemperature
ARM_LEFT5_STALL8C220007Left Arm Motor 5: Motor stall
ARM_LEFT5_ENCODER_FAULT8C220005Left Arm Motor 5: Encoder fault
ARM_LEFT5_HW_CHECK_FAIL8C22000ALeft Arm Motor 5: Hardware self-test failure
ARM_LEFT6_OVER_LIMIT8C290008Left Arm Motor 6: Position limit exceeded
ARM_LEFT6_OVER_VOLTAGE8C2A0004Left Arm Motor 6: Overvoltage
ARM_LEFT6_UNDER_VOLTAGE8C2A0023Left Arm Motor 6: Undervoltage
ARM_LEFT6_OVER_TEMP8C2A0002Left Arm Motor 6: Overtemperature
ARM_LEFT6_STALL8C2A0007Left Arm Motor 6: Motor stall
ARM_LEFT6_ENCODER_FAULT8C2A0005Left Arm Motor 6: Encoder fault
ARM_LEFT6_HW_CHECK_FAIL8C2A000ALeft Arm Motor 6: Hardware self-test failure
ARM_LEFT7_OVER_LIMIT8C310008Left Arm Motor 7: Position limit exceeded
ARM_LEFT7_OVER_VOLTAGE8C320004Left Arm Motor 7: Overvoltage
ARM_LEFT7_UNDER_VOLTAGE8C320023Left Arm Motor 7: Undervoltage
ARM_LEFT7_OVER_TEMP8C320002Left Arm Motor 7: Overtemperature
ARM_LEFT7_STALL8C320007Left Arm Motor 7: Motor stall
ARM_LEFT7_ENCODER_FAULT8C320005Left Arm Motor 7: Encoder fault
ARM_LEFT7_HW_CHECK_FAIL8C32000ALeft Arm Motor 7: Hardware self-test failure
ARM_LEFT_SINGULARITY8C19001BLeft arm singularity detected; target pose unreachable
ARM_LEFT_FORCE_DATA_ABNORMAL8C5A000BLeft arm 6-axis force sensor: Data abnormality
ARM_LEFT_FORCE_OVERLOAD8C5A0010Left arm 6-axis force sensor: Overload
ARM_LEFT_CTRL_COMM_INTERRUPT881A000CLeft arm controller: Communication interruption
ARM_LEFT_CTRL_HW_CHECK_FAIL881A000ALeft arm controller: Hardware self-test failure

Right Robotic Arm

Fault Code ConstantValue (0x)Description
ARM_RIGHT1_OVER_LIMIT8C390008Right Arm Motor 1: Position limit exceeded
ARM_RIGHT1_OVER_VOLTAGE8C3A0004Right Arm Motor 1: Overvoltage
ARM_RIGHT1_UNDER_VOLTAGE8C3A0023Right Arm Motor 1: Undervoltage
ARM_RIGHT1_OVER_TEMP8C3A0002Right Arm Motor 1: Overtemperature
ARM_RIGHT1_STALL8C3A0007Right Arm Motor 1: Motor stall
ARM_RIGHT1_ENCODER_FAULT8C3A0005Right Arm Motor 1: Encoder fault
ARM_RIGHT1_HW_CHECK_FAIL8C3A000ARight Arm Motor 1: Hardware self-test failure
ARM_RIGHT2_OVER_LIMIT8C410008Right Arm Motor 2: Position limit exceeded
ARM_RIGHT2_OVER_VOLTAGE8C420004Right Arm Motor 2: Overvoltage
ARM_RIGHT2_UNDER_VOLTAGE8C420023Right Arm Motor 2: Undervoltage
ARM_RIGHT2_OVER_TEMP8C420002Right Arm Motor 2: Overtemperature
ARM_RIGHT2_STALL8C420007Right Arm Motor 2: Motor stall
ARM_RIGHT2_ENCODER_FAULT8C420005Right Arm Motor 2: Encoder fault
ARM_RIGHT2_HW_CHECK_FAIL8C42000ARight Arm Motor 2: Hardware self-test failure
ARM_RIGHT3_OVER_LIMIT8C490008Right Arm Motor 3: Position limit exceeded
ARM_RIGHT3_OVER_VOLTAGE8C4A0004Right Arm Motor 3: Overvoltage
ARM_RIGHT3_UNDER_VOLTAGE8C4A0023Right Arm Motor 3: Undervoltage
ARM_RIGHT3_OVER_TEMP8C4A0002Right Arm Motor 3: Overtemperature
ARM_RIGHT3_STALL8C4A0007Right Arm Motor 3: Motor stall
ARM_RIGHT3_ENCODER_FAULT8C4A0005Right Arm Motor 3: Encoder fault
ARM_RIGHT3_HW_CHECK_FAIL8C4A000ARight Arm Motor 3: Hardware self-test failure
ARM_RIGHT4_OVER_LIMIT8C510008Right Arm Motor 4: Position limit exceeded
ARM_RIGHT4_OVER_VOLTAGE8C520004Right Arm Motor 4: Overvoltage
ARM_RIGHT4_UNDER_VOLTAGE8C520023Right Arm Motor 4: Undervoltage
ARM_RIGHT4_OVER_TEMP8C520002Right Arm Motor 4: Overtemperature
ARM_RIGHT4_STALL8C520007Right Arm Motor 4: Motor stall
ARM_RIGHT4_ENCODER_FAULT8C520005Right Arm Motor 4: Encoder fault
ARM_RIGHT4_HW_CHECK_FAIL8C52000ARight Arm Motor 4: Hardware self-test failure
ARM_RIGHT5_OVER_LIMIT8C590008Right Arm Motor 5: Position limit exceeded
ARM_RIGHT5_OVER_VOLTAGE8C5A0004Right Arm Motor 5: Overvoltage
ARM_RIGHT5_UNDER_VOLTAGE8C5A0023Right Arm Motor 5: Undervoltage
ARM_RIGHT5_OVER_TEMP8C5A0002Right Arm Motor 5: Overtemperature
ARM_RIGHT5_STALL8C5A0007Right Arm Motor 5: Motor stall
ARM_RIGHT5_ENCODER_FAULT8C5A0005Right Arm Motor 5: Encoder fault
ARM_RIGHT5_HW_CHECK_FAIL8C5A000ARight Arm Motor 5: Hardware self-test failure
ARM_RIGHT6_OVER_LIMIT8C610008Right Arm Motor 6: Position limit exceeded
ARM_RIGHT6_OVER_VOLTAGE8C620004Right Arm Motor 6: Overvoltage
ARM_RIGHT6_UNDER_VOLTAGE8C620023Right Arm Motor 6: Undervoltage
ARM_RIGHT6_OVER_TEMP8C620002Right Arm Motor 6: Overtemperature
ARM_RIGHT6_STALL8C620007Right Arm Motor 6: Motor stall
ARM_RIGHT6_ENCODER_FAULT8C620005Right Arm Motor 6: Encoder fault
ARM_RIGHT6_HW_CHECK_FAIL8C62000ARight Arm Motor 6: Hardware self-test failure
ARM_RIGHT7_OVER_LIMIT8C690008Right Arm Motor 7: Position limit exceeded
ARM_RIGHT7_OVER_VOLTAGE8C6A0004Right Arm Motor 7: Overvoltage
ARM_RIGHT7_UNDER_VOLTAGE8C6A0023Right Arm Motor 7: Undervoltage
ARM_RIGHT7_OVER_TEMP8C6A0002Right Arm Motor 7: Overtemperature
ARM_RIGHT7_STALL8C6A0007Right Arm Motor 7: Motor stall
ARM_RIGHT7_ENCODER_FAULT8C6A0005Right Arm Motor 7: Encoder fault
ARM_RIGHT7_HW_CHECK_FAIL8C6A000ARight Arm Motor 7: Hardware self-test failure
ARM_RIGHT_SINGULARITY8C21001BRight arm singularity detected; target pose unreachable
ARM_RIGHT_FORCE_DATA_ABNORMAL8C62000BRight arm 6-axis force sensor: Data abnormality
ARM_RIGHT_FORCE_OVERLOAD8C620010Right arm 6-axis force sensor: Overload
ARM_RIGHT_CTRL_COMM_INTERRUPT8822000CRight arm controller: Communication interruption
ARM_RIGHT_CTRL_HW_CHECK_FAIL8822000ARight arm controller: Hardware self-test failure
Fault Code ConstantValue (0x)Description
TORSO_LIFT1_OVER_VOLTAGE823A0004Lift Mechanism Motor 1: Overvoltage
TORSO_LIFT1_UNDER_VOLTAGE823A0023Lift Mechanism Motor 1: Undervoltage
TORSO_LIFT1_OVER_TEMP823A0002Lift Mechanism Motor 1: Overtemperature
TORSO_LIFT1_ENCODER_FAULT823A0005Lift Mechanism Motor 1: Encoder fault
TORSO_LIFT1_BATTERY_VOLTAGE82390006Lift Mechanism Motor 1: Encoder battery voltage abnormal
TORSO_LIFT1_OVER_LIMIT82390008Lift Mechanism Motor 1: Position limit exceeded
TORSO_LIFT1_COMM_INTERRUPT823A000CLift Mechanism Motor 1: Communication interruption
TORSO_LIFT2_OVER_VOLTAGE82420004Lift Mechanism Motor 2: Overvoltage
TORSO_LIFT2_UNDER_VOLTAGE82420023Lift Mechanism Motor 2: Undervoltage
TORSO_LIFT2_OVER_TEMP82420002Lift Mechanism Motor 2: Overtemperature
TORSO_LIFT2_ENCODER_FAULT82420005Lift Mechanism Motor 2: Encoder fault
TORSO_LIFT2_BATTERY_VOLTAGE82410006Lift Mechanism Motor 2: Encoder battery voltage abnormal
TORSO_LIFT2_OVER_LIMIT82410008Lift Mechanism Motor 2: Position limit exceeded
TORSO_LIFT2_COMM_INTERRUPT8242000CLift Mechanism Motor 2: Communication interruption
TORSO_LIFT3_OVER_VOLTAGE824A0004Lift Mechanism Motor 3: Overvoltage
TORSO_LIFT3_UNDER_VOLTAGE824A0023Lift Mechanism Motor 3: Undervoltage
TORSO_LIFT3_OVER_TEMP824A0002Lift Mechanism Motor 3: Overtemperature
TORSO_LIFT3_ENCODER_FAULT824A0005Lift Mechanism Motor 3: Encoder fault
TORSO_LIFT3_BATTERY_VOLTAGE82490006Lift Mechanism Motor 3: Encoder battery voltage abnormal
TORSO_LIFT3_OVER_LIMIT82490008Lift Mechanism Motor 3: Position limit exceeded
TORSO_LIFT3_COMM_INTERRUPT824A000CLift Mechanism Motor 3: Communication interruption
TORSO_LIFT4_OVER_VOLTAGE82520004Lift Mechanism Motor 4: Overvoltage
TORSO_LIFT4_UNDER_VOLTAGE82520023Lift Mechanism Motor 4: Undervoltage
TORSO_LIFT4_OVER_TEMP82520002Lift Mechanism Motor 4: Overtemperature
TORSO_LIFT4_ENCODER_FAULT82520005Lift Mechanism Motor 4: Encoder fault
TORSO_LIFT4_BATTERY_VOLTAGE82510006Lift Mechanism Motor 4: Encoder battery voltage abnormal
TORSO_LIFT4_OVER_LIMIT82510008Lift Mechanism Motor 4: Position limit exceeded
TORSO_LIFT4_COMM_INTERRUPT8252000CLift Mechanism Motor 4: Communication interruption
Fault Code ConstantValue (0x)Description
HEAD_NECK_YAW_OVER_VOLTAGE825A0004Neck Yaw Motor: Overvoltage
HEAD_NECK_YAW_UNDER_VOLTAGE825A0023Neck Yaw Motor: Undervoltage
HEAD_NECK_YAW_OVER_TEMP825A0002Neck Yaw Motor: Overtemperature
HEAD_NECK_YAW_ENCODER_FAULT825A0005Neck Yaw Motor: Encoder fault
HEAD_NECK_YAW_BATTERY_VOLTAGE82590006Neck Yaw Motor: Encoder battery voltage abnormal
HEAD_NECK_YAW_OVER_LIMIT82590008Neck Yaw Motor: Position limit exceeded
HEAD_NECK_YAW_COMM_INTERRUPT825A000CNeck Yaw Motor: Communication interruption
HEAD_NECK_PITCH_OVER_VOLTAGE82620004Neck Pitch Motor: Overvoltage
HEAD_NECK_PITCH_UNDER_VOLTAGE82620023Neck Pitch Motor: Undervoltage
HEAD_NECK_PITCH_OVER_TEMP82620002Neck Pitch Motor: Overtemperature
HEAD_NECK_PITCH_ENCODER_FAULT82620005Neck Pitch Motor: Encoder fault
HEAD_NECK_PITCH_BATTERY_VOLTAGE82610006Neck Pitch Motor: Encoder battery voltage abnormal
HEAD_NECK_PITCH_OVER_LIMIT82610008Neck Pitch Motor: Position limit exceeded
HEAD_NECK_PITCH_COMM_INTERRUPT8262000CNeck Pitch Motor: Communication interruption
Fault Code ConstantValue (0x)Description
CHASSIS_BATTERY_LOW80000014Main battery: Low level
CHASSIS_BATTERY_OVER_TEMP80010002Main battery: Overtemperature
MAIN_POWER_FAULT8002000DMain power supply: Fault
MAIN_BATTERY_DEPLETED80010015Main battery: Depleted
POWER_BOARD_BMS_ABNORMAL801A000BPower board: BMS abnormal
POWER_BOARD_OVER_VOLTAGE801A0004Power board: Overvoltage
CHASSIS_CAMERA_DATA_ABNORMAL8432000BChassis camera: Data abnormal
CHASSIS_CAMERA_COMM_TIMEOUT84310003Chassis camera: Communication timeout
CHASSIS_CAMERA_HW_CHECK_FAIL8432000AChassis camera: Hardware self-test failure
CHASSIS_CAMERA_COMM_INTERRUPT8432000CChassis camera: Communication interruption
CHASSIS_LIDAR_DISCONNECT8402000FChassis LiDAR: Connection abnormal
CHASSIS_LIDAR_COMM_INTERRUPT8402000CChassis LiDAR: Communication interruption
CHASSIS_LIDAR_DATA_ABNORMAL8402000BChassis LiDAR 1: Data abnormal
IMU_DATA_ABNORMAL8452000BIMU: Data abnormal
CHASSIS_CTRL_COMM_INTERRUPT8812000CChassis controller: Communication interruption
CHASSIS_SAFETY_EDGE_TRIGGER8A0B0019Chassis safety edge: Triggered

Gripper

Fault Code ConstantValue (0x)Description
GRIPPER_STALL8E020007Gripper: Motor stall
GRIPPER_OVER_CURRENT8E020001Gripper: Overcurrent
GRIPPER_OVER_TEMP8E020002Gripper: Overtemperature
GRIPPER_OVER_VOLTAGE8E020004Gripper: Overvoltage
GRIPPER_UNDER_VOLTAGE8E020023Gripper: Undervoltage
GRIPPER_COMM_INTERRUPT8E02000CGripper: Communication interruption
GRIPPER_HW_CHECK_FAIL8E02000AGripper: Hardware self-test failure

Five‑Finger Dexterous Hand

Fault Code ConstantValue (0x)Description
DEXTEROUS_HAND_OVER_CURRENT8E0A0001Dexterous Hand: Overcurrent
DEXTEROUS_HAND_OVER_VOLTAGE8E0A0004Dexterous Hand: Overvoltage
DEXTEROUS_HAND_UNDER_VOLTAGE8E0A0023Dexterous Hand: Undervoltage
DEXTEROUS_HAND_COMM_INTERRUPT8E0A000CDexterous Hand: Communication interruption
DEXTEROUS_HAND_HW_CHECK_FAIL8E0A000ADexterous Hand: Hardware self-test failure
Fault Code ConstantValue (0x)Description
CHEST_CAMERA_COMM_TIMEOUT84410003Chest vision camera: Communication timeout
CHEST_CAMERA_HW_CHECK_FAIL8442000AChest vision camera: Hardware self-test failure
CHEST_CAMERA_DATA_ABNORMAL8442000BChest vision camera: Data abnormal
CHEST_CAMERA_COMM_INTERRUPT8442000CChest vision camera: Communication interruption
BACK_CAMERA_COMM_TIMEOUT84490003Back vision camera: Communication timeout
BACK_CAMERA_HW_CHECK_FAIL844A000ABack vision camera: Hardware self-test failure
BACK_CAMERA_DATA_ABNORMAL844A000BBack vision camera: Data abnormal
BACK_CAMERA_COMM_INTERRUPT844A000CBack vision camera: Communication interruption
LEFT_HAND_CAMERA_COMM_TIMEOUT84690003Left hand camera: Communication timeout
LEFT_HAND_CAMERA_HW_CHECK_FAIL846A000ALeft hand camera: Hardware self-test failure
LEFT_HAND_CAMERA_DATA_ABNORMAL846A000BLeft hand camera: Data abnormal
LEFT_HAND_CAMERA_COMM_INTERRUPT846A000CLeft hand camera: Communication interruption
RIGHT_HAND_CAMERA_COMM_TIMEOUT84710003Right hand camera: Communication timeout
RIGHT_HAND_CAMERA_HW_CHECK_FAIL8472000ARight hand camera: Hardware self-test failure
RIGHT_HAND_CAMERA_DATA_ABNORMAL8472000BRight hand camera: Data abnormal
RIGHT_HAND_CAMERA_COMM_INTERRUPT8472000CRight hand camera: Communication interruption
HEAD_CAMERA_COMM_TIMEOUT84390003Head vision camera: Communication timeout
HEAD_CAMERA_HW_CHECK_FAIL843A000AHead vision camera: Hardware self-test failure
HEAD_CAMERA_DATA_ABNORMAL843A000BHead vision camera: Data abnormal
HEAD_CAMERA_COMM_INTERRUPT843A000CHead vision camera: Communication interruption
Fault Code ConstantValue (0x)Description
COMM_4G5G_ABNORMAL8602000C4G/5G Module: Communication abnormal
COMM_WIFI_ABNORMAL860A000CWi-Fi Module: Communication abnormal
COMM_BT_ABNORMAL8612000CBluetooth Module: Communication abnormal
COMM_CAN_ABNORMAL861A000CCAN bus: Communication abnormal
Fault Code ConstantValue (0x)Description
UI_SCREEN_NOT_DETECTED9002000FScreen: Not detected
UI_CHEST_INDICATOR_NOT_DETECTED900A000FChest status indicator: Not detected
UI_CHASSIS_INDICATOR_NOT_DETECTED9012000FChassis status indicator: Not detected
UI_SPEAKER_NOT_DETECTED901A000FThorax speaker: Not detected
UI_MICROPHONE_NOT_DETECTED9022000FMicrophone: Not detected
Fault Code ConstantValue (0x)Description
ESTOP_BUTTON_TRIGGER8A030019Emergency Stop Button Pressed
ConstantValueDescription
GENERIC_FAULT_ID300Generic 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).