Skip to main content
Version: 6.1.0 (Latest)
阅读指南
  1. 《玄雅·灵动/灵越上下位机通讯协议》正在持续优化和迭代中。如在实际使用过程中发现与本协议存在版本不一致的情况,请与我们联系,我们将第一时间为您提供所需的技术支持;

  2. 本协议中的所有数值统一采用十进制或十六进制表示,其中以0x标识的数据为十六进制数,未有标识的数据一律为十进制数;

  3. 本协议适用于所有购买玄雅·灵动系列产品的用户。

上一次修改时间:2025年12月19日

一.灵系列产品通讯协议基本构成

灵系列产品的通讯协议由帧头、指令、功能码、数据长度、数据、校验、帧尾构成,通信波特率为 1000000

字段说明示例/固定值
帧头数据帧的起始位置0xAA(固定)
指令控制指令ID,对应特定控制逻辑或数据格式,便于接收时动态匹配处理流程指令ID
功能码每个指令下的细分功能,各功能对应不同参数function
数据长度后续“数据”字段的长度length
数据关节的位置、速度、加速度或力矩数据data1 ~ dataN
校验CRC32校验(取低八位),计算规则:Check = 指令ID + function + length + data1 ~ datanCheck
帧尾数据帧的结束位置0xFF(固定)

指令ID与对应功能说明

指令ID指令功能
0x01查询机器类型、固件版本、硬件版本及唯一标识码
0x03机器零点位置设置
0x04夹爪行程设置
0x05机器扭矩开关控制
0x06关节及夹爪控制及获取
0XFE机器自检指令

二、指令功能

1. 查询机器信息指令

机器信息查询指令ID为0x01,该指令用于获取机器的固件版本号、硬件版本号和唯一机器码。

字段取值
指令0x01
功能码0x00
数据长度0x01
数据0xFE
校验0x23

示例:查询机器信息

帧头指令功能码数据长度数据校验帧尾
0xAA0x010x000x010xFE0x230xFF

返回帧

帧头指令功能码数据长度数据校验帧尾
0xAA0x010x000x180x41 0x44 0x4C 0x53 0x32 0x35 0x31 0x32 0x30 0x35 0x31 0x32 0x33 0x34 0x35 0x36 0x6E 0x00 0x00 0x00 0x62 0x02 0x00 0x000x920xFF

返回数据说明

数据格式:序列号(16字节) + 硬件版本(4字节,十进制) + 固件版本(4字节,十进制)

注:各字段内容以字母的ASCII码转为16进制表示

  • 示例序列号:ADFS 251120 X10L23 含义:标准操作臂 + 出厂时间 + 标识码 + 产品型号 + 后续12字节序列号
  • 示例硬件号:110(十进制,表示1.10版本) 对应16进制:0x00 0x00 0x00 0x6E0x6E对应十进制110)
  • 示例固件号:610(十进制,表示6.10版本) 对应16进制:0x00 0x00 0x02 0x620x0262对应十进制610)

2. 机器零点位置设置指令

机器零点位置设置指令ID为0x03,该指令用于设置机器零点位置。该指令会关闭扭矩。

字段取值
指令0x03
功能码0x00
数据长度0x01
数据0xFE
校验0xA8(功能码0x00时)

功能码说明

功能码功能含义
0x00灵动系列:设置零点位置

示例:设置灵动零点位置

帧头指令功能码数据长度数据校验帧尾
0xAA0x030x000x010xFE0xA80xFF

3. 夹爪行程设置指令

夹爪行程设置指令ID为0x04,该指令用于设置机器夹爪的行程,同时支持查询夹爪行程配置。

字段取值
指令0x04
功能码0x00、0x01、0x02、0x0E
数据长度0x01
数据0xFE(指令发送时);行程类型值(查询返回时)
校验0x7F

功能码说明

功能码功能含义
0x00设置夹爪为50mm行程
0x01设置夹爪为75mm行程
0x02设置夹爪为100mm行程
0x0E查询夹爪行程配置

示例1:设置夹爪行程为100mm

帧头指令功能码数据长度数据校验帧尾
0xAA0x040x020x010xFE0x7F0xFF

示例2:查询夹爪行程配置

帧头指令功能码数据长度数据校验帧尾
0xAA0x040x0E0x010xFE0x7F0xFF

返回数据说明

查询夹爪行程配置后,返回的数据字段为夹爪的行程类型,对应关系如下:

  • 0x00:50mm行程夹爪
  • 0x01:75mm行程夹爪
  • 0x02:100mm行程夹爪

