视觉SLAM技术15年演进

需积分: 50 30 下载量 135 浏览量 更新于2024-07-17 收藏 7.13MB PDF 举报
"Visual SLAM 15年发展历程(高清版)" Visual SLAM,全称Simultaneous Localization and Mapping,即同时定位与建图,是机器人技术中的关键算法,主要用于实现移动设备在未知环境中的自主导航。这篇资料由Andrew Davison撰写,他在Imperial College London的Robot Vision Group和Dyson Robotics Laboratory工作,对这一领域有着深入的研究。 自20世纪末以来,Visual SLAM已经取得了显著的发展。Andrew Davison提到的核心特征包括: 1. **闭环估计**:这是SLAM中的关键部分,通过识别已探索过的区域并校正位姿,避免定位漂移,提高定位精度。 2. **预测性**:系统能够预测移动后的位置,使得实时性能得以保障。 3. **高效性**:在有限的计算资源下,实现高效的计算,确保算法能够在实际硬件上运行。 4. **现场演示**:强调Visual SLAM的实际应用价值,不仅在理论上可行,而且可以直观地展示其效果。 5. **单目视觉传感器**:早期的工作主要集中在使用单一的视觉传感器(如摄像头)进行建图和定位,从而实现无漂移、一致的局部化。 6. **多用途性**:由于其核心特性,Visual SLAM适用于多种应用场景,例如无人机导航、自动驾驶汽车、室内机器人等。 7. **商品化硬件**:随着消费级摄像头和处理器的进步,Visual SLAM技术可以更加普及,不再局限于专业设备。 8. **开源软件**:开放源代码的项目,如Davison在AIST Japan期间创建的SceneLib,促进了社区的共享和进步。 Visual SLAM的历史可以追溯到早期的一些开创性工作,比如: 1. **DROID**:Harris在1980年代后期提出的基于特征的视觉里程计,为后来的Visual SLAM奠定了基础。 2. **离线结构从运动(SFM)到序列处理**:例如Fitzgibbon和Pollefeys的工作,逐渐将静态场景的重建扩展到连续序列的处理。 3. **EKF SLAM**:Durrant-Whyte和Leonard等人通过扩展卡尔曼滤波器实现了非视觉传感器的SLAM。 4. **激光扫描匹配**:Gutmann和Konolige等人的研究,展示了激光雷达数据在构建环境地图中的应用。 移动机器人社区在推动这些技术发展方面发挥了重要作用,它们不仅提供了实验平台,还提出了许多挑战和需求,促进了Visual SLAM算法的不断优化和创新。随着时间的推移,Andrew Davison认为这项研究正在向更广泛、实时的空间感知方向发展,尽管它仍然是SLAM,但其应用范围和复杂度都在不断增加。
2015-05-18 上传
http://www.iri.upc.edu/people/jsola/JoanSola/eng/toolbox.html EKF-SLAM TOOLBOX FOR MATLAB NEWS Upgrade 2012/04/22: Added support for Omni-directional cameras for ahmPnt and eucPnt points. From 2011/09/03 to 2011/09/08: a bug in the package released between these 5 days caused the toolbox to completely fail. Download the current version below. 2010/09/04: BUG FIX: Corrected bug in code for IDP. If you just want the bug fix, click here. Toolbox versions after 2011/09/08 are already fixed. INTRODUCTION This toolbox performs 6DOF SLAM using the classical EKF implementation. It is conceived as an "active-search" SLAM. It is provided for free under the GPL license (please read the file COPYING and make sure you agree in the terms and conditions before using it). Users employing the toolbox for scientific research should cite in their scientific communications one of the papers of the authors (especially SOLA-ETAL-IJCV-11, SOLA-ETAL-TRO-08) appearing in the References section of the documentation, and also acknowledging the use of this toolbox. • Download the 6DOF SLAM toolbox for Matlab. • Please email me with feedback, I will appreciate. • Read the pdf doc to have an idea. • Features: o Full 6DOF. o Points and lines, with many different parametrizations. Consult the IJCV'11 paper on landmark parametrization. o 3D graphics. o Works with any number of robots and sensors. o Monocular and stereo systems are treated alike. o Supports extrinsic self-calibration of multi-camera rigs as in our TRO'08 paper. • The toolbox supports undelayed initialization of the following landmark types: o ahmPnt : Anchored homogeneous points. See video. This parametrization performs equivalently to Inverse-depth points in filter consistency. o idpPnt : Inverse-Depth points, with conversion to Euclidean points (eucPnt) after confirming linearity. This follows Civera's TRO-08 paper on Inverse-depth parametrization. Seevideo. Also called Anchored Modified-polar points (AMPP) in SOLA-IJCV'11. o hmgPnt : Homogeneous points. See video. o fhmPnt : Framed Homogeneous points. We follow a work by Simone Ceriani et. al., 2011. o plkLin : Plucker lines as explained in our IROS-09 paper. See video. o aplLin : Anchored Plucker lines. See video. o idpLin : Inverse-depth points lines. See video. Also called Anchored Modified-polar points lines (AMPPL) in SOLA-IJCV'11. o hmgLin : Homogeneous-points lines. See video. o ahmLin : Anchored homogeneous-points lines. See video. o See this video that compares idpPnt against ahmPnt and hmgPnt points, showing the superior consistency of idpPnt and ahmPnt because of over-estimation of the covariance in hmgPnt.(note: in the video, hmgPnt is labeled HP, ahmPnt is AHP, and idpPnt is AMPP.) o See this video with all line parametrizations running in parallel. BUG FIXES BUG (fixed in toolbox releases after 2011/09/08): The Jacobians of the idpPnt initialization function were incorrect. This derived in a poor performance of idpPnt points. Now, idpPnt andahmPnt show equivalent performance. FIX: follow these simple steps: 1. Download this file. Unzip it. 2. Copy files idp2ahp.m and ahp2idp.m to toolbox folder %SLAMTB/Points/ 3. Copy file retroProjIdpPntFromPinHoleOnRob.m to toolbox folder %SLAMTB/Observations/ 4. Delete the obsolete bugged file %SLAMTB/Points/idpS2idpW.m from the toolbox.