Error and event codes¶
Every error, warning and event the robot reports has a number and a name, for example 2103 WATCHDOG. A joint's
code carries the joint in front of it, for example J3:WATCHDOG. The dashboard, the activity log, the Python
client's exceptions and the status messages all show the same number and name, so a code from any of them can be
looked up here.
This page is generated from the runtime's error catalog at the release this documentation describes.
Every code has a number, a name and a kind. Kinds: stop: the robot stops and is disabled; fails: the command, move or program fails or is refused; the robot is not affected; warning: the robot keeps running; event: information only.
1xxx: Safety: E-stop, limits, walls, speed, zones, self-collision, collisions¶
1001 ESTOP¶
Emergency stop pressed. Kind: stop.
- Cause: An emergency stop button is pressed, or its circuit is open.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Make the area safe and release the E-stop. Clear errors, then enable the robot.
1002 SW_ESTOP¶
Software emergency stop active. Kind: stop.
- Cause: A software emergency stop was set by a command or the dashboard.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Release the software E-stop. Clear errors, then enable the robot.
1101 OUT_OF_RANGE¶
Joint outside its software limit. Kind: stop.
- Cause: The joint's measured position went past its software limit while the robot moved it. A collision, a push or a move the limits should have stopped can cause this.
- Effect: The robot stops and is disabled until errors are cleared. Afterwards only motion back toward the allowed range is possible. In IDLE freedrive this is only a warning.
- Fix: Clear errors, then jog the joint back inside its range. Find what moved it out.
1102 SOFT_LIMIT_WARNING¶
Joint past its software limit. Kind: warning.
- Cause: The joint is past its software limit: it was moved there by hand in freedrive, or it rests there.
- Effect: Warning only. Jog, EXEC and RTI motion may only move the joint back inside.
- Fix: Move the joint back inside its limit. The warning then clears itself.
1103 HARD_LIMIT¶
Joint past its hard limit. Kind: stop.
- Cause: A joint without an endstop or freedrive wall passed its hard limit, where its cables start to wind up. Nothing physical stops it there.
- Effect: The robot stops and is disabled until errors are cleared. Afterwards only motion back toward the allowed range is possible.
- Fix: Check the joint's cables. Clear errors, then move the joint back inside.
1104 BEYOND_ENDSTOP¶
Joint position beyond its endstop. Kind: stop.
- Cause: The measured position is further past the joint's physical endstop than the robot XML allows (<endstop_tolerance_deg>). A real arm cannot be there, so the position reference is wrong: a slipped belt or gear, or an encoder fault.
- Effect: The robot stops and is disabled until errors are cleared. Homing is invalidated.
- Fix: Check the joint's belt, gears and encoder. Clear errors, then home the robot again.
1105 JOINT_WALL¶
Joint pushed through its freedrive wall. Kind: stop.
- Cause: The joint was pushed through its freedrive wall by more than the wall's breakthrough distance, and this wall is set to stop (robot XML <freedrive_wall freedrive="stop">).
- Effect: The robot stops and is disabled until errors are cleared. Afterwards only motion back toward the allowed range is possible.
- Fix: Clear errors and enable the robot, then move the joint back inside the wall.
1106 JOINT_WALL_WARNING¶
Joint pushed through its freedrive wall. Kind: warning.
- Cause: The joint was pushed through its freedrive wall in freedrive by more than the wall's breakthrough distance.
- Effect: Warning only: the robot keeps running. The warning clears itself when the condition ends.
- Fix: Turn the joint back inside the wall. On J6 check the cables too: its wall marks the cable wind-up limit.
1201 OVERSPEED¶
Joint too fast. Kind: stop.
- Cause: The joint's filtered speed stayed above its velocity limit times the safety margin.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Find what commanded the joint so fast. Clear errors, then enable the robot.
1202 OVERSPEED_WARNING¶
Joint too fast. Kind: warning.
- Cause: The joint's filtered speed went above its velocity limit times the safety margin. The check runs in warn-only mode.
- Effect: Warning only: the robot keeps running. The warning clears itself when the condition ends.
- Fix: If this was normal motion, raise the joint's limit or margin before the check is set to stop. RTI.log has the peak.
1203 TCP_OVERSPEED¶
Tool too fast. Kind: stop.
- Cause: The tool moved faster than <max_tcp_velocity> times the safety margin.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Find what commanded the arm so fast. Clear errors, then enable the robot.
1204 TCP_OVERSPEED_WARNING¶
Tool too fast. Kind: warning.
- Cause: The tool moved faster than <max_tcp_velocity> times the safety margin. The check runs in warn-only mode.
- Effect: Warning only: the robot keeps running. The warning clears itself when the condition ends.
- Fix: If this was normal motion, raise <max_tcp_velocity> or its margin. RTI.log has the peak.
1205 TRACKING¶
Joint lagging its command. Kind: stop.
- Cause: During EXEC motion the joint fell too far behind its commanded position: a bump, a collision or a stall.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check for an obstruction or an overload. Clear errors, then continue.
1206 TRACKING_WARNING¶
Joint lagging its command. Kind: warning.
- Cause: During EXEC motion the joint fell further behind its commanded position than its limit. The check runs in warn-only mode.
- Effect: Warning only: the robot keeps running. The warning clears itself when the condition ends.
- Fix: If this was normal motion, raise <tracking_limit_deg> for the joint before the check is set to stop.
1301 ZONE_VIOLATION¶
Safety zone violated. Kind: stop.
- Cause: The tool or a tool sphere left an allowed zone or entered a forbidden zone of the active cell. The message names the zone.
- Effect: The robot stops and is disabled until errors are cleared. Afterwards only motion that does not go deeper into the zone is possible.
- Fix: Clear errors, then move the robot out of the zone. If the zone is wrong, correct it in config/cells.
1302 ZONE_WARNING¶
Robot in a warning zone. Kind: warning.
- Cause: The robot is inside a warning zone of the active cell.
- Effect: Warning only: the robot keeps running. The warning clears when the robot leaves the zone.
- Fix: None needed.
1401 SELF_COLLISION¶
Self-collision. Kind: stop.
- Cause: Two parts of the arm came closer than the self-collision margin on the measured pose. The message names the pair.
- Effect: The robot stops and is disabled until errors are cleared. Afterwards only directions that open the gap are possible.
- Fix: Clear errors, then jog the two parts apart. If a planned move caused it, report the pair and the move.
1402 SELF_COLLISION_WARNING¶
Self-collision margin reached. Kind: warning.
- Cause: Two parts of the arm are closer than the self-collision margin. The check runs in warn-only mode.
- Effect: Warning only: the robot keeps running. The warning clears itself when the condition ends.
- Fix: None needed. Once the check is trusted, set <self_collision><reaction> to stop.
1403 SELF_COLLISION_STALE¶
Self-collision check not running. Kind: warning.
- Cause: The self-collision worker has not reported for half a second, so self-collisions are not being watched.
- Effect: Warning only: the robot keeps running without its self-collision check.
- Fix: Check the self-collision log in the Logs tab. The worker restarts with the service.
1501 COLLISION¶
Collision detected. Kind: stop.
- Cause: While the robot moved the joint, the external torque on it rose above its collision threshold (robot XML <collision_torque_nm>) compared with the torque it had at rest before the move: the arm hit something, or carries a load it was not told about.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check what the arm hit and clear the way. Declare a held part with set_payload. Clear errors, then continue. A program that pushes on purpose switches the check off with set_collision_detection.
1502 COLLISION_WARNING¶
Collision detected. Kind: warning.
- Cause: While the robot moved the joint, the external torque on it rose above its collision threshold compared with the torque it had at rest before the move. The check runs in warn-only mode.
- Effect: Warning only: the robot keeps running. The warning clears itself when the condition ends.
- Fix: If nothing was hit, raise <collision_torque_nm> for the joint or re-measure it with api_tests/76 before the check is set to stop. RTI.log has the peak.
1503 CONTACT_WARNING¶
Contact detected. Kind: warning.
- Cause: While the robot moved the joint, the external torque on it rose above its contact threshold (robot XML <contact_torque_nm>) compared with the torque it had at rest before the move.
- Effect: Warning only: the robot keeps running. The warning clears itself when the condition ends.
- Fix: None needed if the contact was expected. If nothing touched the arm, raise <contact_torque_nm> for the joint or re-measure it with api_tests/76.
2xxx: Drives, motors and the gripper¶
2101 TEMPERATURE¶
Motor overheating. Kind: stop.
- Cause: The drive reports that the joint's motor is too hot.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Let the motor cool down and check the joint for a high load. Clear errors, then enable the robot.
2102 VBUS¶
Drive supply voltage out of range. Kind: stop.
- Cause: The drive of the joint reports its supply voltage outside its range.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the power supply and the joint's power wiring. Clear errors, then enable the robot.
2103 WATCHDOG¶
Drive watchdog tripped. Kind: stop.
- Cause: The drive of the joint received no command within its watchdog time: the CAN link to it, or RTI's loop, stalled.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the joint's CAN cable and power. Clear errors, then enable the robot.
2104 ENCODER¶
Encoder fault. Kind: stop.
- Cause: The drive of the joint reports a lost or corrupted encoder signal.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the joint's encoder cable and connector. Clear errors, then home the robot again.
2105 DRIVER¶
Drive fault. Kind: stop.
- Cause: The drive of the joint reports an internal hardware fault.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Switch the robot off and on. If the fault returns, replace the drive.
2106 VELOCITY¶
Motor over its velocity limit. Kind: stop.
- Cause: The drive reports that the joint's motor exceeded its velocity limit.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check for a collision or an obstruction. Clear errors, then enable the robot.
2107 CURRENT¶
Motor overcurrent. Kind: stop.
- Cause: The drive of the joint detected an overcurrent.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the joint for a mechanical jam. Clear errors, then enable the robot.
2108 ESTOP_MOTOR¶
Drive emergency stop input. Kind: stop.
- Cause: The drive of the joint reports an emergency stop on its own input.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the drive's E-stop input wiring. Clear errors, then enable the robot.
2109 HOLD_OSCILLATION_WARNING¶
Joint buzzing while holding. Kind: warning.
- Cause: The motor current keeps swinging fast while the joint is commanded to stand still: the drive's control loop is fighting itself, which you hear as a buzz.
- Effect: Warning only: the robot keeps running. The warning clears itself when the condition ends.
- Fix: Lower the joint's speed gains (KPV, KPP). If that does not help, check the encoder magnet and the mechanics.
2201 GRIPPER_MOTOR_TEMPERATURE¶
Gripper motor overheating. Kind: stop.
- Cause: The drive reports that the gripper motor is too hot.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Let the gripper motor cool down. Clear errors, then enable the robot.
2202 GRIPPER_MOTOR_VBUS¶
Gripper supply voltage out of range. Kind: stop.
- Cause: The drive of the gripper reports its supply voltage outside its range.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the power supply and the gripper's power wiring. Clear errors, then enable the robot.
2203 GRIPPER_MOTOR_WATCHDOG¶
Gripper watchdog tripped. Kind: stop.
- Cause: The drive of the gripper received no command within its watchdog time.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the gripper's CAN cable and power. Clear errors, then enable the robot.
2204 GRIPPER_MOTOR_ENCODER¶
Gripper encoder fault. Kind: stop.
- Cause: The drive of the gripper reports a lost or corrupted encoder signal.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the gripper's encoder cable and connector. Clear errors, then enable the robot.
2205 GRIPPER_MOTOR_DRIVER¶
Gripper drive fault. Kind: stop.
- Cause: The drive of the gripper reports an internal hardware fault.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Switch the robot off and on. If the fault returns, replace the gripper drive.
2206 GRIPPER_MOTOR_VELOCITY¶
Gripper motor over its velocity limit. Kind: stop.
- Cause: The drive reports that the gripper motor exceeded its velocity limit.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the gripper for an obstruction. Clear errors, then enable the robot.
2207 GRIPPER_MOTOR_CURRENT¶
Gripper motor overcurrent. Kind: stop.
- Cause: The drive of the gripper detected an overcurrent.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the gripper for a mechanical jam. Clear errors, then enable the robot.
2208 GRIPPER_MOTOR_ESTOP¶
Gripper drive emergency stop input. Kind: stop.
- Cause: The drive of the gripper reports an emergency stop on its own input.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the gripper drive's E-stop input wiring. Clear errors, then enable the robot.
2301 GRIPPER_ERROR¶
Gripper fault. Kind: stop.
- Cause: The gripper reports a general fault.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Clear errors and enable the robot. If the fault returns, switch the gripper off and on.
2302 GRIPPER_ESTOP¶
Gripper emergency stop. Kind: stop.
- Cause: The gripper reports an emergency stop signal.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Clear the gripper's E-stop condition. Clear errors, then enable the robot.
2303 GRIPPER_TIMEOUT¶
Gripper timeout. Kind: stop.
- Cause: The gripper reports a timeout: it got no command in time.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the gripper's CAN cable and power. Clear errors, then enable the robot.
2304 GRIPPER_SETTLE_TIMEOUT¶
Gripper did not settle. Kind: fails.
- Cause: A gripper command did not report a settled position within 5 s.
- Effect: The gripper command fails. The rest of the program continues.
- Fix: Check that the jaws move freely and the gripper is powered.
3xxx: CAN and communication¶
3001 CAN_LOST¶
Drive connection lost. Kind: stop.
- Cause: No CAN data arrived from the joint's drive for too long.
- Effect: The robot stops and is disabled until errors are cleared. Homing is invalidated.
- Fix: Check the CAN cable, its termination and the joint's power. Clear errors, then home the robot again.
3002 CAN_STALE¶
Drive data late. Kind: warning.
- Cause: The joint's CAN data is getting old: its drive answers late.
- Effect: Warning only: the robot keeps running. The warning clears itself when the condition ends.
- Fix: None needed if it clears. If it repeats, check the CAN cable and the bus load.
3003 CAN_REPLY_MISSED_WARNING¶
Drive replies keep arriving late. Kind: warning.
- Cause: The joint's drive replies missed RTI's CAN read 5 or more times a second for 3 s, so its measured state was one tick old on those ticks.
- Effect: Warning only: the robot keeps running. The warning clears itself when the condition ends.
- Fix: Check that RTI's start-up line about the CAN interrupt threads reports no problem. RTI.log has the peak.
3004 GRIPPER_DISCONNECTED¶
Gripper connection lost. Kind: stop.
- Cause: The gripper sends no CAN replies.
- Effect: The robot stops and is disabled until errors are cleared. Homing is invalidated.
- Fix: Check the gripper's CAN cable and power. Clear errors, then home the robot again.
3101 EXEC_LINK_LOST¶
Executor stopped responding. Kind: stop.
- Cause: The command executor went silent while the robot ran EXEC motion.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Restart the service. Clear errors, then enable the robot.
3102 RTI_LINK_LOST¶
External PC stopped sending. Kind: stop.
- Cause: The PC that held RTI control stopped sending setpoints.
- Effect: The robot braked to rest within its limits and refused the stream. It is disabled until errors are cleared.
- Fix: Check the network and the PC's program. Clear errors, then claim control again.
3201 SEND_TIMEOUT¶
Trajectory not taken by RTI. Kind: fails.
- Cause: The executor could not hand a trajectory to RTI in time: RTI is not taking trajectory batches.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Check in the Logs tab that RTI is running. Restart the service if it is not.
4xxx: Homing¶
4001 NOT_HOMED¶
Robot not homed. Kind: warning.
- Cause: The robot has not been homed since RTI started, so the joint positions have no reference.
- Effect: Warning only. Motion that needs a reference (EXEC, RTI) is refused until the robot is homed.
- Fix: Home the robot.
4002 HOMING_FAILED¶
Joint homing failed. Kind: stop.
- Cause: Homing of this joint failed. The message says why: an endstop or Hall sensor not reached in time, two passes too far apart, no position at the endstop, or the joint homed away from where this arm always homes.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Move the arm to its park pose by hand and check that nothing is in the way. Clear errors, enable and home again. After a deliberate mechanical change, accept the new reference in System Info, Arms (homing).
4003 GRIPPER_HOMING_FAILED¶
Gripper homing failed. Kind: stop.
- Cause: The gripper's calibration did not finish in time, or its motor homing found no endstop. The message says which.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check that the jaws move freely and the gripper is powered. Clear errors, enable and home again.
4004 HOMING_ABORTED¶
Homing aborted. Kind: stop.
- Cause: An error latched while the robot was homing, or the homing was interrupted before it finished (Stop, Disable or another mode).
- Effect: Homing stopped and the robot is not homed.
- Fix: Clear any error the error list names, then home the robot again.
4005 HOMING_INVALIDATED¶
Homing invalidated. Kind: warning.
- Cause: The position reference can no longer be trusted: a drive lost its connection, a joint measured past its endstop, or firmware was flashed. The message says which.
- Effect: The robot is not homed. Motion that needs a reference is refused.
- Fix: Home the robot again.
4006 HALL_CHECK_REFUSED¶
Hall sensor check refused. Kind: fails.
- Cause: The Hall sensor check cannot start now. The message says why.
- Effect: The command is refused. Nothing changes.
- Fix: Do what the message asks, usually going to IDLE, then start the check again.
4007 FREE_JOINT_REFUSED¶
Freeing a joint refused. Kind: fails.
- Cause: A joint cannot be freed for hand turning now. The message says why.
- Effect: The command is refused. Nothing changes.
- Fix: Do what the message asks, usually going to IDLE, then try again.
4008 JOINT_TEST_REFUSED¶
Joint test move refused. Kind: fails.
- Cause: A test move cannot start now. The message says why.
- Effect: The command is refused. Nothing changes.
- Fix: Do what the message asks, usually enabling the arm in IDLE, then try again.
5xxx: Motion and the planner¶
5001 PLAN_FAIL¶
Trajectory planning failed. Kind: fails.
- Cause: The planner could not plan the move. The message gives the reason.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Check the move's target and options. The executor's log in the Logs tab has the detail.
5002 MOTION_ABORTED¶
Program aborted. Kind: fails.
- Cause: A queued command failed or motion was interrupted, so the rest of the program was cancelled. The message names the command and the reason.
- Effect: New motion commands are refused until errors are cleared.
- Fix: Fix what the failing command's error says. Clear errors, then send the program again.
5003 ABORTED¶
Command cancelled. Kind: fails.
- Cause: The command was cancelled before it ran, because an earlier command failed or motion was interrupted.
- Effect: The command did not run.
- Fix: Clear errors, then send the program again.
5004 STOPPED¶
Command stopped. Kind: fails.
- Cause: A stop ended the program before this command ran.
- Effect: The command did not run.
- Fix: Send the command again if it is still needed.
5005 SETTLE_TIMEOUT¶
Move did not settle. Kind: fails.
- Cause: The final position did not settle within tolerance in time. The strict completion policy reports this as a failure.
- Effect: The command fails. The rest of the program continues.
- Fix: Check for a load or an obstruction near the target, or use the settled completion policy.
5006 JOINT_LIMIT¶
Move outside the joint limits. Kind: fails.
- Cause: The planned move would take a joint outside its software limits. The message names the joint and its limits.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Change the target, or move the arm back inside its limits first.
5007 ZONE_LIMIT¶
Move into a safety zone. Kind: fails.
- Cause: The planned move would take the tool or a robot sphere into a stop zone of the active cell.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Change the target or the path so that it stays out of the zone. If the zone is wrong, correct it in config/cells.
5008 ZONE_CHECK_UNAVAILABLE¶
Zone check unavailable. Kind: fails.
- Cause: Safety zones are active, but the planner has no robot model to check them.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Find in the executor's log (Logs tab) why the robot model did not load, then restart the service.
5009 ACCEL_LIMIT_VIOLATION¶
Planned acceleration over its limit. Kind: fails.
- Cause: The planned trajectory's acceleration exceeds the limit it was planned against. This is an internal planner check.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Lower the move's speed or acceleration, or use another profile. Report it if it repeats.
5010 DURATION_INFEASIBLE¶
Requested duration too short. Kind: fails.
- Cause: The move cannot be done in the requested duration within the limits.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Ask for a longer duration (the message gives the shortest possible), or leave the duration out.
5011 INVALID_DURATION¶
Invalid duration. Kind: fails.
- Cause: The requested duration is not a positive number.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Give a duration above 0 s, or leave it out.
5012 STOP_FALLBACK¶
Stop not confirmed. Kind: fails.
- Cause: RTI did not confirm a controlled stop within 1.5 s. RTI may run older code than the executor.
- Effect: The robot was switched to IDLE instead.
- Fix: Restart the service so that RTI and the executor run the same code. If it repeats, check RTI.log in the Logs tab.
5101 IK_TARGET_UNREACHABLE¶
Target out of reach. Kind: fails.
- Cause: No joint solution reaches the requested pose: it is outside the arm's workspace or joint limits.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Choose a pose within reach, or approach it from another configuration.
5102 IK_PARTIAL_PATH¶
Path only partly reachable. Kind: fails.
- Cause: The inverse kinematics could solve only part of the Cartesian path.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Shorten the path, or move it closer to the arm's reachable region.
5103 IK_MARGIN_VIOLATION¶
Path too close to a limit. Kind: fails.
- Cause: The solved path passes too close to a joint limit or a singularity.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Adjust the target pose, or plan the path through another region.
5104 IK_POSE_ERROR¶
Solution misses the pose. Kind: fails.
- Cause: The solved joint configuration does not reach the requested pose within tolerance, often near a singularity.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Move the target away from singular poses, or use a joint move.
5105 IK_BRANCH_JUMP¶
Configuration flip on the path. Kind: fails.
- Cause: Along the Cartesian path the solution jumped to another arm configuration, so a joint would flip.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Shorten the path, start from another pose, or use a joint move.
5106 IK_SINGULARITY_WARNING¶
Path near a singularity. Kind: warning.
- Cause: The planned path passes near a kinematic singularity.
- Effect: Warning only: the move runs.
- Fix: If the motion is rough, plan the path away from the singularity.
5107 CARTESIAN_PATH_DEVIATION¶
Tool strays from the path. Kind: fails.
- Cause: The planned tool path strays from the programmed line or curve by more than the tolerance.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Move the path away from singular poses, shorten it, or use a joint move.
5108 CURVE_BLEND_UNSUPPORTED¶
Blending not supported on curves. Kind: fails.
- Cause: Curve commands cannot be blended yet.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Send the curve with blend set to 0.
5109 CURVE_GEOMETRY_INVALID¶
Invalid curve. Kind: fails.
- Cause: The curve's points do not define a valid curve, for example collinear points for an arc.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Check the curve's points against the command reference.
5110 BAD_ARGUMENTS¶
Invalid curve arguments. Kind: fails.
- Cause: A curve command has the wrong number of values or an unknown frame.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Check the command's arguments against the command reference.
5201 TOPPRA_UNAVAILABLE¶
TOPPRA profile unavailable. Kind: fails.
- Cause: The TOPPRA profile was requested, but its package cannot be imported.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Install the toppra package, or choose another profile.
5202 TOPPRA_INFEASIBLE¶
TOPPRA found no solution. Kind: fails.
- Cause: TOPPRA could not time the path within the limits.
- Effect: The move does not start. The rest of the program is cancelled, and motion commands are refused until errors are cleared.
- Fix: Check the speed and acceleration limits, or choose another profile.
5301 LIMIT_REACHED¶
Jog stopped at a limit. Kind: warning.
- Cause: The jog reached a joint limit or a workspace limit.
- Effect: The jog stops there. Jogging away from the limit is possible.
- Fix: Jog the other way.
5302 SELF_COLLISION_BLOCK¶
Jog stopped at the collision margin. Kind: warning.
- Cause: Jogging further would bring two parts of the arm too close.
- Effect: The jog stops there.
- Fix: Jog the other way, or move another joint.
6xxx: Commands and control¶
6001 UNKNOWN_CMD¶
Unknown command. Kind: fails.
- Cause: The command name is not known.
- Effect: The command is refused. Nothing changes.
- Fix: Check the spelling against the command reference.
6002 BAD_JSON¶
Invalid message. Kind: fails.
- Cause: The message is not valid JSON.
- Effect: The command is refused. Nothing changes.
- Fix: Check how the client encodes its messages.
6003 BAD_ARGS¶
Invalid arguments. Kind: fails.
- Cause: The command's arguments failed validation. The message says which.
- Effect: The command is refused. Nothing changes.
- Fix: Check the number and types of the arguments against the command reference.
6004 BAD_OPTIONS¶
Invalid motion options. Kind: fails.
- Cause: The command's motion options failed validation.
- Effect: The command is refused. Nothing changes.
- Fix: Check the profile, speed, blend and completion policy values.
6005 BAD_PROFILE¶
Unknown motion profile. Kind: fails.
- Cause: The requested trajectory profile is not known.
- Effect: The command is refused. Nothing changes.
- Fix: Use a profile from the command reference.
6006 BAD_IK_SOLVER¶
Unknown IK solver. Kind: fails.
- Cause: The requested IK solver is not known.
- Effect: The command is refused. Nothing changes.
- Fix: Use a solver from the command reference.
6007 BAD_POLICY¶
Unknown completion policy. Kind: fails.
- Cause: The requested completion policy is not known.
- Effect: The command is refused. Nothing changes.
- Fix: Use commanded, settled or strict.
6008 BAD_PIN¶
Invalid I/O pin. Kind: fails.
- Cause: The command names an I/O pin the robot does not have.
- Effect: The command is refused. Nothing changes.
- Fix: Use a pin number in the range the message gives.
6009 FORBIDDEN¶
Connection not allowed. Kind: fails.
- Cause: The client's IP address is not on the executor's allowed list.
- Effect: The connection is closed.
- Fix: Connect from an allowed machine, or add its address to RCB_ALLOWED_IPS.
6010 REJECTED¶
Command not allowed now. Kind: fails.
- Cause: The command is not allowed in the robot's current mode or state. The message says what it needs.
- Effect: The command is refused. Nothing changes.
- Fix: Bring the robot into the mode or state the message names, then send the command again.
6011 QUEUE_FULL¶
Motion queue full. Kind: fails.
- Cause: The motion queue holds its maximum number of commands.
- Effect: The command is refused. Nothing changes.
- Fix: Wait until queued moves finish, then send the command again.
6012 UNHANDLED¶
Command not handled. Kind: fails.
- Cause: The executor accepted the command but has no handler for it. This is an internal error.
- Effect: The command is refused. Nothing changes.
- Fix: Report it with the command and the executor's log.
6013 INTERNAL¶
Internal error. Kind: fails.
- Cause: The command failed with an unexpected error.
- Effect: The command did not complete.
- Fix: Report it with the executor's log from the Logs tab.
6014 MODE_REJECTED¶
Mode change refused. Kind: fails.
- Cause: RTI refused the mode change. The message says why: not homed, not enabled, an active error, or a change that is not allowed from this mode.
- Effect: The robot stays in its mode.
- Fix: Do what the message asks first, then request the mode again.
6015 ENABLE_REJECTED¶
Enable refused. Kind: fails.
- Cause: RTI refused to enable the robot. The message says why, for example an active error or a safety stop.
- Effect: The robot stays disabled.
- Fix: Clear the errors or the safety condition first, then enable the robot again.
6016 PAYLOAD_LIMIT¶
Payload not accepted. Kind: fails.
- Cause: The payload is above the robot's maximum, or its values are not valid.
- Effect: The command is refused. Nothing changes.
- Fix: Check the mass and the centre of mass against <max_payload_kg> in the robot XML.
6017 WALL_OFF¶
No freedrive wall on this joint. Kind: fails.
- Cause: This joint has no freedrive wall to change: joint walls are off, or there is no inertia for it.
- Effect: The command is refused. Nothing changes.
- Fix: Turn joint walls on in <haptic_walls>, or choose another joint.
6018 WALL_UNSTABLE¶
Wall setting unstable. Kind: fails.
- Cause: The requested wall frequency and damping would be unstable at this filter setting.
- Effect: The command is refused. Nothing changes.
- Fix: Use a frequency and damping ratio inside the range the message gives.
6019 NO_ROBOT_MODEL¶
No robot model. Kind: fails.
- Cause: The executor has no robot model, so it cannot check reachability.
- Effect: The command is refused. Nothing changes.
- Fix: Find in the executor's log (Logs tab) why the model did not load, then restart the service.
6020 SUPERSEDED¶
Gripper command replaced. Kind: fails.
- Cause: A newer gripper command replaced this one before it settled.
- Effect: This command ends and the newer one runs.
- Fix: None needed.
6021 CAPTURE_REFUSED¶
Capture not started. Kind: fails.
- Cause: A telemetry capture cannot start or stop: one is already running, the length is outside 1 to 60 s, the recorder process is not running, nothing was captured, or a stop was asked while none runs. The message says which.
- Effect: The command is refused. Nothing changes.
- Fix: Wait for the running capture to finish, ask for a length of 1 to 60 s, or check that the recorder runs.
6022 CLIENT_TOO_OLD¶
Client too old for pose commands. Kind: fails.
- Cause: The client declares no command protocol version, so it may be from before 0.9.0, when pose angles had another meaning. A pose it sends could turn the tool to another orientation.
- Effect: The command is refused. Nothing changes.
- Fix: Use the robotclient that came with the robot's runtime. A client that sends raw JSON adds "protocol": 2 to each message.
6023 NO_GRIPPER¶
No gripper. Kind: fails.
- Cause: The robot has no CAN gripper, so a gripper command cannot run.
- Effect: The command is refused. Nothing changes.
- Fix: Leave gripper commands out of the program, or select a CAN gripper as <active_gripper> in config/system.xml and restart the robot service.
6024 GRIPPER_MOTOR_MODE¶
Gripper in motor mode. Kind: fails.
- Cause: The gripper is in motor mode, where the robot sends it no target, so a gripper move cannot run.
- Effect: The command is refused. Nothing changes.
- Fix: Switch it to firmware mode with set_gripper_ctrl_mode(2), then send the command again.
6025 RTI_NOT_RUNNING¶
RTI not running or not answering. Kind: fails.
- Cause: RTI is not running, or the robot is in flashing mode, so the measured values in the robot's memory are old; or RTI did not answer a command passed to it within 1 s (every such command waits for RTI's answer).
- Effect: The command is refused. A command passed to RTI may still have taken effect.
- Fix: Check the robot service and RTI.log (Logs tab), or leave flashing mode, then ask again.
6026 RTI_REFUSED¶
Refused by RTI. Kind: fails.
- Cause: The real-time controller (RTI) refused the command in its current state or could not read it. The message gives RTI's reason, for example a setting not allowed in this real-time mode, a name it does not know, or a file it could not use.
- Effect: The command is refused. Nothing changes.
- Fix: Do what the message says, then send the command again.
6101 CONTROL_HELD¶
Control held by another client. Kind: fails.
- Cause: Another client holds control of the robot.
- Effect: The command is refused. Nothing changes.
- Fix: Release control on that client, or take control. A forced takeover asks for confirmation at the control box.
6102 CONFIRM_REQUIRED¶
Takeover not confirmed. Kind: fails.
- Cause: A forced takeover needs a confirmation at the control box, and it was denied or timed out.
- Effect: Control stays with the other client.
- Fix: Try again and confirm at the control box, or ask the other client to release control.
6103 CONFIRM_BUSY¶
Takeover already waiting. Kind: fails.
- Cause: Another forced takeover is already waiting for confirmation at the control box.
- Effect: The command is refused. Nothing changes.
- Fix: Answer or wait out that request, then try again.
6201 RTI_POSITION_LIMIT¶
PC target outside the joint limits. Kind: stop.
- Cause: The PC's RTI target would move the joint past its software limit, or toward it faster than the joint can still stop.
- Effect: The robot braked to rest within its limits and refused the stream. It is disabled until errors are cleared.
- Fix: Keep the PC's targets inside the joint limits and slow down before them. Clear errors, then claim control again.
6202 RTI_VELOCITY_LIMIT¶
PC stream too fast. Kind: stop.
- Cause: The PC's hard-RTI stream moved the joint faster than its RTI velocity limit plus 10 %.
- Effect: The robot braked to rest within its limits and refused the stream. It is disabled until errors are cleared.
- Fix: Slow the PC's trajectory down to the joint's velocity limit. Clear errors, then claim control again.
6203 RTI_ACCELERATION_LIMIT¶
PC stream accelerates too hard. Kind: stop.
- Cause: The PC's hard-RTI stream changed the joint's speed faster than its acceleration limit plus 10 %: a jump, a sudden stop or a wild packet.
- Effect: The robot braked to rest within its limits and refused the stream. It is disabled until errors are cleared.
- Fix: Send a smooth trajectory, or filter noisy targets (rti_set_lowpass). Clear errors, then claim control again.
6204 RTI_JERK_LIMIT¶
PC stream too jerky. Kind: stop.
- Cause: The PC's hard-RTI stream changed the joint's acceleration faster than its jerk limit plus 10 %.
- Effect: The robot braked to rest within its limits and refused the stream. It is disabled until errors are cleared.
- Fix: Send a jerk-limited trajectory, or filter noisy targets (rti_set_lowpass). Clear errors, then claim control again.
6205 RTI_NO_SEND_TIME¶
PC packet without its send time. Kind: stop.
- Cause: A hard-RTI position command arrived without the PC's send time. Hard RTI follows the PC's own timing and needs it.
- Effect: The robot braked to rest within its limits and refused the stream. It is disabled until errors are cleared.
- Fix: Keep send times on in the client (the default), or use SOFT_RTI for a sender without them. Clear errors, then claim control again.
6206 RTI_START_POSE¶
First setpoint too far from the arm. Kind: stop.
- Cause: The first command of an RTI session is too far from where the arm is. The start-pose check refuses a session that would begin with a jump.
- Effect: The robot braked to rest within its limits and refused the stream. It is disabled until errors are cleared.
- Fix: Start the stream from the arm's measured position (the state packets give it). Clear errors, then claim control again.
7xxx: Configuration files¶
7001 ZONE_CONFIG¶
Cell file unreadable. Kind: fails.
- Cause: The safety-zone cell file could not be read.
- Effect: The zones in force stay unchanged.
- Fix: Fix the cell file the message names, or empty <active_cell>, then reload the zones.
7002 FILTER_CONFIG¶
Filter file invalid. Kind: fails.
- Cause: The filter file config/filters.xml could not be parsed.
- Effect: The filters in force stay unchanged.
- Fix: Fix config/filters.xml where the message says, then reload the filters.
7003 RECIPE_DIR¶
Recipe folder unreadable. Kind: fails.
- Cause: The telemetry recipe folder could not be read.
- Effect: The recipes in force stay unchanged.
- Fix: Check that data_recipe exists and is readable, then reload the recipes.
7004 SELF_COLLISION_MODEL¶
Self-collision model not built. Kind: fails.
- Cause: Self-collision checking is on, but its model could not be built from the geometry files.
- Effect: Reachability checks are refused.
- Fix: Fix the geometry files the message names (robot or gripper XML), then restart the service.
7005 SAVE_FAILED¶
Walls not saved. Kind: fails.
- Cause: The freedrive walls could not be written to the robot XML.
- Effect: The file is unchanged. The walls in force stay as they are.
- Fix: Check that the robot XML is writable and valid, then save again.
8xxx: System¶
8001 LOOP_DEGRADED¶
Control loop running slow. Kind: warning.
- Cause: RTI's control loop runs slower than its configured rate.
- Effect: Warning only: the robot keeps running. The warning clears itself when the condition ends.
- Fix: Check the CPU load and temperature, and whether a drive went silent. Heavy jobs on the Pi slow the loop.
8002 LOOP_CRITICAL¶
Control loop critically slow. Kind: stop.
- Cause: RTI's control loop was critically slow: its period stayed over 1.5 times nominal for a second, or one tick took over 3 times nominal.
- Effect: The robot stops and is disabled until errors are cleared.
- Fix: Check the CPU load and temperature, and the timing in the RT Diagnostics tab. Clear errors, then enable the robot.
9xxx: Events (information)¶
9001 MODE_CHANGE¶
Mode changed. Kind: event.
9002 STATE_CHANGE¶
Robot enabled or disabled. Kind: event.
9003 CMD_QUEUED¶
Command queued. Kind: event.
9004 CMD_STARTED¶
Command started. Kind: event.
9005 CMD_COMPLETED¶
Command completed. Kind: event.
9006 CMD_EXECUTED¶
Command executed. Kind: event.
9007 JOG_STARTED¶
Jog started. Kind: event.
9008 JOG_STOPPED¶
Jog stopped. Kind: event.
9009 LIMIT_CLEARED¶
Jog limit cleared. Kind: event.
9010 COMPENSATION_CHANGED¶
Compensation changed. Kind: event.
9011 PAYLOAD_CHANGED¶
Payload changed. Kind: event.
9012 HOMING_STARTED¶
Homing started. Kind: event.
9013 HOMING_JOINT_HOMED¶
Joint homed. Kind: event.
9014 HOMING_COMPLETED¶
Homing completed. Kind: event.
9015 HALL_CHECK¶
Hall sensor check. Kind: event.
9016 BLEND_SPLICED¶
Move blended into the running move. Kind: event.
9017 BLEND_SPLICE_REJECTED¶
Blend into the running move skipped. Kind: event.
9018 CAPTURE_STARTED¶
Telemetry capture started. Kind: event.
9019 CAPTURE_SAVED¶
Telemetry capture saved. Kind: event.
9020 COLLISION_DETECTION_CHANGED¶
Collision detection changed. Kind: event.
9021 FREE_JOINT¶
Joint freed for hand turning. Kind: event.
9022 JOINT_TEST¶
Joint test move. Kind: event.
9023 STOPPED_ON_DISCONNECT¶
Stopped: the controlling client left. Kind: event.
Found a mistake on this page? Edit it on GitHub · Report it · Get help