OpenVins解析:基于滤波框架的SLAM


1 论文

1.1 OpenVINS: A Research Platform for Visual-Inertial Estimation

Geneva, P., Eckenhoff, K., Lee, W., Yang, Y., & Huang, G. (2020, May). Openvins: A research platform for visual-inertial estimation. In 2020 IEEE International Conference on Robotics and Automation (ICRA) (pp. 4666-4672). IEEE.

1.1.1 主要内容

这篇论文提纲挈领地介绍了OpenVINS库的各个模块主要功能以及一些实验验证的结果。

1.1.2 思考

  • 文中实验结果表明:EurocMav V203数据集,双目情况下,openvins加不加 SLAM landmark到状态向量里 效果都差不多;单目情况下加SLAM landmark对精度有明显提升。为什么?
    在这里插入图片描述

1.1.3 启发

  • 要有地图库,包含关键帧和关键帧中高置信度的路标点。
  • 普通帧要关联关键帧,减少VIO漂移
  • 室外场景下要能融合GPS甚至LiDAR

1.2 MSCKF: A Multi-State Constraint Kalman Filter for Vision-aided Inertial Navigation

Mourikis, A. I., & Roumeliotis, S. I. (2007, April). A multi-state constraint Kalman filter for vision-aided inertial navigation. In Proceedings 2007 IEEE international conference on robotics and automation (pp. 3565-3572). IEEE.

1.2.1 MSCKF估计过程

A. IMU递推

每次IMU到来时就进行数值积分递推,更新状态和协方差。(或者等到图像到来再一次性计算,S-MSCKF代码里面就是这样实现的)

B. 状态增广

图像帧到来时,利用IMU递推得到的位姿给该图像帧赋初值。

C. 滤波更新
观测模型
更新

更新时刻有两个,一个发生在信息搜集全时,一个发生在信息即将丢失时:

  • 当特征点不再被跟踪到时,针对该特征点的约束信息不会再增多,此时会对窗口内所有观测到该特征点的位姿进行一轮更新
  • 当达到最大位姿数量时需要丢弃帧,信息即将丢失,此时也会进行更新

2 代码解析

2.1 ov_core

2.1.1 track

track目录下实现了基于KLT光流基于描述子匹配(、基于ArucoTag)的跟踪方法;并且派生于TrackBase类。后续如要引入诸如SVO等其他跟踪方法也易于拓展。

着重说下基于描述子的匹配:OpenVins中匹配的方式是robust_match(),里面是调用的opencv的KNNMatch,然后再用RANSAC剔除误匹配(Reject with F)。这一方式存在的关键问题是匹配耗时很长,对性能影响显著。可以参考ORBSLAM3中的匹配方式来对其优化,比如左右目匹配可以在极线上搜索,前后帧可以利用运动先验投影匹配。

2.1.2 types

TOD

2.2 ov_msckf

2.2.1 关注 updaterSLAMupdaterMSCKF

openvins中不仅仅进行了传统的MSCKF更新(状态向量中不包含路标点),还在updaterSLAM中进行了包含路标点的估计更新。openvins 中路标点的数量默认设置为 50。理论上加入路标点会提升精度,代价是增加了计算量。但是openvins论文中表明EurocMav V203数据集双目模式下加入路标点到状态向量对精度影响有限。因此,updaterSLAM必要性以及超参数设置需要更多的实际实验来决定。

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
拓展卡尔曼滤波SLAM (Simultaneous Localization and Mapping) 应用是指在基于传感器数据和机器人运动模型的基础上,利用卡尔曼滤波算法进行实时的定位和地图构建。传统的SLAM算法通常使用扩展卡尔曼滤波(EKF)或粒子滤波等方法,但随着计算机视觉、激光雷达和雷达等传感器技术的不断发展,拓展卡尔曼滤波SLAM应用也在不断丰富和完善。 拓展卡尔曼滤波SLAM应用可以应用于无人驾驶车辆、无人机、移动机器人等领域。通过集成视觉、激光雷达、GPS等多种传感器数据,结合拓展卡尔曼滤波算法,可以实现对机器人实时位置和周围环境的高精度感知和建模。在无人驾驶车辆中,拓展卡尔曼滤波SLAM应用可以帮助车辆实时跟踪自身位置、规划路径和避开障碍物,从而保障行车安全和效率。 此外,拓展卡尔曼滤波SLAM应用还可以应用于室内导航、环境监测、智能仓储等场景。在室内导航中,机器人可以利用拓展卡尔曼滤波算法实现自身位置的实时定位和对环境地图的构建,从而为用户提供准确的导航服务;在智能仓储中,机器人可以借助拓展卡尔曼滤波SLAM算法实现货物的自动分拣和储存,提高仓储效率。 总的来说,拓展卡尔曼滤波SLAM应用在自动化领域具有广阔的应用前景,随着传感器技术和算法的不断进步,其在实时定位和地图构建方面的性能将会不断提升。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值