关于vins-fusion单目IMU初始化时为什么不估计加速度计偏置
一般资料里就是简单说 IMU的偏置对初始化影响不大所以就不估计了,比较粗糙
这个在vins-mono的初始化论文 Robust Initialization of Monocular Visual-Inertial Estimation on Aerial Robots 里其实有详细说明
首先在 相关工作 一节里说
与文献 Visual-inertial monocular SLAM with map reuse 类似,为保证初始化速度,初始阶段忽略加速度零偏。我们发现加速度零偏通常与重力耦合,可观测性较差。
Visual-inertial monocular SLAM with map reuse论文里面的表述是:
So far we have not considered accelerometer bias when computing scale and gravity. Just incorporating accelerometer biases in (12) will heavily increase the chance of having an ill-conditioned system, because gravity and accelerometer biases are hard to distinguish [15].
翻译过来是:到目前为止,在计算尺度和重力时,我们还没有考虑加速度计偏置。若直接将加速度计偏置引入公式(12),系统很容易变得病态,因为重力和加速度计偏置很难区分 [15]。
Visual-inertial monocular SLAM with map reuse 也是VI_ORB_SLAM的论文,是一篇由 ORB-SLAM 原作者提出的、将 ORB-SLAM 扩展到单目视觉惯性 SLAM并支持地图复用的论文,可以看作 ORB-SLAM 系列从纯视觉走向视觉惯性的重要早期工作。
但VI_ORB_SLAM最终还是在初始化里估计了加速度计偏置的,它所说的到目前为止,在计算尺度和重力时,我们还没有考虑加速度计偏置,是初始化的前两步不考虑加速度计偏置,但是在第三步加入了加速度计偏置的求解的,它的完整初始化步骤如下:
①基于纯视觉信息对陀螺仪Bias进行估计;
②在不考虑加速度计Bias的情况下,基于预积分算法和纯视觉信息构建融合尺度信息、重力向量的运动约束方程组,求解方程组对尺度信息和重力向量进行初步估计;
③在第二步运动约束方程组中加入加速度计Bias和重力细化项重新求解,获得加速度计Bias估计值以及细化后的尺度信息和重力向量;
④将前三步求得的初始化参数代入系统运动方程中,求解获得不同时刻的系统速度向量。
ORBSLAM3也在初始化里估计了加速度计偏置,这个和vins是不同的。
void LocalMapping::InitializeIMU(float priorG,float priorA,bool bFIBA)函数里
然后在 讨论 一节里有说
要使单目VINS除全局位置偏移与偏航角外具备完全可观测性,视觉与IMU因子均需要足够的激励。通过选取若干具有充足视差的空间分离帧,可以保证视觉模块的可观测性。但SfM窗口内的IMU测量不一定能让整个系统满足可观测性,对于旋翼微型飞行器,直线轨迹、零加速度运动等退化运动是不可避免的,这是将单目VINS应用于空中机器人的共性问题。
直观上,可以在初始化阶段通过检测α^bk+1bk\hat{\alpha}_{b_{k+1}}^{b_k}α^bk+1bk、β^bk+1bk\hat{\beta}_{b_{k+1}}^{b_k}β^bk+1bk的变化量,剔除小加速度运动。仅当窗口内IMU测量包含足够激励时,才启动初始化流程。
加速度零偏在初始化阶段很难标定,因为小旋转运动下加速度通常与重力耦合。为分析运动过程中加速度零偏的可观测性,本文设计了如下仿真实验:
仿真环境中,空中机器人做加速运动,旋转程度各不相同;加速度零偏恒定为[0.1,0.1,0.1] m⋅s−2[0.1,0.1,0.1]\ \text{m·s}^{-2}[0.1,0.1,0.1]m⋅s−2,噪声标准差范围为0.01∼0.03 m⋅s−20.01\sim0.03\ \text{m·s}^{-2}0.01∼0.03m⋅s−2;窗口内保持15帧空间分离帧;不加入图像噪声,即视觉结构完全准确;同时忽略陀螺仪零偏与噪声,排除其影响。
在所提框架中标定加速度零偏时,可参照式(4)的步骤,将位置与速度约束α^bk+1bk\hat{\alpha}_{b_{k+1}}^{b_k}α^bk+1bk、β^bk+1bk\hat{\beta}_{b_{k+1}}^{b_k}β^bk+1bk关于加速度零偏线性化,再将加速度零偏代入式(6)。加速度零偏的标定结果如图3(a)所示:横轴为窗口内三个轴的平均旋转角度,纵轴为标定零偏的误差大小。从图中可以看出,若要在短初始化流程内完全标定加速度零偏,至少需要30度的旋转。实际场景中,受机器人平台动力学约束,初始阶段很难完成如此剧烈的旋转运动。
另一组仿真测试了忽略加速度零偏时视觉惯性对齐的性能,仿真中加入了图像噪声(标准差0.5像素)、陀螺仪零偏([0.003,0.02,0.08] rad⋅s−1[0.003,0.02,0.08]\ \text{rad·s}^{-1}[0.003,0.02,0.08]rad⋅s−1)与陀螺仪噪声(标准差0.0024 rad⋅s−10.0024\ \text{rad·s}^{-1}0.0024rad⋅s−1)。尺度误差随加速度零偏的变化如图3(b)所示:横轴为加速度零偏大小,纵轴为尺度的百分比误差。在该范围内,加速度对尺度的影响呈线性关系;若可接受10%的尺度误差,算法可容忍的加速度零偏上限为0.3 m⋅s−20.3\ \text{m·s}^{-2}0.3m⋅s−2,而该数值远超普通IMU的典型零偏水平。因此忽略加速度零偏不会对初始化结果造成显著影响。
图3:(a) 横轴为初始化阶段的平均旋转角度,纵轴为不同测量噪声下加速度零偏的估计误差。可见除非运动包含足够旋转,否则很难区分加速度零偏;(b) 横轴为不同加速度零偏大小,纵轴为忽略加速度零偏时算法的尺度估计误差。可见有限的加速度零偏不会严重破坏算法性能,若可接受10%的初始尺度误差,算法可承受的加速度零偏上限可达0.3 m/s20.3\ \text{m/s}^20.3m/s2。
从仿真结果可知,除非有足够的旋转激励,否则很难将加速度零偏与重力区分开,而实际中受平台动力学约束很难满足该条件。忽略加速度零偏不会对初始化结果产生显著负面影响,因此本文将加速度零偏的估计留到后续非线性优化阶段处理。
