非通用/区别点

  • 针对不同型号的机械臂,同样的指令,串口返回的数据会不同;
  • 针对不同型号的机械臂,部分指令可能不同。

mycobot

  • mycobot为六轴机械臂,舵机数为6

4、读取角度(读取走位信息)

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X02
Data[3] 指令帧 0X20
Data[4] 结束帧 0XFA

串口发送示例:FE FE 02 20 FA

返回数据结构

数据域 说明 数据
Data[0] 返回帧头 0XFE
Data[1] 返回帧头 0XFE
Data[2] 返回长度帧 0X0E
Data[3] 返回指令帧 0X20
Data[4] 1号舵机角度高位 Angle1_high
Data[5] 1号舵机角度低位 Angle1_low
Data[6] 2号舵机角度高位 Angle2_high
Data[7] 2号舵机角度低位 Angle2_low
Data[8] 3号舵机角度高位 Angle3_high
Data[9] 3号舵机角度低位 Angle3_low
Data[10] 4号舵机角度高位 Angle4_high
Data[11] 4号舵机角度低位 Angle4_low
Data[12] 5号舵机角度高位 Angle5_high
Data[13] 5号舵机角度低位 Angle5_low
Data[14] 6号舵机角度高位 Angle6_high
Data[15] 6号舵机角度低位 Angle6_low
Data[16] 结束帧 0XFA

串口返回示例:FE FE 0E 20 00 8C 00 3D FF E6 FF 3F 00 AF FF 51 FA

如何得出1号关节角度

temp = angle1_low+angle1_high*256

Angle1=(temp \ 33000 ?(temp – 65536) : temp)/100

计算方式:角度值低位 + 角度高位值乘以256 先判断是否大于33000 如果大于33000就再减去65536 最后除以100 如果小于33000就直接除以100

(其余同理)


5、发送单独角度

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X06
Data[3] 指令帧 0X21
Data[4] 舵机序号 joint_no
Data[5] 角度值高位 angle_high
Data[6] 角度值低位 angle_low
Data[7] 指定速度 sp
Data[8] 结束帧 0XFA

使1号舵机以20%速度移动到零位

串口发送示例:FE FE 06 21 01 00 00 14 FA

joint_no取值范围: 0~5

angle_high:数据类型byte

计算方式:角度值乘以100 先转换成int形式 再取十六进制的高字节

angle_low:数据类型byte

计算方式:角度值乘以100 先转换成int形式 再取十六进制的低字节

无返回值


6、发送全部角度

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X0F
Data[3] 指令帧 0X22
Data[4] 1号舵机角度值高字节 Angle1_high
Data[5] 1号舵机角度值低字节 Angle1_low
Data[6] 2号舵机角度值高字节 Angle2_ high
Data[7] 2号舵机角度值低字节 Angle2_ low
Data[8] 3号舵机角度值高字节 Angle3_ high
Data[9] 3号舵机角度值低字节 Angle3_ low
Data[10] 4号舵机角度值高字节 Angle4_ high
Data[11] 4号舵机角度值低字节 Angle4_ low
Data[12] 5号舵机角度值高字节 Angle5_ high
Data[13] 5号舵机角度值低字节 Angle5_ low
Data[14] 6号舵机角度值高字节 Angle6_ high
Data[15] 6号舵机角度值低字节 Angle6_ low
Data[16] 指定速度 Sp
Data[17] 结束帧 0XFA

发送全部角度均为零/让机械恢复到零位,以30%速度移动

串口发送示例:FE FE 0F 22 00 00 00 00 00 00 00 00 00 00 00 00 1E FA

angle1_high:数据类型byte

计算方式:1号舵机角度值乘以100 先转换成int形式 再取十六进制的高字节

angle1_low:数据类型byte

计算方式:1号舵机角度值乘以100 先转换成int形式 再取十六进制的低字节

(其余同理)

无返回值


15、发送电位值

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X05
Data[3] 指令帧 0X3A
Data[4] 关节舵机序号 Joint
Data[5] 电位值高位 Encoder_high
Data[6] 电位值低位 Encoder_low
Data[7] 结束帧 0XFA

示例,设定5号关节到2048电位。

串口发送示例: FE FE 05 3A 05 08 00 FA

