VINS中的初始化方法

背景

本文档介绍VINS中常见的初始化方法,静态初始化相对简单,通常1s内可以完成,但如果遇到在运动时的初始化问题,初始化难度相对较大,实际工程问题中,通常会将初始化分为静态和动态初始化两部分,这里主要是介绍动态初始化方案。

一、基础知识:IMU Preintegration

IMU Preintegration

  • 等式两边同时乘以旋转的逆,把IMU测量提取出来
    VINS中的初始化方法_第1张图片
  • Bias Updates:bias会影响上面的增量,因此bias更新时通过jacobian更新增量
    VINS中的初始化方法_第2张图片
    因此,整体预积分流程为:
    VINS中的初始化方法_第3张图片

二、 VINS-fusion初始化方法

与第一帧数据相距>0.1s后,利用局部窗口内的每一帧初始化,初始化流程如下:

1、单目+IMU

VINS中的初始化方法_第4张图片

第四步实现细节:
VINS中的初始化方法_第5张图片
VINS中的初始化方法_第6张图片
VINS中的初始化方法_第7张图片
VINS中的初始化方法_第8张图片

2、双目+IMU

有尺度,初始化又快又简单

  1. 和地图点匹配,SolvePnP,计算当前帧位姿
  2. 双目三角化,计算特征深度
  3. gyro bias矫正
  4. 局部窗口BA优化(视觉余项+IMU余项)

三、VI-ORB-SLAM初始化方法

a.原理介绍

compute an initial estimation for a visual-inertial full BA of the scale, gravity direction, velocity and IMU biases.

VINS中的初始化方法_第9张图片
VINS中的初始化方法_第10张图片

b. 实验结果分析

VINS中的初始化方法_第11张图片

四、ORB-SLAM3初始化

a.原理

VINS中的初始化方法_第12张图片

b. 实验结果

VINS中的初始化方法_第13张图片

c.加速方案

假设我们这里有尺度来源tof,那么可以进行加速
VINS中的初始化方法_第14张图片

五、Fast and Robust Initialization for Visual-Inertial SLAM

VINS中的初始化方法_第15张图片
VINS中的初始化方法_第16张图片

六、总结

1、 VISLAM的初始化方案需要较长的数据准备时间(1~2s)

2 、为了得到更准确的初值,需要进行VI-BA优化,耗时约几百ms,处理时间相对较久

3、没有尺度来源时,初始化需要充分的IMU激励,这个条件通常较难满足,因此整体初始化时间较久

4、初始化最重要的解释尺度初始化,其他的收敛都很快,所以如果可以有一个先验的尺度来源,很容易把初始化时间控制在1s以内

你可能感兴趣的:(slam,slam,人工智能,算法)