底盘类CAN协议标准
为了更好的兼容不同设备,我们规范了CAN协议的标准,使得同类型不同型号设备能无缝切换,自动被ROS识别并直接使用,方便更换硬件时候的软件移植工作。以下为底盘使用的专用CAN协议。
请注意使用设备CANID替换表中XX部分
请先确保阅读了CAN协议构架说明再开始以下内容
动底盘指令总表
此表展示了通用指令的所有指令内容,方便快速查询和定位
|
指令集 |
反馈集 |
重要性 |
说明 |
|||||||||||
|
设备对象 |
命令内容 |
大类 (00~1F) |
型号 (00~FF) |
编号 (00~FF) |
功能 (00~FF) |
大类 (00~1F) |
型号 (00~FF) |
编号 (00~FF) |
功能 (00~FF) |
反馈内容 |
周期性 |
|||
|
移动底盘 |
底盘状态设置 |
01 |
xx |
xx |
11 |
01 |
xx |
xx |
B1 |
底盘状态信息 |
周期反馈 |
必备 |
||
|
底盘运动控制 |
01 |
xx |
xx |
12 |
01 |
xx |
xx |
B2 |
底盘运动信息 |
周期反馈 |
必备 |
|||
|
/ |
/ |
/ |
/ |
/ |
01 |
xx |
xx |
B3 |
主轮里程计 |
周期反馈 |
必备 |
|||
|
/ |
/ |
/ |
/ |
/ |
01 |
xx |
xx |
B4 |
次轮里程计 |
周期反馈 |
选备 |
主要用于正交轮和麦克纳姆轮体系 |
||
|
遥控器信息发送使能 |
01 |
xx |
xx |
15 |
01 |
xx |
xx |
B5 |
车载遥控器信息 |
使能后周期反馈 |
必备 |
|||
|
安全传感器发送使能 |
01 |
xx |
xx |
16 |
01 |
xx |
xx |
B6 |
车载安全传感器信息 |
使能后周期反馈 |
选备 |
|||
|
驱动器运动信息发送使能 |
01 |
xx |
xx |
17 |
01 |
xx |
xx |
B7 |
驱动器运动信息 |
使能后周期反馈 |
选备 |
|||
|
驱动器状态信息发送使能 |
01 |
xx |
xx |
18 |
01 |
xx |
xx |
B8 |
驱动器状态信息 |
使能后周期反馈 |
选备 |
|||
|
底盘零点较准 |
01 |
xx |
xx |
19 |
01 |
xx |
xx |
B9 |
零点较准信息 |
对命令反馈 |
选备 |
主要用于阿克曼底盘的方向舵较准 |
||
|
/ |
/ |
/ |
/ |
/ |
01 |
xx |
xx |
BA |
错误状态信息 |
周期反馈 |
必备 |
|||
|
获取RTC时间 |
01 |
xx |
xx |
1B |
01 |
xx |
xx |
BB |
RTC时间信息 |
对命令反馈 |
选备 |
需要具有板载时钟芯片 |
||
|
设置RTC时间 |
01 |
xx |
xx |
1C |
01 |
xx |
xx |
BC |
设置RTC时间反馈 |
对命令反馈 |
选备 |
|||
|
设置唤醒时间 |
01 |
xx |
xx |
1D |
01 |
xx |
xx |
BD |
设置唤醒时间反馈 |
对命令反馈 |
选备 |
用于需要睡眠模式的设备 |
||
|
电源输出控制 |
01 |
xx |
xx |
1E |
01 |
xx |
xx |
BE |
电源输出反馈 |
对命令反馈 |
选备 |
配合睡眠模式使用 |
||
|
机械参数设置 |
01 |
xx |
xx |
1F |
01 |
xx |
xx |
BF |
机械参数反馈 |
对命令反馈 |
必备 |
|
||
|
odom设置 |
01 |
xx |
xx |
20 |
01 |
xx |
xx |
C0 |
odom-位移反馈 |
周期反馈 |
选备 |
|
||
|
/ |
/ |
/ |
/ |
/ |
01 |
xx |
xx |
C1 |
odom-旋转反馈 |
周期反馈 |
选备 |
|
||
1. 底盘状态设置
|
底盘状态设置 |
||||
|
发送方 |
接收方 |
CAN ID |
数据长度 |
周期(ms) |
|
外部 |
本设备 |
0x 01 XX XX 11 |
4 |
/ |
|
数据位 |
功能 |
数据类型 |
说明 |
|
|
byte[0] |
设置控制模式 |
unsigned int8 |
0x00: 待机 / 0x01: 遥控 / 0x02: CAN控制 / 0x03: 随动 |
|
|
byte[1] |
使能蜂鸣器 |
unsigned int8 |
0x00: 关闭 / 0x01: 开启(默认) 手动控制蜂鸣器,不影响报警的蜂鸣器 |
|
|
byte[2] |
使能刹车 |
unsigned int8 |
0x00: 松开 / 0x01: 锁止(如有刹车则默认) |
|
|
byte[3] |
使能特殊功能 |
unsigned int8 |
0x00: 关闭(默认) / 0x01: 开启 |
|
|
byte[4~7] |
/ |
/ |
/ |
|
|
底盘状态信息 |
||||
|
发送方 |
接收方 |
CAN ID |
数据长度 |
周期(ms) |
|
本设备 |
外部 |
0x 01 XX XX B1 |
8 |
100 |
|
数据位 |
功能 |
数据类型 |
说明 |
|
|
byte[0] |
设备状态 |
unsigned int8 |
0x00: 正常 / 0x01: 异常(出现错误报警) |
|
|
byte[1] |
控制模式 |
unsigned int8 |
0x00: 待机 / 0x01: 遥控 / 0x02: CAN控制 / 0x03: 随动 |
|
|
byte[2] |
电池电压低8位 |
unsigned int16 |
单位:0.1V |
|
|
byte[3] |
电池电压高8位 |
|||
|
byte[4] |
蜂鸣器状态 |
unsigned int8 |
0x00: 关闭 / 0x01: 开启(默认) 手动控制蜂鸣器,不影响报警的蜂鸣器 |
|
|
byte[5] |
遥控器状态 |
unsigned int8 |
0: 在线 / 1: 离线 |
|
|
byte[6] |
刹车状态 |
unsigned int8 |
0x00: 松开 / 0x01: 锁止(如有刹车则默认) |
|
|
byte[7] |
特殊功能状态 |
unsigned int8 |
0x00: 关闭(默认) / 0x01: 开启 |
|