关节序号取值范围:0~5

Joint:数据类型byte

Encoder_high:数据类型byte

计算方式:取电位值(十六进制)的高位

Encoder_low:数据类型byte

计算方式:取电位值值(十六进制)的低位

无返回值


16、获取电位值

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X03
Data[3] 指令帧 0X3B
Data[4] 关节序号 joint
Data[5] 结束帧 0XFA

获取2号舵机电位值

串口发送示例: FE FE 01 3B 01 FA

关节序号取值范围:0~5

返回数据结构

数据域 说明 数据
Data[0] 返回识别帧 0XFE
Data[1] 返回识别帧 0XFE
Data[2] 返回数据长度帧 0X04
Data[3] 返回指令帧 0X3B
Data[4] 舵机电位值高位 Encoder_high
Data[5] 舵机电位值低位 Encoders_low
Data[6] 结束帧 0XFA

串口返回示例: FE FE 04 3B 08 07 FA

如何计算电位值

电位值 = 电位值低位 + 电位值高位 * 256


17、发送六个舵机的电位值

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X0F
Data[3] 指令帧 0X3C
Data[4] 1号舵机电位值高字节 encoder_1_high
Data[5] 1号舵机电位值低字节 encoder_1_low
Data[6] 2号舵机电位值高字节 encoder_2_high
Data[7] 2号舵机电位值低字节 encoder_2_low
Data[8] 3号舵机电位值高字节 encoder_3_high
Data[9] 3号舵机电位值低字节 encoder_3_low
Data[10] 4号舵机电位值高字节 encoder_4_high
Data[11] 4号舵机电位值低字节 encoder_4_low
Data[12] 5号舵机电位值高字节 encoder_5_high
Data[13] 5号舵机电位值低字节 encoder_5_low
Data[14] 6号舵机电位值高字节 encoder_6_high
Data[15] 6号舵机电位值低字节 encoder_6_low
Data[16] 指定速度 Sp
Data[17] 结束帧 0XFA

发送所有电机的电位值均为2048,速度为20%

串口发送示例:FE FE 0F 3C 08 00 08 00 08 00 08 00 08 00 08 00 14 FA

(参考上方发送单独电位值)

encoder_1_high:数据类型byte

计算方式: 1号舵机电位值先转换为int类型 再取十六进制高字节

encoder_1_low:数据类型byte

计算方式: 1号舵机电位值先转换为int类型 再取十六进制低字节

(其余同理)

Sp:数据类型byte 取值范围:0~100%

无返回值


22、读取关节最小角度

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X03
Data[3] 指令帧 0X4A
Data[4] 关节舵机序号 Joint_number
Data[5] 结束帧 0XFA

读取2号关节最小角度

串口发送示例: FE FE 03 4A 01 FA

joint_no取值范围:0~5

返回数据结构

数据域 说明 数据
Data[0] 返回识别帧 0XFE
Data[1] 返回识别帧 0XFE
Data[2] 返回数据长度帧 0X04
Data[3] 返回指令帧 0X4A
Data[4] 舵机角度值高位 Angle_high
Data[5] 舵机角度值低位 Angle_low
Data[6] 结束帧 0XFA

串口返回示例: FE FE 04 4A F9 F2 FA

如何得出关节最小角度

temp = angle1_low+angle1_high*256

Angle1=(temp \ 33000 ?(temp – 65536) : temp)/10

计算方式:角度值低位 + 角度高位值乘以256 先判断是否大于33000 如果大于33000就再减去65536 最后除以10 如果小于33000就直接除以10


23、读取关节最大角度

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X03
Data[3] 指令帧 0X4B
Data[4] 关节舵机序号 joint_number
Data[5] 结束帧 0XFA

读取2号关节的最大角度

串口发送示例: FE FE 03 4B 01 FA

返回数据结构

数据域 说明 数据
Data[0] 返回识别帧 0XFE
Data[1] 返回识别帧 0XFE
Data[2] 返回数据长度帧 0X04
Data[3] 返回指令帧 0X4B
Data[4] 舵机角度值高位 Angle_high
Data[5] 舵机角度值低位 Angle_low
Data[6] 结束帧 0XFA

串口返回示例: FE FE 04 4B 06 0E FA

