视觉−惯性导航融合SLAM方案

视觉−惯性导航融合SLAM方案_第1张图片
VIO和之前的几种SLAM最大的不同在于两点:
首先,VIO在硬件上需要传感器的融合,包括相机和六轴陀螺仪,
相机产生图片,
六轴陀螺仪产生加速度和角速度。
相机相对准但相对慢,六轴陀螺仪的原始加速度如果拿来直接积分会在很短的时间飘走(zero-drift),
但六轴陀螺仪的频率很高,在手机上都有200Hz。
其次,VIO实现的是一种比较复杂而有效的卡尔曼滤波,比如MSCKF(Multi-State-Constraint-Kalman-Filter),
侧重的是快速的姿态跟踪,而不花精力来维护全局地图,
也不做keyframe based SLAM里面的针对地图的全局优化(bundle adjustment)。
最著名的商业化实现就是Google的Project Tango和已经被苹果收购的Flyby Media,

其中第二代Project Tango搭载了Nividia TK1并有主动光源的深度摄像头的平板电脑,
这款硬件可谓每个做算法的小伙伴的梦幻搭档,具体在这里不多阐述。

主要问题:
使用 IMU 对相机在快门动作期间内估计相机的运动 ,
但是由于 CMOS 相机的快门时间戳和 IMU 的时间戳的同步比较困难 ,
且相机的时间戳不太准确 , Guo 等 [52] 对时间戳不精确的卷帘快
门相机设计了一种 VIO (Visual inertial odometry)系统 ,
其位姿使用线性插值方法近似相机的运动轨迹 , 姿态使用旋转角度和旋转轴表示 ,
旋转轴不变 ,对旋转角度线性插值 ,
使用 MSCKF (Multi-stateconstrained Kalman filter) 建模卷帘快门相机的测量模型。

多传感器融合

传感器融合是一个趋势,也或者说是一个妥协的结果。
为什么说是妥协呢?
主要的原因还是由于单一的传感器不能适用所有的场景,
所以我们寄希望于通过多个传感器的融合达到理想的定位效果。

1、简单的,目前行业中有很多视觉+IMU的融合方案,
视觉传感器在大多数纹理丰富的场景中效果很好,
但是如果遇到玻璃,白墙等特征较少的场景,基本上无法工作;
IMU长时间使用有非常大的累积误差,但是在短时间内,其相对位移数据又有很高的精度,
所以当视觉传感器失效时,融合IMU数据,能够提高定位的精度。

2、再比如,无人车当中通常使用 差分GPS + IMU + 激光雷达(视觉)的定位方案。
差分GPS在天气较好、遮挡较少的情况下能够获得很好的定位精度,
但是在城市高楼区域、恶劣天气情况下效果下降非常多,
这时候融合IMU+激光雷达(视觉)的方案刚好能够填补不足。

惯性传感器(IMU)

能够测量传感器本体的角速度和加速度,被认为与相机传感器具有明显的互补性,
而且十分有潜力在融合之后得到更完善的SLAM系统。

1、IMU虽然可以测得角速度和加速度,但这些量都存在明显的漂移(Drift),
使得积分两次得到的位姿数据非常不可靠。
好比说,我们将IMU放在桌上不动,用它的读数积分得到的位姿也会漂出十万八千里。
但是,对于短时间内的快速运动,IMU能够提供一些较好的估计。
这正是相机的弱点。
当运动过快时,(卷帘快门的)相机会出现运动模糊,
或者两帧之间重叠区域太少以至于无法进行特征匹配,
所以纯视觉SLAM非常害怕快速的运动。
而有了IMU,即使在相机数据无效的那段时间内,
我们也能保持一个较好的位姿估计,这是纯视觉SLAM无法做到的。

2、相比于IMU,相机数据基本不会有漂移。
如果相机放在原地固定不动,那么(在静态场景下)视觉SLAM的位姿估计也是固定不动的。
所以,
相机数据可以有效地估计并修正IMU读数中的漂移,使得在慢速运动后的位姿估计依然有效。

3、当图像发生变化时,本质上我们没法知道是相机自身发生了运动,
还是外界条件发生了变化,所以纯视觉SLAM难以处理动态的障碍物。
而IMU能够感受到自己的运动信息,从某种程度上减轻动态物体的影响。

https://blog.csdn.net/xiaoxiaowenqiang/article/details/81192045

你可能感兴趣的:(VSLAM)