返回帧示例(以75mm行程为例)

帧头指令功能码数据长度数据校验帧尾
0xAA0x040x0E0x010x010x7F0xFF

4. 机器扭矩开关指令

机器扭矩开关指令ID为0x05,该指令用于设置机器的扭矩开关。

字段取值
指令0x05
功能码0x00
数据长度0x01
数据0x00、0x01
校验0x6F

数据字段说明

数据值含义
0x00关闭力矩
0x01开启力矩

指令帧示例

帧头指令功能码数据长度数据校验帧尾
0xAA0x050x000x010x000x6F0xFF

5. 关节及夹爪控制指令

关节及夹爪控制帧的指令ID为0x06,该指令内涵多个功能,下面一一列举

获取位置、速度及温度数据

1. 获取位置和运动状态

  • 功能:获取关节、夹爪及运行状态数据。
  • 指令:0x06
  • 数据长度:0x01
  • 功能码:0x00(获取位置和运动状态)
  • 数据:0xFE
  • 校验:

示例:获取关节及夹爪角度数据

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x000x010xFE0x9A0xFF

示例:灵动回复数据

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x000x0F0x02 0x08 0xFB 0x07 0xFB 0x07 0x02 0x08 0xFA 0x07 0x01 0x08 0x03 0x08 0x000xA90xFF
  • 数据格式:关节角度(每个关节2字节) + 夹爪位置(2字节) + 运行状态(1字节),数据低位在前高位在后
    • 灵动系列:6关节角度 + 夹爪位置 + 运行状态
  • 运行状态(最后一字节):空闲 0x00、锁定 0x01、同步 0x10、同步锁定0x11,过热状态 0xE1、过热保护 0xE2

2. 获取温度数据

  • 功能:获取温度数据
  • 功能码:0x01

示例:获取舵机的温度数据(灵动示教臂6个舵机,操作臂10个)

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x010x010xFE0xAD0xFF

示例:灵动回复温度数据(灵动示教返回6个,操作返回10个)

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x010x0A0x23 0x24 0x23 0x26 0x23 0x26 0x23 0x25 0x24 0x240x4B0xFF
  • 设置温度保护最大阈值(在温度功能码下,如果数据不为0xFE,则为设置温度最大阈值)
  • 示例:设置温度保护最大阈值为0x64(100),默认是85
帧头指令功能码数据长度数据校验帧尾
0xAA0x060x010x010x640xF70xFF

3. 获取速度数据

  • 功能:获取速度数据
  • 功能码:0x02

示例:获取舵机的velocity数据(灵动示教臂6个舵机,操作臂10个)

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x020x010xFE0xF40xFF

示例:灵动回复velocity数据(灵动示教返回6个,操作返回10个)

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x020x140x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000xE90xFF

关节、夹爪及状态控制

  • 功能:控制左右臂关节、左右夹爪及运行状态。
  • 指令:0x06
  • 功能码:0x03
  • 数据长度:0x1C
  • 数据:关节角度 + 速度
  • 数据格式:关节角度 + 速度(每个关节4字节),数据低位在前高位在后
    • 灵动系列:6关节角度 + 夹爪位置
  • 校验:

示例:控制各关节角度为0度,速度1000,控制夹爪闭合到一半(0x3E8)(运动速度最高可以设置为5000,先位置角度再速度)(夹爪映射到0到1000,1000是夹爪张开到最大量程)

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x030x1C0x00 0x08 0xE8 0x03 0x00 0x08 0xE8 0x03 0x00 0x08 0xE8 0x03 0x00 0x08 0xE8 0x03 0x00 0x08 0xE8 0x03 0x00 0x08 0xE8 0x03 0xF4 0x01 0xE8 0x030x6A0xFF

6.机器自检指令

机器自检指令ID为0xFE,该指令用于检测舵机是否正常,一共2个字节数据,从低到高每个bit位代表舵机ID从低到高的舵机状态好坏,舵机正常该bit位为1,不正常为0,灵动操作臂10个bit,示教臂6个bit。

字段取值
指令0xFE
功能码0x00
数据长度0x03

示例:发送请求机器舵机状态

帧头指令功能码数据长度数据校验帧尾
0xAA0xFE0x000x000xFE0x930xFF

示例:返回的状态数据(操作臂所有舵机正常)

帧头指令功能码数据长度数据校验帧尾
0xAA0xFE0x000x020xFF 0x030x870xFF