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 Bit | Error Name | Error Cause | Solution |
|---|---|---|---|
| 0 | kActualJointPositionLimitsViolation | Actual joint angle out of limit | Check 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. |
| 1 | kActualCartesianPositionLimitsViolation | Actual end pose out of limit | Check 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. |
| 2 | kActualCartesianMotionGeneratorElbowLimitViolation | Actual elbow angle out of limit | Check 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. |
| 3 | kActualJointVelocityLimitsViolation | Actual joint velocity out of limit | Check 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. |
| 4 | kActualCartesianVelocityLimitsViolation | Actual end velocity out of limit | Check 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. |
| 5 | kActualJointAccelerationLimitsViolation | Actual joint acceleration out of limit | Check 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. |
| 6 | kActualCartesianAccelerationLimitsViolation | Actual end acceleration out of limit | Check 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. |
| 7 | kCommandJointPositionLimitsViolation | Command joint angle out of limit | Check 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. |
| 8 | kCommandCartesianPositionLimitsViolation | Command end pose out of limit | Check 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. |
| 9 | kCommandCartesianMotionGeneratorElbowLimitViolation | Command elbow angle out of limit | Check 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. |
| 10 | kCommandJointVelocityLimitsViolation | Command joint velocity out of limit | Check 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. |
| 11 | kCommandCartesianVelocityLimitsViolation | Command end velocity out of limit | Check 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. |
| 12 | kCommandJointAccelerationLimitsViolation | Command joint acceleration out of limit | Check 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. |
| 13 | kCommandCartesianAccelerationLimitsViolation | Command end acceleration out of limit | Check 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. |
| 14 | kCommandJointAccelerationDiscontinuity | Command joint acceleration discontinuity | Check 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. |
| 17 | kCommandTorqueDiscontinuity | Command torque discontinuity | Check 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. |
| 18 | kCommandTorqueRange Violation | Command torque out of range | Check 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. |
| 15 | kCollision | Collision detected | If collision detection is frequently triggered, the collision detection threshold should be appropriately increased. E-stop triggering may also trigger this error |
| 16 | kCartesianPositionMotionGeneratorInvalidFrame | Robot singularity | The robot should not pass through singular poses during Cartesian space motion |
| 19 | kInstabilityDetection | Instability detected | 1 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().
| Value | Error Message | Cause and Solution |
|---|---|---|
| 0 | Operation completed successfully | None |
| -1 | Error occurred | May be due to unrecognized error code, please contact technical support |
| -3 | Robot emergency stop button pressed, please recover first | Recover emergency stop state |
| -16 | This operation is not allowed in current mode (manual/automatic), please switch to another mode | Switch manual/automatic mode |
| -17 | This operation is not allowed in current power state | Switch power state |
| -18 | This operation is not allowed in current robot running state | Robot not idle, may be in drag/real-time mode control/identification, etc. |
| -19 | This operation is not allowed in current control mode (position/force control) | Switch position control/force control |
| -20 | Robot is moving | Stop robot motion |
| -32 | Inverse kinematics calculation error | Pass correct pose |
| -33 | Inverse kinematics is singularity | Avoid singularity |
| -34 | Inverse kinematics exceeds robot soft limit | Check if soft limit setting is appropriate, pass pose within limit |
| -35 | Target point exceeds motion range | Pass reachable point |
| -36 | Target point exceeds motion range | Pass reachable point |
| -37 | Single step distance too large, cannot calculate inverse kinematics | Pass reachable point |
| -38 | Configuration data cfx error, inverse kinematics no solution | Check conf data |
| -39 | Input data error, cannot calculate inverse kinematics | Pass reachable point |
| -40 | Inverse kinematics reference point is singularity | Pass reachable point |
| -41 | Algorithm failed, cannot calculate inverse kinematics | May be due to controller calculation issue, please contact technical support |
| -257 | Communication protocol parsing failed | Please contact technical support |
| -258 | No matching data name found | May be due to controller and SDK version mismatch |
| -259 | No matching command name found | May be due to controller and SDK version mismatch |
| -260 | Data value error, may be communication protocol mismatch | May be due to controller and SDK version mismatch |
| -272 | No data name to query found | May be due to controller and SDK version mismatch |
| -273 | Data not readable | May be due to controller and SDK version mismatch |
| -288 | Data not writable | May be due to controller and SDK version mismatch |
| -289 | Setting data failed | Set data is unreasonable |
| -290 | Setting data failed | Set data is unreasonable |
| -291 | Monitoring data failed | Will not occur |
| -292 | Data already monitored, duplicate monitoring not supported | Will not occur |
| -320 | Command execution not completed | Will not occur |
| -337 | Recorded path too short, insufficient data points, please re-record | Increase recording time and re-record |
| -338 | Recorded path contains joint angles exceeding soft limit. Please re-record | Drag within soft limit |
| -339 | Recorded path contains joint velocity too fast, please re-record | Slow down dragging action |
| -340 | Did not start recording path from robot stationary state | Start recording when robot is stationary |
| -341 | Robot not stopped when stopping recording path | Stop recording when robot is stationary |
| -342 | Robot in power-off state, save path failed | Power on robot |
| -352 | No valid path in buffer, please record | Record path first then save |
| -353 | Save path to disk failed | Re-record dragging trajectory, or restart robot |
| -513 | Switch manual/automatic operation mode failed | -Stop robot motion -Recover emergency stop -Disable drag |
| -514 | Power on/off failed | -Recover emergency stop -Clear servo alarm |
| -515 | Enable/disable drag failed, please check if robot is powered off | Enable drag when robot is in manual mode and powered off |
| -10005 | Calibrating, or failed to reset load during calibration | -Wait for calibration to complete -Correctly set load |
| -10030 | Simulation mode not enabled or signal does not exist | Enable simulation mode before setting DI/AI |
| -10040 | Failed to start drag, correctly set load and calibrate force sensor | Correctly set tool load mass and center of mass; perform force sensor calibration after setting |
| -10051 | Soft limit exceeds mechanical limit | Set soft limit within mechanical limit |
| -10065 | Synchronize NTP time failed | -Install NTP function -Confirm server NTP function available, confirm IP address correct |
| -10101 | IP address invalid | Check if it conforms to IPv4 address format |
| -10079 | Force control module in error state | Force control protection triggered, please check if robot state is normal in force control mode, and set reasonable force control protection parameters |
| -10141 | Load mass exceeds robot rated load | Use and set load within rated load range |
| -14010 | Already bound as system IO | - Cancel binding this signal as system IO - Use other signals |
| -14501 | DO signal does not exist or is system output | Check if DO signal has been created |
| -17001 | Read register error | - Check if register is created - Whether array index exceeded - Read with matching data type |
| -17002 | Write register error | - Check if register is created - Whether array index exceeded - Write with matching data type |
| -17320 | RL program executed, need to reset motion buffer before starting motion | Call moveReset to reset |
| -17407 | Enabling rail requires disabling safety zone | Disable safety zone function |
| -28672 | Real-time mode network error | - Local IP address cannot be localhost or robot address - Port occupation exists, please check RCI settings-port |
| -28688 | Switch motion control mode failed | - Stop robot motion - Restart controller |
| -28689 | This frequency not supported | State data sending frequency supports 1kHZ, 500Hz, 250Hz, 125Hz |
| -28705 | Already started motion | Stop motion before starting |
| -28706 | Cannot perform this operation, may be due to robot not in idle state | Stop robot motion |
| -28707 | Start position is singularity | Move robot to non-singular point |
| -28708 | Parameter error | Reset data |
| -28709 | Robot in collision stop | Power on to recover collision state |
| -28710 | Robot in emergency stop state | Recover emergency stop |
| -28711 | Request rejected | Often due to force control model deviation in impedance control, re-calibrate force sensor and set correct load |
| -41400 | Force control command not completed | Wait for previous force control command to complete |
| -41419 | TCP length exceeds limit, force control initialization failed | End tool length limited to 0.3m |
| -41420 | Force 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 |
| -41421 | Failed to stop force control, not in force control running state | Robot not in force control state |
| -41422 | Failed to restart force control | Pause or stop force control first, then restart |
| -41425 | Non-impedance control mode, or search motion running | - Ensure current in impedance mode and search motion in stop state - Check parameter settings |
| -41426 | Non-impedance control mode, or search motion running | -Ensure current in impedance mode and search motion in stop state - Check parameter settings |
| -41427 | Not in Cartesian impedance control mode or search motion not set | Check control mode command, set search motion parameters before trying |
| -41428 | Not in Cartesian impedance control mode or search motion not started | Ensure search motion has started and in Cartesian impedance running state |
| -41429 | Not in Cartesian impedance control mode or search motion not paused | Pause current force control task and check control mode, switch to Cartesian impedance control mode before trying |
| -41430 | Unsupported impedance control type or force control coordinate system | Stop current force control task and re-initialize parameters |
| -41431 | Not in joint impedance control mode or not initialized | Set axis space impedance control mode before running force control |
| -41432 | Not in Cartesian impedance control mode or not initialized | Set Cartesian impedance control mode before running force control |
| -41433 | Not in Cartesian impedance control mode or not initialized | Check current impedance control mode before trying. Ensure force value input correct, and set Cartesian impedance control mode |
| -41434 | Joint desired force exceeds limit | Check current impedance control mode before trying. Ensure desired force value input correct, and set axis space impedance control mode |
| -41435 | Cartesian space desired force exceeds limit | Check current impedance control mode before trying. Ensure desired force value input correct, and set Cartesian impedance control mode |
| -41442 | Robot does not meet soft limit requirements, force control enable failed | Confirm robot within soft limit when enabling impedance |
| -41444 | Impedance stiffness setting failed, value unreasonable or current state cannot set stiffness | Reset impedance stiffness value within reasonable range |
| -41448 | Power off during force control, initialization failed | Power on again and execute force control initialization |
| -41449 | Force control command not yet completed, initialization failed | Force control commands sent too frequently, please increase time between exiting force control and re-enabling |
| -41457 | Force control stopped, need to restart | Execute force control initialization |
| -41459 | In force control mode, operation not allowed | Stop force control before replaying path |
| -50000 | Angle 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 |
| -50001 | Controller state error, cannot generate trajectory | Call moveReset() to reset |
| -50002 | Target point exceeds motion range, or is singularity | - Check target point position; - Move robot in joint mode - Check confdata configuration |
| -50003 | Adjacent two target points too close | Check if adjacent two motion command target points are the same point |
| -50004 | Cannot generate arc, start point and target point too close | Adjust distance between arc start or end points |
| -50005 | Cannot generate arc, start point and auxiliary point too close | Adjust distance between arc start or auxiliary points |
| -50006 | Cannot generate arc, auxiliary point and target point too close | Adjust distance between arc end or auxiliary points |
| -50007 | Cannot generate arc, start point/auxiliary point/target point too close | Adjust distance between arc start, auxiliary, end points |
| -50008 | Cannot generate arc, points in a straight line | Adjust distance between arc start, auxiliary, end points |
| -50009 | Cannot generate arc, radius too small | Adjust distance between arc start, auxiliary, end points |
| -50010 | Cannot generate arc | Adjust distance or orientation between arc start, auxiliary, end points |
| -50019 | Trajectory generation failed | Readjust target point position, posture and elbow angle (only 7-axis robot needs to consider elbow angle) |
| -50021 | No 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 |
| -50027 | Trajectory 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 |
| -50033 | Robot in axis lock state, target point locked axis angle deviated, please adjust target point or disable axis lock state | Adjust trajectory target point or disable axis lock command, under axis lock state, fourth axis angle requires 0 degrees or 180 degrees or -180 degrees |
| -50034 | Cannot reach target point in axis lock state or 5-axis model | 6-axis model in axis lock state or 5-axis model cannot reach target point, please change point or disable axis lock |
| -50101 | Joint 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 |
| -50102 | Trajectory passing through singularity | - Avoid singularity - Re-teach point, change target point; - Change Cartesian space motion command to joint space motion command |
| -50103 | Cartesian path end point does not match given ConfData | - Call setDefaultConfOpt(false) to not use confdata - Change to MoveJ or MoveAbsJ - Change target point confdata |
| -50104 | Joint 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 |
| -50112 | Pose 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 |
| -50113 | Changed posture exceeds set threshold | - Avoid singularity - Reset singularity avoidance posture change threshold |
| - Re-teach point, change target point - Use other singularity avoidance methods | ||
| -50114 | Axis motion exceeds motion range during lookahead, stop motion early | - Cancel soft limit - Manually move each robot axis to normal working range |
| -50115 | Singularity 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 |
| -50118 | End point solved after changing posture inconsistent with required end point | - Avoid singularity - Re-teach point, change target point - Change singularity avoidance method |
| -50120 | Search 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 |
| -50121 | Search path end angle failed under singularity avoidance | - Avoid singularity - Re-teach point, change target point - Change singularity avoidance method |
| -50204 | Insufficient sampling points during planning, please re-run | Industrial computer state unstable, re-run or try restarting |
| -50205 | Adjacent position commands differ too much | - Re-teach trajectory target points - Try changing command form, for example MoveL to MoveJ |
| -50208 | Internal trajectory error | - Call moveReset() to reset motion command buffer - Increase or decrease zone |
| -50401 | Collision 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 |
| -50501 | Tool workpiece coordinate system setting failed, may be due to tool or workpiece not existing | Set created tool workpiece, and respectively handheld and external |
| -50512 | Axis number mismatch | Axis space Jog index parameter cannot exceed axis number + external axis number |
| -50513 | Speed setting invalid, robot cannot move | Pass speed parameter within 0.01 ~ 1 range |
| -50514 | Step setting invalid, robot cannot move | Pass step parameter greater than 0 |
| -50515 | Reference coordinate system setting invalid, robot cannot move | Pass supported coordinate system type parameter |
| -50516 | Motion axis setting invalid, robot cannot move | Pass index parameter according to instructions |
| -50518 | Motion failed, target point may be current point | Target point may be current point |
| -50519 | Trajectory generation failed, target point may exceed robot working range | Please re-teach point within robot normal working range |
| -50525 | This 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 angle | Adjust fourth axis angle to 0 or ±180 degrees |
| -60005 | RL project or specified task does not exist | Run created project and task |
| -60014 | Current controller state does not allow starting motion | Ensure robot is powered on and in idle state |
| -60200 | Load 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 |
| -60511 | Path does not exist | Use saved replay path |
| -60611 | Generating diagnostic data, cannot move, please wait | Wait 10 seconds and try starting again |
| -60702 | Current fourth axis angle not 0, not allowed to switch to four-axis fixed mode, or model not supported | Check if fourth axis current angle is 0° or 180° |
| -60704 | Does not meet conditions for enabling sacrifice posture singularity avoidance | Check if current state meets sacrifice posture singularity avoidance enabling state |
| -60706 | Does not meet conditions for enabling axis space interpolation singularity avoidance | Check if current state meets axis space interpolation singularity avoidance enabling state |
| 256 | Network 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 |
| 255 | Robot connection not initialized | Generally does not occur, normal construction of Robot class instance is sufficient |
| 257 | Cannot parse robot message, may be due to SDK version not matching controller version | May be due to controller and SDK version mismatch |
| 258 | Parameter error, value out of range | Check parameter value range according to function description |
| 259 | Parameter error, parameter type or count error | Check parameter type or array length according to function description |
| 260 | Not a valid transformation matrix | Check if input parameters meet homogeneous transformation matrix requirements |
| 261 | Array element count does not match robot axis count | Pass array length matching robot axis count |
| 262 | 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 |
| 263 | No robot reply before timeout, may be due to network communication issue | Check network connection state, or contact technical support |
| 264 | Duplicate operation | Collision detection already open, need to close first |
| 265 | Failed 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 |
| 266 | Client 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 |
| 272 | Event not monitored | Call setEventWVatcher to start monitoring data first |
| 273 | Point distance too close, coordinate system calibration failed | Refer to "xCore Robot Control System User Manual" tool workpiece calibration method, re-calibrate |
| 512 | IP 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 |
| 513 | Unsupported field set, or total length exceeds limit | Supported fields see RtSupportedFields, total length limit is 1024 bytes |
| 768 | No executable motion command | Call moveAppend to send motion command first, then start motion |
| 769 | Robot stopping or current state cannot pause | May 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 Information | Cause 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 client | Network connection error, check industrial computer running state |
| Already started receiving data | Stop receiving state data first, then restart receiving |
| Controller cannot set sent state data | May be due to version mismatch, please contact technical support |
| Failed to set control command | May 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 data | Call 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 error | State data parsing failed, may be due to version mismatch, please contact technical support |
| Cannot receive motion error feedback | Data parsing failed, may be due to version mismatch, please contact technical support |
| xCore minimum version requirement | Upgrade controller version according to prompt information |
| SDK function not authorized | Contact technical support to authorize SDK function |
| Robot instance type does not match connected model | Create corresponding robot instance according to manual instructions |
| Local IPv4 address setting failed, cannot be 127.0.0.1 or robot address | Set correct local address |
| Pose initialization receives 6 or 16 parameters | Initializing trans&rpy should pass array of length 6; initializing pos (real-time mode Cartesian command) should pass array of length 16 |
| Failed to load model | Unless network connection issue, generally does not occur |
| xMate model library does not support this model | Refer to xMateModel class comments to see supported models |
| Already started motion, do not call repeatedly | Only one motion callback allowed at the same time, call stopMove before starting next motion |
| Did not call start motion | Call startMove first, then call startLoop |
| Setting mode error, failed to start motion | Unless 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 motion | Generally network connection issue |
| Industrial model only supports position control | Industrial model uses position control |
| Start and end elbow angle format different | Cartesian command hasElbow value inconsistent |
| Command and control mode inconsistent | Data type returned by callback function (JointPosition/CartesianPosition/Torque) should match control type |
| Failed to send command | Command data serialization failed, please contact technical support |
| Arc start/end/auxiliary point coincident | Adjust distance between arc start, auxiliary, end points |
| Arc path solving, three points collinear | Adjust arc start, auxiliary, end points |
| Arc path solving, three points angle too small | Adjust arc start, auxiliary, end points |
| Arc path solving, arc radius too small failed | Adjust distance between arc start, auxiliary, end points |
| Not initialized | FollowPosition default constructor needs to call init() function before use |
| Filter error, input data non-positive | Check command data, whether callback function returns unassigned command |
| Filter error, data to be filtered infinite | Check command data, whether callback function returns unassigned command |