声明:此文档版权归属于北京小芽科技,可以转载,但要声明出处(北京小芽科技博客xiaoyatec.com)

 

英文原版地址:

http://support.robotis.com/en/product/actuator/dynamixel/communication/dxl_packet.htm

 

以下数据协议结构体主要是针对Robotis Dynamixel舵机的

 

协议相关位的解释如下:

 

0xFF 0xFF

这是协议的报头

 

ID

这个位代表了舵机的ID号,协议也是由这个ID号的舵机接收。可设置范围为0~253(0X00~0XFD),也就是可以设置254个不同ID的舵机。

广播ID:
ID = 254(0XFF)
一旦协议ID设置为254(0XFF),所有串联在一起的Dynamixel舵机都将收到此条协议,并执行此条协议,但不做状态返回。

 

 

LENGTH

代表数据包长度,计算长度的公式为【Parameters (N)长度 + 2】

 

INSTRUCTION

这个位代表的指令具有以下几个形式:

Value

Name

Function

No.of

Parameters

0x01

PING

 Dynamixel舵机不执行,

 当控制器处于可接收数据状态时使用

0

0x02

READ_DATA

 这个命令负责从Dynamixel舵机读取数据

2

0x03

WRITE_DATA

 这个命令负责向Dynamixel舵机写入数据

2 or more

0x04

REG WRITE

 有点类似于WRITE_DATA命令,但它发送到Dynamixel舵机之后,会处于一个  待机状态,直到接受到ACTION命令的到达才会执行这条指令

2 or more

0x05

ACTION

 这个命令将启动已经由REG WRITE命令注册过的指令协议

0

0x06

RESET

 这条指令将把Dynamixel舵机恢复为出厂状态

0

0x83

SYNC WRITE

 这个命令用于同时控制多个舵机

4 or more

 

 

 PARAMETER 0…N

当协议需要辅助数据时使用参数。比如要读取相关数据或者往舵机里写入数据等。

 

 

 CHECK SUM

校验和,可以当做协议报尾,校验和是要通过计算才得出的结果,如果校验和不正确,舵机将不执行相关协议。

校验和的计算公式为:

Check Sum = ~ ( ID + Length + Instruction + Parameter1 + … Parameter N )

 

例如,当使用的数据协议如下:

 

ID=1 (0x01), Length= 5 (0x05), Instruction= 3 (0x03),  

Parameter1= 12 (0x0C), Parameter2= 100 (0x64), Parameter3= 170 (0xAA)

 

Check Sum = ~ ( ID + Length + Instruction + Parameter1 + … Parameter 3 )

= ~ [ 0x01 + 0x05 + 0x03 + 0x0C + 0x64 + 0xAA ]

= ~ [ 0x123 ] // Only the lower byte 0x23 executes the Not operation.

= 0xDC

 

 那么,完整的协议即为:FF 01 05 03 0C 64 AA DC

 

 

 

OpenCM9.04控制XM430-W350舵机

视频地址: https://haokan.baidu.com/v?vid=8171648541988572636

阅读全文

利用OpenCM9.04控制板获取舵机反馈

声明:此文档版权归属于北京小芽科技,可以转载,但要声明出处(北京小芽科技博客xiaoyatec.com)   OpenCM9.04控制板分为 A、B、C三个版本,这三个版...

阅读全文

Dynamixel Protocol 2.0 的协议使用样例介绍

声明:此文档版权归属于北京小芽科技,可以转载,但要声明出处(北京小芽科技博客xiaoyatec.com)   对于Robotis舵机来说,由于舵机版本的不同,使用的...

阅读全文

欢迎留言

你必须启用JavaScript才能看到这里的验证码!