joint_no取值范围:0~5

如何得出关节最大角度

temp = angle1_low+angle1_high*256

Angle1=(temp \ 33000 ?(temp – 65536) : temp)/10

计算方式:角度值低位 + 角度高位值乘以256 先判断是否大于33000 如果大于33000就再减去65536 最后除以10 如果小于33000就直接除以10


mycobot Pro

  • 同 mycobot

myPalletizer

  • myPalletizer码垛机械臂为四轴机械臂,舵机数为4

1、读取角度(读取走位信息)

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X02
Data[3] 指令帧 0X20
Data[4] 结束帧 0XFA

串口发送示例:FE FE 02 20 FA

返回数据结构

数据域 说明 数据
Data[0] 返回帧头 0XFE
Data[1] 返回帧头 0XFE
Data[2] 返回长度帧 0X0A
Data[3] 返回指令帧 0X20
Data[4] 1号舵机角度高位 Angle1_high
Data[5] 1号舵机角度低位 Angle1_low
Data[6] 2号舵机角度高位 Angle2_high
Data[7] 2号舵机角度低位 Angle2_low
Data[8] 3号舵机角度高位 Angle3_high
Data[9] 3号舵机角度低位 Angle3_low
Data[10] 4号舵机角度高位 Angle4_high
Data[11] 4号舵机角度低位 Angle4_low
Data[16] 结束帧 0XFA

串口返回示例:FE FE 0A 20 00 8C 00 3D FF E6 FF 3F FA

如何得出1号关节角度

temp = angle1_low+angle1_high*256

Angle1=(temp \ 33000 ?(temp – 65536) : temp)/100

计算方式:角度值低位 + 角度高位值乘以256 先判断是否大于33000 如果大于33000就再减去65536 最后除以100 如果小于33000就直接除以100

(其余同理)


2、发送全部角度

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X0B
Data[3] 指令帧 0X22
Data[4] 1号舵机角度值高字节 Angle1_high
Data[5] 1号舵机角度值低字节 Angle1_low
Data[6] 2号舵机角度值高字节 Angle2_ high
Data[7] 2号舵机角度值低字节 Angle2_ low
Data[8] 3号舵机角度值高字节 Angle3_ high
Data[9] 3号舵机角度值低字节 Angle3_ low
Data[10] 4号舵机角度值高字节 Angle4_ high
Data[11] 4号舵机角度值低字节 Angle4_ low
Data[16] 指定速度 Sp
Data[17] 结束帧 0XFA

发送全部角度均为零/让机械恢复到零位,以30%速度移动

串口发送示例:FE FE 0B 22 00 00 00 00 00 00 00 00 1E FA

angle1_high:数据类型byte

计算方式:1号舵机角度值乘以100 先转换成int形式 再取十六进制的高字节

angle1_low:数据类型byte

计算方式:1号舵机角度值乘以100 先转换成int形式 再取十六进制的低字节

(其余同理)

无返回值


3、发送四个舵机的电位值

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X0B
Data[3] 指令帧 0X3C
Data[4] 1号舵机电位值高字节 encoder_1_high
Data[5] 1号舵机电位值低字节 encoder_1_low
Data[6] 2号舵机电位值高字节 encoder_2_high
Data[7] 2号舵机电位值低字节 encoder_2_low
Data[8] 3号舵机电位值高字节 encoder_3_high
Data[9] 3号舵机电位值低字节 encoder_3_low
Data[10] 4号舵机电位值高字节 encoder_4_high
Data[11] 4号舵机电位值低字节 encoder_4_low
Data[16] 指定速度 Sp
Data[17] 结束帧 0XFA

发送所有电机的电位值均为2048,速度为20%

串口发送示例:FE FE 0B 3C 08 00 08 00 08 00 08 00 14 FA

(参考上方发送单独电位值)

encoder_1_high:数据类型byte

计算方式: 1号舵机电位值先转换为int类型 再取十六进制高字节

encoder_1_low:数据类型byte

计算方式: 1号舵机电位值先转换为int类型 再取十六进制低字节

(其余同理)

Sp:数据类型byte 取值范围:0~100%

无返回值


