串口指令(通用部分)

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


results matching ""

    No results matching ""