VIO 初始化系列2---VINS-Mono初始化

9 篇文章 5 订阅
4 篇文章 0 订阅

参考论文:VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator
Robust initialization of monocular visual-inertial estimation on aerial robots
参考博客:VINS-FUSION源码框架及C++知识点总结
参考课程:从0开始手写VIO
在参考博客里有介绍过初始化部分的大致流程,趁着现在要做VIO方面的项目, 再来仔细梳理该初始化过程。深蓝学院的课件里对此有详细的内容,所以本博客主要引用课件内容。
初始化
估计相机-陀螺仪旋转外参
CalibrationExRotition: 该步骤估计相机与陀螺仪之间的外参,类似于手眼标定的过程, 就是求解一个AX=XB线性问题。
估计旋转外参1
估计旋转外参2
在此没有估计平移外参, 因为默认为该外参对系统的影响是线性的, 可以通过离线标定, 出场设定或者尺子测量得出。在VINS-Mono中如果设定要标定外参, 但该平移外参也会在初始化阶段最后的Full BA优化中进行优化。

估计陀螺仪bias
solveGyroscopeBias()
估计陀螺仪bias
代码中构建了对应的最小二乘问题,没有使用求解器, 直接用高斯牛顿一步迭代求解出该bias, 初始化过程中滑窗内的陀螺仪bias都是认为相同的。

初始化速度、重力和尺度因子
非线性部分的陀螺仪bias已经在之前解决好,剩下的估计问题就是一个线性问题了。初始化1
初始化2
初始化3
该线性求解过程中会求出重力在c0系下的值gc0 , 通过该值的模长与实际重力大小9.81的误差是否大于0.5(也就是约5%的重力值),来判断此次初始化是否成功。
优化重力向量
为何采用该方法?可否假设估计出来的gc0重力方向有效,赋予模长后重新估计? 也就是将下面的w1, w2强制设为0。或者在优化的时候加入模长限制?
优化重力优化重力2
将相机坐标系对齐世界坐标系
对齐重力

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值