基于通信协议包开发使用

通信设置

网口TCP/IP

  • 总线接口:千兆网口
  • IP:静态IP:192.168.0.232;wifi或者动态ip请看屏幕connection界面
  • 端口:4500

    485modbus

  • 总线接口:底部485
  • 波特率:115200
  • 数据位: 8
  • 奇偶校验:无
  • 停止位: 1

机械臂运动和速度参数表

关节 关节最小值(°) 关节最大值(°) 关节最大速度(°/s) 关节最大加速度(°/s²)
J1 -162 162 150 200
J2 -125 125 150 200
J3 -154 154 150 200
J4 -162 162 150 200
J5 -162 162 150 200
J6 -165 165 150 200
坐标 坐标最小值(mm) 坐标最大值(mm) 坐标最大速度(mm/s) 坐标最大加速度(mm/s²)
x -466 466 200 400
y -466 466 200 400
z -150 677 200 400
rx/ry/rz -180° 180° 40°/s 66°/s²


网口TCP/IP指令介绍

收发格式

发送和接收都以十六进制表示,每条指令包含5个部分,如下所示:
[帧头][帧头][长度][功能码][数据][校验码-高字节][校验码-低字节]
1、帧头2字节:0xFE 0XFE
2、有效长度1字节:3-N,长度从功能码开始,校验码结束
3、功能码1字节:1-255
4、数据位:0-N,高字节在前
5、帧尾:crc16-modbus,高字节在前

  • 所有指令都有第一层接收反馈,位置模式控制有到位反馈。

基础控制

  1. 读取主控版本号
    功能码: 02
    发送数据位:无
    反馈数据位:版本号-1字节,需要/10.0
    发送指令:FE FE 03 02 0D D1
    反馈指令例如:FE FE 04 02 0A 51 7D, 此时版本号为V1.0

  2. 读取末端版本号
    功能码:09
    发送数据位:无
    反馈数据位:字节1:版本号,需要/10.0

  3. 启动机器人
    功能码:0x10
    发送数据位:无
    反馈数据位:字节1:启动状态,0-2;0-启动失败 1-启动成功 2-急停被拍下

  4. 关闭机器人
    功能码:0x11
    发送数据位:无
    反馈固定数据位:字节1-2: 0xFF 0x01
    反馈指令:FE FE 05 11 FF 01 E8 EC

  5. 读取机器人启动状态
    功能码:0x12
    发送数据位:无
    反馈数据位:字节1:启动状态,0-2;0-启动失败 1-启动成功 2-急停被拍下

  6. 读取零位校准状态
    功能码:0x5A
    发送数据位:无
    反馈数据位:字节1:0/1;整机零位校准状态 字节2-7: 1X6关节零位校准状态

  7. 开关modbus通信
    功能码:0x6A
    发送数据位:字节1:0/1 1-打开,0-关闭 默认关闭
    开modbus发送指令:FE FE 04 6A 01 9D 92 反馈固定数据位:字节1-2: 0xFF 0x01

  8. 读取modbus通信状态
    功能码:0x6B
    发送数据位:无
    反馈数据位:字节1:状态0/1 1-打开,0-关闭

