VINS-Mono 阅读

VINS-Mono: A Robust and Versatile Monocular
Visual-Inertial State Estimator

Abstract

本文介绍了一种单目-视觉惯性状态估计,在平面上运动。单目图像和imu的组合提供了一种最少的传感器组合,三自由度的状态估计。我们将视觉和惯性在一个窗口中计算。

本系统在各个方面都比较鲁邦,比如:状态未知条件下的初始化、在线标定、闭环检测、四自由度的pose graph。这些性质让本系统简单易用。

1. Overview

本系统分为三个步骤

  • 视觉IMU预处理
  • 初始化过程
  • 非线性优化

表示方法: ( ) w ()^w ()w表示世界坐标系、 ( ) b ()^b ()b表示body坐标系, ( ) c ()^c ()c表示cam坐标系

2. 观测预处理

A. 视觉处理比较简单
B. IMU 预积分
这里有一个疑问,貌似这里把body系下的加速度,直接乘以旋转矩阵,就到了全局系
p b k + 1 w = p b k w + v b k w + ∫ ∫ R t w ∗ a ^ t d t 2 p^{w}_{b_{k+1}} = p^{w}_{b_k} + v^w_{b_k} + \int \int R^w_t * \hat{a}_tdt^2 pbk+1w=pbkw+vbkw+∫∫Rtwa^tdt2
v b k + 1 w = v b k w + ∫ R t w ∗ a ^ t d t v^{w}_{b_{k+1}} = v^{w}_{b_k} + \int R^w_t * \hat{a}_tdt vbk+1w=vbkw+Rtwa^tdt
q b k + 1 w = q b k w ⊗ ∫ 1 / 2 Ω ( w ^ ) q t b k d t q^{w}_{b_{k+1}} = q^{w}_{b_k} \otimes \int 1/2 \Omega(\hat{w})q^{b_k}_tdt qbk+1w=qbkw1/2Ω(w^)qtbkdt
因为观察到上面的式子是依赖 b k {b_k} bk的,在公式两边同时乘以 R w b k R^{b_k}_w Rwbk, 将上面的式子转换到局部坐标系下:
R w b k p b k + 1 w = R w b k ( p b k w + v b k w ) + R w b k ∫ ∫ R t w ∗ a ^ t d t 2 R^{b_k}_wp^{w}_{b_{k+1}} = R^{b_k}_w(p^{w}_{b_k} + v^w_{b_k}) + R^{b_k}_w\int \int R^w_t * \hat{a}_tdt^2 Rwbkpbk+1w=Rwbk(pbkw+vbkw)+Rwbk∫∫Rtwa^tdt2
R w b k v b k + 1 w = R w b k v b k w + R w b k ∫ R t w ∗ a ^ t d t R^{b_k}_wv^{w}_{b_{k+1}} = R^{b_k}_wv^{w}_{b_k} + R^{b_k}_w\int R^w_t * \hat{a}_tdt Rwbkvbk+1w=Rwbkvbkw+RwbkRtwa^tdt
q w b k q b k + 1 w = q w b k q b k w ⊗ ∫ 1 / 2 Ω ( w ^ ) q t b k d t q^{b_k}_wq^{w}_{b_{k+1}} = q^{b_k}_wq^{w}_{b_k} \otimes \int 1/2 \Omega(\hat{w})q^{b_k}_tdt qwbkqbk+1w=qwbkqbkw1/2Ω(w^)qtbkdt

因此得到预积分的三个公式:
α b k + 1 b k = ∫ ∫ R t b k ∗ a ^ t d t 2 \alpha^{b_k}_{b_{k+1}}=\int \int R^{b_k}_t * \hat{a}_tdt^2 αbk+1bk=∫∫Rtbka^tdt2
β b k + 1 b k = ∫ R t b k ∗ a ^ t d t \beta^{b_k}_{b_{k+1}}=\int R^{b_k}_t * \hat{a}_tdt βbk+1bk=Rtbka^tdt
γ b k + 1 b k = ∫ 1 / 2 Ω ( w ^ ) q t b k d t \gamma^{b_k}_{b_{k+1}} = \int 1/2 \Omega(\hat{w})q^{b_k}_tdt γbk+1bk=1/2Ω(w^)qtbkdt

上面的式子定义的递推公式,可以看成是只需要使用imu,将 b k b_k bk当做是基础pose,就可以完全得到的结果。从下往上,可以求出 α , β , γ \alpha, \beta, \gamma α,β,γ的所有结果。

对于离线形式,因为都是积分,其实就是累加的形式得到最终的结果。
α i + 1 b k = α i b k + \alpha^{b_k}_{i+1} = \alpha^{b_k}_{i} + αi+1bk=αibk+
公式5中的 α \alpha α, 为什么会和 β \beta β有关系?有关系的,通过下面的实例可以验证。

这里可以使用一个实际的例子来进行验证。初速度=0,以加速度1m/s^2向前移动,对v和s进行积分,结果一致。

从这个例子可以看出,这三个预积分,其实对应的就是这一段的速度增量、距离增量、角度增量。

有了观测量之后,在后续的使用过程中,需要使用该观测量的协方差。这里因为假设没有bias,所以误差的来源就是角速度和加速度的高斯误差。

因为这里的观测量变成了 α , β , γ \alpha, \beta, \gamma α,β,γ, 所以要通过协方差传播公式来传递。

又因为是离散的,所以又需要求一下每一个delta量的协方差。求得协方差的迭代公式。协方差迭代公式,就是利用偏导的平方进行传播的。

notes:为了简化公式推导,假设没有bias,没有重力。pose的移动在一个平面上发生。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手持电烙铁的侠客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值