6. PIBOT的通讯协议
来源:互联网 发布:编程一小时网站登录 编辑:程序博客网 时间:2024/06/05 15:48
说明
底盘驱动板Ardunio Mega2560与树莓派通过串口通讯
硬件板卡通讯协议
板卡通讯协议使用串口进行通信,每条消息包含消息头和消息体校验码三部分,所有数字采用小端序传递
消息定义
每条消息都由 [消息头]+[消息体]+[校验码] 3部分组成,每条消息最大长度为3+255+1字节,消息体最大255字节
消息头
消息头C风格定义如下:
struct head{ unsigned char flag;// 头部标记,固定值:0X5A unsigned char msg_id;// 消息ID,表示消息具体作用,决定消息体具体格式 unsigned char length;// 消息体长度}
校验码
校验码固定占一个字节空间,为消息头+消息体 每个字节相加得到的结果取低8位的值
消息定义
- 请求:固件信息
- 方向:MASTER->Board
- 内容:
- 回应:固件信息
- 方向:Board->MASTER
- 内容:
C
{
char version[16]; //固件版本
char time[16];//构建时间
}
请求:设置机器人配置参数(出厂配置)
- 方向:MASTER->Board
内容:
{ union { char buff[64]; struct { unsigned short wheel_diameter; //轮子直径 mm unsigned short wheel_track; //差分:轮距, 三全向轮:直径,四全向:前后轮距+左右轮距 mm unsigned short encoder_resolution; //编码器分辨率 unsigned char do_pid_interval; //pid间隔 (ms) unsigned short kp; unsigned short ki; unsigned short kd; unsigned short ko; //pid参数比例 unsigned short cmd_last_time; //命令持久时间ms 超过该时间会自动停止运动 } }}
回应:设置机器人配置参数
- 方向:Board->MASTER
- 内容:无
请求:获取机器人配置参数(出厂配置)
- 方向:MASTER->Board
- 内容:
- 方向:MASTER->Board
- 内容:同设置
请求:初始化里程
- 方向:MASTER->Board
- 内容:
- 回应:初始化里程结果
- 方向:Board->MASTER
- 内容:无
请求:设置机器人实时速度
- 方向:MASTER->Board
内容:
{ short v_liner_x; //线速度 前>0 cm/s short v_liner_y; //差分轮 为0 cm/s short v_angular_z; //角速度 左>0 0.01rad/s 100 means 1 rad/s}
回应:设置机器人实时速度结果
- 方向:Board->MASTER
- 内容:无
请求:里程计信息
- 方向:MASTER->Board
- 内容:
回应:里程计信息
- 方向:Board->MASTER
- 内容:
{ short v_liner_x; //线速度 前>0 后<0 cm/s short v_liner_y; //差分轮 为0 cm/s short v_angular_z; //角速度 左>0 右<0 0.01rad/s 100 means 1 rad/s long x; //里程计坐标x cm (这里long为4字节,下同) long y; //里程计坐标y cm short yaw; //里程计航角 0.01rad 100 means 1 rad}
请求:获取PID调速数据
- 方向:MASTER->Board
- 内容:
- 回应:PID调速数据
- 方向:Board->MASTER
- 内容:
{ long input[4]; //各轮子驱动输入值 long output[4]; //个轮子输出值}
阅读全文
0 0
- 6. PIBOT的通讯协议
- 11. pibot的控制及校准
- 通讯协议的开发
- Kafka的通讯协议
- Kafka的通讯协议
- 恶心的广电通讯协议
- 基于UDP的通讯协议
- 网络上的通讯协议
- 基于java的通讯协议
- 一个通讯协议的配置文件
- 常见的MODEM通讯协议
- RS485通讯协议的应用
- USB的通讯协议(通俗易懂)
- RS485通讯协议的应用
- RS485通讯协议的应用
- RS485通讯协议的应用
- RS485通讯协议的应用
- 嵌入式系统的通讯协议:I2C通讯、SPI通讯、USB通讯、SDIO 通讯、I2S通讯、PCI通讯简介
- IntelliJ IDEA For Mac 快捷键
- Java画面精美的简易聊天室
- Wireless Network poj 2236
- word2vec
- java快速排序
- 6. PIBOT的通讯协议
- MySQL基础(二)数据库、表的创建及操作
- 搭建调试符号服务器
- JavaScript基础总结
- 一道简单而经典的二分,借用一点挑战上的方法
- php 数据库连接代码
- Six Degrees of Cowvin Bacon poj 2139
- 如何比较不同浏览器的页面加载时间
- 使用maven 安装第三方jar包