跳转到主要内容

移动平台类CAN协议标准

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

请先确保阅读了CAN协议构架说明再开始以下内容

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

移动平台类设备的大类ID为 03

 

移动平台指令总表

此表展示了专用指令的所有指令内容,方便快速查询和定位

指令集

 

反馈集

重要性

说明

设备对象

命令内容

大类

(00~1F)

型号

(00~FF)

编号

(00~FF)

功能

(00~FF)

 

大类

(00~1F)

型号

(00~FF)

编号

(00~FF)

功能

(00~FF)

反馈内容

周期性

移动平台

平台状态设置

03

xx

xx

11

 

03

xx

xx

B1

平台状态信息

周期反馈

必备

 

平台移动范围查询

03

xx

xx

12


03

xx

xx

B2

移动范围信息

对命令反馈

必备


平台转动范围查询

03

xx

xx

13


03

xx

xx

B3

转动范围信息

对命令反馈

必备


平台移动速度控制

03

xx

xx

14

 

03

xx

xx

B4

平台移动信息

周期反馈

选备

适用于有移动轴的平台

平台转动速度控制

03

xx

xx

15

 

03

xx

xx

B5

平台转动信息

周期反馈

选备

适用于有旋转轴的平台

平台移动位置控制

03

xx

xx

16

 

03

xx

xx

B6

平台位置信息

周期反馈

选备

适用于有移动轴的平台

平台转动位置控制

03

xx

xx

17

 

03

xx

xx

B7

平台角度信息

周期反馈

选备

适用于有旋转轴的平台

 


1. 平台状态设置/ 平台状态信息 


平台状态设置

发送方

接收方

CAN ID

数据长度

