小车姿态获取
1. 陀螺仪(Gyroscope)&加速计(Accelerometer)
三轴陀螺仪:也叫地感器,传统结构是内部有个陀螺,如下图所示(三轴陀螺),三轴陀螺仪的工作原理是通过测量三维坐标系内陀螺转子的垂直轴与设备之间的夹角,并计算角速度,通过夹角和角速度来判别物体在三维空间的运动状态。三轴陀螺仪可以同时测定上、下、左、右、前、后等6个方向(合成方向同样可分解为三轴坐标),最终可判断出设备的移动轨迹和加速度。
加速计:也叫重力感应器,实际上是可以感知任意方向上的加速度(重力加速度则只是地表垂直方向加速度),加速计通过测量组件在某个轴向的受力情况来得到结果,表现形式为轴向的加速度大小和方向(XYZ),这一点又有点类似于陀螺仪,但陀螺仪的更多关注自身旋转情况(原位运动),加速计则主要是测量设备的受力情况,也就是三轴运动情况,尽管加速计也可能在某个小范围换算出角速度的可能,但设计原理决定似乎更适合于空间运动判断。
工作原理:
2. 加速度计和陀螺仪互补滤波
从mpu6050中通过ADC(analog-to-digital)采样读出三轴陀螺仪和三轴加速度计的初始值,需将其通过以下步骤转化为可用单位:
- 校正偏移(offset):让mpu6050模块静止,陀螺仪和加速度计保持水平且静止,此时读到的电压值就是便宜量,如果读数不稳定取平均值作为偏移量即可。
- 转化系数(scale):传感器输出电压值乘以系数,得到我们想要的单位,这个系数可以在传感器的数据手册(datasheet)中找到
由于加速度计长期内稳定,短期内振荡剧烈(而且在小车运动时,加速度计除了有重力加速度,还有小车运动加速度),而陀螺仪短期内可靠,长时间振荡剧烈,因此在实际应用中,我们采取融合它们各自的优势,利用加速度计和陀螺仪一起计算小车的