SLAM:Simultaneous Localization and Mapping,即時定位與地圖構建技術。它指的是:機器人從未知環境的未知地點出發,在運動過程中通過重復觀測到的環境特征定位自身位置和姿態,再根據自身位置構建周圍環境的增量式地圖,從而達到同時定位和地圖構建的目的。
一、SLAM概述
SLAM:Simultaneous Localization and Mapping,即時定位與地圖構建技術。利用SLAM技術,可以讓機器人在未知的環境里實時地知道自己在哪里,并同步繪制環境地圖。在機器人的定位、跟蹤和路徑規劃技術中,SLAM都扮演了核心角色。沒有SLAM的機器人就好比在移動互聯網時代不能上網的智能手機,發揮不了重要作用。非要向不了解SLAM的人簡單地描述SLAM的一個應用場景的話,掃地機器人應該就是用來解釋的最佳神器。
從圖中我們可以看出,掃地機器人能將其所經過的區域繪制成地圖,規劃清掃路徑,從而進行清掃。這種即時定位與地圖構建技術,就是我們所說的SLAM技術。要利用SLAM技術,首先需要機器人配置至少一個測距裝置,通過測距裝置獲取機器人周圍環境的信息。目前比較常見的測距裝置主要有激光測距、超聲波測距和圖像測距。
由表可見,使用激光測距方法進行距離測量,可獲取較高的空間定位精度,且運算要求較低。這樣的特性使得激光測距可以很容易地應用到SLAM中。為方便大家理解,接下來我們將以二維空間的激光定位技術來解釋SLAM技術應用的具體過程。
SLAM技術的發展推動了定位(Localization)、跟蹤(Tracking)以及路徑規劃(Path Planning)技術的發展,進而對無人機、無人駕駛、機器人等熱門研究領域產生重大影響。
我們來看看SLAM技術都在哪些領域發揮作用吧。
圖1 SLAM應用領域
VR/AR 方面:輔助增強視覺效果。SLAM技術能夠構建視覺效果更為真實的地圖,從而針對當前視角渲染虛擬物體的疊加效果,使之更真實沒有違和感。VR/AR代表性產品中微軟Hololens、谷歌ProjectTango以及MagicLeap都應用了SLAM作為視覺增強手段。
無人機領域及機器人定位導航領域:地圖建模。SLAM可以快速構建局部3D地圖,并與地理信息系統(GIS)、視覺對象識別技術相結合,可以輔助無人機識別路障并自動避障規劃路徑,還可以輔助機器人執行路徑規劃、自主探索、導航等任務。曾經刷爆美國朋友圈的Hover camera無人機,正是應用SLAM技術。國內的科沃斯、塔米掃地機通過用SLAM算法結合激光雷達或者攝像頭的方法,讓掃地機可以高效繪制室內地圖,智能分析和規劃掃地環境,從而成功讓自己步入了智能導航的陣列。
無人駕駛領域:視覺里程計。SLAM 技術可以提供視覺里程計功能,并與GPS等其他定位方式相融合,從而滿足無人駕駛精準定位的需求。例如,應用了基于激光雷達技術Lidar Slam的Google無人駕駛車以及牛津大學Mobile Robotics Group11年改裝的無人駕駛汽車野貓(Wildcat)均已成功路測。
二、SLAM框架
自從上世紀80年代SLAM概念的提出到現在,SLAM技術已經走過了30多年的歷史。SLAM技術采用的硬件、算法也在“與時俱進”,SLAM技術框架逐漸豐富。在硬件方面,SLAM系統使用的傳感器從早期的聲吶,逐漸演變到后來的2D/3D激光雷達,再到單目、雙目攝像機,RGBD、ToF等深度攝像機,以及與慣性測量單元(IMU)等傳感器的融合。在軟件算法方面,也從開始的基于濾波器的方法,如擴展卡爾曼濾波器(EKF)、粒子濾波器(PF)等,向基于優化的方法轉變。
SLAM系統一般分為五個模塊,系統框架如圖2所示,包括:
傳感器數據:主要用于采集實際環境中的各類型原始數據。包括激光掃描數據、視頻圖像數據、點云數據等。
視覺里程計:主要用于不同時刻間移動目標相對位置的估算。包括特征匹配、直接配準等算法的應用。
后端:主要用于優化視覺里程計帶來的累計誤差。包括濾波器、圖優化等算法應用。
建圖:用于三維地圖構建。
回環檢測:主要用于空間累積誤差消除。
圖2 SLAM系統框架
其工作流程大致為:
傳感器讀取數據后,視覺里程計估計兩個時刻的相對運動(Ego-motion),后端處理視覺里程計估計結果的累積誤差,建圖則根據前端與后端得到的運動軌跡來建立三維地圖,回環檢測考慮了同一場景不同時刻的圖像,提供了空間上約束來消除累積誤差。
三、SLAM技術的發展
依據傳感器的特點不同,SLAM技術也分為激光和視覺兩個技術路線,其特點如圖4所示。
激光雷達傳感器
激光雷達利用激光在同一空間參考系下獲取物體表面每個采樣點的空間坐標,可得到一系列表達目標空間分布和目標表面特性的海量點的集合。由于激光雷達距離測量比較準確,誤差模型簡單,在強光直射以外的環境中運行穩定,因此點云的處理也比較容易。同時,點云信息本身包含直接的幾何關系,使得機器人的路徑規劃和導航變得直觀。激光SLAM理論研究也相對成熟,落地產品更豐富。
視覺傳感器
早期的視覺SLAM基于濾波理論,其非線性的誤差模型和巨大的計算量成為了它實用落地的障礙。近年來,隨著具有稀疏性的非線性優化理論(Bundle Adjustment)以及相機技術、計算性能的進步,實時運行的視覺SLAM已經不再是夢想。
SLAM兩大類傳感器
SLAM兩大傳感器特點
激光雷達SLAM發展
基于激光雷達的SLAM(Lidar SLAM)采用2D或3D激光雷達(也叫單線或多線激光雷達)。在室內機器人(如掃地機器人)上,一般使用2D激光雷達,在無人駕駛領域,一般使用3D激光雷達。
現任Udacity創始人CEO、前Google副總裁、谷歌無人車領導者Sebastian Thrun在他2005年的經典著作《ProbabilisticRobotics》一書中詳細闡述了利用2D激光雷達基于概率方法進行地圖構建和定位的理論基礎,并闡述了基于RBPF(Rao-blackwellizedparticle filter)粒子濾波器的FastSLAM方法,成為后來2D激光雷達建圖的標準方法之一GMapping的基礎,該算法也被集成到機器人操作系統(Robot Operation System,ROS)中。2013年,對ROS中的幾種2DSLAM的算法HectorSLAM,KartoSLAM,CoreSLAM,LagoSLAM和GMapping做了比較評估。2016年,Google開源其激光雷達SLAM算法庫Cartographer,它與GMapping相比,能夠有效處理閉環,達到了較好的效果。
視覺SLAM發展
現在主流的視覺SLAM系統的特性主要體現在前端和后端,如圖5所示。
前端對應視覺里程計,主要用于數據關聯,研究幀與幀之間變換關系,完成實時的位姿跟蹤,對輸入的圖像進行處理,計算姿態變化。由于與后端還存在反饋,因此也檢測并處理閉環,當有慣性測量單元(IMU)信息時,還可以參與融合計算。
后端主要對前端的輸出結果進行優化,利用濾波理論,如擴展卡爾曼濾波(EKF)、粒子濾波(PF)等優化理論進行樹或圖的優化,得到最優的位姿估計和地圖。
典型SLAM的前端和后端
2007年,第一個成功基于單目攝像頭的純視覺SLAM 系統MonoSLAM誕生。同年,Murray和Klein提出了實時SLAM系統PTAM(ParallelTracking and Mapping),PTAM實現了架構創新,它將姿態跟蹤(Tracking)和建圖(Mapping)兩個線程分開并行進行,這在當時是一個創舉,第一次讓大家覺得對地圖的優化可以整合到實時計算中。這種設計為后來的實時SLAM(如ORB-SLAM)所效仿,成為了現代SLAM系統的標配。
PTAM系統與EKF-SLAM系統產生結果對比
2015年,Mur-Artal 等提出了開源的單目ORB-SLAM,并于2016年拓展為支持雙目和RGBD傳感器的ORB-SLAM2,它是目前支持傳感器最全且性能最好的視覺SLAM系統之一,也是所有在KITTI數據集上提交結果的開源系統中排名最靠前的一個。
如圖7所示,ORB-SLAM主要分為三個線程進行,即跟蹤(Tracking)、建圖(LocalMapping)和閉環檢測(LoopClosing)。跟蹤部分是主要是從圖像中提取ORB特征,根據上一幀進行姿態估計,或者進行通過全局重定位初始化位姿,然后跟蹤已經重建的局部地圖,優化位姿,再根據一些規則確定新的關鍵幀。建圖部分主要完成局部地圖構建。包括對關鍵幀的插入,驗證最近生成的地圖點并進行篩選,然后生成新的地圖點,使用局部捆集調整(Local BA),最后再對插入的關鍵幀進行篩選,去除多余的關鍵幀。閉環檢測部分主要分為兩個過程,分別是閉環探測和閉環校正。閉環檢測先使用二進制詞典匹配檢測(WOB)進行探測,然后通過Sim3算法計算相似變換。閉環校正,主要是閉環融合和Essential Graph的圖優化。由于ORB-SLAM系統是基于特征點的SLAM系統,故其能夠實時計算出相機的軌線,并生成場景的稀疏三維重建結果。
ORB-SLAM2的三線程結構
2016年,TUM機器視覺組的Engel等人又提出了DSO系統,該系統是一種新的基于直接法和稀疏法的視覺里程計,它將最小化光度誤差模型和模型參數聯合優化方法相結合。為了滿足實時性,不對圖像進行光滑處理,而是對整個圖像均勻采樣(如圖8)。該系統在TUM monoVO、EuRoC MAV和ICL-NUIM三個數據集上進行了測試,達到了很高的跟蹤精度和魯棒性。
DSO系統
2017年,香港科技大學的沈紹劼老師課題組提出了融合慣性測量單元(IMU)和視覺信息的VINS系統,同時開源手機和Linux兩個版本的代碼,這是首個直接開源手機平臺代碼的視覺IMU融合SLAM系統。這個系統可以運行在iOS設備上,為手機端的增強現實應用提供精確的定位功能,同時該系統也在應用在了無人機控制上,并取得了較好的效果。
-
機器人
+關注
關注
211文章
28641瀏覽量
208412 -
SLAM
+關注
關注
23文章
426瀏覽量
31930 -
激光雷達
+關注
關注
968文章
4025瀏覽量
190406
原文標題:即時定位與地圖構建技術淺析
文章出處:【微信號:IV_Technology,微信公眾號:智車科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論