章节一:视觉惯性导航系统
1.1 介绍
这篇博客的目的与意义在于:
- 帮助理解VINS(Visual Inertial Navigation System)的相关概念。
- 从应用IMU的角度进行解释。
1.2 传感器模型
首先将文中涉及的主要符号进行说明:表示Y坐标系下的性质o,相对于坐标系X;其余列举如下:
符号 | 意义 | 符号 | 意义 |
---|---|---|---|
见正文 | p | 位置 | |
v | 速度 | q | 朝向 |
地球惯导坐标系 | b | IMU坐标系 | |
相机在IMU坐标系的位置 | IMU的位置 | ||
i | 第i个照片拍摄的时刻 | c | 相机坐标系 |
相机在IMU坐标系的朝向 | g | 重力 | |
带噪声的观测 | 估计的变量 |
1.2.1 相机模型
所谓的相机模型,就是将状态向量中的xyz变量,变成观测(uv)的过程。主要过程是:世界坐标系下的三维点xyz–》相机坐标系下的三维点–》相机平面的观测uv。该式即可完成上述过程。其中将点从全局坐标系转换到局部坐标系,(注意这里与原文不太一样,我们采用机器人中的Pose的表示方式),设当前帧的Pose为
当为单位阵,等于0时,就没有发生变化。接着当把点转换到局部坐标系下后,使用内方位元素K即可将点投影到相机平面。,假设K是单位阵,那么可以得出其之间的关系。到此,就将状态向量中的三维点,与二维的观测uv完成了转换,即观测模型中的
1.2.2 IMU模型
与上述模型一样,也是将状态向量中的变量,通过变换转换到观测上来。涉及的变量是两个相邻的pose、速度,观测是加速度与角速度。那这里的变换的目的就是将pose和速度,变换成加速度与角速度。
观测的不确定性
在视觉中,观测的不确定性一般就是给一个像素的误差,而IMU的观测不确定性更加复杂。
转换过程
涉及到的导航变量为,以及,通过牛顿第二定律,我们可以得到位置与加速度的关系(),速度与加速度的关系(),朝向与角速度的关系。这里值得注意的是加速度不是直接的测量值,而是要减去重力加速度();具体到这里的场景有如下等式成立
上式参考[1]中的1.33-35,从上式可以看出,初始的朝向(全局)的信息是必须的,以为只有知道该信息,才能对重力加速度对测量值的加速度进行分解,这里预积分就发挥作用了,后面单独说预积分。接着引进了三个中间量,这三个中间量加上两个加速度,五个量作为测量值进行误差函数的定义
相关知识点
- 基于滤波的方法不好的原因是过早地固定住了前面状态的线性化点,导致陷入局部最优。滤波方法速度快的原因是因为把前面的状态都给边缘化掉了,如机器人状态只有当前的。
- 后端优化中,改进优化计算量的策略主要有两种,一种是边缘化,一种是Conditioning(见P3)。
- 一阶优化和二阶优化的区别,在参考1的p7中,提到了使用二阶优化方法,而在之前组会中,T提到manOpt使用的是一阶优化。此处有一个比较好的解释What is the definition of a first order method。根据海森矩阵的计算方式,高斯牛顿中使用的本质是一阶优化,那参考1中的p7表述应该是不太严谨的。
参考
[1] 参考Zhenfei的笔记,链接:vins note。