【VIO笔记(学习VINS的必备基础)】第七讲 VINS系统构建

本文是VIO系列教程的最后一讲,回顾VIO基础,包括IMU和视觉预积分,探讨VINS初始化涉及的问题,如旋转外参数、 Bias、速度、尺度因子的估计。介绍了VINS系统的构建,并分为前端数据处理、初始化和后端滑动窗口优化三个部分,总结了VIO系统的关键知识点。
摘要由CSDN通过智能技术生成

系列教程来自某学院,侵权删除。
学习完这一系列课程再去看VINS才能做到不吃力,不然直接撸网上的各种VINS解析完全云里雾里-_-!

这一讲是本系列的最后一讲,我们会对之前的内容进行一个回顾,并对VINS系统进行研究。

VIO基础回顾

IMU基础回顾

在这里插入图片描述
预积分的作用是为了避免世界坐标系和body系下的变换,如上图中红色的表示预积分值,而每个小黑点代表一个IMU测量,通过预积分就可以约束两帧图像之间的变换,IMU的传感器模型如下:
在这里插入图片描述
预积分的公式如下:
在这里插入图片描述
另外还有一点是IMU的协方差传递,由于每一个小黑点测量时都有一个测量误差,那么我们后来运用的预计分量也就存在误差,那么一段时间内多个误差的传递就要用到协方差的传递,最后用来估计预积分的不确定度。

视觉基础回顾

这部分在第六讲刚刚讲过,主要在视觉部分如何获取相机的变换。

  1. 对于两帧图像,我们要先进行特征点的提取和匹配。
  2. 已知俩图像特征匹配点:利用对极几何约束 (E 矩阵,H 矩阵),计算两图像之间的 pose。
  3. 已知相机pose后,通过三角化获取特征点的三维坐标。
  4. 此时当新来一帧图像时,由于共视关系会出现已知3d点和2d特征点的情况,此时我们使用PnP来求新相机的pose。

在纯视觉的vSlam中,前三步就完成了相机的初始化,但是此时我们是在系统内部形成了尺度,并不知道系统在实际3D空间中的米制信息。

问题探讨

在这里插入图片描述
上图就是一个VIO系统,在我们了解了视觉和IMU分别是如何工作之后,我们还需要考虑一些问题:

  1. IMU 怎么和世界坐标系对齐,计算初始时刻的 q w b 0 q_{wb_0} qwb0?
  2. 单目视觉姿态如何和 IMU 轨迹对齐,尺度如何获取?
  3. VIO 系统的初始速度 v,传感器 bias 等如何估计?
  4. IMU 和相机之间的外参数等

这就是VIO系统初始化时需要考虑的一些问题,下面我们一一来进行分析。

VINS初始化

视觉和IMU之间存在着一定的联系,利用这些几何的约束,我们就可以进行初始化,对于下面这幅图:
在这里插入图片描述
使用外参数 q b c q_{bc} qbc t b c t_{bc} tbc可以获得下面两个式子,记为式3,第一行表示从bk位置变换到c0位置的旋转变换,第二行中s表示尺度因子,带bar的p: p ˉ \bar p pˉ表示非米制单位下,也就是系统内部的单位下的位移,第二行的式子就表示bk到c0的位置变换。
在这里插入图片描述
对第二行的式子进行变换可以得到非米制单位下ck到c0的位置变换:
在这里插入图片描述
这几个量会在后面的公式推到中用到。下面我们先对视觉 IMU 对齐流程做一个梳理:

  1. 旋转外参数 q b c q_{bc} qbc 未知, 则先估计旋转外参数。
  2. 利用旋转约束估计陀螺仪 bias,旋转约束就是式3的第一行。
  3. 利用平移约束估计重力方向,速度,以及尺度初始值,平移约束就是式3的第二行。
  4. 对重力向量 g c 0 g^{c_0} gc0 进行进一步优化
  5. 求解世界坐标系 w 和初始相机坐标系 c0 之间的旋转矩阵 q w c 0 q_{wc_0} q
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值