Skip to main content

Error Codes and Exception Description

1 Errors During Real-time Motion

The robot will detect its state during motion and report exceptions to the SDK. Users can determine the exception type through the following 20 error bits.

Error BitError NameError CauseSolution
0kActualJointPositionLimitsViolationActual joint angle out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
1kActualCartesianPositionLimitsViolationActual end pose out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
2kActualCartesianMotionGeneratorElbowLimitViolationActual elbow angle out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
3kActualJointVelocityLimitsViolationActual joint velocity out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
4kActualCartesianVelocityLimitsViolationActual end velocity out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
5kActualJointAccelerationLimitsViolationActual joint acceleration out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
6kActualCartesianAccelerationLimitsViolationActual end acceleration out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
7kCommandJointPositionLimitsViolationCommand joint angle out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
8kCommandCartesianPositionLimitsViolationCommand end pose out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
9kCommandCartesianMotionGeneratorElbowLimitViolationCommand elbow angle out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
10kCommandJointVelocityLimitsViolationCommand joint velocity out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
11kCommandCartesianVelocityLimitsViolationCommand end velocity out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
12kCommandJointAccelerationLimitsViolationCommand joint acceleration out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
13kCommandCartesianAccelerationLimitsViolationCommand end acceleration out of limitCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
14kCommandJointAccelerationDiscontinuityCommand joint acceleration discontinuityCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
17kCommandTorqueDiscontinuityCommand torque discontinuityCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
18kCommandTorqueRange ViolationCommand torque out of rangeCheck if the planned trajectory is continuously differentiable. Generally, planned trajectories need to have continuous velocity and angular velocity. If the robot runs unsteadily or makes abnormal noise, first consider if the trajectory is smooth, and perform additional filtering if necessary.
15kCollisionCollision detectedIf collision detection is frequently triggered, the collision detection threshold should be appropriately increased. E-stop triggering may also trigger this error
16kCartesianPositionMotionGeneratorInvalidFrameRobot singularityThe robot should not pass through singular poses during Cartesian space motion
19kInstabilityDetectionInstability detected1 Check if the packet loss threshold is too low, generally set to 10~20; 2 Servo error, usually requires restarting the robot; 3 Pressing the E-stop switch will also trigger this error;

2 Error Codes

The call results of non-real-time interfaces are fed back through error codes. Each interface will pass a std::error_code type parameter, and the error message corresponding to the error code can be obtained through error_code::message().

