Skip to content

Errors

The error codes of the controller, with the catalog text a MotionError carries, from the source at v0.9.1. The number ranges: 10 to 19 inverse kinematics, 20 to 29 trajectory planning, 30 to 39 motion execution, 40 to 49 communication, 50 to 59 system and safety. MOTN_CANCELLED uses the number shared with the waldoctl interface, so that a client sees one code for a discarded command whichever arm raised it. Errors in the guide says how to recover.

Code Number Title Cause Effect Remedy
IK_TARGET_UNREACHABLE 10 IK: target unreachable Target pose has no valid IK solution. Motion command rejected. Pipeline halted. Verify target is within workspace. Try different orientation.
IK_PARTIAL_PATH 11 IK: partial path failure Only {valid}/{total} poses along the path are reachable. Motion command rejected. Pipeline halted. Shorten the move, add intermediate waypoints, or adjust orientation.
TRAJ_EMPTY_RESULT 20 Trajectory: empty result Trajectory generation returned no waypoints. Motion command rejected. Check motion parameters. Start and end may be too close.
TRAJ_NO_STEPS 21 Trajectory: no steps Trajectory calculation produced zero steps. Motion command rejected. Increase duration or reduce speed fraction.
MOTN_HOME_TIMEOUT 30 Homing timeout Robot did not start homing sequence within timeout. Home command aborted. Check serial connection and robot power. Ensure E-stop is released.
MOTN_GRIPPER_TIMEOUT 31 Gripper timeout Gripper command timed out in state {state}. Gripper command aborted. Check gripper connection and calibration.
MOTN_GRIPPER_UNKNOWN 32 Gripper: unknown state Gripper entered an unknown internal state. Gripper command aborted. Reset the controller and recalibrate the gripper.
MOTN_SETUP_FAILED 33 Command setup failed Command could not be initialized. Command rejected. Pipeline halted. Check command parameters and robot state.
MOTN_TICK_FAILED 34 Command execution error Unexpected error during execution. Command aborted. Robot stopped. Check robot state. May need to re-home.
MOTN_NOT_HOMED 35 Robot not homed
MOTN_CANCELLED shared Command cancelled The command was cancelled by {scope} before it finished. The motion did not run to completion. Re-issue the command if the motion is still wanted.
COMM_QUEUE_FULL 40 Command queue full Motion queue at maximum capacity. Command rejected. Wait for current motions to complete.
COMM_UNKNOWN_COMMAND 41 Unknown command No handler for received command type. Command ignored. Check client library version matches server.
COMM_DECODE_ERROR 42 Command decode error Failed to decode command. Command ignored. Check command encoding. Possible version mismatch.
COMM_VALIDATION_ERROR 43 Command validation error Invalid parameters. Command rejected. Check parameter ranges and types.
SYS_STATUS_RATE_INVALID 55 Status rate not achievable Status is broadcast every Nth control tick, so {requested} Hz does not divide the {control} Hz control loop evenly. Broadcast rate unchanged. Pick a rate that divides {control} Hz: {allowed}.
SYS_CONTROLLER_DISABLED 50 Controller disabled Motion command sent while controller is disabled. Command rejected. Call reset() to re-enable the controller.
SYS_ESTOP_ACTIVE 51 E-stop active Emergency stop is currently engaged. All motion stopped. Queue cleared. Release the E-stop button and call reset().
SYS_PORT_SAVE_FAILED 52 Serial port save failed Could not save serial port configuration. Port may not persist across restarts. Check file permissions and disk space.
SYS_PROFILE_INVALID 53 Invalid motion profile Unrecognized motion profile: Profile not changed. Use one of: TOPPRA, RUCKIG, QUINTIC, TRAPEZOID, LINEAR.
SYS_NOT_SIMULATOR 56 Simulator-only command {detail} is only available on the simulator. Command rejected; the arm is unchanged. Switch to the simulator with simulator(True), or drive the arm with a planned move.
SYS_SELF_COLLISION 54 Self-collision predicted Planned configuration would self-collide at sample {sample} of {total}: {pairs} Motion command rejected before dispatch. Choose a different target, add intermediate waypoints, or disable via PAROL6_COLLISION_CHECK=0.

A RobotError has the fields code, title, cause, effect and remedy, and str(error) joins them.

Comments


Found a mistake on this page? Edit it on GitHub · Report it · Get help · This page as Markdown · llms.txt · The whole manual as PDF