晉峰高 劉猛 谷月
摘 要 隨著科技不斷進步,網(wǎng)絡(luò)的迅速發(fā)展,以往不被重視的機器人也慢慢地走進了大家的視野中,在各行各業(yè)有越來越多的分量。由于在室內(nèi)或者一些信號不好的場地中,機器人的移動會受到地圖信息的不準(zhǔn)確的限制,從而大大降低了機器人的可利用價值。因此,當(dāng)前的主流問題是解決移動機器人在室內(nèi)自主定位與地圖構(gòu)建的問題,相對較好的技術(shù)就是激光雷達SLAM技術(shù)。本文對SLAM技術(shù)進行分析總結(jié)。
關(guān)鍵詞 移動機器人;即時定位與地圖構(gòu)建;SLAM
引言
激光雷達即時定位與地圖構(gòu)建技術(shù)既是激光雷達SLAM技術(shù)。SLAM技術(shù)最初是由HughDurrant—Whyte和John J.Leonard提出,其目的是為了解決移動機器人在未知環(huán)境中運行時導(dǎo)航與地圖構(gòu)建的問題。其實從未知的位置和未知的環(huán)境中開始,機器人在移動過程中通過反復(fù)觀察環(huán)境的特征來定位自己的位姿,然后根據(jù)自己的位置構(gòu)建周圍環(huán)境的增量式地圖,以便達到同時定位和地圖構(gòu)建。定位是近幾年來的熱點和難點。定位技術(shù)取決于環(huán)境和對成本、精度、頻率和魯棒性的要求。SLAM配備激光雷達、攝像頭、IMU和其他傳感器在最近幾年比較興起。而激光雷達主要分為基于圖優(yōu)化的Graph-based SLAM算法和基于粒子濾波的SLAM(GMapping)算法[1]。
1基于濾波和圖優(yōu)化的SLAM
SLAM問題的處理方法主要分為濾波和圖優(yōu)化兩類。濾波的方法中常見的就是擴展卡爾曼濾波(EKF-SLAM)、FastSLAM,粒子濾波、信息濾波等。EKF-SLAM提出較早,因為定位是為了導(dǎo)航,所以要求必須是柵格地圖,而EKF-SLAM是特征地圖;然而FastSLAM是較早的真正意義上可以實現(xiàn)SLAM的算法,可以實現(xiàn)較大的柵格地圖。Gampping是柵格地圖版本的FastSLAM,并且加入了Scan-matching模塊來優(yōu)化。在應(yīng)用最廣泛的2DSLAM算法中采用了粒子濾波方法,依賴?yán)锍逃?,可以達到實時構(gòu)建室內(nèi)地圖,在較小的場景下構(gòu)建的地圖精度高且計算量小[2]。
目前SLAM主流方法幾乎都是基于圖優(yōu)化的,為什么圖優(yōu)化這么受大家的青睞,這要歸功于各種各樣的傳感器。在圖優(yōu)化的方法中,處理數(shù)據(jù)的方式和濾波不同,它不會隨著時間推移出現(xiàn)地圖擴大,內(nèi)存消耗,計算量過大的問題。它不是實時的糾正位姿,而是把所有數(shù)據(jù)記錄下來,最后統(tǒng)一對數(shù)據(jù)進行處理。
KartOSLAM是基于圖優(yōu)化的方法,利用非線性最小二乘法,進行全局矯正。用高度優(yōu)化和非迭代Cholesky分解進行稀釋系統(tǒng)解耦。算法不完善,有出現(xiàn)實時建圖崩潰的可能。Cartographer是KartOSLAM的優(yōu)化版本。Cartographer的主要思想是GraphSALM。GraphSALM又被稱為Graph-based SLAM,它的基本思想是將機器人不同時刻的位姿抽象為點(pose),機器人在不同位姿上的觀測所產(chǎn)生的約束被抽象為點之間的邊,或者叫約束(constraint)[3]。
所謂的約束可以有多種多樣的形式,比如機器人在A點和B點都看到同一個物體,那么機器人在AB點觀測到消防栓的相對位置,就對機器人在A點和B點的位置產(chǎn)生了約束,進一步的,AB兩點之間也產(chǎn)生了約束。GraphSLAM就是在機器人運動的過程中構(gòu)建出若干點(pose)和邊(constraint)組成的圖(Graph),再從全圖的角度進行優(yōu)化。
在Graph-based SLAM算法中,機器人的位姿是一個節(jié)點(node)或頂點(vertex),位姿之間的關(guān)系構(gòu)成邊(edge)。具體而言,比如t+1時刻和t時刻之間的odometery關(guān)系構(gòu)成邊。一旦圖構(gòu)建完成了,就要調(diào)整機器人的位姿去盡量滿足這些邊構(gòu)成的約束。因此,圖優(yōu)化SLAM問題就能夠分解成兩個任務(wù):
(1)構(gòu)建圖,機器人位姿當(dāng)頂點,位姿間關(guān)系當(dāng)左邊,這部分被稱為前端(front-end),往往是傳感器信息的堆積。
(2)優(yōu)化圖,調(diào)整機器人位姿頂點盡量滿足邊的約束,這部分被稱為后端(back-end)。
從而可以把圖優(yōu)化過程總結(jié)為:先堆積數(shù)據(jù),以機器人位姿為構(gòu)建的頂點。邊是位姿之間的關(guān)系,可以是編碼器數(shù)據(jù)計算的位姿,也可以是通過ICP匹配計算出來的位姿,還可以是閉環(huán)檢測的位姿關(guān)系。這樣通過堆積的數(shù)據(jù)就可以把未優(yōu)化的圖構(gòu)建完成,然后再對構(gòu)建的圖就行優(yōu)化。
2結(jié)束語
對比之下,雖然Gmapping建圖時也相對精確,不需要太多的粒子,從而降低了計算量,且沒有回環(huán)檢測,但是遇到大場景地圖時,Gmapping就顯得不那么友好了。此時,Cartographer的作用就顯得相對突出,能滿足我們的需求。因此,圖優(yōu)化算法是目前最好的SLAM算法,有相當(dāng)好的發(fā)展前景。
參考文獻
[1] 孫學(xué)敏.未知室內(nèi)環(huán)境下移動機器人地圖創(chuàng)建方法的研究[D].長春:東北師范大學(xué)碩士論文,2012:6-15.
[2] 張洪華,劉漩,陳付豪,等.基于圖優(yōu)化的SLAM后端優(yōu)化研究與發(fā)展[J].計算機應(yīng)用研究,2019,36(1):11-17.
[3] 王忠立,趙杰,蔡鶴皋.大規(guī)模環(huán)境下基于圖優(yōu)化SLAM的圖構(gòu)建方法[J].哈爾濱工業(yè)大學(xué)學(xué)報,2015,47(1):75-85.
作者簡介
晉峰高,男,河南省周口市人;沈陽理工大學(xué)研究生在讀。