运动控制

  • 运动控制速度范围:1-100,实际速度百分比请看上方机械臂运动和速度参数表
  • 运动模式:位置插补、刷新打断、力矩,仅位置插补下有运动到位反馈
  • 到位反馈数据:FE FE 04 5B 状态 CRC-高 CRC-低;运动正常指令:FE FE 04 5B 00 CD 46 运动异常指令-J6超限:FE FE 04 5B 06 CF C6
  • 全关节角度控制
    功能码:0x22
    发送数据位:字节1-12:2X6关节角度(角度*100.0) 字节13:速度
    [90, 10, -90, 45, 80, -100],运行速度50%,发送指令:FE FE 10 22 23 28 03 E8 DC D8 11 94 1F 40 27 10 32 E3 57
    第一层反馈固定数据位:字节1-2: 0xFF 0x01
    第二层到位反馈:仅插补运动模式有,FE FE 04 5B 00 CD 46

  • 单关节角度控制
    功能码:0x21
    发送数据位:字节1:关节; 字节2-3:角度(角度*100.0) 字节4:速度
    J1运动到50°,运行速度10%,发送指令:FE FE 07 21 01 13 88 0A 82 7A
    第一层反馈固定数据位:字节1-2: 0xFF 0x01

  • 读取全关节角度
    功能码:0x20
    发送数据位:无
    反馈数据位:字节1-12:2X6关节角度(角度/100.0)
    [90, 10, -90, 45, 80, -100]反馈指令:FE FE 10 20 23 28 03 E8 DC D8 11 94 1F 40 27 10 32 21 54

  • 全坐标控制
    功能码:0x25
    发送数据位:字节1-12:2X6坐标(XYZ10.0,RXRYRZ100.0) 字节13:速度
    第一层反馈固定数据位:字节1-2: 0xFF 0x01

  • 单坐标控制
    功能码:0x24
    发送数据位:字节1:坐标轴; 字节2-3:坐标(XYZ10.0,RXRYRZ100.0) 字节4:速度
    第一层反馈固定数据位:字节1-2: 0xFF 0x01

  • 读取全坐标
    功能码:0x23
    发送数据位:无
    反馈数据位:字节1-12:2X6坐标(XYZ/10.0,RXRYRZ/100.0)

  • 读取机器人运动状态
    功能码:0x2B
    发送数据位:无
    反馈数据位:字节1:运动状态0/1,0-未运动;1-运动中

  • 检测机器人是否到达点位
    功能码:0x2A,误差精度角度为1°内,坐标为2mm内
    发送数据位:字节1-12:26关节角度/坐标(角度100.0,坐标XYZ10.0,RXRYRZ100.0);字节13:模式1/2 1-角度 2-坐标
    反馈数据位:字节1:到位状态0/1 0-未到位,1-到位

  • 运动暂停
    功能码:0x26
    发送数据位:无
    反馈固定数据位:字节1-2: 0xFF 0x01

  • 运动恢复
    功能码:0x28
    发送数据位:无
    反馈固定数据位:字节1-2: 0xFF 0x01

  • 运动结束
    功能码:0x29
    发送数据位:无
    反馈固定数据位:字节1-2: 0xFF 0x01

  • 检测运动是否暂停
    功能码:0x27
    发送数据位:无
    反馈数据位:字节1:暂停状态0/1,0-未手动暂停;1-已暂停

  • 关节持续运动
    功能码:0x30
    发送数据位:字节1:关节; 字节2:方向0/1 0-反转 1-正转 字节3:速度
    第一层反馈固定数据位:字节1-2: 0xFF 0x01

  • 坐标持续运动
    功能码:0x32
    发送数据位:字节1:坐标轴; 字节2:方向0/1 0-反转 1-正转 字节3:速度
    第一层反馈固定数据位:字节1-2: 0xFF 0x01

  • RPY旋转
    功能码:0xF5
    发送数据位:字节1:模式1-3 1-翻滚角 2-俯仰角 3-偏航角; 字节2:方向0/1 0-反转 1-正转 字节3:速度
    第一层反馈固定数据位:字节1-2: 0xFF 0x01

  • 关节步进控制
    功能码:0x33
    发送数据位:字节1:关节; 字节2-3:步进值*100.0 字节3:速度
    第一层反馈固定数据位:字节1-2: 0xFF 0x01

  • 坐标步进控制
    功能码:0x34
    发送数据位:字节1:坐标轴; 字节2-3:步进值(XYZ10.0,RXRYRZ100.0) 字节4:速度
    第一层反馈固定数据位:字节1-2: 0xFF 0x01

  • 计算运动学逆解
    功能码:0x8D
    发送数据位:字节1-12:2X6关节当前角度 字节13-26:2X6目标坐标值
    反馈数据位:字节1-24:4X6关节角度(/100.0)

  • 启动拖动示教
    功能码:0x70
    发送数据位:无
    反馈数据位:0xFF 0x01

  • 暂停采样
    功能码:0x72
    发送数据位:无
    反馈数据位:0xFF 0x01

  • 执行示教点位
    功能码:0x71
    发送数据位:无
    反馈数据位:0xFF 0x01

  • 清除采样点
    功能码:0x73
    发送数据位:无
    反馈数据位:0xFF 0x01

  • 查询碰撞检测模式
    功能码:0xFD
    发送数据位:无
    反馈数据位:字节1:0/1,1-open 0-close

  • 设置碰撞检测模式
    功能码:0x74
    发送数据位:1-open 0-close 开启碰撞检测后,机械臂在运动过程中发生持续(>200ms)且超出碰撞阈值的碰撞时会自动停下
    反馈数据位:0xFF 0x01

  • 设置碰撞阈值
    功能码:0x75
    发送数据位:
    字节 1: joint range:(1-6) 字节 2:radio range:(50-250)%
    可以设置关节的碰撞阈值,默认为100%,该数值越小越容易触发碰撞
    反馈数据位:0xFF 0x01

  • 获取碰撞阈值
    功能码:0x76
    发送数据位:无
    反馈数据位:
    字节1-6:全关节碰撞阈值

  • 设置力矩补偿系数
    功能码:0x77
    发送数据位:
    字节 1: joint range:(1-6)
    字节 2:radio range:(0-250)% 力矩环的摩擦力补偿系数,默认为0,系数越大越容易拖动
    字节 3: damping: 0-close 1-open 阻抗开关,默认关闭,开启后会增加阻尼,阻尼越大越难拖动
    反馈数据位:0xFF 0x01

  • 获取力矩补偿系数
    功能码:0x78
    发送数据位:无
    反馈数据位:
    字节1-6:全关节力矩补偿系数
    字节7-12:全关节阻抗开关

  • 执行动力学辨识轨迹
    功能码:0xF8
    发送数据位:字节1:rank(0-1) 0:辨识轨迹 1:低速辨识轨迹
    反馈数据位:0xFF 0x01
    执行辨识轨迹,全时长24s,动作幅度较大注意安全 使用前需先fourier_trajectories(1)执行低速轨迹确认安全范围,待低速执行完毕后执行正常速度fourier_trajectories(0)

  • 动力学参数辨识
    功能码:0x97
    发送数据位:无
    反馈数据位:0xFF 0x01
    一键辨识,需先执行动力学辨识轨迹生成identify_data.log文件,辨识耗时五分钟,辨识完成后会自动计算辨识精度,若精度达标则自动写入dynamic_paremeters.log文件

  • 圆弧轨迹运动
    功能码:0x8C
    发送数据位:
    圆弧途经点transpoint 圆弧结束点endpoint
    字节1-2:transpoint.x(10) 字节3-4:transpoint.y
    字节5-6:transpoint.z 字节7-8:transpoint.rx(
    100)
    字节9-10:transpoint.ry
    字节11-12:transpoint.rz 字节13-14:endpoint.x(10)
    字节15-16:endpoint.y 字节17-18:endpoint.z
    字节19-20:endpoint.rx(
    100) 字节21-22:endpoint.ry
    字节23-24:endpoint.rz
    字节25:speed(1-100)
    反馈数据位:0xFF 0x01
    根据机械臂当前位置(起始点)、给定的圆弧途经点transpoint以及圆弧结束点endpoint,三点确定一个圆弧,使机械臂以起始点、途经点、结束点的顺序执行圆弧轨迹

  • 设置运动模式

  • 该接口执行时间较久,4ms左右
    功能码:0x16
    发送数据位:字节1:模式0/1 0-位置 1-刷新,具身智能使用刷新模式;默认位置模式
    反馈固定数据位:字节1-2: 0xFF 0x01

  • 读取运动模式
    功能码:0x17
    发送数据位:无
    反馈数据位:字节1:模式0/1 0-位置 1-刷新

  • 设置运动控制模式

  • 该接口执行时间较久,4ms左右
    功能码:0x1E
    发送数据位:字节1:模式0/1 0-位置 1-力矩,零力拖动;默认位置模式
    反馈数据位:字节1:0xFF, 字节2:0/1 0-设置失败,参数不对;1-参数正确

  • 读取运动控制模式
    功能码:0x1F
    发送数据位:无
    反馈数据位:字节1:字节1:模式0/1 0-位置 1-力矩,零力拖动

  • 超限回零

  • 超出限位后可以不用手动移到限位内;目前仅位置模式支持,刷新模式控制不支持
    功能码:04
    发送数据位:无
    反馈固定数据位:字节1-2: 0xFF 0x01

