串口指令(通用部分)
1、Atom打开通讯
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X02 |
Data[3] | 指令帧 | 0X10 |
Data[4] | 结束帧 | 0XFA |
串口发送示例:FE FE 02 10 FA
无返回值
2、Atom关闭通讯
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X02 |
Data[3] | 指令帧 | 0X11 |
Data[4] | 结束帧 | 0XFA |
串口发送示例:FE FE 02 11 FA
无返回值
3、Atom状态查询
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X02 |
Data[3] | 指令帧 | 0X12 |
Data[4] | 结束帧 | 0XFA |
串口发送示例:FE FE 02 12 FA
返回数据结构
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 返回帧头 | 0XFE |
Data[1] | 返回帧头 | 0XFE |
Data[2] | 返回长度帧 | 0X03 |
Data[3] | 返回指令帧 | 0X12 |
Data[4] | 上电/断电 | 0X01/0X00 |
Data[5] | 结束帧 | 0XFA |
假设Atom处于上电状态
串口返回示例:FE FE 03 12 01 FA
7、读取全部坐标
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X02 |
Data[3] | 指令帧 | 0X23 |
Data[4] | 结束帧 | 0XFA |
串口发送示例:FE FE 02 23 FA
返回数据结构
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 返回帧头 | 0XFE |
Data[1] | 返回帧头 | 0XFE |
Data[2] | 返回长度帧 | 0X0E |
Data[3] | 返回指令帧 | 0X23 |
Data[4] | 指定x坐标高位 | x_high |
Data[5] | 指定x坐标低位 | x_low |
Data[6] | 指定y坐标高位 | y_ high |
Data[7] | 指定y坐标低位 | y_ low |
Data[8] | 指定z坐标高位 | z_ high |
Data[9] | 指定z坐标低位 | z_low |
Data[10] | 指定rx坐标高位 | rx_high |
Data[11] | 指定rx坐标低位 | rx_low |
Data[12] | 指定ry坐标高位 | ry_high |
Data[13] | 指定ry坐标低位 | ry_low |
Data[14] | 指定rz坐标高位 | rz_high |
Data[15] | 指定rz坐标低位 | rz_low |
Data[16] | 结束帧 | 0XFA |
串口返回示例:FE FE 0E 23 01 BC FD A0 10 15 DC 66 FF 54 DE 21 FA
如何得出x坐标
temp = x_low + x_high*256
x坐标=(temp \ 33000 ?(temp – 65536) : temp)/10
计算方式:x坐标值低位 +x坐标值高位乘以256 先判断是否大于33000 如果大于33000就再减去65536 最后除以100 如果小于33000就直接除以10
(y坐标z坐标同理)
如何得出rx坐标
temp = rx_low + rx_high*256
x坐标=(temp \ 33000 ?(temp – 65536) : temp)/100
计算方式:x坐标值低位 +x坐标值高位乘以256 先判断是否大于33000 如果大于33000就再减去65536 最后除以100 如果小于33000就直接除以100
(ry坐标rz坐标同理)
8、发送单独坐标参数
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X06 |
Data[3] | 指令帧 | 0X24 |
Data[4] | axis | x/y/z/rx/ry/rz |
Data[5] | 指定xyz/rxryrz参数高位 | xyz/ rxryrz_high |
Data[6] | 指定xyz/rxryrz参数低位 | xyz/rxryrz_low |
Data[7] | 指定速度 | Sp |
Data[8] | 结束帧 | 0XFA |
设定X坐标为14,目标速度为20%
串口发送示例:FE FE 06 24 00 00 8C 14 FA
指定坐标axis:数据类型byte
取值范围:0~5
xyz_high:数据类型byte
计算方式:x/y/z坐标值乘以10 再取十六进制的高字节
xyz_low:数据类型byte
计算方式:x/y/z坐标值乘以10 再取十六进制的低字节
rxryrz_high:数据类型byte
计算方式:rx/ry/rz乘以100 再取十六进制的高字节
rxryrz_low:数据类型byte
计算方式:rx/ry/rz乘以100 再取十六进制的低字节
无返回值
9、发送全部坐标参数
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X10 |
Data[3] | 指令帧 | 0X25 |
Data[4] | 指定x坐标高位 | x_high |
Data[5] | 指定x坐标低位 | x_low |
Data[6] | 指定y坐标高位 | y_ high |
Data[7] | 指定y坐标低位 | y_ low |
Data[8] | 指定z坐标高位 | z_ high |
Data[9] | 指定z坐标低位 | z_low |
Data[10] | 指定rx坐标高位 | rx_high |
Data[11] | 指定rx坐标低位 | rx_low |
Data[12] | 指定ry坐标高位 | ry_high |
Data[13] | 指定ry坐标低位 | ry_low |
Data[14] | 指定rz坐标高位 | rz_high |
Data[15] | 指定rz坐标低位 | rz_low |
Data[16] | 指定速度 | Sp |
Data[17] | 模式 | 0X01 |
Data[18] | 结束帧 | 0XFA |
设定机械臂末端目标点位(-14,-27,275,-89.5,0.7,-90.7),目标速度50%
串口发送示例:FE FE 10 25 FF 74 FE EE 0A C1 DD 05 00 48 DC 95 32 01 FA
x_high:数据类型byte
计算方式:x坐标乘以10 再取十六进制的高字节
x_low:数据类型byte
计算方式:x坐标乘以10 再取十六进制的低字节
(y轴坐标z轴坐标同理)
rx_high:数据类型byte
计算方式:rx坐标值乘以100 再取十六进制的高字节
rx_low:数据类型byte
计算方式:rx坐标值乘以100 再取十六进制的低字节
(ry轴坐标rz轴坐标同理)
无返回值
10、是否达到点位(暂未开放)
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X0E/0X0F |
Data[3] | 指令帧 | 0X2A |
Data[4] | 坐标x高位 | x_high |
Data[5] | 坐标x低位 | x_low |
Data[6] | 坐标y高位 | y_high |
Data[7] | 坐标y低位 | y_low |
Data[8] | 坐标z高位 | z_high |
Data[9] | 坐标z低位 | z_low |
Data[10] | 坐标rx高位 | rx_high |
Data[11] | 坐标rx低位 | rx_low |
Data[12] | 坐标ry高位 | ry_high |
Data[13] | 坐标ry低位 | ry_low |
Data[14] | 坐标rz高位 | rz_high |
Data[15] | 坐标rz低位 | rz_low |
Data[16] | Is_linear | type |
Data[17] | 结束帧 | 0XFA |
判断机械臂是否到达指定点位
串口发送示例: FE FE 0E 2A FF 74 FE EE 0A C1 DD 05 00 48 DC 95 FA
x_high:数据类型byte
计算方式:x坐标乘以10 先转换为int类型 再取十六进制高字节
x_low:数据类型byte
计算方式:x坐标乘以10 先转换为int类型 再取十六进制低字节
(y轴坐标z轴坐标同理)
rx_high:数据类型byte
计算方式:rx坐标乘以100 先转换为int类型 再取十六进制高字节
rx_low:数据类型byte
计算方式:rx坐标乘以100 先转换为int类型 再取十六进制低字节
(ry轴坐标rz轴坐标同理)
Type:数据类型byte(暂未使用)
11、机械臂运动检测(暂未开放)
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X02 |
Data[3] | 指令帧 | 0X2B |
Data[4] | 结束帧 | 0XFA |
12、jog-关节方向运动
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X05 |
Data[3] | 指令帧 | 0X30 |
Data[4] | 关节舵机序号 | Joint |
Data[5] | 关节舵机方向 | direction |
Data[6] | 指定速度 | sp |
Data[7] | 结束帧 | 0XFA |
设定1号舵机顺时针方向以20%速度转动
串口发送示例: FE FE 05 30 01 01 14 FA
关节序号取值范围: 1~4
di:数据类型byte 取值范围 0和1
sp:数据类型byte 取值范围0-100%
无返回值
13、jog-坐标方向运动(暂未开放)
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X05 |
Data[3] | 指令帧 | 0X32 |
Data[4] | 指定坐标 | axis |
Data[5] | 关节舵机方向 | direction |
Data[6] | 指定速度 | sp |
Data[7] | 结束帧 | 0XFA |
14、jog-停止
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X02 |
Data[3] | 指令帧 | 0X34 |
Data[4] | 结束帧 | 0XFA |
jog停止运动
串口发送示例: FE FE 02 34 FA
无返回值
18、读取速度
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X02 |
Data[3] | 指令帧 | 0X40 |
Data[4] | 结束帧 | 0XFA |
串口发送示例: FE FE 02 40 FA
返回数据结构
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 返回识别帧 | 0XFE |
Data[1] | 返回识别帧 | 0XFE |
Data[2] | 返回数据长度帧 | 0X03 |
Data[3] | 返回指令帧 | 0X40 |
Data[4] | 指定速度 | Sp |
Data[5] | 结束帧 | 0XFA |
假设当前速度为50%
串口返回示例:FE FE 03 40 32 FA
19、设置速度
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X03 |
Data[3] | 指令帧 | 0X41 |
Data[4] | 指定速度 | sp |
Data[5] | 结束帧 | 0XFA |
设定当前速度为50%
串口发送示例:FE FE 03 41 32 FA
无返回值
20、读取FeedOverride(暂未开放)
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X02 |
Data[3] | 指令帧 | 0X42 |
Data[4] | 结束帧 | 0XFA |
21、读取加速度
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X02 |
Data[3] | 指令帧 | 0X44 |
Data[4] | 结束帧 | 0XFA |
24、查看连接
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X03 |
Data[3] | 指令帧 | 0X50 |
Data[4] | 结束帧 | 0XFA |
串口发送示例:FE FE 03 50 FA
返回数据结构
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 返回识别帧 | 0XFE |
Data[1] | 返回识别帧 | 0XFE |
Data[2] | 返回数据长度帧 | 0X03 |
Data[3] | 指令帧 | 0X50 |
Data[4] | 连接/未连接 | 0X01/0X00 |
Data[5] | 结束帧 | 0XFA |
连接正常
串口返回示例:FE FE 03 50 01 FA
25、查看舵机是否全部上电
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 识别帧 | 0XFE |
Data[1] | 识别帧 | 0XFE |
Data[2] | 数据长度帧 | 0X02 |
Data[3] | 指令帧 | 0X51 |
Data[4] | 结束帧 | 0XFA |
串口发送示例:FE FE 02 51 FA
返回数据结构
数据域 | 说明 | 数据 |
---|---|---|
Data[0] | 返回识别帧 | 0XFE |
Data[1] | 返回识别帧 | 0XFE |
Data[2] | 返回数据长度帧 | 0X03 |
Data[3] | 指令帧 | 0X51 |
Data[4] | 上电/未上电 | 0X01/0X00 |
Data[5] | 结束帧 | 0XFA |
并没有全部舵机上电 串口返回示例:FE FE 03 51 01 FA