跳到主要内容

软件库说明文档

XGO串口通信协议

文档目的和对象

本文档适用于任意上位机与XGO系列机器驱动板之间命令/数据交互的通信协议。示用于高阶开发者对XGO进行二次开发。

软件接口

采用标准TTL串行通讯。

波特率115200
数据位8
停止位1
奇偶校验位

数据帧格式

数据帧采用固定格式:帧头+帧长度+数据+校验和+帧尾。

帧头固定为0x55 0x00
帧长度整个数据帧的字节数
数据依据指令类型有不同含义,见第二部分
校验和长度和数据的所有字节相加,取最低字节,然后取反
帧尾固定为0x00 0xAA

指令

建议上位机每条指令之间的间隔至少为1ms,以防发送指令过快,机器狗来不及处理出现丢包的现象。

可以参考python库中send和read的代码。

写指令,无应答(0x00)

帧头帧长度指令类型首地址数据校验和帧尾
0x55 0x000x00data0x00 0xAA

写指令会修改从首地址开始的数据,不会产生应答。

>例如修改机器狗的前进速度,前进速度地址为0x30,以最大速度前进,即速度内容为0xFF,具体指令如下: >0x55 0x00 0x09 0x00 0x30 0xFF 0xC7 0x00 0xAA >其中校验和计算过程如下: >0x09+0x00+0x30+0xFF=0x138,取最低字节0x38,取反得0xC7

读指令,有应答(0x02)

帧头帧长度指令类型首地址读取长度校验和帧尾
0x55 0x000x02uint_80x00 0xAA

写指令会连续读取从首地址开始的数据,不会产生应答。 返回数据包的格式为:

帧头帧长度指令类型首地址数据校验和帧尾
0x55 0x000x12data0x00 0xAA

>例如读取12个舵机的角度,0x50为第一个舵机位置的地址,0x0C意思为连续读取12个,具体指令如下: >0x55 0x00 0x09 0x02 0x50 0x0C 0x98 0x00 0xAA >其中校验和计算过程如下: >0x09+0x02+0x50+0x0C=0x67,取反得0x98 >读取返回数据包: >0x55 0x00 0x14 0x12 0x50 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x89 0x00 0xAA

双轮足内存表 2024-11

地址功能读写初始值备注
0x01电池电量0xff范围为0-100,线性对应电量最低值-最高值
0x02工作状态0x010x00 倒地状态 | 0x01 正常状态
0x03表演模式0x000x00正常控制模式 | 0x01循环做动作
0x04标定模式0x000x01进入标定模式 0x00退出标定模式完成标定
0x05更新固件0x000x01进入更新模式,下位机会发送一条内容为0x55的指令作为答复,延时1s后上位机开始传输hex
0x06设置原点0x000x01设置,将当前朝向设置为0度,里程计归零
0x07固件版本返回10字节的字符串,例如"R-1.2.3" L代表lite M代表mini R代表rider
0x08数据自动反馈0x00以50Hz频率向串口发送 电量 关节角 imu6轴数据 里程计 的数据包
0x0A静态转向环开关0x010x00 关 | 0x01 开 默认开启保持朝向,用手转动后会转回原先朝向
0x13蓝牙名称可命名长度为20个字节,只能是英文和数字的组合,命名后蓝牙名称为XGORider_xxxx
0x30前后移动速度0x80范围为0x00-0xff,线性对应反向最大值-正向最大值
0x32顺逆时针旋转速度0x80迎着z轴射来方向顺时针对应最大值方向
0x35身体高度0x80
0x39以一定周期绕x轴旋转身体0x000x00停止,0x01-0xff线性对应最小-最大旋转速度 ,该功能与直接设置roll不能同时起作用
0x3E动作指令0x00详情见动作指令表 255为恢复默认姿态 1-N为各个动作
0x82以一定周期沿Z轴方向平移运动0x000x00停止,0x01-0xff对应最小-最大旋转速度,移动幅度为位置限幅的一半
0x61ROLL平衡模式0x000x00关闭 0x01自稳定模式
0x62ROLL角度float
0x63PITCH角度float
0x64YAW角度float
0x65IMU 6轴数据float*6 一共24字节
0x66ROLL角度int16
0x67PITCH角度int16
0x68YAW角度int16
0x691号LED的颜色三个字节,数值范围为0-255,[0,0,0]代表灭,[255,255,255]代表最亮的白光
0x6A2号LED的颜色同上
0x6B3号LED的颜色同上
0x6C4号LED的颜色同上
动作ID (十进制)动作内容
1左右摇摆
2高低起伏
3前进后退
4四方蛇形
5升降旋转
6圆周晃动