有一段时间没有更新博客了,临近年关,有空来重新捡起来,这次我们来看看vio里面一个重要模块-初始化,OpenVINS根据相机的视差以及IMu的数据判断车辆运动状态,决定了两种初始化方式:静态初始化和动态初始化。静态初始化比较简单,有很多博客已经解析的比较详细:OpenVINS静态初始化,所以我们重点聊一聊动态初始化。
VIO初始化
1.为什么需要初始化?
VIO系统初始时刻需要跟惯性坐标系之间的关系,所以需要找到系统的重力方向来对齐惯性系的重力方向。根据VIO的系统状态可知我们还需要知道初始时刻的速度、加速度计以及陀螺仪的bias以及Camera与IMU之间的时间差dt以及外参。
2 初始化方法
论文 A Rotation-Translation-Decoupled Solution for Robust and Efficient Visual-Inertial Initialization 将初始化分为两种:基于松耦合初始化和基于紧耦合初始化
2.1 松耦合初始化
Vins-Mono初始化流程:
ORB-SLAM3改进的初始化:
2.1 紧耦合初始化
OpenVINS初始化方法: