这篇博客主要是想自己理一下这几个概念,从简单到复杂进行阐述。
IMU(Inertial Measurement Unit): 即“惯性测量单元”,一般来说IMU仅包含陀螺仪和加速度计。陀螺仪输出载体相对于惯性系的旋转角速率或者角增量,而加速度计输出比力(即去掉重力后的整体加速度或者单位质量上作用的非引力)或者速度增量。现在市场上既有IMU芯片,也有经过阵列排布和标定后的IMU模组。
VRU(Vertical Reference Unit):即“垂直参考单元”,VRU是在IMU传感器的基础上,增加了计算横滚角和俯仰角的算法,VRU也可以提供无参考标准的航向角,航向角一般启动时为0°,随时间的增加,误差累积。由于在低动态情况,加速度计感受到的主要是垂直方向上的重力,因此可以采用互补滤波等算法进行横滚和俯仰的计算,并达到较好的精度。
AHRS( Attitude and Heading Reference System ):即“航姿参考系统”,AHRS一般由IMU(陀螺、加速度计)和磁力计组成,并增加了计算横滚、俯仰、航向的算法。相比于VRU,由于增加了磁力计,因此不仅可以使用重力参考计算横滚、俯仰,还可以利用地磁参考计算航向,其算法通常也是互补滤波算法。除了磁力计,双天线GPS也可以提供航向信息,因此将磁力计替换为GPS航向或其他能提供航向的传感器,也可以组成AHRS系统。之前的博客也有相关算法的介绍,具体参见关于如何调节Mahony AHRS算法的参数、PX4中的mahony姿态算法解析、AHRS互补滤波(Mahony)算法及开源代码。
INS(Inertial Navigation System):即“惯性导航系统”,惯导系统利用IMU数据进行航迹推算,提供位置、速度、姿态信息。由于惯性导航系统推算误差随时间累积,因此通常和其他导航系统进行组合,如卫星导航系统、轮速计、气压计等,内部通常采用卡尔曼滤波算法。
之前博客中总结了一些和惯导相关的开源项目,具体可参见添IMU惯导相关开源项目整理。