Skip to main content

Error Codes and Exception Description

1 Real-time Motion Errors

The robot will detect its status during motion and report errors to the SDK when anomalies are detected. Users can determine the error type through the following 20 error bits.

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

2 Error Codes

Non-real-time interface call results are fed back through error codes. Each interface passes a std::error_code type parameter, and the error message can be obtained through error_code::message().

ValueError MessageCause and Solution
0Operation completed successfullyNone
-1An error occurredMay be due to unrecognized error code, please contact technical support
-3Robot E-stop button pressed, please recover firstRecover E-stop state
-16This operation is not allowed in current mode (manual/auto), please switch to another modeSwitch manual/auto mode
-17This operation is not allowed in current power stateSwitch power on/off state
-18This operation is not allowed in current robot running stateRobot not idle, may be in drag/RT mode/identification etc.
-19This operation is not allowed in current control mode (position/force)Switch position control/force control
-20Robot in motionStop robot motion
-32Inverse kinematics calculation errorPass correct posture
-33IK solution is singular pointAvoid singular points
-34IK solution exceeds robot soft limitCheck soft limit settings, pass pose within limits
-35Target point exceeds motion rangePass reachable points
-36Target point exceeds motion rangePass reachable points
-37Step distance too large, cannot calculate IKPass reachable points
-38Configuration data cfx error, IK has no solutionCheck conf data
-39Input data error, cannot calculate IKPass reachable points
-40IK reference point is singular pointPass reachable points
-41Algorithm failed, cannot calculate IKMay be controller calculation issue, contact technical support
-257Communication protocol parsing failedContact technical support
-258No matching data name foundMay be controller and SDK version mismatch
-259No matching command name foundMay be controller and SDK version mismatch
-260Data value error, possibly protocol mismatchMay be controller and SDK version mismatch
-272Data name to query not foundMay be controller and SDK version mismatch
-273Data not readableMay be controller and SDK version mismatch
-288Data not writableMay be controller and SDK version mismatch
-289Failed to set dataData value unreasonable
-290Failed to set dataData value unreasonable
-291Monitor 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 record time and re-record
-338Recorded path contains points exceeding joint soft limits. Please re-recordDrag within soft limits
-339Recorded path contains points with excessive joint velocity. Please re-recordSlow down drag motion
-340Path recording did not start from robot stationary stateStart recording when robot is stationary
-341Robot not stopped when stopping path recordingStop recording when robot is stationary
-342Robot in power-off state, failed to save pathPower on robot
-352No valid path in buffer, please recordRecord path before saving
-353Failed to save path to diskRe-record drag trajectory, or restart robot
-513Failed to switch manual/auto mode-Stop robot motion
-Recover E-stop
-Disable drag
-514Power on/off failed-Recover E-stop
-Clear servo alarm
-515Failed to enable/disable drag, 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
-Set correct load
-10030Simulation mode not enabled or signal does not existEnable simulation mode before setting DI/AI
-10040Failed to start drag, set correct load and calibrate torque sensorCorrectly set tool load mass and COG; calibrate torque sensor after setting
-10051Soft limit exceeds mechanical limitSet soft limits within mechanical limits
-10065NTP time sync failed-Install NTP function
-Confirm server NTP available, confirm IP correct
-10101Illegal IP addressCheck if it conforms to IPv4 format
-10079Force control module in error stateForce control protection triggered, check robot status in force control mode and set reasonable protection parameters
-10141Load mass exceeds robot rated loadUse and set load within rated range
-14010Already bound as system IO- Unbind this signal as system IO
- Use other signals
-14501DO signal does not exist or is system outputCheck if DO signal is created
-17001Read register error- Check if register is created
- Check array index
- Read with matching data type
-17002Write register error- Check if register is created
- Check array index
- Write with matching data type
-17320RL program executed, need to reset motion cache before starting motionCall moveReset to reset
-17407Enable rail needs to disable safety zoneDisable safety zone function
-28672Real-time mode network error- Local IP cannot be localhost or robot address
- Port occupied, check RCI settings-port
-28688Failed to switch motion control mode- Stop robot motion
- Restart controller
-28689This frequency not supportedState data send frequency supports 1kHZ, 500Hz, 250Hz, 125Hz
-28705Already in motionStop motion before starting
-28706Cannot execute this operation, possibly robot not in idle stateStop robot motion
-28707Start position is singular pointMove robot to non-singular point
-28708Parameter errorReset data
-28709Robot in collision stopPower on to recover collision state
-28710Robot in E-stop stateRecover E-stop
-28711Request rejectedIn impedance control, usually due to FC model deviation, recalibrate torque sensor and set correct load
-41400Force control command not yet completedWait for previous FC command to complete
-41419TCP length exceeded, FC init failedEnd tool length limit is 0.3m
-41420FC not initialized; or load not set correctly; or large FC model deviation- Calibrate zero point, torque sensor;
- Set correct load mass and COG;
- Check if base frame is set correctly;
- No external force received when enabling drag
-41421Failed to stop FC, not in FC running stateRobot not in FC state
-41422Failed to restart FCPause or stop FC first, then restart
-41425Not in impedance control mode, or search motion running- Ensure in impedance mode and search motion stopped
- Check parameter settings
-41426Not in impedance control mode, or search motion running-Ensure in impedance mode and search motion stopped
- Check parameter settings
-41427Not in Cartesian impedance mode or search motion not setCheck control mode command, set search motion parameters before trying
-41428Not in Cartesian impedance mode or search motion not startedEnsure search motion enabled and in Cartesian impedance state
-41429Not in Cartesian impedance mode or search motion not pausedPause current FC task and check control mode, switch to Cartesian impedance before trying
-41430Unsupported impedance control type or FC frameStop current FC task and reinitialize parameters
-41431Not in joint impedance mode or not initializedSet joint space impedance control mode before running FC
-41432Not in Cartesian impedance mode or not initializedSet Cartesian impedance control mode before running FC
-41433Not in Cartesian impedance mode or not initializedCheck current impedance control mode before trying. Ensure force value input correct and Cartesian impedance mode set
-41434Joint desired force exceeded limitCheck current impedance control mode before trying. Ensure desired force value input correct and joint space impedance mode set
-41435Cartesian desired force exceeded limitCheck current impedance control mode before trying. Ensure desired force value input correct and Cartesian impedance mode set
-41442Robot does not meet soft limit requirements, failed to enable FCEnsure robot is within soft limits when enabling impedance
-41444Impedance stiffness setting failed, value unreasonable or cannot set in current stateReset impedance stiffness value within reasonable range
-41448Powered off during FC, init failedPower on and execute FC init
-41449FC command not yet completed, init failedFC commands sent too frequently, increase time between exit FC and restart
-41457FC stop executed, need to restartExecute FC init
-41459In FC mode, operation not allowedStop FC before replaying path
-50000Trajectory angle too small or length too short, zone cannot be generated-Increase angle between trajectories;
-Increase trajectory length;
-Increase zone value
-50001Controller state error, cannot generate trajectoryCall moveReset() to reset
-50002Target point exceeds motion range or is singular point- Check target point position;
- Move robot using joint mode
- Check confdata configuration
-50003Two adjacent target points too closeCheck if adjacent motion commands have same target point
-50004Cannot generate arc, start and target point too closeAdjust distance between arc start and target points
-50005Cannot generate arc, start and auxiliary point too closeAdjust distance between arc start and auxiliary points
-50006Cannot generate arc, auxiliary and target point too closeAdjust distance between arc auxiliary and target points
-50007Cannot generate arc, start/auxiliary/target points too closeAdjust distances between arc points
-50008Cannot generate arc, points on same lineAdjust distances between arc points
-50009Cannot generate arc, radius too smallAdjust distances between arc points
-50010Cannot generate arcAdjust distances or orientations between arc points
-50019Failed to generate trajectoryReadjust target point position, orientation and elbow angle (7-axis only)
-50021No solution for target point with specified conf, check value or don't set confData-Call setDefaultConfOpt(false) to disable confdata
- Re-teach point, pass correct confdata
-50027Trajectory shorter than minimum zone radius, auto path blending- This trajectory needs zones on both sides but length is less than twice min zone radius;
- This trajectory has one zone but length less than min zone radius.
This makes motion smoother, to disable set min zone radius to 0
-50033Robot in axis lock state, target point lock angle deviated, adjust target or disable lockIn lock state, 4th axis angle must be 0° or 180° or -180°
-50034Cannot reach target point in lock state or 5-axis model6-axis in lock state or 5-axis model cannot reach target, change point or disable lock
-50101Joint angle exceeded range, try disabling soft limits and moving axes to allowed range- Disable soft limits
- Manually move robot axes to normal working range
-50102Trajectory passing through singular point- Avoid singular points
- Re-teach points, change target;
- Change Cartesian motion to joint motion
-50103Cartesian path endpoint doesn't match given ConfData- Call setDefaultConfOpt(false) to not use confdata
- Change to MoveJ or MoveAbsJ
- Change target point confdata
-50104Joint torque exceeded limit- Check if load matches actual
- Check friction coefficient, motor overload coefficient, transmission overload coefficient
- Try changing command type, e.g., Cartesian to joint
-50112Posture error, IK calculation failed- Re-teach posture
- If current model is 3 or 4-axis, check if input posture matches model
- If using setAvoidSingularity(lock4axis), check if target meets lock requirements
-50113Orientation change exceeded set threshold- Avoid singular points
- Reset singularity avoidance orientation change threshold
- Re-teach points, change target
- Use other singularity avoidance methods
-50114Axis motion exceeded range during lookahead, stopped early- Disable soft limits
- Manually move robot axes to normal working range
-50115Singular point encountered during trajectory lookahead- Avoid singular points
- Re-teach points, change target
- Change jog mode, try joint space jog
- Change Cartesian motion to joint motion
-50118Orientation changed endpoint doesn't match required endpoint- Avoid singular points
- Re-teach points, change target
- Change singularity avoidance method
-50120Failed to search path endpoint angle under singularity avoidance- Avoid singular points
- Re-teach points, change target
- Change singularity avoidance method
- If Conf enabled, can disable Conf
-50121Failed to search path endpoint angle under singularity avoidance- Avoid singular points
- Re-teach points, change target
- Change singularity avoidance method
-50204Insufficient sampling points during planning, please re-runIPC unstable, re-run or try restart
-50205Adjacent position commands differ too much- Re-teach trajectory target points
- Try changing command type, e.g., MoveL to MoveJ
-50208Internal trajectory error- Call moveReset() to reset motion cache
- Increase or decrease zone
-50401Collision detected- Check robot environment, ensure personnel and equipment safety, power on and resume
- Check if current tool settings match actual, if tool mass and COG are reasonable
-50501Tool/workpiece frame setting failed, possibly doesn't existSet created tool/workpiece, handheld and external respectively
-50512Axis count mismatchJoint space jog index cannot exceed axis count + external axis count
-50513Invalid speed setting, robot cannot movePass speed parameter in 0.01 ~ 1 range
-50514Invalid step setting, robot cannot movePass step parameter greater than 0
-50515Invalid reference frame, robot cannot movePass supported frame type
-50516Invalid motion axis, robot cannot movePass index parameter as described
-50518Motion failed, target may be current pointTarget point may be current point
-50519Failed to generate trajectory, target may exceed robot work rangeRe-teach points within normal work range
-50525This model doesn't support singularity avoidance, or axis lock failed, 4th axis angle not 0Adjust 4th axis angle to 0° or ±180°
-60005RL project or specified task doesn't existRun created project and task
-60014Controller current state doesn't allow starting motionEnsure robot powered on and idle
-60200Load info error, setting failed- Load info error, check if load weight exceeds rated, COG not exceeding 0.3m
- FC doesn't support external tool or handheld workpiece
-60511Path doesn't existUse saved replay path
-60611Generating diagnostic data, cannot move, please waitWait 10 seconds and try again
-60702Current 4th axis angle not 0, cannot switch to 4-axis fixed mode, or model not supportedCheck if current 4th axis angle is 0° or 180°
-60704Sacrifice orientation singularity avoidance enable conditions not metCheck if current state meets sacrifice orientation singularity avoidance conditions
-60706Joint space interpolation singularity avoidance enable conditions not metCheck if current state meets joint space interpolation singularity avoidance conditions
256Network connection error- IPC not powered on
- Robot address wrong, or not on same LAN
- Instance type error or SDK not authorized, connection refused
255Robot connection not initializedGenerally won't happen, normally construct Robot class instance
257Cannot parse robot message, possibly SDK version mismatch with controllerMay be controller and SDK version mismatch
258Parameter error, value out of rangeCheck parameter value range according to function description
259Parameter error, wrong type or countCheck parameter type or array length according to function description
260Not a valid transformation matrixCheck if input meets homogeneous transformation matrix requirements
261Array element count doesn't match robot axis countPass array length matching robot axis count
262Motion control mode error, please switch to correct modeCall setMotionControlMode to switch mode according to actual situation
263No response from robot before timeout, possibly network issueCheck network connection, or contact technical support
264Duplicate operationCollision detection already enabled, need to disable first
265Failed to receive data via UDP port, check network and firewall- Check if local address is set correctly
- Check firewall settings, allow UDP connection
266Client verification failed, check controller version, authorization and model- Upgrade controller to matching version per manual
- Create robot instance with matching type
- Contact technical support for SDK authorization
272Event not monitoredCall setEventWatcher first to start monitoring
273Points too close, frame calibration failedRefer to "xCore Control System Manual" for tool/workpiece calibration method, recalibrate
512IP address or port setting error, or port occupied- Local IP cannot be localhost or robot address
- Port occupied, check RCI settings-port
513Unsupported field set, or total length exceededSupported fields see RtSupportedFields, total length limit 1024 bytes
768No executable motion commandsCall moveAppend to send motion commands before starting motion
769Robot stopping or current state cannot pauseMay be due to manual power off or E-stop just pressed before calling stop(), controller responding to stop, please wait