辅助功能

配置

  • 更新系统后需要设置零位再运动
  • 设置零位
    功能码:0x54
    发送数据位:字节1:关节
    反馈固定数据位:字节1-2: 0xFF 0x01

  • 设置机器人力矩状态
    功能码:0x13
    发送数据位:字节1:关节1-6 254-所有;字节2:模式0/1 0-掉使能 1-使能;使能情况下才能运动
    反馈固定数据位:字节1-2: 0xFF 0x01

  • 设置RGB颜色
    功能码:0x0C
    发送数据位:字节1-3:R、G、B 范围0-255,全0-灯不亮
    反馈固定数据位:字节1-2: 0xFF 0x01

  • 设置最大速度
    功能码:0x41
    发送数据位:字节1:模式0/1 0-角度 1-坐标 字节2-3:速度,仅可在最大范围内设置
    反馈固定数据位:字节1-2: 0xFF 0x01

  • 设置最大加速度
    功能码:0x43
    发送数据位:字节1:模式0/1 0-角度 1-坐标 字节2-3:加速度,仅可在最大范围内设置
    反馈固定数据位:字节1-2: 0xFF 0x01

  • 读取最大速度
    功能码:0x40
    发送数据位:无
    反馈数据位:字节1-2:速度

  • 读取最大加速度
    功能码:0x42
    发送数据位:无
    反馈数据位:字节1-2:加速度

  • 设置关节最小角度
    功能码:0x4c
    发送数据位:字节1:关节 字节2-3:最小角度*10.0;仅可设置为默认范围内的,掉电不报错
    反馈固定数据位:字节1-2: 0xFF 0x01

  • 读取关节最小角度
    功能码:0x4a
    发送数据位:字节1:关节
    反馈数据位:字节1-2:最小角度/10.0

  • 设置关节最大角度
    功能码:0x4d
    发送数据位:字节1:关节 字节2-3:最大角度*10.0;仅可设置为默认范围内的,掉电不报错
    反馈固定数据位:字节1-2: 0xFF 0x01

  • 读取关节最大角度
    功能码:0x4b
    发送数据位:字节1:关节
    反馈数据位:字节1-2:最大角度/10.0

  • 设置关节方向

  • 设置前需要先回零,先读取当前方向,再设置
    功能码:0x7D
    发送数据位:字节1:关节 字节2:方向0/1 1-同向 0-反向
    反馈固定数据位:字节1-2: 0xFF 0x01

  • 读取关节方向
    功能码:0x7C
    发送数据位:无
    反馈数据位:字节1-6:1X6关节方向

  • 读取VR模式
    功能码:0x79
    发送数据位:无
    反馈数据位:字节:1-open 0-close
    VR模式开启后会减少运动指令缓存长度,由80减少至2 适用于不希望积压运动缓存的开发场景,比如VR控制、遥控制

  • 设置VR模式
    功能码:0x7A
    发送数据位:字节:1-open 0-close
    反馈数据位:0xFF 0x01

  • 设置自由移动状态

  • 默认关闭,开启后可长按1s末端按钮手动转动机械臂
    功能码:0x1A
    发送数据位:字节1:1-open 0-close
    反馈数据位:0xFF 0x01

  • 读取自由移动状态
    功能码:0x1B
    发送数据位:无
    反馈数据位:字节1:1-open 0-close

