LVI-SAM论文重点总结

LVI-SAM构建在因子图之上:视觉惯导系统 、 激光惯导系统

视觉惯导系统:利用激光惯导的估计来做初始化、利用激光的测量得到精度更高的深度信息

激光惯导系统:利用视觉惯导的初值来做帧间匹配、做回环检测

其中一个不工作时,另外一个可以正常工作

介绍

视觉惯导系统执行利用雷达帧恢复深度的视觉特征的跟踪,通过优化视觉重投影误差和imu测量误差的视觉里程计为激光雷达的激光匹配提供初值,并把约束加入到因子图中。

当利用imu把点云的畸变去除后,激光惯导系统检测点云的边缘和平面特征,并和保存在划窗中的features map对齐。LIS系统估计得到的系统状态可以传到VIS系统中做初始化

最后,优化得到的IMU的bias用来递推给出IMU频率的位姿。(最后落点都是imu上)

该文章贡献:

基于因子图的紧耦合的LVIO系统,实现了多传感器融合与基于场景重识别的全局优化。

通过故障检测来绕开失败的子系统,使其对传感器性能下降具有鲁棒性。

利用不同的数据集进行了完善的验证。

视觉惯导系统:视觉特征利用角点检测器,利用KLT算法进行跟踪,利用视觉里程计对其激光帧的点云得到一个稀疏的深度图完成视觉惯导初始化。

  1. 初始化:初始化的质量主要取决于两个因素:传感器的运动和IMU参数的精度

VINS在速度很小或者匀速的时候很容易初始化失败

IMU的参数包含渐变的bias和高斯白噪声影响加速度和角速度的测量

为提高VIS初始化的鲁棒性,利用LIS系统来估计系统的状态和imu的参数b,通过插值对其激光帧和视觉帧时间戳,最后把LIS得到的x、b作为VIS初始值,改善初始化的速度和鲁棒性

  1. 深度特征关联:激光雷达扫描为稀疏的点云,选取多帧重叠的得到稠密的深度图,把视觉特性和雷达点投影到以相机为圆心的单位圆上,对深度点进行降采样以极坐标的形式保存,利用KD_tree找视觉特征点最近的三个激光点,相机到视觉特征点的距离就是该特征点的深度。可能会存在遮挡、不同对象深度点不同等问题,与类似Laser-Visual-Inertial Odometry and Mapping with High Robustness and Low Drift论文中的做法一样,我们通过检查特征周围深度点之间的最大距离,如果最大距离大于2m,就不对该特征点进行数据关联。

LVI-SAM论文重点总结_第1张图片

  1. 失败检验:运动剧烈或者光照变化明显等将引起imu的bias变化很大,所以定义IMU的bias一个阈值,超过之后即认为VINS系统失效,开始重新初始化VINS系统
  2. 闭环检测:利用DBOW2来做闭环检测。

雷达惯导系统:主要有四种约束,IMU的预积分约束、视觉里程计的约束、雷达里程计的约束和闭环检测的约束加入到因子图中参与优化。激光雷达关键帧与全局特征图进行匹配,闭环检测的约束候选关键帧由VIS提供,然后通过匹配进一步优化。我们为特征图维护了一个激光雷达关键帧的滑动窗口,采取关键帧的方式进行匹配,减少计算量。

  1. 初始化:

LIS系统初始化之前,假设机器静止,IMU的噪声和bias都为0,对IMU原始值积分得到两个雷达关键帧位置和姿态信息作为scan_match作为初值。经过实验发现这种方法能在有挑战的场景(初始速度小于10m/s,角速度小于180°/s)中初始化系统。LIS系统初始化完成后,我们估计因子图中的IMU的bias,机器人的位姿。速度。然后将他们传给VIS系统中。

LIS系统初始化之后,可以通过两个途径得到scan_match初值:IMU的积分和VIS系统。无论在环境纹理丰富还是不丰富的地方,增强了初值的精度和鲁棒性。

2、失败检测:尽管激光雷达可以得到场景中很远范围内的细节,但是也会在一些场景中导致扫描匹配失败,如图6所示。我们利用On Degeneracy of Optimization-based State Estimation Problems论文中介绍的方法来检测LIS系统是不是失败了。

LVI-SAM论文重点总结_第2张图片

scan-match的非线性优化可以写成一个线性最小二乘的形式:

其中A和b是从T处的线性化获得的。当$A^TA$的最小特征值小于第一次优化迭代的阈值时,LIS报告失败,此时不会将激光雷达里程计约束添加到因子图中。可以从On Degeneracy of Optimization-based State Estimation Problems看到这些假设所基于的详细分析。

你可能感兴趣的