港科VINS-Mono系统学习(3) 初始化

vins是今年刚开源的vio系统,跑了数据集效果挺好的,所以看了paper和代码。

视频地址:https://www.youtube.com/watch?v=I4txdvGhT6I

github:https://github.com/HKUST-Aerial-Robotics/VINS-Mono.Git


在上一篇博文中,我们对数据预处理做了简单的笔记,这篇博文主要是对初始化过程进行了学习和记录。


初始化是整个VIO系统中非常重要的一部分,VIO系统通过初始化得到IMU的一些包括漂移,重力加速度等在内的参数,同时也为视觉定位提供了尺度信息。VINS的整个初始化过程主要分为以下6个步骤:

a) 手眼标定方法得到外参旋转量

b) 单纯的SFM得到视觉上的每帧的位姿和特征点的位置(仅仅进行了尺度归一化)

c) 以在同一时间段内,IMU旋转量与camera旋转量应该相同为条件计算陀螺仪的偏差Bg


d) 粗略求解每帧速度、g和s

           原理:1、IMU测得的两帧之间的位移和camera测得的两帧之间的位移应该相等

                     2、IMU测得的两帧之间的速度和camera测得的两帧之间的速度应该相等


e) 重力加速度优化

在tangent空间,迭代矫正g的方向,从而使得模在9.8附近,重新计算d步骤的公式。

f) 要把重力加速度的方向变成[0,0,1]的方向,也就是竖直向下。实际上,就是把之前系统认为的世界坐标系改成重力加速度竖直向下的方向。然后更新所有的参数,统一坐标系。


有不对的地方欢迎指正!

EMAIL:wangxf92_hit@163.com

参考文献:Technical Report: VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator


阅读更多
个人分类: slam
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

港科VINS-Mono系统学习(3) 初始化

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