IO控制

底部IO
  1. 设置底座IO输出
    功能码:0xA0
    发送数据位:字节1:引脚号1-12 字节2:状态0/1 0-低电平 1-高电平
    反馈固定数据位:字节1-2: 0xFF 0x01

  2. 读取底座IO输入
    功能码:0xA1
    发送数据位:字节1:引脚号1-12
    反馈数据位:字节1:状态0/1 0-低电平 1-高电平

末端IO
  1. 设置末端IO输出
    功能码:0x61
    发送数据位:字节1:引脚号1/2 字节2:状态0/1 0-低电平 1-高电平
    反馈固定数据位:字节1-2: 0xFF 0x01

  2. 读取末端所有引脚状态
    功能码:0x7B
    发送数据位:无
    反馈数据位:字节1:输入1状态0/1 0-低电平 1-高电平;字节2:输入2状态;字节3:末端按钮1状态;字节4:末端按钮2状态

外部485/can通信设备控制

  1. 底部外部设备配置
    功能码:0x65
    发送数据位:字节1:模式1/2 1-485设备 2-can设备;字节2-5:波特率;字节6-9:超时
    反馈固定数据位:字节1-2: 0xFF 0x01

  2. 读取底部外部设备配置
    功能码:0x67
    发送数据位:无
    反馈数据位:字节1:模式1/2 1-485设备 2-can设备;字节2-5:波特率;字节6-9:超时

  3. 底部外部设备控制
    功能码:0x66
    发送数据位:can设备:字节1-4:can_id 5-N:can数据,最大数8;485设备:1-N:485数据,最多100
    反馈固定数据位:字节1-2: 0xFF 0x01

  4. 末端485外部设备控制
    功能码:0xB5
    发送数据位:字节1-N:485数据,最多45个
    反馈数据位:字节1-N: 设备返回的485数据

  5. 设置末端485波特率

  6. 默认115200
    功能码:0xB8
    发送数据位:字节1-4:波特率
    反馈数据位:0xFF 0x01

  7. 设置末端485超时

  8. 默认10s
    功能码:0xB9
    发送数据位:字节1-2:超时,单位:ms,范围:1-10s
    反馈数据位:0xFF 0x01

  9. 读取末端485波特率超时
    功能码:0xBA
    发送数据位:无
    反馈数据位:字节1-4:波特率,字节5-6:超时

