# 惯导类CAN协议标准 为了更好的兼容不同设备,我们规范了CAN协议的标准,使得同类型不同型号设备能无缝切换,自动被ROS识别并直接使用,方便更换硬件时候的软件移植工作。以下为惯导设备使用的专用CAN协议。

请先确保阅读了[CAN协议构架说明](https://docs.hexmove.cn/books/hexmove/page/can-Zxd)再开始以下内容

请注意使用设备CANID替换表中XX部分

惯导类设备的大类ID为 0B

--- ### 惯导传感器指令总表 此表展示了专用指令的所有指令内容,方便快速查询和定位
指令集 反馈集 重要性 说明
设备对象 命令内容 大类 ( 00~1F) 型号 (00~FF) 编号 (00~FF) 功能 (00~FF) 大类 (00~1F) 型号 (00~FF) 编号 (00~FF) 功能 (00~FF) 反馈内容 周期性
惯导传感器 角度信息设置 0B xx xx 11 0B xx xx B1 传感器角度信息 周期反馈 必备
角速度信息设置 0B xx xx 12 0B xx xx B2 传感器角速度信息 周期反馈 必备
加速度信息设置 0B xx xx 13 0B xx xx B3 传感器加速度信息 周期反馈 必备
四元数信息设置 0B xx xx 14 0B xx xx B4 传感器四元数信息1 使能后周期反馈 选备
/ / / / / 0B xx xx B5 传感器四元数信息2 使能后周期反馈 选备
--- ### 1. 角度信息设置 / 传感器角度信息
角度信息设置
发送方 接收方 CAN ID 数据长度 周期(ms
外部 本设备 0x 0B XX XX 11 1 /
数据位 功能 数据类型 说明
byte\[0\] 发送周期设置 unsigned int8 0: 关闭/ 1~10: 10ms / 10~255:设定值(默认10ms)
byte\[1~7\] / / /
传感器角度信息
发送方 接收方 CAN ID 数据长度 周期(ms)
本设备 外部 0x 0B XX XX B1 8 默认10
数据位 功能 数据类型 说明
byte\[0\] x轴旋转角\[7:0\] signed int16 单位:0.01deg(°)
byte\[1\] x轴旋转角\[8:15\]
byte\[2\] y轴旋转角 \[7:0\] signed int16 单位:0.01deg(°)
byte\[3\] y轴旋转角 \[8:15\]
byte\[4\] z轴旋转角\[7:0\] signed int16 单位:0.01deg(°)
byte\[5\] z轴旋转角\[8:15\]
byte\[6\] 发布时间戳\[7:0\] unsigned int16 单位:ms
byte\[7\] 发布时间戳\[8:15\]
> 举例: 型号0x01 编号0x02 的IMU 设置10ms,反馈x=0.5° y=1.0° z=1.5°。 > >
发送实例 > >
传输目标 > > CAN ID > > 帧格式 > > 帧类型 > > 数据长度 > > 数据位(L->H) > >
设备 > > 0x0B 01 02 11 > > 数据帧 > > 扩展帧 > > 1 > > 14 > >
上位机 > > 0x0B 01 02 B1 > > 数据帧 > > 扩展帧 > > 8 > > 32 00 64 00 96 00 01 00 > >
--- ### 2. 角速度设置 / 角速度信息
角速度信息设置
发送方 接收方 CAN ID 数据长度 周期(ms
外部 本设备 0x 0B XX XX 12 1 /
数据位 功能 数据类型 说明
byte\[0\] 发送周期设置 unsigned int8 0: 关闭/ 1~10: 10ms / 10~255:设定值(默认10ms)
byte\[1~7\] / / /
角速度信息
发送方 接收方 CAN ID 数据长度 周期(ms)
本设备 外部 0x 0B XX XX B2 8 默认10
数据位 功能 数据类型 说明
byte\[0\] x方向角速度\[7:0\] signed int16 单位:0.01 deg/s
byte\[1\] x方向角速度 \[8:15\]
byte\[2\] y方向角速度 \[7:0\] signed int16 单位:0.01 deg/s
byte\[3\] y方向角速度 \[8:15\]
byte\[4\] z方向角速度 \[7:0\] signed int16 单位:0.01 deg/s
byte\[5\] z方向角速度 \[8:15\]
byte\[6\] 发布时间戳\[7:0\] unsigned int16 单位:ms
byte\[7\] 发布时间戳\[8:15\]
> 举例: 型号0x01 编号0x02 的IMU 设置10ms,反馈x=0.5°/s y=1.0°/s z=1.5°/s。 > >
发送实例 > >
传输目标 > > CAN ID > > 帧格式 > > 帧类型 > > 数据长度 > > 数据位(L->H) > >
设备 > > 0x0B 01 02 12 > > 数据帧 > > 扩展帧 > > 1 > > 14 > >
上位机 > > 0x0B 01 02 B2 > > 数据帧 > > 扩展帧 > > 8 > > 32 00 64 00 96 00 01 00 > >
--- ### 3. 加速度设置 / 加速度信息
加速度信息设置
发送方 接收方 CAN ID 数据长度 周期(ms
外部 本设备 0x 0B XX XX 13 1 /
数据位 功能 数据类型 说明
byte\[0\] 发送周期设置 unsigned int8 0: 关闭/ 1~10: 10ms / 10~255:设定值(默认10ms)
byte\[1~7\] / / /
加速度信息
发送方 接收方 CAN ID 数据长度 周期(ms)
本设备 外部 0x 0B XX XX B3 8 默认10
数据位 功能 数据类型 说明
byte\[0\] x方向加速度\[7:0\] signed int16 单位:0.01m/s²
byte\[1\] x方向加速度 \[8:15\]
byte\[2\] y方向加速度 \[7:0\] signed int16 单位:0.01m/s²
byte\[3\] y方向加速度 \[8:15\]
byte\[4\] z方向加速度 \[7:0\] signed int16 单位:0.01m/s²
byte\[5\] z方向加速度 \[8:15\]
byte\[6\] 发布时间戳\[7:0\] unsigned int16 单位:ms
byte\[7\] 发布时间戳\[8:15\]
> 举例: 型号0x01 编号0x02 的IMU 设置10ms,反馈x=0.5m/s y=1.0m/s z=1.5m/s。 > >
发送实例 > >
传输目标 > > CAN ID > > 帧格式 > > 帧类型 > > 数据长度 > > 数据位(L->H) > >
设备 > > 0x0B 01 02 13 > > 数据帧 > > 扩展帧 > > 1 > > 14 > >
上位机 > > 0x0B 01 02 B3 > > 数据帧 > > 扩展帧 > > 8 > > 32 00 64 00 96 00 01 00 > >
--- ### 4. 四元数信息设置
四元数信息设置
发送方 接收方 CAN ID 数据长度 周期(ms
外部 本设备 0x 0B XX XX 14 1 /
数据位 功能 数据类型 说明
byte\[0\] 发送周期设置 unsigned int8 0: 关闭(默认)/ 1~10: 10ms / 10~255:设定值
byte\[1~7\] / / /
四元数信息1
发送方 接收方 CAN ID 数据长度 周期(ms)
本设备 外部 0x 0B XX XX B4 8 默认关闭
数据位 功能 数据类型 说明
byte\[0\] 四元数qw\[0:7\] float
byte\[1\] 四元数qw\[8:15\]
byte\[2\] 四元数qw\[16:23\]
byte\[3\] 四元数qw\[24:31\]
byte\[4\] 四元数qx\[0:7\] float
byte\[5\] 四元数qx\[8:15\]
byte\[6\] 四元数qx\[16:23\]
byte\[7\] 四元数qx\[24:31\]
四元数信息2
发送方 接收方 CAN ID 数据长度 周期(ms)
本设备 外部 0x 0B XX XX B5 8 默认关闭
数据位 功能 数据类型 说明
byte\[0\] 四元数qy\[0:7\] float
byte\[1\] 四元数qy\[8:15\]
byte\[2\] 四元数qy\[16:23\]
byte\[3\] 四元数qy\[24:31\]
byte\[4\] 四元数qz\[0:7\] float
byte\[5\] 四元数qz\[8:15\]
byte\[6\] 四元数qz\[16:23\]
byte\[7\] 四元数qz\[24:31\]