1. 程式人生 > >slam是什麼意思?一文帶你讀懂SLAM

slam是什麼意思?一文帶你讀懂SLAM

 

SLAM是Simultaneous localization and mapping縮寫,意為“同步定位與建圖”,主要用於解決機器人在未知環境運動時的定位與地圖構建問題,為了讓大家更多的瞭解SLAM,以下將從SLAM的應用領域、SLAM框架、SLAM分類(基於感測器的SLAM分類)來進行全面闡述,本文僅對沒有接觸過SLAM的新人進行的科普。

 

一、SLAM的典型應用領域

機器人定位導航領域:地圖建模。SLAM可以輔助機器人執行路徑規劃、自主探索、導航等任務。國內的科沃斯、塔米以及最新面世的嵐豹掃地機器人都可以通過用SLAM演算法結合鐳射雷達或者攝像頭的方法,讓掃地機高效繪製室內地圖,智慧分析和規劃掃地環境,從而成功讓自己步入了智慧導航的陣列。國內思嵐科技(SLAMTEC)為這方面技術的主要提供商,SLAMTEC的命名就是取自SLAM的諧音,其主要業務就是研究服務機器人自主定位導航的解決方案。目前思嵐科技已經讓關鍵的二維鐳射雷達部件售價降至百元,這在一定程度上無疑進一步拓展了SLAM技術的應用前景。

 

VR/AR方面:輔助增強視覺效果。SLAM技術能夠構建視覺效果更為真實的地圖,從而針對當前視角渲染虛擬物體的疊加效果,使之更真實沒有違和感。VR/AR代表性產品中微軟Hololens、谷歌ProjectTango以及MagicLeap都應用了SLAM作為視覺增強手段。

 

無人機領域:地圖建模。SLAM可以快速構建區域性3D地圖,並與地理資訊系統(GIS)、視覺物件識別技術相結合,可以輔助無人機識別路障並自動避障規劃路徑,曾經刷爆美國朋友圈的Hovercamera無人機,就應用到了SLAM技術。

 

無人駕駛領域:視覺里程計。SLAM技術可以提供視覺里程計功能,並與GPS等其他定位方式相融合,從而滿足無人駕駛精準定位的需求。例如,應用了基於鐳射雷達技術Google無人駕駛車以及牛津大學MobileRoboticsGroup11年改裝的無人駕駛汽車野貓(Wildcat)均已成功路測。

 

二、SLAM框架

SLAM系統框架如圖所示,一般分為五個模組,包括感測器資料、視覺里程計、後端、建圖及迴環檢測。

SLAM是什麼

感測器資料:主要用於採集實際環境中的各型別原始資料。包括鐳射掃描資料、視訊影象資料、點雲資料等。

視覺里程計:主要用於不同時刻間移動目標相對位置的估算。包括特徵匹配、直接配準等演算法的應用。

後端:主要用於優化視覺里程計帶來的累計誤差。包括濾波器、圖優化等演算法應用。

建圖:用於三維地圖構建。

迴環檢測:主要用於空間累積誤差消除

 

其工作流程大致為:

感測器讀取資料後,視覺里程計估計兩個時刻的相對運動(Ego-motion),後端處理視覺里程計估計結果的累積誤差,建圖則根據前端與後端得到的運動軌跡來建立地圖,迴環檢測考慮了同一場景不同時刻的影象,提供了空間上約束來消除累積誤差。

 

三、SLAM分類(基於感測器的SLAM分類)

目前用在SLAM上的感測器主要分為這兩類,一種是基於鐳射雷達的鐳射SLAM(Lidar SLAM)和基於視覺的VSLAM(Visual SLAM)。

1.鐳射SLAM

鐳射SLAM採用2D或3D鐳射雷達(也叫單線或多線鐳射雷達),2D鐳射雷達一般用於室內機器人上(如掃地機器人),而3D鐳射雷達一般使用於無人駕駛領域。鐳射雷達的出現和普及使得測量更快更準,資訊更豐富。鐳射雷達採集到的物體資訊呈現出一系列分散的、具有準確角度和距離資訊的點,被稱為點雲。通常,鐳射SLAM系統通過對不同時刻兩片點雲的匹配與比對,計算鐳射雷達相對運動的距離和姿態的改變,也就完成了對機器人自身的定位。

鐳射雷達測距比較準確,誤差模型簡單,在強光直射以外的環境中執行穩定,點雲的處理也比較容易。同時,點雲資訊本身包含直接的幾何關係,使得機器人的路徑規劃和導航變得直觀。鐳射SLAM理論研究也相對成熟,落地產品更豐富。

 

2.視覺SLAM

眼睛是人類獲取外界資訊的主要來源。視覺SLAM也具有類似特點,它可以從環境中獲取海量的、富於冗餘的紋理資訊,擁有超強的場景辨識能力。早期的視覺SLAM基於濾波理論,其非線性的誤差模型和巨大的計算量成為了它實用落地的障礙。近年來,隨著具有稀疏性的非線性優化理論(Bundle Adjustment)以及相機技術、計算效能的進步,實時執行的視覺SLAM已經不再是夢想。

視覺SLAM的優點是它所利用的豐富紋理資訊。例如兩塊尺寸相同內容卻不同的廣告牌,基於點雲的鐳射SLAM演算法無法區別他們,而視覺則可以輕易分辨。這帶來了重定位、場景分類上無可比擬的巨大優勢。同時,視覺資訊可以較為容易的被用來跟蹤和預測場景中的動態目標,如行人、車輛等,對於在複雜動態場景中的應用這是至關重要的。

通過對比我們發現,鐳射SLAM和視覺SLAM各擅勝場,單獨使用都有其侷限性,而融合使用則可能具有巨大的取長補短的潛力。例如,視覺在紋理豐富的動態環境中穩定工作,並能為鐳射SLAM提供非常準確的點雲匹配,而鐳射雷達提供的精確方向和距離資訊在正確匹配的點雲上會發揮更大的威力。而在光照嚴重不足或紋理缺失的環境中,鐳射SLAM的定位工作使得視覺可以藉助不多的資訊進行場景記錄。

 

近年來,SLAM導航技術已取得了很大的發展,它將賦予機器人和其他智慧體前所未有的行動能力,而鐳射SLAM與視覺SLAM必將在相互競爭和融合中發展,使機器人從實驗室和展廳中走出來,做到真正的服務於人類。

相關閱讀:

SLAM新人入門必備資料