状态查询

  1. 读取机器人状态
    功能码:0xA2
    发送数据位:无
    反馈数据位:字节1:碰撞检测状态0/1 1-碰撞 ;字节2:移动状态0/1 1-运动中;字节3-8:1X6关节是否超限0/1 1-超限;字节9-20:2X6关节电机是否报错 0-正常 >0异常;字节21-32:2X6关节电机软件报错 0-正常 >0异常;具体看报错信息和到位反馈表

  2. 读取运动报错信息
    功能码:0x07
    发送数据位:无
    反馈数据位:字节1-2:报错信息,具体看报错信息和到位反馈表

  3. 读取关节通信异常次数
    功能码:0xA3
    发送数据位:字节1:关节1-6
    反馈数据位:字节1-2:关节发送异常次数0-32700;字节3-4:关节读取异常次数0-32700;字节5-6:末端发送异常次数0-32700;字节7-8:末端读取异常次数0-32700

  4. 读取关节运行速度
    功能码:0xE1
    发送数据位:无
    反馈数据位:字节1-12:2X6运行速度/100.0 0-30rpm

  5. 获取关节电流
    功能码:0xE2
    发送数据位:无
    反馈数据位:字节1-12:2X6关节电流 单位:MA

设置坐标系

  1. 设置工具坐标系
    功能码:0x81
    发送数据位:
    字节1-2: x (±1000) (10xmm)
    字节3-4: y(±1000)
    字节5-6: z (±1000)
    字节7-8: rx (±180) (100xDeg)
    字节9-10: ry (±180)
    字节11-12: rz (±180)
    反馈数据位:0xFF 0x01

  2. 读取工具坐标系
    功能码:0x82
    发送数据位:无
    反馈数据位:
    字节1-2: x (±1000) (10xmm)
    字节3-4: y(±1000)
    字节5-6: z (±1000)
    字节7-8: rx (±180) (100xDeg)
    字节9-10: ry (±180)
    字节11-12: rz (±180)

  3. 设置世界坐标系
    功能码:0x83
    发送数据位:
    字节1-2: x (±1000) (10xmm)
    字节3-4: y(±1000)
    字节5-6: z (±1000)
    字节7-8: rx (±180) (100xDeg)
    字节9-10: ry (±180)
    字节11-12: rz (±180)
    反馈数据位:0xFF 0x01

  4. 读取世界坐标系
    功能码:0x84
    发送数据位:无
    反馈数据位:
    字节1-2: x (±1000) (10xmm)
    字节3-4: y(±1000)
    字节5-6: z (±1000)
    字节7-8: rx (±180) (100xDeg)
    字节9-10: ry (±180)
    字节11-12: rz (±180)

  5. 设置基坐标系
    功能码:0x85
    发送数据位:字节1:base type(0-基坐标系 1-世界坐标系)
    反馈数据位:0xFF 0x01

  6. 读取基坐标系
    功能码:0x86
    发送数据位:无
    反馈数据位:字节1:base type(0-基坐标系 1-世界坐标系)

  7. 设置末端坐标系
    功能码:0x89
    发送数据位:字节1:end type(0-法兰 1-工具)
    反馈数据位:0xFF 0x01

  8. 读取末端坐标系
    功能码:0x8A
    发送数据位:无
    反馈数据位:字节1:end type(0-法兰 1-工具)

异常清除

  1. 清除运动报错
  2. 清除读取运动报错,如超限、坐标无法到达等
    功能码:08
    发送数据位:无
    反馈固定数据位:字节1-2: 0xFF 0x01

  3. 关节异常恢复

  4. 清除部分关节电机报错
    功能码:0xE7
    发送数据位:字节1:关节1-6、254-所有关节
    反馈固定数据位:字节1-2: 0xFF 0x01

