视觉SLAM简介:自主导航与环境建图

需积分: 9 49 下载量 40 浏览量 更新于2024-07-20 收藏 4.32MB PDF 举报
"Visual SLAM——一个简短的介绍" Visual SLAM(视觉SLAM)是机器人定位与建图领域的核心技术,由英文“Simultaneous Localization And Mapping”缩写而来。SLAM的主要目标是在未知环境中构建地图的同时,实时估计移动机器人的位置。这一技术在自主导航和运动规划中扮演着关键角色。 SLAM可以使用多种传感器实现,如2D激光测距仪、RGB-D相机(彩色深度相机)和3D激光雷达。不同传感器各有优缺点:激光雷达提供高精度但体积较大,被动式感知如视觉传感器则轻便节能且应用广泛。自2005年以来,视觉SLAM(VSLAM)因其主要依赖视觉传感器(摄像头)而受到广泛关注。 视觉SLAM作为其他传感器的补充,常常与GPS、IMU(惯性测量单元)、激光测距仪等结合使用。这使得它能在没有GPS信号的环境中工作,例如室内、洞穴、火星或月球等。视觉SLAM的输入是视频摄像头捕获的图像,通过这些图像,系统可以构建3D地图并实时估计摄像头的自身位姿。 在实际操作中,视觉SLAM面临的挑战包括:特征提取与匹配、卡尔曼滤波或粒子滤波等估计方法的应用、实时性处理、环境变化的适应性以及鲁棒性问题。特征提取是识别图像中的关键点,用于匹配不同帧间的相似结构;而滤波器则用于平滑和优化估计结果,降低噪声影响。 SLAM算法大致可以分为两类:基于特征的SLAM和直接法SLAM。基于特征的SLAM着重于提取和匹配图像中的显著特征,如SIFT、SURF或ORB等;直接法SLAM则直接处理像素级的亮度信息,不依赖于特征点,对光照变化和动态背景有较好的适应性。 在实际应用中,SLAM技术已广泛应用于无人机自主飞行、自动驾驶汽车、服务机器人、增强现实等领域。随着深度学习和硬件技术的发展,SLAM算法的性能和效率持续提升,未来有望在更多领域发挥重要作用。 视觉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.