歐陽仕晗,劉振宇,趙怡巍,秦圣然,劉 瀟
(1.沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院, 沈陽110870;2.中國華能集團(tuán)燃料有限公司營(yíng)口分公司,營(yíng)口115007;3.東北大學(xué)機(jī)器人科學(xué)與工程學(xué)院,沈陽110016)
移動(dòng)機(jī)器人(Mobile Robot)相對(duì)于固定工作的臂式機(jī)器人具有更大的工作范圍,是當(dāng)今機(jī)器人研究的熱點(diǎn)。同時(shí)定位與地圖構(gòu)建(Simultaneous Localization and Mapping, SLAM)技術(shù)是移動(dòng)機(jī)器人實(shí)現(xiàn)自主移動(dòng)與定位的關(guān)鍵,得到廣泛的研究與應(yīng)用[1]。與視覺傳感器相比,激光雷達(dá)可提供更加穩(wěn)定和準(zhǔn)確的信息,不受外部干擾,因此能夠?yàn)镾LAM 提供一個(gè)更為可靠的解決方案。在過去20 年里基于激光雷達(dá)的SLAM 一直是移動(dòng)機(jī)器人導(dǎo)航研究的基礎(chǔ)。隨著現(xiàn)代激光SLAM 技術(shù)的發(fā)展,三維激光SLAM成為目前最先進(jìn)的移動(dòng)機(jī)器人SLAM 技術(shù)之一。主流的三維激光SLAM 算法有:基于關(guān)鍵點(diǎn)的LOAM及其改進(jìn)算法LeGO_LOAM 和A_LOAM、LIO;基于數(shù)據(jù)驅(qū)動(dòng)的SegMatch 及改其改進(jìn)算法SegMap;基于掃描點(diǎn)的BLAM、IMLS-SLAM、ICP-LO;基于圖優(yōu)化的Karto SLAM 和Cartographer 等[2]。張吉等人提出一個(gè)低漂移實(shí)時(shí)激光雷達(dá)測(cè)距建圖算法[3-4](Lidar Odometry and Mapping,LOAM),在公開數(shù)據(jù)集KITTI(Karlsruhe Institute of Technology and Toyota Technological Institute)里程計(jì)數(shù)據(jù)集上僅使用激光雷達(dá)來估計(jì)移動(dòng)機(jī)器人位姿的精度最高的算法[5],但LOAM沒有閉環(huán)檢測(cè)功能,導(dǎo)致了漂移誤差會(huì)隨時(shí)間增加。鐵小山等人提出一種輕量級(jí)和地面優(yōu)化的激光雷達(dá)測(cè)距和建圖算法[6](Lightweight and Ground-Optimized Lidar Odometry and Mapping,LeGO_LOAM),相比于LOAM,在減少計(jì)算量的情況下實(shí)現(xiàn)了相似或更好的精度及建圖工作,其在線執(zhí)行閉環(huán)檢測(cè)的能力使其成為長(zhǎng)時(shí)間導(dǎo)航任務(wù)的有用工具,但它的閉環(huán)檢測(cè)有時(shí)會(huì)出現(xiàn)錯(cuò)誤或識(shí)別遺漏。秦通等人提出了LOAM的高級(jí)實(shí)現(xiàn)(Advanced implementation of LOAM, A_LOAM),用Eigen 和Ceres Solver 來簡(jiǎn)化代碼結(jié)構(gòu)[7],相比于LOAM,代碼更為簡(jiǎn)潔,無需復(fù)雜的數(shù)學(xué)推導(dǎo)和冗余操作。R. Dubé 等人提出了在三維點(diǎn)云中基于分割匹配的位置識(shí)別算法[8](Segment based loopclosure for 3D pointclouds, SegMatch),它可以用在室內(nèi)和室外環(huán)境,然而算法依賴于初始位姿,沒有全球定位系統(tǒng)傳感器就無法工作。隨后R.Dubé 等人又提出了SegMatch 的改進(jìn)算法:使用數(shù)據(jù)驅(qū)動(dòng)描述子進(jìn)行3D 片段建圖算法[9](3D Segment Mapping using Data-Driven Descriptors, SegMap),該算法引入一種新穎的數(shù)據(jù)驅(qū)動(dòng)的片段描述符,提取的語義信息可以提高對(duì)環(huán)境變化的魯棒性,但基于分割匹配的三維激光SLAM 算法SegMatch 及其改進(jìn)算法SegMap產(chǎn)生的漂移隨著時(shí)間推移累計(jì)成顯著漂移。Google在ICRA 會(huì)議上公布了Cartographer 開源項(xiàng)目[10],在工程實(shí)現(xiàn)上構(gòu)建了一套完整的室內(nèi)雷達(dá)SLAM 系統(tǒng)而非簡(jiǎn)單的算法,其技術(shù)框架完整,建圖效率很高。文獻(xiàn)[11]提出了一種新的基于三維激光雷達(dá)數(shù)據(jù)的SLAM 系統(tǒng),使用隱式移動(dòng)最小二乘(IMLS)表面來表示模型,提高了系統(tǒng)魯棒性。Behley 和Stachniss提出了一種基于面元的運(yùn)動(dòng)估計(jì)建圖方法SuMa[12],該方法允許表示大規(guī)模環(huán)境并且維護(hù)點(diǎn)云的詳細(xì)幾何信息,但是稀疏點(diǎn)云對(duì)其是一個(gè)挑戰(zhàn)。廖瑞杰等人提出了以邊匹配為主要依據(jù)的基于K-公共子圖判定的室外場(chǎng)景三維點(diǎn)云閉環(huán)檢測(cè)算法并命名為SegGraph[13],采用公開數(shù)據(jù)集KITTI 進(jìn)行評(píng)估,實(shí)驗(yàn)結(jié)果顯示該算法具有良好的準(zhǔn)確度和運(yùn)行效率。除了上述幾種傳統(tǒng)SLAM 方法外,研究人員們還研究了使用深度學(xué)習(xí)的里程估算方法[14-15],但尚未達(dá)到同等水平。
針對(duì)上述研究現(xiàn)狀及存在的問題,鑒于LOAM及其改進(jìn)算法LeGO_LOAM 和A_LOAM 是非常低漂移、實(shí)時(shí)的激光雷達(dá)測(cè)距方法,以下詳細(xì)討論分析新松大尺度室外環(huán)境和公開數(shù)據(jù)集KITTI 下這三種算法的工作原理和相對(duì)位姿估計(jì)誤差。
LOAM 是一種使用3D 激光雷達(dá)進(jìn)行狀態(tài)估計(jì)和建圖的實(shí)時(shí)、低漂移的激光雷達(dá)測(cè)距方法。其關(guān)鍵思想是將復(fù)雜的SLAM 問題劃分為高頻的運(yùn)動(dòng)估計(jì)和低頻的環(huán)境建圖,利用測(cè)程算法和建圖算法的協(xié)作尋求同時(shí)優(yōu)化大量變量,實(shí)現(xiàn)實(shí)時(shí)精確的運(yùn)動(dòng)估計(jì)和建圖。其中測(cè)程算法以高頻率但低保真度(低精度)進(jìn)行里程測(cè)量以估計(jì)激光雷達(dá)的速度,消除了激光雷達(dá)運(yùn)動(dòng)引起的點(diǎn)云失真,通過保證快速計(jì)算來找到特征點(diǎn)的對(duì)應(yīng)關(guān)系。建圖算法利用未失真的點(diǎn)云以低一個(gè)數(shù)量級(jí)的頻率但高保真度(高精度)運(yùn)行用于點(diǎn)云的精確匹配和配準(zhǔn)。將兩個(gè)估計(jì)融合在一起即可產(chǎn)生高頻率和高精度的單個(gè)運(yùn)動(dòng)估計(jì)。一方面,兩種算法的組合允許實(shí)現(xiàn)實(shí)時(shí)建圖,并行算法結(jié)構(gòu)保證了實(shí)時(shí)求解問題的可行性,能夠?qū)崿F(xiàn)低漂移和低計(jì)算復(fù)雜度且無需高精度測(cè)距或慣性測(cè)量;另一方面,算法的基于特征的激光掃描數(shù)據(jù)匹配方法對(duì)邊緣/平面執(zhí)行點(diǎn)-特征掃描匹配,以此找到掃描之間的對(duì)應(yīng)關(guān)系。相比于基于散點(diǎn)的傳統(tǒng)方法,此法定位精度更高,易于擴(kuò)展到大場(chǎng)景。LOAM 主要有四個(gè)模塊組成:掃描匹配、激光雷達(dá)測(cè)程算法、激光雷達(dá)建圖算法和變換融合。其軟件系統(tǒng)如圖1 所示。
圖1 LOAM 軟件系統(tǒng)結(jié)構(gòu)圖
首先令P?為激光雷達(dá)一次掃描接收到的點(diǎn),每次掃描期間,P?在激光雷達(dá)坐標(biāo)系中配準(zhǔn),在掃描K期間,配準(zhǔn)后的點(diǎn)云形成PK。用兩種算法處理PK。激光雷達(dá)測(cè)程算法獲取點(diǎn)云并計(jì)算兩次連續(xù)掃描之間的激光雷達(dá)運(yùn)動(dòng)。估計(jì)的運(yùn)動(dòng)用于校正PK的失真。該算法以大約10Hz 的頻率運(yùn)行。輸出通過激光雷達(dá)建圖算法進(jìn)一步處理,算法以1Hz 的頻率將未失真的點(diǎn)云配準(zhǔn)到地圖上。最后將兩種算法發(fā)布的位姿變換集成在一起,以產(chǎn)生相對(duì)于地圖上的激光雷達(dá)位姿大約10Hz 的變換輸出。
LeGO_LOAM 是一種輕量級(jí)和地面優(yōu)化的激光雷達(dá)測(cè)距和建圖方法,適用于具有可變地形的復(fù)雜環(huán)境,對(duì)移動(dòng)機(jī)器人進(jìn)行位姿估計(jì),并實(shí)時(shí)估計(jì)地面車輛的六自由度位姿。與原始廣義的LOAM 框架相比,LeGO_LOAM 旨在提高地面車輛的效率和準(zhǔn)確性。算法主要由五個(gè)模塊組成:分割、特征提取、激光雷達(dá)測(cè)距算法、激光雷達(dá)建圖算法和變換融合。其軟件系統(tǒng)和激光雷達(dá)測(cè)程算法框架分別如圖2 和圖3 所示。
圖2 LeGO_LOAM 軟件系統(tǒng)結(jié)構(gòu)圖
圖3 LeGO_LOAM 激光雷達(dá)測(cè)距模塊兩步優(yōu)化
首先在分割模塊中采用一次掃描的點(diǎn)云,并將其投影到深度圖像上進(jìn)行分割,利用點(diǎn)云分割濾除噪聲。然后將分割的點(diǎn)云發(fā)送到特征提取模塊進(jìn)行特征提取,以獲得獨(dú)特的平面和邊緣特征,丟棄在地面分離之后可能表示不可靠特征的無價(jià)值點(diǎn)。接著在激光雷達(dá)測(cè)程模塊中使用從特征提取模塊中提取的特征來找到在連續(xù)連續(xù)掃描過程中機(jī)器人位置的相關(guān)轉(zhuǎn)換,采用兩步Levenberg-Marquardt 優(yōu)化方法分別計(jì)算位姿變換的不同分量來估計(jì)位姿,使用平面和邊緣特征來解決連續(xù)掃描中六自由度變換的不同分量。從地面提取的平面特征用于在第一步中獲得[tz,θroll,θpitch],從地面特征中確認(rèn)機(jī)器人當(dāng)前位姿z、roll 和pitch。在第二步中通過匹配從分割的點(diǎn)云提取的邊緣特征來獲得變換的其余部分[tx,ty,θyaw],在每一幀點(diǎn)云數(shù)據(jù)匹配的過程中得到機(jī)器人位姿x、y 和yaw。之后這些特征在激光雷達(dá)建圖模塊中進(jìn)一步處理,配準(zhǔn)到全局點(diǎn)云圖,用于激光雷達(dá)的點(diǎn)云建圖。最后的變換集成模塊融合激光雷達(dá)測(cè)程算法和激光雷達(dá)建圖算法的位姿估計(jì)結(jié)果并輸出最終位姿估計(jì)。LeGO_LOAM 依賴于PCL、OpenCV、GTSAM 三個(gè)庫。其中,GTSAM 是一個(gè)在機(jī)器人領(lǐng)域和計(jì)算機(jī)視覺領(lǐng)域用于平滑和建圖的C++庫[16],它與g2o 不同,后者采用稀疏矩陣的方式求解一個(gè)非線性優(yōu)化問題[17],而GTSAM 則是采用因子圖(factor graphs)優(yōu)化方法和基于貝葉斯樹的iSAM2方法的方式最大化后驗(yàn)概率。
A_LOAM 是LOAM 的高級(jí)實(shí)現(xiàn),其原理類似于LOAM,使用Eigen 和Ceres Solver 來簡(jiǎn)化代碼結(jié)構(gòu)。相比于LOAM,該算法的可讀性更高、非常適合學(xué)習(xí)、無需復(fù)雜的數(shù)學(xué)推導(dǎo)和冗余操作。尤其是雅各比的部分,LOAM 對(duì)其的推導(dǎo)方法為了解析地求出雅各比的表達(dá)式使用了一些小技巧來統(tǒng)一不同特征點(diǎn)的殘差函數(shù)導(dǎo)數(shù)表達(dá),較難理解;而A_LOAM 直接使用Google 開發(fā)的在C++環(huán)境下的非線性最小二乘問題的自動(dòng)求導(dǎo)工具包Cere Solver[7]72,節(jié)省開發(fā)的時(shí)間,得到準(zhǔn)確的解。整個(gè)SLAM 最復(fù)雜的運(yùn)算不需要推導(dǎo)。
為驗(yàn)證算法的可行性、可靠性、有效性、準(zhǔn)確性和優(yōu)劣性,已在環(huán)境復(fù)雜度和路徑長(zhǎng)度依次增長(zhǎng)的新松智慧產(chǎn)業(yè)園三期C5 廠區(qū)外圍及停車場(chǎng)、公開數(shù)據(jù)集KITTI 的五個(gè)大尺度室外場(chǎng)景中進(jìn)行了LOAM及其改進(jìn)算法LeGO_LOAM 和A_LOAM 的相對(duì)位姿估計(jì)誤差實(shí)驗(yàn)。實(shí)驗(yàn)選擇一點(diǎn)作為移動(dòng)機(jī)器人的行駛起點(diǎn),同時(shí)也將該點(diǎn)設(shè)為移動(dòng)機(jī)器人的行駛終點(diǎn),即移動(dòng)機(jī)器人路徑為一個(gè)閉環(huán)。行駛路線為從起點(diǎn)開始,行駛一段距離,分別圍繞C5 廠區(qū)外圍一周和停車場(chǎng),最終駛回初始位置。實(shí)驗(yàn)環(huán)境中既有結(jié)構(gòu)化場(chǎng)景又有非結(jié)構(gòu)化場(chǎng)景;移動(dòng)機(jī)器人行駛路面整體較為平坦,但也有局部的起伏;行駛距離分別約為300m、650m、960m、2200m 和3700m,實(shí)驗(yàn)環(huán)境的規(guī)模與復(fù)雜程度符合預(yù)定要求。如圖4 所示,即為從新松智慧產(chǎn)業(yè)園三期C5 廠區(qū)外圍和停車場(chǎng)中拍攝的實(shí)驗(yàn)場(chǎng)地照片。
圖4 新松C5 廠區(qū)室外場(chǎng)景
如圖5 所示為所搭建的硬件實(shí)驗(yàn)驗(yàn)證平臺(tái)——新松室外移動(dòng)機(jī)器人平臺(tái)。它的中層配備了1.8GHz四核處理器的小米筆記本電腦,接收各種信息進(jìn)行處理的工作。上層是三維激光傳感器Velodyne VLP-16,是系統(tǒng)的傳感單元。慣性導(dǎo)航使用A0010。底層是移動(dòng)機(jī)器人BlueCar,它是整個(gè)系統(tǒng)的執(zhí)行單元,最高移動(dòng)速度為1m/s。
圖5 實(shí)驗(yàn)硬件平臺(tái)
選取Velodyne 公司生產(chǎn)的型號(hào)為Velodyne VLP-16 的激光傳感器,如圖6 所示。該型號(hào)保留了電機(jī)轉(zhuǎn)速可調(diào)節(jié)功能,能夠?qū)崟r(shí)上傳周圍距離和反射率的測(cè)量值,具有100 米的遠(yuǎn)量程測(cè)量距離。Velodyne VLP-16 的外觀設(shè)計(jì)十分精巧,重量只有830g,非常便于安裝,尤其適于小型無人機(jī)和小型移動(dòng)機(jī)器人,對(duì)移動(dòng)機(jī)器人的大眾市場(chǎng)需求來說有重大的意義。Velodyne VLP-16 具有每秒高達(dá)30 萬點(diǎn)數(shù)據(jù)輸出、±15°的垂直視場(chǎng)和360°的水平視場(chǎng)掃描,支持兩次回波接收,可以測(cè)量第一次回波和最后一次回波的距離值和反射強(qiáng)度值,能夠掃描探測(cè)出16 個(gè)層面的環(huán)境信息,而成本較之于64 級(jí)的下降了10 倍,因此多應(yīng)用在汽車、建圖測(cè)量、無人機(jī)、機(jī)器人導(dǎo)航避障、環(huán)境三維建模、自動(dòng)化等行業(yè)。
圖6 Velodyne VLP-16 激光傳感器實(shí)物圖
導(dǎo)航系統(tǒng)通過USB 接口將激光獲得到的距離數(shù)據(jù)傳輸給筆記本電腦,用于精確的地圖構(gòu)建。此處選取基于MEMS(微機(jī)電系統(tǒng))慣性傳感元件的超小型、高精度慣性測(cè)算系統(tǒng)A0010 陀螺轉(zhuǎn)角儀,如圖7所示。該系統(tǒng)可在任意時(shí)刻、任意運(yùn)動(dòng)狀態(tài)下精確輸出載體的航向角以及其它輔助傳感信號(hào)(加速度、溫度等)。由于系統(tǒng)采用了可借助先進(jìn)MEMS 技術(shù)進(jìn)行標(biāo)準(zhǔn)化、可批量化大規(guī)模生產(chǎn)的元器件,大幅度降低了產(chǎn)品成本。該模塊可被廣泛應(yīng)用于AGV 小車、航空、航天、航海、無人機(jī)、機(jī)器人、工業(yè)設(shè)備監(jiān)控、汽車電子等場(chǎng)合。
圖7 高性能陀螺傳感器A0010
選取Ubuntu 16.04 操作系統(tǒng)下Kinetic 版本的ROS 作為軟件平臺(tái)。ROS 的眾多優(yōu)點(diǎn),如點(diǎn)對(duì)點(diǎn)設(shè)計(jì)、支持多種編程語言、代碼復(fù)用及免費(fèi)與開源等,使其成為機(jī)器人研究的熱點(diǎn)。導(dǎo)航系統(tǒng)的調(diào)試及界面顯示使用ROS 中的可視化工具Rviz,可在其中構(gòu)建移動(dòng)機(jī)器人模型和環(huán)境地圖,同時(shí)實(shí)時(shí)查看機(jī)器人從初始點(diǎn)到設(shè)定目標(biāo)點(diǎn)之間執(zhí)行導(dǎo)航任務(wù)的過程??衫肦OS 中的tf 坐標(biāo)轉(zhuǎn)換功能包完成激光傳感器和移動(dòng)機(jī)器人坐標(biāo)的自動(dòng)轉(zhuǎn)換。
在此采用的數(shù)據(jù)集測(cè)試平臺(tái)是公開數(shù)據(jù)集KITTI。KITTI 由德國卡爾斯魯厄理工學(xué)院和豐田美國技術(shù)研究院聯(lián)合創(chuàng)辦,是目前國際上最大的自動(dòng)駕駛場(chǎng)景下的計(jì)算機(jī)視覺算法評(píng)測(cè)數(shù)據(jù)集。該數(shù)據(jù)集用于評(píng)測(cè)立體圖像、光流、視覺測(cè)距、3D 物體檢測(cè)和3D 跟蹤等計(jì)算機(jī)視覺技術(shù)在車載環(huán)境下的性能。該數(shù)據(jù)集主要涵蓋三種類型的環(huán)境:周圍有建筑物的“城市”,在場(chǎng)景中有植被的“鄉(xiāng)村小路”,以及道路寬闊、周圍環(huán)境相對(duì)干凈的“公路”。KITTI 包含這些場(chǎng)景下采集的真實(shí)圖像數(shù)據(jù),每張圖像中最多達(dá)15 輛車和30 個(gè)行人,還有各種程度的遮擋與截?cái)?。整個(gè)數(shù)據(jù)集由389 對(duì)立體圖像和光流圖、39.2km 視覺測(cè)距序列以及超過200k3D 標(biāo)注物體的圖像組成,以10Hz 的頻率采樣及同步。
如圖8 所示,公開數(shù)據(jù)集KITTI 采集平臺(tái)包括一個(gè)Velodyne 3D 激光雷達(dá)、兩個(gè)彩色立體攝像機(jī)、兩個(gè)灰度立體攝像機(jī)、四個(gè)光學(xué)鏡頭以及一個(gè)高精度GPS 導(dǎo)航系統(tǒng)。激光雷達(dá)數(shù)據(jù)以10Hz 的頻率記錄。圖9 給出了兩個(gè)來自城市住宅區(qū)環(huán)境的相應(yīng)視覺圖像。
圖8 公開數(shù)據(jù)集KITTI 的數(shù)據(jù)采集平臺(tái)
圖9 序列的視覺圖像
為驗(yàn)證地圖的全局一致性,在此進(jìn)行多次實(shí)驗(yàn),將每個(gè)實(shí)驗(yàn)的初始位姿設(shè)置為[0,0,0,0]作為真值,在LOAM、LeGO_LOAM 和A_LOAM 算法中將移動(dòng)機(jī)器人返回起始位置時(shí)計(jì)算的最終位姿數(shù)據(jù)取多次實(shí)驗(yàn)的平均值并導(dǎo)出,與真值進(jìn)行對(duì)比,從而比較相對(duì)位姿估計(jì)誤差,如表1 所示。從表中可見,對(duì)于前四個(gè)場(chǎng)景,有IMU 輔助的新松“C5”大樓周圍的道路及停車場(chǎng)和序列05 的一致性較好。在五個(gè)場(chǎng)景中,LeGO_LOAM 和A_LOAM 的誤差都相對(duì)較小。對(duì)于前三個(gè)場(chǎng)景,有IMU 輔助的新松“C5”大樓周圍道路及停車場(chǎng)中,LeGO_LOAM 和A_LOAM 的誤差在1m以內(nèi)。在新松“C5”大樓周圍的道路中,LeGO_LOAM的位姿估計(jì)精度,相對(duì)于LOAM,在平移和旋轉(zhuǎn)上分別提高了91.67%和26.13%;A_LOAM 的位姿估計(jì)精度在平移和旋轉(zhuǎn)上分別提高了83.33%和70.13%;在新松“C5”大樓周圍道路及小范圍停車場(chǎng)中,LeGO_LOAM 的位姿估計(jì)精度在平移和旋轉(zhuǎn)上分別提高了95.15%和24.97%;A_LOAM 的位姿估計(jì)精度在平移和旋轉(zhuǎn)上分別提高了86.94%和53.94%;在新松“C5”大樓周圍道路及大范圍停車場(chǎng)中,LeGO_LOAM 的位姿估計(jì)精度在平移和旋轉(zhuǎn)上分別提高了91.79%和81.11%;A_LOAM 的位姿估計(jì)精度在平移和旋轉(zhuǎn)上分別提高了91.79%和83.54%;在序列05 中,LeGO_LOAM 的位姿估計(jì)精度在平移和旋轉(zhuǎn)上分別提高了18.32%和96.06%,A_LOAM 的位姿估計(jì)精度在平移和旋轉(zhuǎn)上分別提高了24.50%和97.09%;在序列00 中,LeGO_LOAM的位姿估計(jì)精度在平移和旋轉(zhuǎn)上分別提高了92.70%和92.03%。A_LOAM 的位姿估計(jì)精度在平移和旋轉(zhuǎn)上分別提高了92.41%和80.83%。
表1 移動(dòng)機(jī)器人返回起始位置時(shí)的相對(duì)位姿估計(jì)誤差
結(jié)果表明,由于LeGO_LOAM 具有閉環(huán)檢測(cè)功能且A_LOAM 的算法復(fù)雜度較低,因此與LOAM 相比,LeGO_LOAM 和A_LOAM 可以達(dá)到更小的相對(duì)位姿估計(jì)誤差。
雖然三維激光SLAM 已得到深入的研究,但在以下兩方面還存在問題:
1)LOAM 及其改進(jìn)算法A_LOAM 無法實(shí)現(xiàn)閉環(huán)。由于LOAM 及其改進(jìn)算法A_LOAM 是一個(gè)非常完整的系統(tǒng),所以在LOAM 及其改進(jìn)算法A_LOAM中集成閉環(huán)并不是一種簡(jiǎn)單易行的方法。未來要做的工作主要涉及通過閉環(huán)修復(fù)LOAM 及其改進(jìn)算法A_LOAM 的運(yùn)動(dòng)估計(jì)漂移。
2)僅使用視覺傳感器或激光傳感器在SLAM應(yīng)用中都有局限性和缺點(diǎn)。一方面,視覺測(cè)距方法中的視覺傳感器,例如深度相機(jī),需要為每個(gè)圖像計(jì)算ORB 特性,這需要很長(zhǎng)時(shí)間,在特征點(diǎn)稀少處無法正確定位,且需要適度的照明條件,如果不能充分獲得不同的視覺特征則會(huì)失敗。在極端情況下,特征點(diǎn)提取和匹配算法由于外部光線的干擾而無法追蹤特征點(diǎn)。另一方面,由于激光雷達(dá)在連續(xù)運(yùn)動(dòng)期間的不同時(shí)間接收距離測(cè)量導(dǎo)致通過移動(dòng)激光雷達(dá)的運(yùn)動(dòng)估計(jì)涉及點(diǎn)云中的運(yùn)動(dòng)失真,因此運(yùn)動(dòng)通常必須用大量變量來解決。在諸如由平面區(qū)域支配的退化場(chǎng)景中,掃描匹配也難以奏效。
基于激光和視覺傳感器融合的SLAM 方法能夠有效利用各個(gè)傳感器的優(yōu)勢(shì),彌補(bǔ)傳感器在某些特殊環(huán)境下的劣勢(shì),成為當(dāng)前研究的熱點(diǎn)之一。還有待做出更多的研究工作,進(jìn)一步實(shí)現(xiàn)將視覺傳感器與激光傳感器融合并,研究融合算法,使之提高導(dǎo)航的精度和魯棒性。
鑒于上述問題的存在,今后的研究應(yīng)主要應(yīng)在以下方面實(shí)現(xiàn)突破:
1、LOAM 及其改進(jìn)算法A_LOAM 的閉環(huán)檢測(cè)方面。具體思路有兩個(gè):第一,使用FPGA 代替ROS功能包從激光雷達(dá)波束中心提取點(diǎn)的傳感器中提取信號(hào),并將其與ANN(人工神經(jīng)網(wǎng)絡(luò))與GA(遺傳算法)相結(jié)合,以更好地更新當(dāng)前狀態(tài);第二,鑒于LOAM 及其改進(jìn)算法A_LOAM 的映射是提高SLAM性能的關(guān)鍵,應(yīng)在LOAM 及其改進(jìn)算法A_LOAM 的低頻高精度的環(huán)境建圖模塊中修改相關(guān)參數(shù)。
2、傳感器融合方面,借鑒例如張吉等人提出的V_LOAM 方案[18]。針對(duì)傳感器數(shù)據(jù)融合這一關(guān)鍵問題,采用如估計(jì)理論數(shù)據(jù)融合、分類數(shù)據(jù)融合、推理數(shù)據(jù)融合、人工智能數(shù)據(jù)融合等方法,根據(jù)所處環(huán)境合理地選擇單個(gè)傳感器或傳感器融合數(shù)據(jù)作為關(guān)鍵幀構(gòu)建地圖[19],這種根據(jù)環(huán)境狀況合理選擇傳感器數(shù)據(jù)的方式能夠降低數(shù)據(jù)融合的計(jì)算復(fù)雜度并且更好地適應(yīng)于復(fù)雜的動(dòng)態(tài)環(huán)境。
除此之外,在后續(xù)研究中,還將研究原始點(diǎn)云的濾波方法,以快速去除動(dòng)態(tài)物體并提高抗干擾能力;同時(shí),將應(yīng)用范圍擴(kuò)大到地下車庫場(chǎng)景,以解決無人駕駛車輛的自動(dòng)停車問題。
對(duì)三維激光SLAM 技術(shù)進(jìn)行了探討總結(jié),從激光雷達(dá)測(cè)距與建圖算法LOAM 及其改進(jìn)算法LeGO_LOAM 和A_LOAM 的關(guān)鍵組成模塊及其具體作用進(jìn)行了深入和充分的回顧與歸納。鑒于LOAM 及其改進(jìn)算法LeGO_LOAM 和A_LOAM 的低漂移、強(qiáng)實(shí)時(shí)的特性,以新松智慧產(chǎn)業(yè)園三期C5廠區(qū)外圍及停車場(chǎng)為實(shí)例,詳細(xì)討論分析了大尺度室外環(huán)境,以及公開數(shù)據(jù)集KITTI 下的LOAM 及其改進(jìn)算法LeGO_LOAM 和A_LOAM 的相對(duì)位姿估計(jì)誤差。實(shí)驗(yàn)結(jié)果表明,相對(duì)于LOAM,LeGO_LOAM和A_LOAM 可以達(dá)到更小的相對(duì)位姿估計(jì)誤差。對(duì)于當(dāng)前存在的問題及難點(diǎn),也提出了詳細(xì)合理的研究思路及展望。