周期(ms

外部

本设备

0x 03 XX XX 11

1

/

数据位

功能

数据类型

说明

byte[0]

启动零点较准

 uint8

0x00: 不启动 / 0x01:启动

byte[1~7]

/

/

/

平台状态信息

发送方

接收方

CAN ID

数据长度

周期(ms)

本设备

外部

0x 03 XX XX B1

4

100

数据位

功能

数据类型

说明

byte[0]

设备状态

uint8

0x00: 正常 / 0x01:异常

byte[1]

零点较准状态uint80x00: 较准完成 / 0x01:校准中

byte[2]

 特殊状态uint16  查看特殊状态表

byte[3]

byte[4~7]

/

/

/

拨动开关档位表 

说明

bit[0]

0: 正常 / 1:触发

x平移限位触发

bit[1]

0: 正常 / 1:触发

y平移限位触发

bit[2]

0: 正常 / 1:触发

z平移限位触发

bit[3]

0: 正常 / 1:触发

x轴旋转限位触发

bit[4]

0: 正常 / 1:触发

y轴旋转限位触发

bit[5]

0: 正常 / 1:触发

z轴旋转限位触发

bit[6]

0: 正常 / 1:堵转

x电机堵转

bit[7]

0: 在线 / 1:堵转

y电机堵转

bit[8]

0: 正常 / 1:堵转

z电机堵转

bit[9]

0: 正常 / 1:过温

x电机过温

bit[10]

0: 在线 / 1:过温

y电机过温

bit[11]

0: 正常 / 1:过温

z电机过温

bit[12~15]

/

/

启动校准后平台会缓慢寻找零点并停在零点处

举例: 型号0x02 编号0x03 的平台启动校准,发送CANID:0x03 02 03 11 数据:01。 

发送实例

传输目标

CAN ID

帧格式

帧类型

数据长度

数据位(L->H)

设备

0x03 02 03 11

数据帧

扩展帧

1

01

上位机

0x03 02 03 B1

数据帧

扩展帧

4

00 01 00 00

 


2. 平台移动范围查询 /  平台移动范围信息

用于获得平台移动轴的运动范围,是设备的固定参数

平台移动范围查询

发送方

接收方

CAN ID

数据长度

周期(ms

外部

本设备

0x 03 XX XX 12

0

/

数据位

功能

数据类型

说明

byte[0~7]

/

/

/

平台移动范围信息

发送方

接收方

CAN ID

数据长度

周期(ms)

本设备

外部

0x 03 XX XX B2

6

/

数据位

功能

数据类型

说明

byte[0]

x移动范围低8位

signed int16

单位:mm

byte[1]

x移动范围高8位

byte[2]

y移动范围低8位

signed int16

单位:mm

byte[3]

y移动范围高8位

byte[4]

z移动范围低8位

signed int16

单位:mm

byte[5]

z移动范围高8位

byte[6~7]

/

/

/

当有移动轴时候才有效

举例: 型号0x02 编号0x03 的平台获取移动范围x=1000mm,发送CANID:0x03 02 03 12。 

发送实例

传输目标

CAN ID

帧格式

帧类型

数据长度

数据位(L->H)

设备

0x03 02 03 12

数据帧

扩展帧

0

/

上位机

0x03 02 03 B2

数据帧

扩展帧

6

E8 03 00 00 00 00

 


3. 平台旋转范围查询 /  平台旋转范围信息

用于获得平台旋转轴的运动范围,是设备的固定参数

平台旋转范围查询

发送方

接收方

CAN ID

数据长度

周期(ms

外部

本设备

0x 03 XX XX 13

0

/

数据位

功能

数据类型

说明

byte[0~7]

/

/

/

平台旋转范围信息

发送方

接收方

CAN ID

数据长度

周期(ms)

本设备

外部

0x 03 XX XX B3

6

/

数据位

功能

数据类型

说明

byte[0]

x旋转范围低8位

signed int16

单位:mrad

byte[1]

x旋转范围高8位

byte[2]

y旋转范围低8位

signed int16

单位:mrad

byte[3]

y旋转范围高8位

byte[4]

z旋转范围低8位

signed int16

单位:mrad

byte[5]

z旋转范围高8位

byte[6~7]

/

/

/

当有转动轴时候才有效

举例: 型号0x02 编号0x03 的平台获取旋转范围x=2rad,发送CANID:0x03 02 03 13。 

发送实例

传输目标

CAN ID

帧格式

帧类型

数据长度

数据位(L->H)

设备

0x03 02 03 13

数据帧

扩展帧

0

/

上位机

0x03 02 03 B3

数据帧

扩展帧

6

D0 07 00 00 00 00

 


4. 平台移动控制 /  平台移动信息

通过控制速度来移动平台

平台移动控制

发送方

接收方

CAN ID

数据长度

周期(ms

外部

本设备

0x 03 XX XX 14

6

/

数据位

功能

数据类型

说明

byte[0]

x方向速度低8位

signed int16

单位:mm/s

byte[1]

x方向速度高8位

byte[2]

y方向速度低8位

signed int16

单位:mm/s

byte[3]

y方向速度高8位

byte[4]

z方向速度低8位

signed int16

单位:mm/s

byte[5]

z方向速度高8位

byte[6~7]

/

/

/

平台移动信息

发送方

接收方

CAN ID

数据长度

周期(ms)

本设备

外部

0x 03 XX XX B4

6

50

数据位

功能

数据类型

说明

byte[0]

x方向速度低8位

signed int16

单位:mm/s

byte[1]

x方向速度高8位

byte[2]

y方向速度低8位

signed int16

单位:mm/s

byte[3]

y方向速度高8位

byte[4]

z方向速度低8位

signed int16

单位:mm/s

byte[5]

z方向速度高8位

byte[6~7]

/

/

/

需要实时读取位置信息,可能会出现超限

当有移动轴时候才有效

举例: 型号0x02 编号0x03 的平台设置移动x=1m/s,发送CANID:0x03 02 03 14。 

发送实例

传输目标

CAN ID

帧格式

帧类型

数据长度

数据位(L->H)

设备

0x03 02 03 14

数据帧

扩展帧

6

E8 03 00 00 00 00

上位机

0x03 02 03 B4

数据帧

扩展帧

6

E8 03 00 00 00 00

 


5. 平台转动控制 /  平台转动信息

通过控制速度来转动平台

平台转动控制

发送方

接收方

CAN ID

数据长度

周期(ms

外部

本设备

0x 03 XX XX 15

6

/

数据位

功能

数据类型

说明

byte[0]

x轴角速度低8位

signed int16

单位:mrad/s

byte[1]

x轴角速度高8位

byte[2]

y轴角速度低8位

signed int16

单位:mrad/s

byte[3]

y轴角速度高8位

byte[4]

z轴角速度低8位

signed int16

单位:mrad/s

byte[5]

z轴角速度高8位

byte[6~7]

/

/

/

平台转动信息

发送方

接收方

CAN ID

数据长度

周期(ms)

本设备

外部

0x 03 XX XX B5

6

50

数据位

功能

数据类型

说明

byte[0]

x轴角速度低8位

signed int16

单位:mrad/s

byte[1]

x轴角速度高8位

byte[2]

y轴角速度低8位

signed int16

单位:mrad/s

byte[3]

y轴角速度高8位

byte[4]

z轴角速度低8位

signed int16

单位:mrad/s

byte[5]

z轴角速度高8位

byte[6~7]

/

/

/

需要实时读角度置信息,可能会出现超限

当有转动轴时候才有效

举例: 型号0x02 编号0x03 的平台设置转动速度x=1rad/s,发送CANID:0x03 02 03 15。 

发送实例

传输目标

CAN ID

帧格式

帧类型

数据长度

数据位(L->H)

设备

0x03 02 03 15

数据帧

扩展帧

6

E8 03 00 00 00 00

上位机

0x03 02 03 B5

数据帧

扩展帧

6

E8 03 00 00 00 00

 


6. 平台位置控制 /  平台位置信息

通过控制速度来转动平台

平台位置控制

发送方

接收方

CAN ID

数据长度

周期(ms

外部

本设备

0x 03 XX XX 16

8

/

数据位

功能

数据类型

说明

byte[0]

x方向位置低8位

signed int16

单位:mm

byte[1]

x方向位置高8位

byte[2]

y方向位置低8位

signed int16

单位:mm

byte[3]

y方向位置高8位

byte[4]

z方向位置低8位

signed int16

单位:mm

byte[5]

z方向位置高8位

byte[6]

最大移动速度低8位

unsigned int16

单位:mm/s

byte[7]

最大移动速度高8位

平台位置信息

发送方

接收方

CAN ID

数据长度

周期(ms)

本设备

外部

0x 03 XX XX B6

8

50

数据位

功能

数据类型

说明

byte[0]

x方向位置低8位

signed int16

单位:mm

byte[1]

x方向位置高8位

byte[2]

y方向位置低8位

signed int16

单位:mm

byte[3]

y方向位置高8位

byte[4]

z方向位置低8位

signed int16

单位:mm

byte[5]

z方向位置高8位

byte[6]

最大移动速度低8位

unsigned int16

单位:mm/s

byte[7]

最大移动速度高8位

当有移动轴时候才有效

举例: 型号0x02 编号0x03 的平台设置移动到位置 x=1m 速度1m/s,发送CANID:0x03 02 03 16。 

发送实例

传输目标

CAN ID

帧格式

帧类型

数据长度

数据位(L->H)

设备

0x03 02 03 16

数据帧

扩展帧

8

E8 03 00 00 00 00 E8 03

上位机

0x03 02 03 B6

数据帧

扩展帧

8

E8 03 00 00 00 00 E8 03

 


7. 平台角度控制 /  平台角度信息

通过控制速度来转动平台

平台角度控制

发送方

接收方

CAN ID

数据长度

周期(ms

外部

本设备

0x 03 XX XX 17

8

/

数据位

功能

数据类型

说明

byte[0]

x轴角度低8位

signed int16

单位:mrad

byte[1]

x轴角度高8位

byte[2]

y轴角度低8位

signed int16

单位:mrad

byte[3]

y轴角度高8位

byte[4]

z轴角度低8位

signed int16

单位:mrad

byte[5]

z轴角度高8位

byte[6]

最大转动速度低8位

unsigned int16

单位:mrad/s

byte[7]

最大转动速度高8位

平台角度信息

发送方

接收方

CAN ID

数据长度

周期(ms)

本设备

外部

0x 03 XX XX B7

8

50

数据位

功能

数据类型

说明

byte[0]

x轴角度低8位

signed int16

单位:0.001rad

byte[1]

x轴角度高8位

byte[2]

y轴角度低8位

signed int16

单位:0.001rad

byte[3]

y轴角度高8位

byte[4]

z轴角度低8位

signed int16

单位:0.001rad

byte[5]

z轴角度高8位

byte[6]

最大转动速度低8位

unsigned int16

单位:mrad/s

byte[7]

最大转动速度高8位

当有移动轴时候才有效

举例: 型号0x02 编号0x03 的平台设置转动到角度 x=1rad 速度1rad/s,发送CANID:0x03 02 03 17。 

发送实例

传输目标

CAN ID

帧格式

帧类型

数据长度

数据位(L->H)

设备

0x03 02 03 17

数据帧

扩展帧

6

E8 03 00 00 00 00 E8 03

上位机

0x03 02 03 B7

数据帧

扩展帧

6

E8 03 00 00 00 00 E8 03