ValueError MessageCause and Solution
0Operation completed successfullyNone
-1Error occurredMay be due to unrecognized error code, please contact technical support
-3Robot emergency stop button pressed, please recover firstRecover emergency stop state
-16This operation is not allowed in current mode (manual/automatic), please switch to another modeSwitch manual/automatic mode
-17This operation is not allowed in current power stateSwitch power state
-18This operation is not allowed in current robot running stateRobot not idle, may be in drag/real-time mode control/identification, etc.
-19This operation is not allowed in current control mode (position/force control)Switch position control/force control
-20Robot is movingStop robot motion
-32Inverse kinematics calculation errorPass correct pose
-33Inverse kinematics is singularityAvoid singularity
-34Inverse kinematics exceeds robot soft limitCheck if soft limit setting is appropriate, pass pose within limit
-35Target point exceeds motion rangePass reachable point
-36Target point exceeds motion rangePass reachable point
-37Single step distance too large, cannot calculate inverse kinematicsPass reachable point
-38Configuration data cfx error, inverse kinematics no solutionCheck conf data
-39Input data error, cannot calculate inverse kinematicsPass reachable point
-40Inverse kinematics reference point is singularityPass reachable point
-41Algorithm failed, cannot calculate inverse kinematicsMay be due to controller calculation issue, please contact technical support
-257Communication protocol parsing failedPlease contact technical support
-258No matching data name foundMay be due to controller and SDK version mismatch
-259No matching command name foundMay be due to controller and SDK version mismatch
-260Data value error, may be communication protocol mismatchMay be due to controller and SDK version mismatch
-272No data name to query foundMay be due to controller and SDK version mismatch
-273Data not readableMay be due to controller and SDK version mismatch
-288Data not writableMay be due to controller and SDK version mismatch
-289Setting data failedSet data is unreasonable
-290Setting data failedSet data is unreasonable
-291Monitoring data failedWill not occur
-292Data already monitored, duplicate monitoring not supportedWill not occur
-320Command execution not completedWill not occur
-337Recorded path too short, insufficient data points, please re-recordIncrease recording time and re-record
-338Recorded path contains joint angles exceeding soft limit. Please re-recordDrag within soft limit
-339Recorded path contains joint velocity too fast, please re-recordSlow down dragging action
-340Did not start recording path from robot stationary stateStart recording when robot is stationary
-341Robot not stopped when stopping recording pathStop recording when robot is stationary
-342Robot in power-off state, save path failedPower on robot
-352No valid path in buffer, please recordRecord path first then save
-353Save path to disk failedRe-record dragging trajectory, or restart robot
-513Switch manual/automatic operation mode failed-Stop robot motion
-Recover emergency stop
-Disable drag
-514Power on/off failed-Recover emergency stop
-Clear servo alarm
-515Enable/disable drag failed, please check if robot is powered offEnable drag when robot is in manual mode and powered off
-10005Calibrating, or failed to reset load during calibration-Wait for calibration to complete
-Correctly set load
-10030Simulation mode not enabled or signal does not existEnable simulation mode before setting DI/AI
-10040Failed to start drag, correctly set load and calibrate force sensorCorrectly set tool load mass and center of mass; perform force sensor calibration after setting
-10051Soft limit exceeds mechanical limitSet soft limit within mechanical limit
-10065Synchronize NTP time failed-Install NTP function
-Confirm server NTP function available, confirm IP address correct
-10101IP address invalidCheck if it conforms to IPv4 address format
-10079Force control module in error stateForce control protection triggered, please check if robot state is normal in force control mode, and set reasonable force control protection parameters
-10141Load mass exceeds robot rated loadUse and set load within rated load range
-14010Already bound as system IO- Cancel binding this signal as system IO
- Use other signals
-14501DO signal does not exist or is system outputCheck if DO signal has been created
-17001Read register error- Check if register is created
- Whether array index exceeded
- Read with matching data type
-17002Write register error- Check if register is created
- Whether array index exceeded
- Write with matching data type
-17320RL program executed, need to reset motion buffer before starting motionCall moveReset to reset
-17407Enabling rail requires disabling safety zoneDisable safety zone function
-28672Real-time mode network error- Local IP address cannot be localhost or robot address
- Port occupation exists, please check RCI settings-port
-28688Switch motion control mode failed- Stop robot motion
- Restart controller
-28689This frequency not supportedState data sending frequency supports 1kHZ, 500Hz, 250Hz, 125Hz
-28705Already started motionStop motion before starting
-28706Cannot perform this operation, may be due to robot not in idle stateStop robot motion
-28707Start position is singularityMove robot to non-singular point
-28708Parameter errorReset data
-28709Robot in collision stopPower on to recover collision state
-28710Robot in emergency stop stateRecover emergency stop
-28711Request rejectedOften due to force control model deviation in impedance control, re-calibrate force sensor and set correct load
-41400Force control command not completedWait for previous force control command to complete
-41419TCP length exceeds limit, force control initialization failedEnd tool length limited to 0.3m
-41420Force control not initialized; or load not set correctly; or force control model deviation large- Calibrate zero point, force sensor;
- Set correct load mass and center of mass;
- Check if base frame is set correctly;
- No external force received when enabling drag
-41421Failed to stop force control, not in force control running stateRobot not in force control state
-41422Failed to restart force controlPause or stop force control first, then restart
-41425Non-impedance control mode, or search motion running- Ensure current in impedance mode and search motion in stop state
- Check parameter settings
-41426Non-impedance control mode, or search motion running-Ensure current in impedance mode and search motion in stop state
- Check parameter settings
-41427Not in Cartesian impedance control mode or search motion not setCheck control mode command, set search motion parameters before trying
-41428Not in Cartesian impedance control mode or search motion not startedEnsure search motion has started and in Cartesian impedance running state
-41429Not in Cartesian impedance control mode or search motion not pausedPause current force control task and check control mode, switch to Cartesian impedance control mode before trying
-41430Unsupported impedance control type or force control coordinate systemStop current force control task and re-initialize parameters
-41431Not in joint impedance control mode or not initializedSet axis space impedance control mode before running force control
-41432Not in Cartesian impedance control mode or not initializedSet Cartesian impedance control mode before running force control
-41433Not in Cartesian impedance control mode or not initializedCheck current impedance control mode before trying. Ensure force value input correct, and set Cartesian impedance control mode
-41434Joint desired force exceeds limitCheck current impedance control mode before trying. Ensure desired force value input correct, and set axis space impedance control mode
-41435Cartesian space desired force exceeds limitCheck current impedance control mode before trying. Ensure desired force value input correct, and set Cartesian impedance control mode
-41442Robot does not meet soft limit requirements, force control enable failedConfirm robot within soft limit when enabling impedance
-41444Impedance stiffness setting failed, value unreasonable or current state cannot set stiffnessReset impedance stiffness value within reasonable range
-41448Power off during force control, initialization failedPower on again and execute force control initialization
-41449Force control command not yet completed, initialization failedForce control commands sent too frequently, please increase time between exiting force control and re-enabling
-41457Force control stopped, need to restartExecute force control initialization
-41459In force control mode, operation not allowedStop force control before replaying path
-50000Angle between two trajectories too small or length too short, zone cannot be generated-Increase angle between front and back trajectories;
-Increase length of front and back trajectories;
-Increase zone value
-50001Controller state error, cannot generate trajectoryCall moveReset() to reset
-50002Target point exceeds motion range, or is singularity- Check target point position;
- Move robot in joint mode
- Check confdata configuration
-50003Adjacent two target points too closeCheck if adjacent two motion command target points are the same point
-50004Cannot generate arc, start point and target point too closeAdjust distance between arc start or end points
-50005Cannot generate arc, start point and auxiliary point too closeAdjust distance between arc start or auxiliary points
-50006Cannot generate arc, auxiliary point and target point too closeAdjust distance between arc end or auxiliary points
-50007Cannot generate arc, start point/auxiliary point/target point too closeAdjust distance between arc start, auxiliary, end points
-50008Cannot generate arc, points in a straight lineAdjust distance between arc start, auxiliary, end points
-50009Cannot generate arc, radius too smallAdjust distance between arc start, auxiliary, end points
-50010Cannot generate arcAdjust distance or orientation between arc start, auxiliary, end points
-50019Trajectory generation failedReadjust target point position, posture and elbow angle (only 7-axis robot needs to consider elbow angle)
-50021No solution for target point under specified conf parameters, please check value or do not set confData-Call setDefaultConfOpt(false) to cancel confdata
- Re-teach point, pass correct confdata
-50027Trajectory shorter than minimum zone radius, automatically splicing path- This trajectory needs zone connection before and after, but trajectory length less than twice minimum zone radius;
- This trajectory set to connect one zone, but trajectory length less than minimum zone radius.
This feature can make motion smoother, if you want to disable this feature, set minimum zone radius to 0
-50033Robot in axis lock state, target point locked axis angle deviated, please adjust target point or disable axis lock stateAdjust trajectory target point or disable axis lock command, under axis lock state, fourth axis angle requires 0 degrees or 180 degrees or -180 degrees
-50034Cannot reach target point in axis lock state or 5-axis model6-axis model in axis lock state or 5-axis model cannot reach target point, please change point or disable axis lock
-50101Joint angle exceeds motion range, try canceling soft limit and restore each axis to allowed range- Cancel soft limit
- Manually move each robot axis to normal working range
-50102Trajectory passing through singularity- Avoid singularity
- Re-teach point, change target point;
- Change Cartesian space motion command to joint space motion command
-50103Cartesian path end point does not match given ConfData- Call setDefaultConfOpt(false) to not use confdata
- Change to MoveJ or MoveAbsJ
- Change target point confdata
-50104Joint torque exceeds limit- Check if load value matches actual load situation
- Check robot friction coefficient, motor overload coefficient, transmission overload coefficient and other parameters
- Try changing command form, for example, change Cartesian space command to joint space command
-50112Pose error, inverse kinematics calculation failed- Re-teach pose
- If current model is 3-axis or 4-axis robot, check if input pose matches current model characteristics
- If using setAvoidSingularity(lock4axis), check if target meets axis lock requirements
-50113Changed posture exceeds set threshold- Avoid singularity
- Reset singularity avoidance posture change threshold
- Re-teach point, change target point
- Use other singularity avoidance methods
-50114Axis motion exceeds motion range during lookahead, stop motion early- Cancel soft limit
- Manually move each robot axis to normal working range
-50115Singularity encountered during trajectory lookahead- Avoid singularity
- Re-teach point, change target point
- Change Jog method, try axis space Jog
- Change Cartesian space motion command to joint space motion command
-50118End point solved after changing posture inconsistent with required end point- Avoid singularity
- Re-teach point, change target point
- Change singularity avoidance method
-50120Search path end angle failed under singularity avoidance- Avoid singularity
- Re-teach point, change target point
- Change singularity avoidance method
- If Conf enabled, can disable Conf
-50121Search path end angle failed under singularity avoidance- Avoid singularity
- Re-teach point, change target point
- Change singularity avoidance method
-50204Insufficient sampling points during planning, please re-runIndustrial computer state unstable, re-run or try restarting
-50205Adjacent position commands differ too much- Re-teach trajectory target points
- Try changing command form, for example MoveL to MoveJ
-50208Internal trajectory error- Call moveReset() to reset motion command buffer
- Increase or decrease zone
-50401Collision detected- Check robot running environment, ensure personnel and equipment safety, then power on again and resume operation
- Check if current tool setting matches actual, whether tool mass and center of mass settings are reasonable
-50501Tool workpiece coordinate system setting failed, may be due to tool or workpiece not existingSet created tool workpiece, and respectively handheld and external
-50512Axis number mismatchAxis space Jog index parameter cannot exceed axis number + external axis number
-50513Speed setting invalid, robot cannot movePass speed parameter within 0.01 ~ 1 range
-50514Step setting invalid, robot cannot movePass step parameter greater than 0
-50515Reference coordinate system setting invalid, robot cannot movePass supported coordinate system type parameter
-50516Motion axis setting invalid, robot cannot movePass index parameter according to instructions
-50518Motion failed, target point may be current pointTarget point may be current point
-50519Trajectory generation failed, target point may exceed robot working rangePlease re-teach point within robot normal working range
-50525This model does not support singularity avoidance mode motion, or robot axis lock failed, 4-axis angle not 0 not running motion, please adjust 4-axis angleAdjust fourth axis angle to 0 or ±180 degrees
-60005RL project or specified task does not existRun created project and task
-60014Current controller state does not allow starting motionEnsure robot is powered on and in idle state
-60200Load information error, setting failed- Load information error, please check if load weight exceeds rated load, center of mass does not exceed 0.3m
- Force control does not support external tool or handheld workpiece
-60511Path does not existUse saved replay path
-60611Generating diagnostic data, cannot move, please waitWait 10 seconds and try starting again
-60702Current fourth axis angle not 0, not allowed to switch to four-axis fixed mode, or model not supportedCheck if fourth axis current angle is 0° or 180°
-60704Does not meet conditions for enabling sacrifice posture singularity avoidanceCheck if current state meets sacrifice posture singularity avoidance enabling state
-60706Does not meet conditions for enabling axis space interpolation singularity avoidanceCheck if current state meets axis space interpolation singularity avoidance enabling state
256Network connection error- Industrial computer not powered on
- Robot address error, or not in same local network
- Instance type error or SDK not authorized, connection rejected
255Robot connection not initializedGenerally does not occur, normal construction of Robot class instance is sufficient
257Cannot parse robot message, may be due to SDK version not matching controller versionMay be due to controller and SDK version mismatch
258Parameter error, value out of rangeCheck parameter value range according to function description
259Parameter error, parameter type or count errorCheck parameter type or array length according to function description
260Not a valid transformation matrixCheck if input parameters meet homogeneous transformation matrix requirements
261Array element count does not match robot axis countPass array length matching robot axis count
262Motion control mode error, non-real-time mode- Call setMotionControlMode(RtCommand) to switch mode
- Previous impedance control had error, controller switched back to non-real-time mode, need to re-enable
263No robot reply before timeout, may be due to network communication issueCheck network connection state, or contact technical support
264Duplicate operationCollision detection already open, need to close first
265Failed to receive data through UDP port, please check network and firewall configuration- Check if local address setting is correct
- Check firewall setting, whether UDP connection is allowed
266Client verification failed, please check controller version, authorization status and robot model- Upgrade controller to matching version according to manual or README
- Create matching robot instance
- Contact technical support to authorize SDK function
272Event not monitoredCall setEventWVatcher to start monitoring data first
273Point distance too close, coordinate system calibration failedRefer to "xCore Robot Control System User Manual" tool workpiece calibration method, re-calibrate
512IP address or port setting error, or port occupied- Local IP address cannot be localhost or robot address
- Port occupation exists, please check RCI settings-port
513Unsupported field set, or total length exceeds limitSupported fields see RtSupportedFields, total length limit is 1024 bytes
768No executable motion commandCall moveAppend to send motion command first, then start motion
769Robot stopping or current state cannot pauseMay be due to calling stop() just after manual mode power off, or pressing emergency stop, controller is responding to stop, please wait

