错误码和异常说明
1 实时模式运动中报错
机器人在运动过程中会检测机器人状态,检测到异常会上报给SDK,用户可以通过以下20个错误位判断异常类型。
| 错误位 | 错误名称 | 错误原因 | 解决方法 |
|---|---|---|---|
| 0 | kActualJointPositionLimitsViolation | 实际轴角度超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 1 | kActualCartesianPositionLimitsViolation | 实际末端位姿超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 2 | kActualCartesianMotionGeneratorElbowLimitViolation | 实际臂角超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 3 | kActualJointVelocityLimitsViolation | 实际轴速度超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 4 | kActualCartesianVelocityLimitsViolation | 实际末端速度超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 5 | kActualJointAccelerationLimitsViolation | 实际轴加速度超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 6 | kActualCartesianAccelerationLimitsViolation | 实际末端加速度超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 7 | kCommandJointPositionLimitsViolation | 指令轴角度超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 8 | kCommandCartesianPositionLimitsViolation | 指令末端位姿超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 9 | kCommandCartesianMotionGeneratorElbowLimitViolation | 指令臂角超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 10 | kCommandJointVelocityLimitsViolation | 指令轴速度超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 11 | kCommandCartesianVelocityLimitsViolation | 指令末端速度超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 12 | kCommandJointAccelerationLimitsViolation | 指令轴加速度超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 13 | kCommandCartesianAccelerationLimitsViolation | 指令末端加速度超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 14 | kCommandJointAccelerationDiscontinuity | 指令轴加速度不连续 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 17 | kCommandTorqueDiscontinuity | 指令力矩不连续 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 18 | kCommandTorqueRange Violation | 指令力矩超限 | 检查规划轨迹是否连续可导,一般规划出来的轨迹需要做到速度和角速度连续可导,机器人运行不平稳或出现异响优先考虑轨迹是否平滑,必要时做额外的滤波处理。 |
| 15 | kCollision | 检测到碰撞 | 若频繁触发碰撞检测,应适当调高碰撞检测阈值,急停触发也有可能触发此报错 |
| 16 | kCartesianPositionMotionGeneratorInvalidFrame | 机器人奇异 | 笛卡尔空间运动时机器人不应该经过奇异位姿 |
| 19 | kInstabilityDetection | 检测到不稳定 | 1 检查丢包阈值是否过于低,一般设置为10~20;2 伺服报错,通常需要重启机器人;3 按下了急停开关也会触发此错误; |
2 错误码
非实时接口的调用结果通过错误码反馈,每个接口都会传入一个 std::error_code 类型的参数,可通过error_code::message() 来获取错误码对应的信息。
| 数值 | 错误信息 | 原因及处理方法 |
|---|---|---|
| 0 | 操作成功完成 | 无 |
| -1 | 发生错误 | 可能由于未识别的错误码,请反馈技术支持人员 |
| -3 | 机器人急停按钮被按下,请先恢复 | 恢复急停状态 |
| -16 | 该操作不允许在当前模式下执行(手动/自动),请切换到另一个模式 | 切换手动、自动模式 |
| -17 | 该操作不允许在当前上下电状态下执行 | 切换上下电状态 |
| -18 | 该操作不允许在机器人当前运行状态下执行 | 机器人非空闲,可能处于拖动/实时模式控制/辨识中等 |
| -19 | 该操作不允许在当前控制模式(位置/力控)下执行 | 切换位置控制/力控 |
| -20 | 机器人运动中 | 停止机器人运动 |
| -32 | 计算逆解错误 | 传入正确位姿 |
| -33 | 逆解是奇异点 | 规避奇异点 |
| -34 | 逆解超出机器人软限位 | 检查软限位设置时候合适,传入限位内位姿 |
| -35 | 目标点超出运动范围 | 传入可达点位 |
| -36 | 目标点超出运动范围 | 传入可达点位 |
| -37 | 单步距离过大,无法计算逆解 | 传入可达点位 |
| -38 | 配置数据 cfx 错误逆解无解 | 检查 conf data |
| -39 | 输入数据错误,无法计算逆解 | 传入可达点位 |
| -40 | 逆解参考点是奇异点 | 传入可达点位 |
| -41 | 算法失效,无法计算逆解 | 可能由于控制器计算问题,请反馈技术支持人员 |
| -257 | 通信协议解析失败 | 请反馈技术支持人员 |
| -258 | 未找到匹配的数据名称 | 可能由于控制器和 SDK 版本不适配 |
| -259 | 未找到匹配的指令名称 | 可能由于控制器和 SDK 版本不适配 |
| -260 | 数据值错误,可能是通信协议不匹配 | 可能由于控制器和 SDK 版本不适配 |
| -272 | 未找到要查询的数据名称 | 可能由于控制器和SDK 版本不适配 |
| -273 | 数据不可读 | 可能由于控制器和 SDK 版本不适配 |
| -288 | 数据不可写 | 可能由于控制器和 SDK 版本不适配 |
| -289 | 设置数据失败 | 设置的数据不合理 |
| -290 | 设置数据失败 | 设置的数据不合理 |
| -291 | 监控数据失败 | 不会发生 |
| -292 | 数据已被监控,不支持重复监控 | 不会发生 |
| -320 | 指令执行未完成 | 不会发生 |
| -337 | 录制的路径过短,数据点不足,请重新录制 | 增长录制时间重新录制 |
| -338 | 录制的路径中存在超过关节软限位的情况。请重新录制 | 在软限位内拖动 |
| -339 | 录制的路径中存在关节速度过快的情况,请重新录制 | 放慢拖动动作 |
| -340 | 未从机器人静止状态开始录制路径 | 机器人静止时再开始录制 |
| -341 | 停止录制路径时机器人未停止运动 | 机器人静止时再停止录制 |
| -342 | 机器人处于下电状态,保存路径失败 | 机器人上电 |
| -352 | 缓冲区不存在有效的路径,请录制 | 先录制路径再保存 |
| -353 | 保存路径到磁盘失败 | 重新录制拖动轨迹,或重启机器人 |
| -513 | 切换手动/自动操作模式失败 | -停止机器人运动 -恢复急停 -关闭拖动 |
| -514 | 上下电失败 | -恢复急停 -清除伺服报警 |
| -515 | 打开/关闭拖动失败,请检查机器人是否处于下电 | 机器人手动模式下电时打开拖动 |
| -10005 | 标定中,或标定时重置负载失败 | -等待标定完成 -正确设置负载 |
| -10030 | 未打开仿真模式或信号不存在 | 打开仿真模式后再设置 DI /AI |
| -10040 | 开始拖动失败,正确设置负载并标定力矩传感器 | 正确地设置工具负载质量和质心;设置完成后执行力矩传感器标定 |
| -10051 | 软限位超出机械限位 | 设置机械限位内的软限位 |
| -10065 | 同步 NTP 时间失败 | -安装好 NTP 功能 -确认服务端 NTP 功能可用,确认 IP 地址正确 |
| -10101 | IP 地址非法 | 检查是否符合 IPv4 地址格式 |
| -10079 | 力控模块处于错误状态 | 触发了力控保护,请检查力控模式下机器人状态是否正常,并设置合理的力控保护参数 |
| -10141 | 负载质量超过了机器人额定负载 | 使用并设置额定负载范围内的负载 |
| -14010 | 已绑定为系统 IO | - 取消绑定改信号为系统 IO - 使用其它信号 |
| -14501 | DO 信号不存在或为系统输出 | 检查 DO 信号是否已创建 |
| -17001 | 读取寄存器错误 | - 检查寄存器是否创建 - 是否超数组下标 - 用匹配的数据类型读取 |
| -17002 | 写寄存器错误 | - 检查寄存器是否创建 - 是否超数组下标 - 或用匹配的数据类型写入 |
| -17320 | 执行过 RL 程序,需要重置运动缓存后再开始运动 | 调用 moveReset 重置 |
| -17407 | 开启导轨需关闭安全区域 | 关闭安全区域功能 |
| -28672 | 实时模式网络错误 | - 本机 IP 地址不能为 localhost 或机器人地址 - 存在端口占用情况,请检查 RCI 设置-端口 |
| -28688 | 切换运动控制模式失败 | - 停止机器人运动 - 重启控制器 |
| -28689 | 该频率不支持 | 状态数据发送频率支持 1kHZ,500Hz,250Hz,125Hz |
| -28705 | 已经开始运动 | 停止运动后再开始 |
| -28706 | 无法执行该操作,可能由于机器人未处于空闲状态 | 停止机器人运动 |
| -28707 | 起始位置为奇异点 | 运动机器人到非奇异点 |
| -28708 | 参数错误 | 重新设置数据 |
| -28709 | 机器人处于碰撞停止 | 上电恢复碰撞状态 |
| -28710 | 机器人处于急停状态 | 恢复急停 |
| -28711 | 请求被拒绝 | 阻抗控制时多由于力控模型偏差,重新标定力矩传感器并设置正确的负载 |
| -41400 | 尚有力控指令未完成 | 等待前序力控指令执行完毕 |
| -41419 | TCP 长度超限,力控初始化失败 | 末端工具长度限制为 0.3m |
| -41420 | 未进行力控初始化;或未正确设置负载;或力控模型偏差较大 | - 标定零点、力矩传感器; - 设置正确的负载质量和质心; - 检查基坐标系是否正确设置; - 开启拖动时机器人没有收到外力 |
| -41421 | 停止力控失败,当前不处于力控运行状态 | 机器人不处于力控状态 |
| -41422 | 重新开启力控失败 | 先暂停或停止力控,再重新开启 |
| -41425 | 非阻抗控制模式,或搜索运动在运行中 | - 保证当前处于阻抗模式下,且搜索运动处于停止状态 - 请检查参数设置 |
| -41426 | 非阻抗控制模式,或搜索运动在运行中 | -保证当前处于阻抗模式下,且搜索运动处于停止状态 - 请检查参数设置 |
| -41427 | 当前不处于笛卡尔阻抗控制模式或未设置搜索运动 | 检查控制模式指令,设置搜索运动参数后再尝试 |
| -41428 | 当前不处于笛卡尔阻抗控制模式或未开始搜索运动 | 请保证搜索运动已开启且处于笛卡尔阻抗运行状态 |
| -41429 | 当前未处于笛卡尔阻抗模式或搜索运动未暂停 | 暂停当前的力控任务并检查控制模式,切换到笛卡尔阻抗控制模式后再尝试 |
| -41430 | 不支持的阻抗控制类型或力控坐标系 | 停止当前的力控任务并重新参数初始化 |
| -41431 | 当前未处于关节阻抗控制模式或未初始化 | 运行力控前设置轴空间阻抗控制模式 |
| -41432 | 当前未处于笛卡尔阻抗控制模式或未初始化 | 运行力控前设置笛卡尔阻抗控制模式 |
| -41433 | 当前未处于笛卡尔阻抗控制模式或未初始化 | 检查当前的阻抗控制模式后再进行尝试。确保力值输入正确,且设定笛卡尔阻抗控制模式 |
| -41434 | 关节期望力超过限制 | 检查当前的阻抗控制模式后再进行尝试。确保期望力值输入正确,且设定轴空间阻抗控制模式 |
| -41435 | 笛卡尔空间期望力超过限制 | 检查当前的阻抗控制模式后再进行尝试。确保期望力值输入正确,且设定笛卡尔阻抗控制模式 |
| -41442 | 机器人不满足软限位要求,开启力控失败 | 请确认机器人开启阻抗时机器人在软限位内 |
| -41444 | 阻抗刚度设置失败,数值不合理或当前状态不能设置刚度 | 请重新设置阻抗刚度数值在合理范围内 |
| -41448 | 力控过程中下电,初始化失败 | 重新上电并执行力控初始化 |
| -41449 | 力控指令尚未执行完毕,初始化失败 | 力控指令发送太频繁,请增加退出力控到重新开启之间的时间 |
| -41457 | 执行过力控停止,需要重新开始 | 执行力控初始化 |
| -41459 | 处于力控模式,不允许执行的操作 | 停止力控后再回放路径 |
| -50000 | 两条轨迹夹角过小或长度过短,转弯区无法生成 | -增大前后两条轨迹夹角; -增大前后两条轨迹长度; -增大转弯区数值 |
| -50001 | 控制器状态错误,无法生成轨迹 | 调用 moveReset() 重置 |
| -50002 | 目标点超出运动范围,或为奇异点 | - 检查目标点位置; - 用关节方式移动机器人 - 检查confdata 配置 |
| -50003 | 相邻两个目标点过近 | 检查相邻两条运动指令的目标点是否是同一个点 |
| -50004 | 无法生成圆弧,起始点和目标点距离过近 | 调整圆弧起点或终点点位之间的距离 |
| -50005 | 无法生成圆弧,起始点和辅助点距离过近 | 调整圆弧起点或辅助点点位之间的距离 |
| -50006 | 无法生成圆弧,辅助点和目标点距离过近 | 调整圆弧终点或辅助点点位之间的距离 |
| -50007 | 无法生成圆弧,起始点/辅助点/目标点距离过近 | 调整圆弧起点、辅助点、终点点位间之间的距离 |
| -50008 | 无法生成圆弧,点位在一条直线 | 调整圆弧起点、辅助点、终点点位之间的距离 |
| -50009 | 无法生成圆弧,半径过小 | 调整圆弧起点、辅助点、终点点位之间的距离 |
| -50010 | 无法生成圆弧 | 调整圆弧起点、辅助点、终点点位之间的距离或方位 |
| -50019 | 生成轨迹失败 | 重新调整目标点的位置、姿态和臂角(仅 7 轴机器人需要考虑臂角) |
| -50021 | 指定 conf 参数下目标点无解,请检查数值或不设置 confData | -调用 setDefaultConfOpt(false)取消 confdata - 重新示教点位,传入正确的 confdata |
| -50027 | 轨迹短于最小转弯区半径,自动拼接路径 | - 该轨迹需要前后都衔接转弯区,但是轨迹长度小于最小转弯区半径的两倍; - 该轨迹设定衔接一条转弯区,但是轨迹长度小于最小转弯区半径。 该功能可以使得运动更平滑,如想关闭该功能,可将最小转弯区半径设为0 |
| -50033 | 机器人处于锁轴状态,目标点锁轴角度发生了偏离,请调整目标点或关闭锁轴状态 | 调整轨迹目标点或者关闭锁轴指令,锁轴状态下四轴角度要求为 0 度或 180 度或 -180 度 |
| -50034 | 锁轴状态下或 5 轴机型无法到达目标点 | 6 轴机型在锁轴状态下或 5 轴机型无法到达目标点,请更改点位或关闭锁轴 |
| -50101 | 轴角度超出运动范围,尝试取消软限位后恢复各轴到允许的范围内 | - 取消软限位 - 手动将机器人各轴移动到正常的工作范围内 |
| -50102 | 存在穿越奇异点的轨迹 | - 请规避奇异点 - 重新示教点位,更换目标点; - 将笛卡尔空间运动指令改为关节空间运动指令 |
| -50103 | 笛卡尔路径终点不符合给定的 ConfData | - 调用 setDefaultConfOpt(false)不使用 confdata - 改为 MoveJ 或 MoveAbsJ - 更改目标点 confdata |
| -50104 | 关节力矩超限 | - 检查负载数值是否符合实际负载情况 - 检查机器人摩擦力系数、电机过载系数、传动过载系数等参数 - 尝试更换指令形式,例如将笛卡尔空间指令更换为关节空间指令 |
| -50112 | 位姿有误计算逆解失败 | - 重新示教位姿 - 如果当前机型为三轴或者四轴机器人,请检查输入位姿与当前机型特征是否相符 - 如果使用了 setAvoidSingularity(lock4axis),请检查目标是是否符合锁轴要求 |
| -50113 | 改变的姿态超过设定的阈值 | - 请规避奇异点 - 重新设置奇异规避姿态改变的阈值 |
| - 重新示教点位,更换目标点 - 使用其他方式的奇异规避 | ||
| -50114 | 前瞻中轴运动超出运动范围,提前停止运动 | - 取消软限位 - 手动将机器人各轴移动到正常的工作范围内 |
| -50115 | 轨迹前瞻过程中遇到奇异点 | - 请规避奇异点 - 重新示教点位,更换目标点 - 更换 Jog 方式,尝试轴空间 Jog - 将笛卡尔空间运动指令改为关节空间运动指令 |
| -50118 | 改变姿态后求解的终点与所需要终点不一致 | - 请规避奇异点 - 重新示教点位,更换目标点 - 更换奇异规避方式 |
| -50120 | 奇异规避下搜索路径终点角度失败 | - 请规避奇异点 - 重新示教点位,更换目标点 - 更换奇异规避方式 - 如果 Conf 开启,可以关闭 Conf |
| -50121 | 奇异规避下搜索路径终点角度失败 | - 请规避奇异点 - 重新示教点位,更换目标点 - 更换奇异规避方式 |
| -50204 | 规划过程中采样点不足,请重新运行 | 工控机状态不稳定,重新运行或尝试重启 |
| -50205 | 相邻位置指令相差过大 | - 重新示教轨迹目标点位 - 尝试更改指令形式,例如 MoveL 改为MoveJ |
| -50208 | 内部轨迹错误 | - 请调用 moveReset() 重置运动指令缓存 - 增大或减小转弯区 |
| -50401 | 检测到碰撞 | - 请检查机器人运行环境,确认人员、设备安全后,重新上电,再恢复运行 - 检查当前工具设置是否与实际一致,设定的工具质量质心是否合理 |
| -50501 | 工具工件坐标系设置失败,可能由于工具或工件不存在 | 设置已创建的工具工件,且分别为手持和外部 |
| -50512 | 轴数不匹配 | 轴空间 Jog 的下标参数不能超出轴数 + 外部轴数 |
| -50513 | 速度设置无效,机器人无法运动 | 传入 0.01 ~ 1 范围内的速度参数 |
| -50514 | 步长设置无效,机器人无法运动 | 传入大于 0 的步长参数 |
| -50515 | 参考坐标系设置无效,机器人无法运动 | 传入支持的坐标系类型参数 |
| -50516 | 运动轴设置无效,机器人无法运动 | 按照说明传入 index 参数 |
| -50518 | 运动失败,目标点可能是当前点 | 目标点位可能是当前点 |
| -50519 | 生成轨迹失败,目标点位可能超出机器人工作范围 | 请在机器人正常工作范围内,重新示教点位 |
| -50525 | 该机型不支持奇异规避模式运动,或机器人锁轴失败,4 轴角度不为 0 不运行运动,请调整 4 轴角度 | 调整四轴角度至 0 或者正负 180 度 |
| -60005 | RL 工程或指定任务不存在 | 运行已创建的工程和任务 |
| -60014 | 控制器当前状态不允许开始运动 | 确保机器人上电并处于空闲中 |
| -60200 | 负载信息错误,设置失败 | - 负载信息错误,请检查负载重量是否超过额定负载,质心不超过 0.3m - 力控不支持外部工具或手持工件 |
| -60511 | 路径不存在 | 使用已保存的回放路径 |
| -60611 | 正在生成诊断数据不能运动,请等待 | 等待 10 秒后再次尝试启动 |
| -60702 | 当前四轴角度不为 0 ,不允许切换到四轴固定模式,或机型不支持 | 请检查第四轴当前角度是否为 0° 或 180° |
| -60704 | 不满足牺牲姿态奇异规避的开启条件 | 请检查当前状态是否满足牺牲姿态奇异规避开启状态 |
| -60706 | 不满足轴空间插补奇异规避的开启条件 | 请检查当前状态是否满足轴空间插补奇异规避开启状态 |
| 256 | 网络连接错误 | - 工控机未开机 - 机器人地址错误,或未处于同一局域网 - 实例类型错误或 SDK 未授权,连接被拒绝 |
| 255 | 未初始化连接机器人 | 一般不会发生,正常构造 Robot 类实例即可 |
| 257 | 无法解析机器人消息,可能由于 SDK 版本与控制器版本不匹配 | 可能由于控制器和 SDK 版本不适配 |
| 258 | 参数错误,数值超出范围 | 按照函数说明检查参数数值范围 |
| 259 | 参数错误,参数类型或个数错误 | 按照函数说明检查参数类型或数组长度 |
| 260 | 不是合法的变换矩阵 | 检查传入参数是否符合其次变换矩阵要求 |
| 261 | 数组元素个数与机器人轴数不符 | 传入和机器人轴数一致的数组长度 |
| 262 | 运动控制模式错误,请切换到正确的模式 | 根据实际情况调用 setMotionControlMode 切换模式 |
| 263 | 超时前未收到机器人回复,可能由于网络通信问题 | 检查网络连接状态,或反馈技术支持人员 |
| 264 | 重复操作 | 碰撞检测已打开,需要先关闭 |
| 265 | 通过 UDP 端口接收数据失败,请检查网络及防火墙配置 | - 检查本机地址设置是否正确 - 检查防火墙设置,是否允许 UDP 连接 |
| 266 | 客户端校验失败,请检查控制器版本,授权状态和机器人型号 | - 按照手册或 README 将控制器升级到匹配版本 - 创建类型匹配的机器人实例 - 联系技术支持人员授权SDK 功能 |
| 272 | 事件未监听 | 先调用 setEventWVatcher 开始监听数据 |
| 273 | 点位距离过近,坐标系标定失败 | 参考《xCore 控制系统使用手册》工具工件标定方法,重新标定 |
| 512 | IP 地址或端口设置错误,或端口被占用 | - 本机 IP 地址不能为 localhost 或机器人地址 - 存在端口占用情况,请检查 RCI 设置-端口 |
| 513 | 设置了不支持的字段,或总长度超出限制 | 支持的字段见 RtSupportedFields,总长度限制为 1024 字节 |
| 768 | 没有可执行的运动指令 | 先调用 moveAppend 下发运动指令,再开始运动 |
| 769 | 机器人停止中或当前状态无法暂停 | 可能由于调用 stop(前刚刚手动模式下电,或者按下急停,控制器正在响应停止中,请等待 |
3 异常
实时模式下发送运动指令、周期调度、读取状态数据等接口在调用过程中会抛出异常,异常类型见 rokae/exception.h 。
| 异常信息 | 原因及处理方法 |
|---|---|
| 运动控制模式错误,非实时模式 | - 调用 setMotionControlMode(RtCommandMode) 切换模式- 前一次阻抗控制发生错误,控制器切回到非实时模式,需重新打开 |
| 创建实时控制客户端失败 | 网络连接错误,检查工控机运行状态 |
| 已开始接收数据 | 先停止接收状态数据,再重新开始接收 |
| 控制器无法设置发送的状态数据 | 可能由于版本不匹配,请反馈技术支持人员 |
| 设置控制指令失败 | 可能由于版本不匹配,请反馈技术支持人员 |
| UDP socket 打开失败.提供了一个无效的参数 | 机器人连接时没有填入本机地址。如xMateRobot(remoteIp, localIp); |
| UDP socket 打开失败.在其上下文中,该请求的地址无效. | 绑定本机地址失败, 检查本机地址是否正确,是否和机器人处于同一局域网内 |
| 控制器无法发送机器人状态信息. | 控制器 UDP 端口设置出错,请反馈技术支持人员查看控制器日志 |
| 未开始接收数据 | 调用 startReceiveRobotState 开始接收数据 |
| 超时前未收到机器人状态反馈,请检查网络配置 | - 检查本机地址设置是否正确’ - 检查防火墙设置,是否允许 UDP 连接 |
| 接收机器人状态数据错误 | 状态数据解析失败,可能由于版本不匹配,请反馈技术支持人员 |
| 无法收到运动错误反馈 | 数据解析失败,可能由于版本不匹配,请反馈技术支持人员 |
| xCore 最低版本要求 | 按照提示信息升级控制器版本 |
| 未授权 SDK 功能 | 联系技术支持人员授权 SDK 功能 |
| 机器人实例类型与连接的机型不符 | 按照手册说明创建对应的机器人实例 |
| 本机 IPv4 地址设置失败,不能为 127.0.0.1 或机器人地址 | 设置正确的本机地址 |
| 位姿初始化接收 6 或 16 个参数 | 初始化 trans&rpy 应传入长度为 6 的数组;初始化 pos (实时模式笛卡尔指令)应传入长度为 16 的数组 |
| 加载模型失败 | 除非网络连接问题,一般不会出现 |
| xMate 模型库暂不支持的机型 | 请参考 xMateModel 类注释,查看支持的机型 |
| 已经开始运动,请勿重复调用 | 同时只允许一个运动回调运行,调用 stopMove 之后再开始下一段运动· |
| 未调用开始运动 | 先调用 startMove,再调用 startLoop |
| 设置模式错误,开始运动失败 | 除非网络连接问题,一般不会出现 |
| 开始运动失败 | - 确保机器人空闲,未处于急停等非正常使用的状态 |
| - 多出现于阻抗控制,请标定零点、力矩传感器,并正确设置负载后再次尝试 - 或将完整异常信息反馈技术支持人员。 | |
| 停止运动失败 | 一般是网络连接问题 |
| 工业机型仅支持位置控制 | 工业机型使用位置控制 |
| 起点和终点的臂角格式不一样 | 笛卡尔指令 hasElbow 值不一致 |
| 指令和控制模式不一致 | 回调函数返回的数据类型(JointPosition/CartesianPosition/Torque )应和控制类型匹配 |
| 发送指令失败 | 指令数据序列化失败,请反馈技术支持人员 |
| 圆弧起点/终点/辅助点重合 | 调整圆弧起点、辅助点、终点点位之间的距离 |
| 圆弧路径求解时,三点共线 | 调整圆弧起点、辅助点、终点 |
| 圆弧路径求解时,三点夹角过小 | 调整圆弧起点、辅助点、终点 |
| 圆弧路径求解时,圆弧半径过小失败 | 调整圆弧起点、辅助点、终点点位之间的距离 |
| 未初始化 | FollowPosition 默认构造需要调用 init() 函数之后在使用 |
| 滤波错误,输入数据非正数 | 检查指令数据,回调函数是否返回了未赋值的指令 |
| 滤波错误,需滤波数据无限大 | 检查指令数据,回调函数是否返回了未赋值的指令 |