系列文章目录
第五节 实现STM32与ubuntu系统下的ROS串口DMA通信,传输底盘速度等信息
系列教材包含
底盘搭建与stm32代码编写,ros激光雷达建图与导航编写,实现动态避障与导航
底盘包含
两轮差速轮(自制)
四轮全向轮(所属团队大家一起搭建)
底盘不同就是在底盘的运动分解与控制,ros部分里程计计算和本地规划器不同,两轮用的base_local_Planner,四轮用的teb_local_planner,来规划发布速度控制底盘
gjhhust / Repositories · GitHubhttps://github.com/gjhhust?tab=repositories
前言
今天移植MPU的库来读取YAW轴角度
一、移植DMP库
具体移植都能搜到,这里不详细介绍了最终就是这四个文件
最后在主程序初始化内引用函数
mpu_dmp_init();
二、使用步骤
1.修改读取函数
在inv_mpu.c中有这样一个函数用来读取三个角度,我们小车只需要YAW即可,其它注释掉
2.调用函数并修改YAW数据
这里角度这样处理,至于为什么*88,因为共用体内我们定义的数据类型data是大约-3万到3万,超出了就被丢弃了,我们为了发送数据与计算方便,统一乘个倍数发送
angle = 88 * Yaw;
总结
角度读取后会有零飘很正常,这是MPU6050的缺点,但是不能飘过大,一分钟1°左右。