跳转至

origintank ROS 机器人通信协议


1. 通信方式

上位机与下位机之间采用 串口通信: - 波特率:115200
- 停止位:1
- 数据位:8
- 校验:无校验
- 通信频率:建议 ≥ 5Hz

⚠️ 若上位机与底盘连接后超过 500ms 未收到新的协议数据,底盘将判定连接断开并主动停止电机运动。

底盘支持:

  • 串口通信
  • 蓝牙通信(双模式控制)

2. 异或校验计算方法

将每一个字节数据(两个 16 进制字符)依次异或后得到校验码。

示例

  • 数据:01 A0 7C FF 02
  • 计算:01 xor A0 xor 7C xor FF xor 02 = 20
  • 校验码:20

3. 协议整体结构

上位机 → 下位机

报头 报文长度 功能位 数据位 异或校验
CD XorCheck

下位机 → 上位机

报头 报文长度 功能位 数据位 异或校验
FD XorCheck
  • 异或校验:对功能位和数据位进行异或校验
  • 报文长度:功能位与数据位的总长度

4. 单位与精度

参数 单位 说明
线速度 mm/s
转向角度 °(1度)
角速度 0.01 rad/s
电压 0.1 V
Pitch / Roll / Yaw 0.01°

5. 车辆方向定义

轴向 含义
X 轴 小车纵向方向
Y 轴 小车横向方向

6. 功能位定义


(1)0x01 运动控制

建议控制频率为 5~20Hz

01 02 03 04 05~06 07 08~09 10 11~12 13
报头 报文长度 功能位 X轴运动方向 X轴线速度 Y轴运动方向 Y轴线速度 转动方向 转动角速度 异或校验
CD 0A 01 00/01 MSB LSB 00/01 MSB LSB 00/01 MSB LSB XorCheck

说明

  • 仅麦克纳姆轮车支持 Y 轴横向运动;
  • 四轮差速、履带、阿克曼车型给 Y 轴指令无效;
  • 转动角速度范围:0~540 × 0.01 rad/s
  • 阿克曼车型中第 11、12 字节表示转向角度(最大 25°)。

示例: CD 0A 01 01 03 20 00 00 00 00 00 19 3A

解释:

小车以 800 mm/s 速度后退,同时以 0.25 rad/s 向左转弯。


(2)0x02 小车车速及转动角速度反馈(20Hz 自动反馈)

报头 报文长度 功能位 X轴运动方向 X轴线速度 Y轴运动方向 Y轴线速度 转动方向 转动角速度 异或校验
CD 0A 02 00/01 MSB LSB 00/01 MSB LSB 00/01 MSB LSB XorCheck

(3)0x03 电机转速反馈(20Hz 自动反馈)

报头 报文长度 功能位 电机1转速 电机2转速 电机3转速 电机4转速 异或校验
FD 09 03 MSB LSB MSB LSB MSB LSB MSB LSB XorCheck

(4)0x04 电池电压反馈(5Hz 自动反馈)

报头 报文长度 功能位 电压(0.1V 精度) 异或校验
FD 02 04 数据 XorCheck

(5)0x05 IMU 数据反馈(20Hz 自动反馈)

报头 报文长度 功能位 Pitch正负 Pitch值 Roll正负 Roll值 Yaw正负 Yaw值 异或校验
FD 0A 05 00/01 MSB LSB 00/01 MSB LSB 00/01 MSB LSB XorCheck
  • 0x00 表示正方向
  • 0x01 表示负方向

(6)0x06 IMU 原始数据反馈(40Hz 自动反馈)

报文格式:

字节 含义
01 报头(FD)
02 报文长度(1F)
03 功能位(06)
04~34 各传感器原始数据
34 异或校验

数据内容:

数据 正负位 高位 低位 单位
GyroX 00/01 MSB LSB (1/1000) rad/s
GyroY 00/01 MSB LSB (1/1000) rad/s
GyroZ 00/01 MSB LSB (1/1000) rad/s
AccelX 00/01 MSB LSB (1/10000) g/s
AccelY 00/01 MSB LSB (1/10000) g/s
AccelZ 00/01 MSB LSB (1/10000) g/s
QuatW 00/01 MSB LSB (1/10000)
QuatX 00/01 MSB LSB (1/10000)
QuatY 00/01 MSB LSB (1/10000)
QuatZ 00/01 MSB LSB (1/10000)

高位在前,低位在后;
0x00 表示正,0x01 表示负。


(7)0x07 底盘型号反馈(5Hz 自动反馈)

报头 报文长度 功能位 底盘型号 异或校验
FD 02 07 01/02/03/04 XorCheck

底盘型号定义:

类型
0x01 阿克曼车型
0x02 四轮差速车
0x03 麦克纳姆轮车
0x04 履带车

附录:通信安全机制

  • 若 500ms 内未接收到控制数据,底盘立即停止;
  • 建议控制频率 ≥ 5Hz;
  • 建议上位机发送前进行完整异或校验计算。

图片1