1、IMU原理
一般是加速度计和陀螺仪六轴融合,本次使用的为加速度计、陀螺仪和磁力计九轴融合。现在对各个的工作原理已经有一些介绍,可以参考各个链接,另外可以参考野火单片机多MPU6050的介绍。
(1)加速度计
参考链接: https://blog.csdn.net/RoboChengzi/article/details/87720255.
原理:利用加速度方向检测角度。
优缺点:运动时不稳定。
(2)陀螺仪
参考链接: https://blog.csdn.net/u014453443/article/details/104245032.
原理:通过对角速度积分检测角度。
优缺点:静止时有误差。
(3)磁力计
原理:利用地磁。
优缺点:易受电磁干扰。
2、IMU标定
加速度计不建议自行标定。主要是对于磁力计的标定,打开软件,选择磁力计标定,有两种标定方式,先平面后球面和8字型标定两种方式,标定按照说明书(标定开始前关闭磁力计融合,即在configuration中选择enabled,然后save to Flash),实际操作来看,8字型标定更容易实现。标定后依旧需要保存到Flash中,然后记得在configuration中打开磁力计的显示,有原始数据、校正数据、卡尔曼滤波。正如上所见,我的IMU主要用来检测角度,有三个仪器仪器一起工作,最终输出一个角度(欧拉角或者四元数),那么就需要进行传感器数据融合,这里就要用到非常常见的卡尔曼滤波,那么什么是卡尔曼滤波呢?
3、卡尔曼滤波
参考链接: https://www.zhihu.com/question/23971601.
简单来说,就是对不同方式获得的同种数据,如何选择合适的加权值,获得最接近真实的数据。举个例子,一个小车电机带有编码器,并且搭载了激光雷达,小车运动一段距离后,它处在什么位置呢?一方面,我们可以通过编码器通过积分计算车轮走过的距离,得到小车的位置,但是车轮有可能打滑;另一方面,我们可以直接通过激光雷达来定位,但是激光雷达也有精度高低,也会受周围环境的影响。这个时候,我们假设通过里程计和激光雷达计算的位置都符合一定的概率分布(一般正态分布),将两个概率分布曲线按一定的方式进行融合,然后选取新的概率分布曲线的最可能的值。从软件使用来说,就是要调节Q和R两个误差参数,怎么调还未发现。