SLAM是Simultaneous localization and mapping縮寫,意為“同步定位與建圖”,主要用于解決機器人在未知環(huán)境運動時的定位與地圖構(gòu)建問題,為了讓大家更多的了解SLAM,以下將從SLAM的應(yīng)用領(lǐng)域、SLAM框架、SLAM分類(基于傳感器的SLAM分類)來進行全面闡述,本文僅對沒有接觸過SLAM的新人進行的科普。
一、SLAM的典型應(yīng)用領(lǐng)域
機器人定位導(dǎo)航領(lǐng)域:地圖建模。SLAM可以輔助機器人執(zhí)行路徑規(guī)劃、自主探索、導(dǎo)航等任務(wù)。國內(nèi)的科沃斯、塔米以及最新面世的嵐豹掃地機器人都可以通過用SLAM算法結(jié)合激光雷達或者攝像頭的方法,讓掃地機高效繪制室內(nèi)地圖,智能分析和規(guī)劃掃地環(huán)境,從而成功讓自己步入了智能導(dǎo)航的陣列。國內(nèi)思嵐科技(SLAMTEC)為這方面技術(shù)的主要提供商,SLAMTEC的命名就是取自SLAM的諧音,其主要業(yè)務(wù)就是研究服務(wù)機器人自主定位導(dǎo)航的解決方案。目前思嵐科技已經(jīng)讓關(guān)鍵的二維激光雷達部件售價降至百元,這在一定程度上無疑進一步拓展了SLAM技術(shù)的應(yīng)用前景。
VR/AR方面:輔助增強視覺效果。SLAM技術(shù)能夠構(gòu)建視覺效果更為真實的地圖,從而針對當(dāng)前視角渲染虛擬物體的疊加效果,使之更真實沒有違和感。VR/AR代表性產(chǎn)品中微軟Hololens、谷歌ProjectTango以及MagicLeap都應(yīng)用了SLAM作為視覺增強手段。
無人機領(lǐng)域:地圖建模。SLAM可以快速構(gòu)建局部3D地圖,并與地理信息系統(tǒng)(GIS)、視覺對象識別技術(shù)相結(jié)合,可以輔助無人機識別路障并自動避障規(guī)劃路徑,曾經(jīng)刷爆美國朋友圈的Hovercamera無人機,就應(yīng)用到了SLAM技術(shù)。
無人駕駛領(lǐng)域:視覺里程計。SLAM技術(shù)可以提供視覺里程計功能,并與GPS等其他定位方式相融合,從而滿足無人駕駛精準定位的需求。例如,應(yīng)用了基于激光雷達技術(shù)Google無人駕駛車以及牛津大學(xué)MobileRoboticsGroup11年改裝的無人駕駛汽車野貓(Wildcat)均已成功路測。
二、SLAM框架
SLAM系統(tǒng)框架如圖所示,一般分為五個模塊,包括傳感器數(shù)據(jù)、視覺里程計、后端、建圖及回環(huán)檢測。
傳感器數(shù)據(jù):主要用于采集實際環(huán)境中的各類型原始數(shù)據(jù)。包括激光掃描數(shù)據(jù)、視頻圖像數(shù)據(jù)、點云數(shù)據(jù)等。
視覺里程計:主要用于不同時刻間移動目標相對位置的估算。包括特征匹配、直接配準等算法的應(yīng)用。
后端:主要用于優(yōu)化視覺里程計帶來的累計誤差。包括濾波器、圖優(yōu)化等算法應(yīng)用。
建圖:用于三維地圖構(gòu)建。
回環(huán)檢測:主要用于空間累積誤差消除
其工作流程大致為:
傳感器讀取數(shù)據(jù)后,視覺里程計估計兩個時刻的相對運動(Ego-motion),后端處理視覺里程計估計結(jié)果的累積誤差,建圖則根據(jù)前端與后端得到的運動軌跡來建立地圖,回環(huán)檢測考慮了同一場景不同時刻的圖像,提供了空間上約束來消除累積誤差。
三、SLAM分類(基于傳感器的SLAM分類)
目前用在SLAM上的傳感器主要分為這兩類,一種是基于激光雷達的激光SLAM(Lidar SLAM)和基于視覺的VSLAM(Visual SLAM)。
1.激光SLAM
激光SLAM采用2D或3D激光雷達(也叫單線或多線激光雷達),2D激光雷達一般用于室內(nèi)機器人上(如掃地機器人),而3D激光雷達一般使用于無人駕駛領(lǐng)域。激光雷達的出現(xiàn)和普及使得測量更快更準,信息更豐富。激光雷達采集到的物體信息呈現(xiàn)出一系列分散的、具有準確角度和距離信息的點,被稱為點云。通常,激光SLAM系統(tǒng)通過對不同時刻兩片點云的匹配與比對,計算激光雷達相對運動的距離和姿態(tài)的改變,也就完成了對機器人自身的定位。
激光雷達測距比較準確,誤差模型簡單,在強光直射以外的環(huán)境中運行穩(wěn)定,點云的處理也比較容易。同時,點云信息本身包含直接的幾何關(guān)系,使得機器人的路徑規(guī)劃和導(dǎo)航變得直觀。激光SLAM理論研究也相對成熟,落地產(chǎn)品更豐富。
2.視覺SLAM
眼睛是人類獲取外界信息的主要來源。視覺SLAM也具有類似特點,它可以從環(huán)境中獲取海量的、富于冗余的紋理信息,擁有超強的場景辨識能力。早期的視覺SLAM基于濾波理論,其非線性的誤差模型和巨大的計算量成為了它實用落地的障礙。近年來,隨著具有稀疏性的非線性優(yōu)化理論(Bundle Adjustment)以及相機技術(shù)、計算性能的進步,實時運行的視覺SLAM已經(jīng)不再是夢想。
視覺SLAM的優(yōu)點是它所利用的豐富紋理信息。例如兩塊尺寸相同內(nèi)容卻不同的廣告牌,基于點云的激光SLAM算法無法區(qū)別他們,而視覺則可以輕易分辨。這帶來了重定位、場景分類上無可比擬的巨大優(yōu)勢。同時,視覺信息可以較為容易的被用來跟蹤和預(yù)測場景中的動態(tài)目標,如行人、車輛等,對于在復(fù)雜動態(tài)場景中的應(yīng)用這是至關(guān)重要的。
通過對比我們發(fā)現(xiàn),激光SLAM和視覺SLAM各擅勝場,單獨使用都有其局限性,而融合使用則可能具有巨大的取長補短的潛力。例如,視覺在紋理豐富的動態(tài)環(huán)境中穩(wěn)定工作,并能為激光SLAM提供非常準確的點云匹配,而激光雷達提供的精確方向和距離信息在正確匹配的點云上會發(fā)揮更大的威力。而在光照嚴重不足或紋理缺失的環(huán)境中,激光SLAM的定位工作使得視覺可以借助不多的信息進行場景記錄。
近年來,SLAM導(dǎo)航技術(shù)已取得了很大的發(fā)展,它將賦予機器人和其他智能體前所未有的行動能力,而激光SLAM與視覺SLAM必將在相互競爭和融合中發(fā)展,使機器人從實驗室和展廳中走出來,做到真正的服務(wù)于人類。
關(guān)鍵字:激光雷达,SLAM