机械臂异常查看以及处理方法

当机械臂未成功执行运动指令时,可以在python终端中查询到对应的异常信息, 例如

读取机器人状态

状态反馈解析

正常情况下此接口反馈全0,读取机器人状态如下:

from pymycobot import Pro450Client

pro450 = Pro450Client('192.168.0.232', 4500)

if pro450.is_power_on() !=1:
    pro450.power_on()  # 上电

pro450.get_robot_status() #读取机器人状态

返回:

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

表示机器人未在运动,无关节超限,无关节硬件报错、无关节软件报错

各个值完整解析如下:

[保留,是否正在运动,J1是否超限,J2是否超限,J3是否超限,J4是否超限,J5是否超限,J6是否超限,J1是否电机硬件报错,J2是否电机硬件报错,J3是否电机硬件报错,J4是否电机硬件报错,J5是否电机硬件报错,J6是否电机硬件报错,J1是否软件通信报错,J2是否软件通信报错,J3是否软件通信报错,J4是否软件通信报错,J5是否软件通信报错,J6是否软件通信报错]

案例如下:

[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0]

表示机器人在运动时报错,J4报控制错误。

[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

表示机器人J2超限。

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0]

表示机器人J5线路异常--接收报错

异常解决

关节超限

关节超限时,可使用以下解决方法之一:

  • 执行超限回零接口:
pro450.over_limit_return_zero() #机器人会以较慢速度回到原点
  • 执行关节放松,手动将关节移动到限位内
pro450.set_motor_enable(254, 0)

关节硬件报错

大部分硬件报错可以使用异常恢复

pro450.servo_restore(joint_id)

若使用异常恢复或者机器人重启后,仍然频繁出现此问题,请联系我方工程师,具体各关节硬件详细报错:

比特位(2字节) 错误状态
0 CAN总线错误,可使用异常恢复,无法恢复时,检查通信线路,修复后重新通电使能
1 短路,可使用异常恢复
2 无效的设置数据
3 控制错误,可使用异常恢复
4 CAN通信错误,可使用异常恢复,无法恢复时,检查通信线路,修复后重新通电使能
5 反馈错误,可使用异常恢复
6 正限位开关激活
7 负限位开关激活
8 负限位开关激活
9 过流,可使用异常恢复
10 12t保护,可使用异常恢复过温,可使用异常恢复
11 驱动板过温,可使用异常恢复
12 过压,可使用异常恢复
13 欠压,可使用异常恢复
14 命令错误
15 启用处于非活动状态

关节软件报错

软件上的错误反馈主要为:线路异常、can模块异常、编码器异常、掉使能等,当出现掉使能,请使用pro450.set_motor_enable(254, 1)上使能再运动,其它异常,请联系我方工程师,具体各关节软件详细报错:

比特位(1字节) 错误状态 1-异常 0-正常
0 Can初始化异常,需检查主控板。修复控制板异常后,掉电再上电。表现:机器无法使能、控制等
1 电机初始化异常,需检查电机通信线路等修复异常后,掉电再上电。表现:机器无法正常反馈关节信息、控制等
2 电机发送异常,需检查电机通信线路等,表现:机器位置反馈等异常;可使用异常恢复清除。
3 电机接收异常,需检查电机通信线路等,表现:机器位置反馈等异常:可使用异常恢复清除。此反馈可正常控制机器,无需提示用户,主要用于排查异常
4 位置超差,需检查电机编码器等,表现机器掉使能,无法运动控制:可使用异常恢复清除。
5 末端发送异常,需检查末端通信线路等,表现:未端接口反馈异常;可使用异常恢复清除。
6 末端接收异常,需检查末端通信线路等,表现:未端接口反馈异常:可使用异常恢复清除。此反馈可正常控制机器,无需提示用户,主要用于排查异常
7 电机编码器报错,编码器报错时,不可运动,需要清除编码器报错。旧版电机驱动板无报错-即使报了编码器错误,软件无法反馈异常。如何区分新1日:板子上带电池的为新驱动板。
8 掉使能会反馈,运动前机器必须是使能状态

机器人处于运动状态,机器人无法运动

机器人处于运动状态,发送运动点位不响应,请先将机器人运动停止,执行pro450.stop()pro450.resume(),如仍然无法继续运动,请联系我方工程师。


← 上一页 | 下一节 →

results matching ""

    No results matching ""