,,,,
(1.山東省科學院自動化研究所,濟南 250014;2.山東省機器人與制造自動化技術重點實驗室,濟南 250014;3.齊魯工業(yè)大學(山東省科學院),濟南 250014)
Simultaneous Localization and Mapping (SLAM)是移動機器人自主完成作業(yè)任務需要解決的基本問題,特別是在未知環(huán)境的情況下,移動機器人既要確定自身在環(huán)境中的位姿,又要根據(jù)確定的位姿來創(chuàng)建所處環(huán)境的地圖,這是一個相輔相成、不斷迭代的過程,因此,SLAM問題是一個復雜的耦合問題。
SLAM問題最初的概念是由Peter Cheeseman, Jim Crowley和Hugh Durrant-Whyte 等研究者將概率估計方法應用到機器人定位與建圖時提出的[1-2]。1986-2004年,由于概率方法的廣泛應用,SLAM問題的研究得到了快速的發(fā)展,這一時期也被稱作SLAM問題的“經(jīng)典時期”(classic age),主要研究方法包括擴展卡爾曼濾波(Extended Kalman Filters, EKF)、 Rao-Blackwellized 粒子濾波和最大似然估計等[3]。這些方法遇到的最大瓶頸是計算的復雜度,受限于當時的計算水平,難以滿足構(gòu)建大規(guī)模地圖的要求。2004~2015年,SLAM問題的研究進入“算法分析時期”(algorithm-analysis age),Dissanayake 等人從狀態(tài)的可觀測性、狀態(tài)估計的收斂性、一致性和算法計算效率等角度對這一時期的部分工作做了綜述[4],很好的描述了SLAM基本特性研究的進展。同時期,Cesar等人對SLAM的研究做了系統(tǒng)性的綜述,包括算法的魯棒性、應用的可擴展性、地圖表示形式(度量地圖和語義地圖)等問題,并且分別針對這些方面的研究提出了一些有待解決的問題[5]。這一時期,研究者們發(fā)布了許多有效的開源SLAM方法,包括Catragrapher[6], Hector SLAM[7], Gmapping[8], KartoSLAM[9]等基于激光傳感器的SLAM方法和MonoSLAM[10], ORB-SLAM[11], LSD-SLAM[12], RGB-D-SLAM[13], DSO[14]等基于視覺傳感器的SLAM方法。
SLAM的應用場景也比較廣泛,研究人員針對不同的應用場景下提出了不同的SLAM算法,覆蓋室內(nèi)[15]、室外[16]、水下[17]及航空航天[18]等應用環(huán)境,在這些應用場景下,激光和視覺的傳感器都有一定的局限性。比如激光SLAM在環(huán)境特征不明顯、動態(tài)環(huán)境等情況下性能欠佳,而且由于其重定位能力較差,在追蹤丟失后難以回到工作狀態(tài)[19]。雖然視覺SLAM能夠很好的完成環(huán)境中的點云匹配和回環(huán)檢測,有效降低累計誤差[20],但在無紋理或者光照弱的環(huán)境下表現(xiàn)較差,而且在距離未知的情況下,單目相機具有需要初始化、尺度不確定、尺度漂移等缺點。并且在視覺SLAM應用中存在一些共同的困難,包括相機運動過快,相機視野不夠,計算量大,遮擋,特征缺失,動態(tài)物體或光源干擾等。
鑒于激光和視覺單獨使用都有其局限性,而傳感器融合能夠彌補不同傳感器在某些特殊環(huán)境下的劣勢。許多研究者開始從事激光和視覺融合SLAM的研究,有效的利用不同傳感器的優(yōu)勢。因此,本文綜述了激光和視覺傳感器融合SLAM的關鍵性問題,主要涉及激光和視覺傳感器數(shù)據(jù)的外部標定、激光和視覺傳感器數(shù)據(jù)融合方法。其次,對激光和視覺融合SLAM方法的優(yōu)缺點和主要的應用領域進行了總結(jié)。最后,討論了激光和視覺傳感器數(shù)據(jù)融合SLAM的主要發(fā)展趨勢及研究熱點。
激光和視覺傳感器數(shù)據(jù)融合的前提條件是不同傳感器對同一目標在同一時刻的描述[21-22]。因此,不同傳感器數(shù)據(jù)之間的自動標定以及不同傳感器的數(shù)據(jù)融合是激光和視覺融合SLAM需要解決的關鍵問題。
傳感器的標定方法可以分為兩種,第1種是按照給定的相對變換關系安裝傳感器;第2種則是根據(jù)不同傳感器數(shù)據(jù)之間的約束關系來計算兩個傳感器之間的相對變換關系。當傳感器發(fā)生故障維護后第一種方法需要重新校正,而且移動機器人運動過程中的振動會使得相對誤差逐漸增大,因此更多的采用第2種標定方法,這種標定方法類似于單目相機的內(nèi)參標定[23],比如論文[24]中對于激光和數(shù)據(jù)融合的外部標定方法,通過給定的標定板,利用幾何約束關系構(gòu)建坐標轉(zhuǎn)換系數(shù)矩陣方程,從而確定相機坐標系和激光雷達坐標系之間的轉(zhuǎn)換關系。而且,針對未標定過或者標定誤差較大的單目相機,這種標定方法還可以采用全局優(yōu)化的方法同步優(yōu)化相機內(nèi)部標定和外部標定。在已有的文獻中,相機和激光雷達外部標定的方法可以按照表1所示進行分類。
其中無給定目標的激光-視覺傳感器外部標定主要是利用激光雷達得到的邊緣深度和相機圖像中的深度進行自動對齊,并利用代價函數(shù)來優(yōu)化標定參數(shù)和融合結(jié)果[25]。針對給定目標的激光-視覺傳感器外部標定,則是通過使用平面棋盤標定板[24,26]、直角三角形標定板[27]、正交三面體[28]、任意的三面體[28]或者V形標定板[29]等等實現(xiàn)傳感器標定。而這樣所有的標定方法又可以根據(jù)不同傳感器的感知范圍有無重疊分為感知范圍有重疊(充足或部分重疊)[24-31,33-42]和感知范圍無重疊[32,43-44]兩種情況。
表1 激光和視覺傳感器外部標定方法
激光和視覺傳感器外部標定方法比較豐富,其中一部分成果還給出了相應的MATLAB標定工具包[45]或ROS功能包[46]。
圖1 特征層數(shù)據(jù)融合
傳感器數(shù)據(jù)融合層次一般分為3種:數(shù)據(jù)層融合、特征層融合和決策層融合。激光和視覺傳感器是異質(zhì)的,因此數(shù)據(jù)無法在數(shù)據(jù)層進行融合,而決策層融合預處理代價高,而且融合的結(jié)果相對而言最不準確,因此激光和視覺傳感器數(shù)據(jù)融合主要是特征層的數(shù)據(jù)融合,如圖1所示。相應的傳感器數(shù)據(jù)融合方法有:
1.2.1 估計理論數(shù)據(jù)融合方法
主要包括卡爾曼濾波方法、協(xié)方差融合方法、最小二乘法等。這種方法是比較簡單、直觀的數(shù)據(jù)融合方法,主要是以估計理論作為基礎,為不同的傳感器數(shù)據(jù)建立狀態(tài)空間模型,然后對其進行狀態(tài)估計,從而實現(xiàn)數(shù)據(jù)融合[47-50]。
1.2.2 分類數(shù)據(jù)融合方法
主要包括參數(shù)分類方法和非參數(shù)分類方法,參數(shù)分類方法包括參數(shù)模板法和聚類分析法,非參數(shù)分類方法包括自學習決策樹、人工神經(jīng)網(wǎng)絡、支持向量機等。分類方法是將多維特征空間首先劃分為不同的數(shù)據(jù)類,后檢測到的特征向量通過與特征空間的劃分方法相對比,從而劃分到不同的數(shù)據(jù)類[51-52]。
1.2.3 推理數(shù)據(jù)融合方法
主要包括貝葉斯估計法和Dempster-Shafer (D-S)證據(jù)推理法等。貝葉斯估計法屬于靜態(tài)環(huán)境信息融合方法,信息描述為概率分布,適應于具有可加高斯噪聲的不確定性信息處理。多貝葉斯估計把每個傳感器作為貝葉斯估計,將環(huán)境中各個物體的關聯(lián)概率分布結(jié)合成聯(lián)合的后驗概率分布函數(shù),通過使聯(lián)合分布函數(shù)的似然函數(shù)為最大,提供最終融合值,D-S證據(jù)推理法是貝葉斯估計法的擴展方法[53-54]。
1.2.4 人工智能數(shù)據(jù)融合方法
主要包括模糊邏輯、神經(jīng)網(wǎng)絡方法等。模糊邏輯是一種多值邏輯,隸屬度可視為一個數(shù)據(jù)真值的不精確表示。在數(shù)據(jù)融合的過程中,存在的不確定性可以直接用模糊邏輯表示,使用多值邏輯推理,根據(jù)模糊集合理論的各種演算對各種命題進行合并,進而實現(xiàn)數(shù)據(jù)融合。神經(jīng)網(wǎng)絡是根據(jù)系統(tǒng)所接受的樣本相似性確定分類標準,發(fā)這種確定方法則體現(xiàn)在網(wǎng)絡的權(quán)值分布上[55-56]。
除了這些數(shù)據(jù)融合方法之外,還可以根據(jù)所處環(huán)境合理的選擇單個傳感器或傳感器融合數(shù)據(jù)作為關鍵幀構(gòu)建地圖[57]。這種根據(jù)環(huán)境狀況合理選擇傳感器數(shù)據(jù)的方式能夠降低數(shù)據(jù)融合的計算復雜度并且更好的適應于復雜的動態(tài)環(huán)境。
激光雷達和視覺傳感器的融合能夠有效的避免單個傳感器的局限性,融合兩個傳感器的優(yōu)勢,提高機器人定位的精度、通過視覺回環(huán)檢測降低累計誤差等。視覺傳感器得到的環(huán)境深度信息能夠匹配到激光雷達構(gòu)建的2D地圖上,因此可以利用激光雷達和視覺融合信息發(fā)現(xiàn)單個傳感器(激光雷達)所不能發(fā)現(xiàn)的障礙物[58],提高移動機器人的路徑規(guī)劃和避障性能。尤其對于動態(tài)變化的室外環(huán)境,激光雷達創(chuàng)建地圖輔助視覺慣性定位方法能夠提高系統(tǒng)的魯棒性?;旌瞎馐ㄆ讲羁蚣軐⒁曈X構(gòu)建地圖和激光雷達構(gòu)建地圖融合對齊,同步提高地圖構(gòu)建的精度,并且對于環(huán)境的變化有較強的魯棒性[59]。在多線激光雷達上,可以獲取的信息包括方向、距離和目標點的反射率信息,反射率信息構(gòu)成的數(shù)據(jù)可以看作一種紋理信息,從而激光雷達和視覺的融合可以使用視覺算法和紋理信息構(gòu)成的重定位方法,并且這些信息可以與高精度地圖融合,這樣的高精度地圖就可以在點云和紋理兩種形式間快速切換[60]。但激光雷達和視覺傳感器數(shù)據(jù)的融合也會造成計算復雜度提升,提高了環(huán)境特征提取、數(shù)據(jù)融合以及系統(tǒng)實時性方面的難度。
SLAM主要應用的領域非常廣泛,包括移動機器人的自主定位與導航、AR、無人機等等,但受激光雷達規(guī)格影響,在小型四旋翼以及AR領域激光視覺融合SLAM應用較少[61-62],主要以相機與慣性導航單元、相機與紅外[63]等多傳感器為主,激光視覺融合SLAM主要應用領域包括:
SLAM的主要應用領域就是移動機器人的自主運動、導航和定位,應用的環(huán)境場景包括結(jié)構(gòu)化的室內(nèi)環(huán)境和非結(jié)構(gòu)化的室外場景等。比如掃地機器人、物流倉儲機器人等室內(nèi)服務機器人的導航以及路徑規(guī)劃[57],運動跟蹤[44],變電站巡檢等領域。
無人駕駛作為未來汽車工業(yè)的發(fā)展方向,其最基本、最重要的功能便是在未知環(huán)境下實現(xiàn)同步定位與建圖,利用激光雷達傳感器獲取點云數(shù)據(jù),并構(gòu)建地圖,規(guī)避路程中遇到的障礙物,實現(xiàn)路徑規(guī)劃,檢測道路邊界等,利用視覺檢測車道線,并與可通行區(qū)域結(jié)果進行融合,得到車輛的行駛路徑[64]。
基于SLAM技術可以利用激光雷達和視覺傳感器進行三維模型重建和地圖構(gòu)建,這些三維模型及地圖在測繪領域有著廣泛的應用,尤其是精準的三維模型數(shù)據(jù)和高精度地圖。因此,激光和視覺融合SLAM還可以應用到三維場景重建[65]、遺跡數(shù)字化保存[66]、測繪等相關領域。
隨著深度學習在計算機視覺領域的快速發(fā)展,研究者對深度學習在機器人領域的應用有很大的興趣。激光和視覺融合SLAM中的特征匹配、閉環(huán)檢測等模塊都可以通過深度學習來獲得更優(yōu)的結(jié)果[67]。
Hou[68]等采用caffe深度學習框架下的AlexNet模型進行環(huán)境特征提取,在光照變化明顯的環(huán)境下,采用深度學習的特征描述魯棒性能明顯優(yōu)于傳統(tǒng)特征,并且特征提取的速度更快。Sunderhauf[69]等利用CNNs模型提取圖像區(qū)域特征描述子,并且證明局部區(qū)域描述比全局圖像描述更能有效地應對圖像的視角改變問題,因此提出了一種對于圖像視角和外觀變化有較強魯棒性的場景識別方法,能夠有效地完成閉環(huán)檢測。Bai[70]等利用CNNs特征實現(xiàn)回環(huán)檢測,并且通過設置匹配范圍有效避免了閉環(huán)場景誤匹配,通過特征壓縮方法保證了深度學習框架下SLAM的實時性。
多機器人系統(tǒng)在執(zhí)行任務效率、靈活性、容錯性、魯棒性、可重構(gòu)性、分散性和硬件成本等方面比單機器人系統(tǒng)更具優(yōu)勢。在大型、復雜、危險和人類難以到達的未知環(huán)境中執(zhí)行災難救援、資源勘探和空間探測等特殊任務時,多機器人SLAM能夠極大地提高效率,有效解決大尺度環(huán)境的SLAM問題[71]。
Deutsch[72]等人提出了多機器人協(xié)作實時SLAM的框架,該框架將各個機器人的局部地圖合并為一個全局地圖,然后將全局地圖返回給各個機器人,提高機器人建圖和定位的效率和精度。針對于多機器人SLAM中各機器人初始位置未知的情況,Bresson[73]等提出了分布式的多機器人SLAM算法框架,而且該框架可以適應于任意SLAM算法。Choudhary[74]等提出了基于目標的多機器人SLAM方法,該方法能夠有效地降低數(shù)據(jù)存儲和通信負擔,適應于通信帶寬受限的場景。
近年來,SLAM的研究有了較快的發(fā)展,但是在實際應用中仍然有很多的問題。利用激光和視覺傳感器融合的SLAM能夠有效地解決部分問題,為了更好的促進SLAM的實際應用,還可以與慣性傳感器(IMU)、GPS、超聲、紅外等多種傳感器融合,使得系統(tǒng)性能更加穩(wěn)定。當然,多傳感器融合必然帶來計算復雜度的增加,為了能夠滿足實際應用中實時性的要求,仍然需要進行算法的改進,提高系統(tǒng)的運算速度。