485Modbus RTU指令介绍

收发格式

基本参数

参数 值(十进制) 值(十六进制)
地址 45 0x2D
写功能码 16 0x10
读功能码 03 0x03

通信帧格式

1. 写命令(主机 → 设备)
字段 长度 十六进制表示 说明
地址 1字节 0x2D 设备地址:45(0x2D)
功能码 1字节 0x10 写多个寄存器
起始寄存器地址 2字节 HH LL 寄存器起始地址(低字节在前)
寄存器数量 2字节 HH LL 要写入的寄存器数量N
数据字节数 1字节 0xMM 数据字节数 = 2×N
数据 2×N字节 DD DD ... 实际数据(每个寄存器2字节)
校验码 2字节 CC CC Modbus CRC16(低字节在前)

格式: [地址-45][功能码-0x10][起始寄存器地址-2字节][寄存器数量-2字节][数据字节数-1字节][数据-2*N字节数][校验码-2字节 modbus_crc16-低字节在前]


2. 写反馈(设备 → 主机)
字段 长度 十六进制表示 说明
地址 1字节 0x2D 设备地址:45(0x2D)
功能码 1字节 0x10 写多个寄存器
起始寄存器地址 2字节 HH LL 寄存器起始地址(低字节在前)
寄存器数量 2字节 HH LL 已写入的寄存器数量
校验码 2字节 CC CC Modbus CRC16(低字节在前)

格式: [地址-45][功能码-0x10][起始寄存器地址-2字节][寄存器数量-2字节][校验码-2字节 modbus_crc16-低字节在前]


3. 读命令(主机 → 设备)
字段 长度 十六进制表示 说明
地址 1字节 0x2D 设备地址:45(0x2D)
功能码 1字节 0x03 读多个寄存器
起始寄存器地址 2字节 HH LL 寄存器起始地址(低字节在前)
寄存器数量 2字节 HH LL 要读取的寄存器数量N
校验码 2字节 CC CC Modbus CRC16(低字节在前)

格式: [地址-45][功能码-03][起始寄存器地址-2字节][寄存器数量-2字节][校验码-2字节 modbus_crc16-低字节在前]


4. 读反馈(设备 → 主机)
字段 长度 十六进制表示 说明
地址 1字节 0x2D 设备地址:45(0x2D)
功能码 1字节 0x03 读多个寄存器
数据字节数 1字节 0xMM 数据字节数 = 2×N
数据 2×N字节 DD DD ... 读取的数据(每个寄存器2字节)
校验码 2字节 CC CC Modbus CRC16(低字节在前)

格式: [地址-45][功能码-03][数据字节数-1字节][数据-2*N字节数][校验码-2字节 modbus_crc16-低字节在前]

案例:
  1. 读角度16进制指令:2D 03 00 20 00 01 82 6C
         反馈:`2D 03 0C 23 28 00 10 11 94 00 20 03 A8 DC D8 3B 46`<br>
    
  2. 全关节16%速度运动到[90, 0.16, 45, 0.32, 10, -90]指令:2D 10 00 22 00 07 0E 23 28 00 10 11 94 00 20 03 A8 DC D8 00 10 66 60
         第一层反馈:`2D 10 00 22 00 07 26 6D`<br>
         第二层反馈:正常到位:`2D 10 00 5B 00 07 00 00 46 47`,J1超限:`2D 10 00 5B 00 07 00 01 87 87`<br>
    

基础控制

  1. 读取主控版本号
    寄存器地址: 00 02
    寄存器个数:00 01
    反馈数据位:2字节,需要/10.0
    发送指令(16进制):2D 03 00 02 00 01 22 66
    反馈指令例如:2D 03 02 00 0A A9 85,此时版本号为V1.0

  2. 启动机器人
    寄存器地址: 00 16
    寄存器个数:00 00
    发送数据位:无
    反馈数据位:字节1-2:启动状态,0-2;0-启动失败 1-启动成功 2-急停被拍下

  3. 关闭机器人
    寄存器地址: 00 17
    寄存器个数:00 00
    发送数据位:无

  4. 读取机器人启动状态
    寄存器地址: 00 18
    寄存器个数:00 01
    反馈数据位:字节1-2:启动状态,0-2;0-启动失败 1-启动成功 2-急停被拍下