3 Exceptions

Real-time mode interfaces for sending motion commands, periodic scheduling, reading state data, etc. may throw exceptions during calls. Exception types are in rokae/exception.h.

Exception MessageCause and Solution
Motion control mode error, not real-time mode- Call setMotionControlMode(RtCommand) to switch mode
- Previous impedance control error, controller switched back to non-RT mode, need to re-enable
Failed to create real-time control clientNetwork connection error, check IPC running state
Already receiving dataStop receiving state data first, then restart receiving
Controller cannot set sent state dataMay be version mismatch, contact technical support
Failed to set control commandMay be version mismatch, contact technical support
UDP socket open failed. Invalid argument providedRobot connection didn't fill in local address. e.g., xMateRobot(remoteIp, localIp);
UDP socket open failed. Address invalid in this contextFailed to bind local address, check if local address is correct and on same LAN as robot
Controller cannot send robot state infoController UDP port setting error, contact technical support to check controller logs
Not receiving dataCall startReceiveRobotState to start receiving data
No robot state feedback before timeout, check network config- Check if local address is set correctly
- Check firewall settings, allow UDP connection
Robot state data receive errorState data parsing failed, may be version mismatch, contact technical support
Cannot receive motion error feedbackData parsing failed, may be version mismatch, contact technical support
xCore minimum version requiredUpgrade controller version according to prompt
SDK function not authorizedContact technical support for SDK authorization
Robot instance type doesn't match connected modelCreate corresponding robot instance according to manual
Local IPv4 address setting failed, cannot be 127.0.0.1 or robot addressSet correct local address
Posture init receives 6 or 16 parametersInit trans&rpy should pass array of length 6; init pos (RT mode Cartesian command) should pass array of length 16
Failed to load modelUnless network connection issue, generally won't occur
xMate model library doesn't support this modelRefer to xMateModel class comments for supported models
Already in motion, don't call repeatedlyOnly one motion callback allowed at a time, call stopMove before starting next motion
startMove not calledCall startMove first, then call startLoop
Mode setting error, failed to start motionUnless network connection issue, generally won't occur
Failed to start motion- Ensure robot idle, not in E-stop or other abnormal state
- Common in impedance control, calibrate zero point, torque sensor, set correct load and retry
- Or provide complete exception info 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 values inconsistent
Command doesn't match control modeCallback return data type (JointPosition/CartesianPosition/Torque) should match control type
Failed to send commandCommand data serialization failed, contact technical support
Arc start/end/auxiliary points coincideAdjust distances between arc 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 distances between arc points
Not initializedFollowPosition default constructor needs to call init() before use
Filter error, input data not positiveCheck command data, if callback returned unassigned command
Filter error, data to filter is infiniteCheck command data, if callback returned unassigned command