3 Exceptions

Interfaces such as sending motion commands, periodic scheduling, and reading state data in real-time mode will throw exceptions during calling. The exception types are in rokae/exception.h.

Exception InformationCause and Solution
Motion control mode error, non-real-time mode- Call setMotionControlMode(RtCommand) to switch mode
- Previous impedance control had error, controller switched back to non-real-time mode, need to re-enable
Failed to create real-time control clientNetwork connection error, check industrial computer running state
Already started receiving dataStop receiving state data first, then restart receiving
Controller cannot set sent state dataMay be due to version mismatch, please contact technical support
Failed to set control commandMay be due to version mismatch, please contact technical support
UDP socket open failed. An invalid parameter was provided.No local address filled in when connecting robot. E.g. xMateRobot(remoteIp, localIp);
UDP socket open failed. The requested address is not valid in its context.Failed to bind local address, check if local address is correct and in same local network as robot
Controller cannot send robot state information.Controller UDP port setting error, please contact technical support to check controller log
Not started receiving dataCall startReceiveRobotState to start receiving data
No robot state feedback received before timeout, please check network configuration- Check if local address setting is correct'
- Check firewall setting, whether UDP connection is allowed
Robot state data reception errorState data parsing failed, may be due to version mismatch, please contact technical support
Cannot receive motion error feedbackData parsing failed, may be due to version mismatch, please contact technical support
xCore minimum version requirementUpgrade controller version according to prompt information
SDK function not authorizedContact technical support to authorize SDK function
Robot instance type does not match connected modelCreate corresponding robot instance according to manual instructions
Local IPv4 address setting failed, cannot be 127.0.0.1 or robot addressSet correct local address
Pose initialization receives 6 or 16 parametersInitializing trans&rpy should pass array of length 6; initializing pos (real-time mode Cartesian command) should pass array of length 16
Failed to load modelUnless network connection issue, generally does not occur
xMate model library does not support this modelRefer to xMateModel class comments to see supported models
Already started motion, do not call repeatedlyOnly one motion callback allowed at the same time, call stopMove before starting next motion
Did not call start motionCall startMove first, then call startLoop
Setting mode error, failed to start motionUnless network connection issue, generally does not occur
Failed to start motion- Ensure robot is idle, not in emergency stop or other abnormal use state
- Often occurs in impedance control, please calibrate zero point, force sensor, and set correct load before trying again
- Or feedback complete exception information to technical support.
Failed to stop motionGenerally network connection issue
Industrial model only supports position controlIndustrial model uses position control
Start and end elbow angle format differentCartesian command hasElbow value inconsistent
Command and control mode inconsistentData type returned by callback function (JointPosition/CartesianPosition/Torque) should match control type
Failed to send commandCommand data serialization failed, please contact technical support
Arc start/end/auxiliary point coincidentAdjust distance between arc start, auxiliary, end points
Arc path solving, three points collinearAdjust arc start, auxiliary, end points
Arc path solving, three points angle too smallAdjust arc start, auxiliary, end points
Arc path solving, arc radius too small failedAdjust distance between arc start, auxiliary, end points
Not initializedFollowPosition default constructor needs to call init() function before use
Filter error, input data non-positiveCheck command data, whether callback function returns unassigned command
Filter error, data to be filtered infiniteCheck command data, whether callback function returns unassigned command