Skip to content

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.

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.

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