资 源 简 介
我们期望得到的是姿态数据,也就是平衡小车的倾角。要得到平衡小车的倾角,就得利用我们的原始数据,进行姿态融合解算,这个比较复杂,知识点比较多,初学者不易掌握。其实, MPU6050 自带了数字运动处理器, 即 DMP(Digital Motion Processing), 并且InvenSense提供了一个 MPU6050 的嵌入式运动驱动库, 结合 MPU6050 的 DMP, 可以将我们的原始数据,直接转换成四元数输出,而得到四元数之后,就可以很方便的计算出欧拉角,从而得到 yaw、roll 和pitch。
使用内置的 DMP,简化了平衡小车的代码设计,且单片机不用进行姿态解算过程,在一定程度上降低了 MCU 的负担,从而有更多的时间去处理其他事件,提高系统实时性(其实卡尔曼滤波和互补滤波在STM32里面也没花多少时间)。更重要的是,让大家可以不需要接触复杂的滤波算法就可以直接得到平衡小车倾角。