运动控制

  • 运动控制速度范围:1-100,实际速度百分比请看机械臂运动和速度参数表
  • 到位反馈格式:[地址][功能码][寄存器地址][寄存器数量][到位状态][crc]
  • 到位反馈数据:正常到位:2D 10 00 5B 00 07 00 00 46 47,J3超限:2D 10 00 5B 00 07 00 03 06 46
  • 全关节角度控制
    寄存器地址: 00 34
    寄存器个数:00 07
    发送数据位:字节1-12:2X6关节角度(角度*100.0) 字节13-14:速度

  • 单关节角度控制
    寄存器地址: 00 33
    寄存器个数:00 03
    发送数据位:字节1-2:关节; 字节3-4:角度(角度*100.0) 字节5-6:速度

  • 读取全关节角度
    寄存器地址: 00 32
    寄存器个数:00 01
    反馈数据位:字节1-12:2X6关节角度(角度/100.0)

  • 全坐标控制
    寄存器地址: 00 37
    寄存器个数:00 07
    发送数据位:字节1-12:2X6坐标(XYZ10.0,RXRYRZ100.0) 字节13-14:速度

  • 单坐标控制
    寄存器地址: 00 36
    寄存器个数:00 03
    发送数据位:字节1-2:坐标轴; 字节3-4:坐标(XYZ10.0,RXRYRZ100.0) 字节5-6:速度

  • 读取全坐标
    寄存器地址: 00 35
    寄存器个数:00 01
    反馈数据位:字节1-12:2X6坐标(XYZ/10.0,RXRYRZ/100.0)

  • 读取机器人运动状态
    寄存器地址: 00 43
    寄存器个数:00 01
    反馈数据位:字节1-2:运动状态0/1,0-未运动;1-运动中

  • 运动暂停
    寄存器地址: 00 38
    寄存器个数:00 01
    发送数据位:字节1-2:0/1 1-缓暂停 0-急暂停

  • 运动恢复
    寄存器地址: 00 40
    寄存器个数:00 00
    发送数据位:无

  • 运动结束
    寄存器地址: 00 41
    寄存器个数:00 00
    发送数据位:无

  • 检测运动是否暂停
    寄存器地址: 00 39
    寄存器个数:00 01
    反馈数据位:字节1-2:暂停状态0/1,0-未手动暂停;1-已暂停

  • 关节持续运动
    寄存器地址: 00 48
    寄存器个数:00 03
    发送数据位:字节1-2:关节; 字节3-4:方向0/1 0-反转 1-正转 字节5-6:速度

  • 坐标持续运动
    寄存器地址: 00 50
    寄存器个数:00 03
    发送数据位:字节1-2:坐标轴; 字节3-4:方向0/1 0-反转 1-正转 字节5-6:速度

  • RPY旋转
    寄存器地址: 00 245
    寄存器个数:00 03
    发送数据位:字节1-2:模式1-3 1-翻滚角 2-俯仰角 3-偏航角; 字节3-4:方向0/1 0-反转 1-正转 字节5-6:速度

  • 关节步进控制
    寄存器地址: 00 51
    寄存器个数:00 03
    发送数据位:字节1-2:关节; 字节3-4:步进值*100.0 字节5-6:速度

  • 坐标步进控制
    寄存器地址: 00 52
    寄存器个数:00 03
    发送数据位:字节1-2:坐标轴; 字节3-4:步进值(XYZ10.0,RXRYRZ100.0) 字节5-6:速度

  • 超限回零

  • 超出限位后可以不用手动移到限位内;目前仅位置模式支持,刷新模式控制不支持
    寄存器地址: 00 04
    寄存器个数:00 00
    发送数据位:无

辅助功能

配置

  1. 设置RGB颜色
    寄存器地址: 00 12
    寄存器个数:00 03
    发送数据位:字节1-2:R;字节3-4:G;字节5-6:B 范围0-255,全0-灯不亮

  2. 设置机器人力矩状态
    寄存器地址: 00 19
    寄存器个数:00 02
    发送数据位:字节1-2:关节1-6 254-所有;字节3-4:模式0/1 0-掉使能 1-使能;使能情况下才能运动

IO控制

