前面我们已经大招讲解了前端一部分的内容,接下里的内容是先讲解一些IMU相关的知识。回归之前的内容可以点击以下链接:
一、IMU简介
首先,Vins-Mono中是视觉加惯导的紧耦合的开源SLAM框架,IMU就是惯性测量单元。一般有以下特性:
1、输出6轴:角速度、加速度,频率在100HZ以上
2、受温度、零偏、振动等干扰,积分得到的平移和方向容易收到漂移。
3、提供高速度的位姿估计
这里笔者就不专门去介绍IMU的一些基本特性,如果有兴趣的同学可以去看惯导原理这本书。
二、预备知识
在相机坐标下,我们通常是使用SE3或者SO3的方式来表示相机的旋转和平移,当然在做一些可视化的操作下还会使用欧拉角表示。但是IMU通常都是使用四元数来表示旋转因为没有奇异性,一个是推导方便一个是惯例。
和旋转矩阵一样,我们先讨论一下四元数的导数,为了方便我直接截图了我的个人笔记:
这是比较直观的,当然VINS的作者论文中也有指出:
连续时间下的IMU运动模型:
通过以上的导数关系,从i时刻到PVQ(位置、速度和四元数)对IMU的测量进行积分得到第j时刻的PVQ。
我们通过传感器获取的测量值不是连续的,在现实当中时离散的形式。这样上面的积分的形式有主要两种方法写成离散:
1、欧拉法:用第k时刻计算a和w
2、中值法:k和k+1时刻计算a和w
为什么要这样?积分的定义法就是无穷的逼近计算一个长方形面积,这里相对于选取长方形的顶点是取当前x值
1、欧拉法
2、中值法