5、发送单独角度

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X06
Data[3] 指令帧 0X21
Data[4] 舵机序号 joint_no
Data[5] 角度值高位 angle_high
Data[6] 角度值低位 angle_low
Data[7] 指定速度 sp
Data[8] 结束帧 0XFA

使1号舵机以20%速度移动到零位

串口发送示例:FE FE 06 21 01 00 00 14 FA

joint_no取值范围: 0~3

angle_high:数据类型byte

计算方式:角度值乘以100 先转换成int形式 再取十六进制的高字节

angle_low:数据类型byte

计算方式:角度值乘以100 先转换成int形式 再取十六进制的低字节

无返回值


15、发送电位值

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X05
Data[3] 指令帧 0X3A
Data[4] 关节舵机序号 Joint
Data[5] 电位值高位 Encoder_high
Data[6] 电位值低位 Encoder_low
Data[7] 结束帧 0XFA

示例,设定3号关节到2048电位。

串口发送示例: FE FE 05 3A 03 08 00 FA

关节序号取值范围:0~3

Joint:数据类型byte

Encoder_high:数据类型byte

计算方式:取电位值(十六进制)的高位

Encoder_low:数据类型byte

计算方式:取电位值值(十六进制)的低位

无返回值


16、获取电位值

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X03
Data[3] 指令帧 0X3B
Data[4] 关节序号 joint
Data[5] 结束帧 0XFA

获取2号舵机电位值

串口发送示例: FE FE 01 3B 01 FA

关节序号取值范围:0~3

返回数据结构

数据域 说明 数据
Data[0] 返回识别帧 0XFE
Data[1] 返回识别帧 0XFE
Data[2] 返回数据长度帧 0X04
Data[3] 返回指令帧 0X3B
Data[4] 舵机电位值高位 Encoder_high
Data[5] 舵机电位值低位 Encoders_low
Data[6] 结束帧 0XFA

串口返回示例: FE FE 04 3B 08 07 FA

如何计算电位值

电位值 = 电位值低位 + 电位值高位 * 256


22、读取关节最小角度

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X03
Data[3] 指令帧 0X4A
Data[4] 关节舵机序号 Joint_number
Data[5] 结束帧 0XFA

读取2号关节最小角度

串口发送示例: FE FE 03 4A 01 FA

joint_no取值范围:0~3

返回数据结构

数据域 说明 数据
Data[0] 返回识别帧 0XFE
Data[1] 返回识别帧 0XFE
Data[2] 返回数据长度帧 0X04
Data[3] 返回指令帧 0X4A
Data[4] 舵机角度值高位 Angle_high
Data[5] 舵机角度值低位 Angle_low
Data[6] 结束帧 0XFA

串口返回示例: FE FE 04 4A F9 F2 FA

如何得出关节最小角度

temp = angle1_low+angle1_high*256

Angle1=(temp \ 33000 ?(temp – 65536) : temp)/10

计算方式:角度值低位 + 角度高位值乘以256 先判断是否大于33000 如果大于33000就再减去65536 最后除以10 如果小于33000就直接除以10


23、读取关节最大角度

数据域 说明 数据
Data[0] 识别帧 0XFE
Data[1] 识别帧 0XFE
Data[2] 数据长度帧 0X03
Data[3] 指令帧 0X4B
Data[4] 关节舵机序号 joint_number
Data[5] 结束帧 0XFA

读取2号关节的最大角度

串口发送示例: FE FE 03 4B 01 FA

返回数据结构

数据域 说明 数据
Data[0] 返回识别帧 0XFE
Data[1] 返回识别帧 0XFE
Data[2] 返回数据长度帧 0X04
Data[3] 返回指令帧 0X4B
Data[4] 舵机角度值高位 Angle_high
Data[5] 舵机角度值低位 Angle_low
Data[6] 结束帧 0XFA

串口返回示例: FE FE 04 4B 06 0E FA

joint_no取值范围:0~3

如何得出关节最大角度

temp = angle1_low+angle1_high*256

Angle1=(temp \ 33000 ?(temp – 65536) : temp)/10

计算方式:角度值低位 + 角度高位值乘以256 先判断是否大于33000 如果大于33000就再减去65536 最后除以10 如果小于33000就直接除以10


results matching ""

    No results matching ""