底部IO
  1. 设置底座IO输出
    寄存器地址: 00 160
    寄存器个数:00 02
    发送数据位:字节1-2:引脚号1-12 字节3-4:状态0/1 0-低电平 1-高电平

  2. 读取底座IO输入
    寄存器地址: 00 161
    寄存器个数:00 01
    反馈数据位:字节1-24:2*12个引脚状态0/1 0-低电平 1-高电平

末端IO
  1. 设置末端IO输出
    寄存器地址: 00 97
    寄存器个数:00 02
    发送数据位:字节1-2:引脚号1/2 字节3-4:状态0/1 0-低电平 1-高电平

  2. 读取末端所有引脚状态
    寄存器地址: 00 123
    寄存器个数:00 01
    发送数据位:无
    反馈数据位:字节1-2:输入1状态0/1 0-低电平 1-高电平;字节3-4:输入2状态;字节5-6:末端按钮1状态;字节7-8:末端按钮2状态

状态查询

  1. 读取机器人状态
    寄存器地址: 00 162
    寄存器个数:00 01
    反馈数据位:字节1-2:碰撞检测状态0/1 1-碰撞 ;字节3-4:移动状态0/1 1-运动中;字节5-16:1X6关节是否超限0/1 1-超限;字节17-28:2X6关节电机是否报错 0-正常 >0异常;字节29-40:2X6关节电机软件报错 0-正常 >0异常;具体看报错信息和到位反馈表

  2. 读取运动报错信息
    寄存器地址: 00 07
    寄存器个数:00 01
    反馈数据位:字节1-2:报错信息,具体看报错信息和到位反馈表

  3. 读取关节运行速度
    寄存器地址: 00 225
    寄存器个数:00 01
    反馈数据位:字节1-12:2X6运行速度/100.0 +-30rpm

  4. 获取关节电流
    寄存器地址: 00 226
    寄存器个数:00 01
    反馈数据位:字节1-12:2X6关节电流 单位:MA

异常清除

  1. 清除运动报错
  2. 清除读取运动报错,如超限、坐标无法到达等
    寄存器地址: 00 08
    寄存器个数:00 00
    发送数据位:无

  3. 关节异常恢复

  4. 清除部分关节电机报错
    寄存器地址: 00 231
    寄存器个数:00 01
    发送数据位:字节1-2:关节1-6、254-所有关节

常见问题

  1. 机械臂无法运动?
  2. 查看机械臂是否已使能、关节电机有无报错、关节有无超限,可调用读取机器人状态
  3. 指令无响应
  4. 查看发送指令是否正确,所有指令都有第一层握手反馈。

报错信息和到位反馈表

到位反馈表

0-20 关节超限、碰撞、暂停等

16进制(10进制) 说明
0 运动到位
1-7 关节超限
8 设置运动模式结束
10-13 碰撞保护
A(10) 缓停结束标志
B(11) 指令停止标志

20-23(32-35)坐标运动异常(检查关节限位)

16进制(10进制) 说明
20(32) 坐标无解
21(33) 直线运动无相邻解
22(34) 速度融合报错
23(35) 零空间运动无相邻解
24(36) 奇异位置无解
31(49) 辨识精度错误

41-47(65-71)关节异常

16进制(10进制) 说明
41-47(65-71) 1-7关节位置精度异常
51-57(81-87) 1-7关节碰撞检测异常
0x61-67 1-7关节can发送失败
0x71-77 1-7关节can接收异常
0x81-87 1-7关节掉使能
0x91-97 1-7关节电机报错(报错后可搭配0x9c接口使用)
0xA1-A7 1-7关节电机编码器报错
0xC1-C7 1-7关节位置超差


运动报错信息表

返回数据格式: 0xD0 + xx(例如:0xD001 表示1关节超限)

0-6 关节超限

状态码(10进制) 16进制 说明
0 0x00 运动正常
1 0x01 1关节超限
2 0x02 2关节超限
3 0x03 3关节超限
4 0x04 4关节超限
5 0x05 5关节超限
6 0x06 6关节超限

20-24(32-36)坐标运动异常

状态码(10进制) 16进制 说明
20(32) 0x14 坐标无解,请检查臂展是否临近限位
21(33) 0x15 直线运动无相邻解
22(34) 0x16 速度融合报错
23(35) 0x17 零空间运动无相邻解
24(36) 0x18 奇异位置无解,请使用关节控制离开奇异点


关节电机报错信息表

1 软件内的错误报警

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

2 电机自带的错误报警

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


← 上一页 | 下一页 →

results matching ""

    No results matching ""