文/王威 滕紹光 鄭璐
在移動機器人系統(tǒng)中,要進行目標探測和定位,對于自身位姿的估計非常重要。傳統(tǒng)的里程計,如輪式里程計因為輪子打滑空轉(zhuǎn)而容易導(dǎo)致漂移;精確的激光傳感器價格昂貴;慣性傳感器雖然可以測量傳感器瞬時精確的角速度和線速度,但是隨著時間的推移,測量值有著明顯的漂移,使得計算得到的位姿信息不可靠等。而視覺里程計(Visual Odometry,VO)由于視覺傳感器低廉的成本和長距離較為精準的定位在眾多傳統(tǒng)里程計中脫穎而出。
世界頂級的視覺傳感器(工業(yè)相機)產(chǎn)品售價約為人民幣3000元,是同等級的激光雷達產(chǎn)品售價的10%~20%。而較低的制造成本意味著較低的產(chǎn)品價格,對提升企業(yè)產(chǎn)品競爭力或終端客戶投資回報周期都更加利好。
所謂視覺里程計,就是從一系列圖像流中恢復(fù)出相機的運動位姿,這一思想最早是由Moravec等人[1]提出的,他們首次提出了單獨利用視覺輸入的方法估計運動,并給出了一種最早期的角點檢測算法,將其應(yīng)用在行星探測車上,這體現(xiàn)了現(xiàn)階段視覺里程計的雛形,包括特征點檢測及匹配、外點排除、位姿估計三大塊,使得視覺里程計從提出問題階段過渡到了構(gòu)建算法階段。
Nister等[2]在CVPR上發(fā)表的論文中提出了一種利用單目或立體視覺相機來獲取圖像的視覺里程計系統(tǒng),宣告VO技術(shù)進入了優(yōu)化算法階段。隨著ORBSLAM[3]的問世,VO作為SLAM的前端成為了研究熱潮,也代表著主流基于特征點法VO的一個高峰。Engle等[4]提出的LSD-SLAM則成功地把直接法的視覺里程計應(yīng)用在了半稠密單目SLAM中。
近年來涌現(xiàn)了各類新穎視覺里程計系統(tǒng),例如VINS-Mono[5]是香港科技大學開源的一個視覺慣性里程計(Visual Inertial Odometry, VIO)算法,通過單目與IMU緊耦合恢復(fù)出尺度信息,效果較佳,已經(jīng)被成功應(yīng)用于小規(guī)模AR場景、中型無人機導(dǎo)航和大規(guī)模狀態(tài)估計任務(wù)中。
傳統(tǒng)的VO方法是基于模型的系統(tǒng),按照采用的傳感器類型可以分為單目(Monocular)、雙目(Stereo)和深度相機(RGB-D)三個大類,而按照對圖像的處理方法可以分為特征點法和直接法,此外還有新興的基于深度學習方法的VO。
只使用一個攝像頭的VO系統(tǒng)稱為單目VO系統(tǒng),單目相機有著結(jié)構(gòu)簡單、成本低的特點,受到眾多研究者的關(guān)注,常用的單目VO系統(tǒng)有PTAM[6]、SVO[7]、DSO[8]等。
雙目相機和深度相機可以測量物體與相機的距離,從而克服單目相機無法測量距離的缺點。有了距離,場景的三維結(jié)構(gòu)就可以通過圖像恢復(fù)出來,也消除了尺度的不確定性。雙目相機是由兩個單目相機組成的,常用的雙目VO系統(tǒng)有ORB-SLAM3[9]、RTAB-MAP[10]。深度相機主要利用紅外結(jié)構(gòu)光或者飛行時間差(Time-of-Flight, ToF)原理,通過物理測量手段獲取距離參數(shù),相比于雙目相機可節(jié)省計算資源,常用的基于深度的VO系統(tǒng)有DVO[11]、RGB-D-SLAM-V2[12]等,但是深度相機有著易受光照影響、無法測量投射材質(zhì)等不足,且主要用于室內(nèi)測量,目前仍難在室外廣泛應(yīng)用。
根據(jù)VO系統(tǒng)是否對圖像進行特征提取及匹配,可分為特征點法VO和直接法VO。
對于特征點法,在各幀圖像中盡可能找到相同位置的點,再基于這些點計算位姿。常用特征如SIFT[13]、SURF[14]、ORB[15]等,這些特征相對于早期的特征有著更穩(wěn)定更高效的優(yōu)勢,因而基于這些特征描述子衍生出了很多算法,如MonoSLAM[16]、PTAM[6]、ORB-SLAM3[9]等。楊冬冬[17]等人基于SIFT特征提出了一種基于局部和全局優(yōu)化的雙目VO,在滿足實時性的基礎(chǔ)上能夠提高精度。
對于直接法,只對圖像提取關(guān)鍵點,跳過描述子的計算,直接基于灰度不變等強假設(shè)根據(jù)像素灰度信息來計算相機的運動,因此可用于構(gòu)建稠密地圖。常用的基于直接法的VO系統(tǒng)有DTAM[18]、DSO[8]、DVO[11]等。
兩種方法的優(yōu)缺點對比如表1所示。
表1 直接法與特征點法優(yōu)缺點對比
為了更加直觀清晰地對比各個方法之間的區(qū)別與特性,表2列出了常用的基于傳統(tǒng)方法的VO系統(tǒng)。
表2 基于傳統(tǒng)方法的VO研究成果及其分類
近幾年來,深度學習的發(fā)展極大地促進了計算機視覺的相關(guān)科研工作。基于深度學習的VO系統(tǒng)在視覺相關(guān)任務(wù)的準確率、魯棒性,以及執(zhí)行效率方面相比于傳統(tǒng)方法都展現(xiàn)出了非凡的效果。不同于傳統(tǒng)的VO系統(tǒng)那樣通過嚴格的幾何理論方法實現(xiàn),基于深度學習的VO是通過尋找數(shù)據(jù)規(guī)律與目標任務(wù)之間的函數(shù)關(guān)系來完成同樣的工作。在基于深度學習的VO中,主要分為有監(jiān)督、無監(jiān)督和半監(jiān)督三種學習方法,其中具有代表性的VO方案有DeepVO[19]、GeoNet[20]、CNN-SLAM[21]等。
通過使用視覺技術(shù)在移動機器人上的應(yīng)用,拓展了移動機器人的應(yīng)用領(lǐng)域,增強了移動機器人的可靠性,推動了移動機器人產(chǎn)業(yè)的發(fā)展。
SLAM同步定位與地圖構(gòu)建技術(shù)(Simultaneous localization and mapping)可在未知的環(huán)境中實時定位移動機器人自身的位置,并同時構(gòu)建環(huán)境三維地圖。目前激光SLAM技術(shù)已發(fā)展較為成熟,視覺SLAM技術(shù)也在近幾年得到快速發(fā)展,由于視覺SLAM使用的視覺傳感器的成本較低,并且在某些場景下視覺SLAM是激光SLAM的有力補充,因此,視覺SLAM尤其是視覺里程計與激光SLAM相融合的技術(shù)是目前物流移動機器人導(dǎo)航技術(shù)的趨勢,在移動抓取機器人、AMR、巡檢機器人等移動機器人行業(yè)有著廣泛應(yīng)用。
下面將融合視覺里程計與激光SLAM技術(shù)的物流機器人的具體實現(xiàn)方式及應(yīng)用做一描述,我們使用實驗室的移動機器人平臺進行了相關(guān)算法的驗證,移動機器人平臺如圖1所示。
圖1 基于激光和視覺SLAM導(dǎo)航的移動機器人
驗證的方法及過程如下:首先說明視覺里程計的信息獲取方法,主要是通過雙目相機獲取環(huán)境的RGB彩色圖像,并利用SIFT關(guān)鍵點檢測的ORB算法對每一張連續(xù)圖像關(guān)鍵幀進行特征點檢測,為后續(xù)計算提供更精確的特征點,隨后使用對極幾何和三角化的方法計算得出特征點的三維坐標,并依此計算出相機的位姿變化,再根據(jù)相機與移動機器人參考點的相對位置關(guān)系可計算出移動機器人參考點的位姿變化,最終得到移動機器人的視覺里程計的信息,將此數(shù)據(jù)與IMU信息及移動機器人驅(qū)動編碼器里程計信息使用擴展卡爾曼濾波進行數(shù)據(jù)融合,為激光雷達SLAM提供前端的預(yù)估初始位置的輸入信息,提高了激光雷達SLAM前端數(shù)據(jù)的初始匹配精度,并通過激光SLAM后端的優(yōu)化及回環(huán)檢測對累計誤差的消除,經(jīng)過激光SLAM的建圖模塊,最終得到了精確的環(huán)境電子地圖,并同時可為移動機器人的導(dǎo)航系統(tǒng)提供移動機器人參考點的運動軌跡信息,通過此方法所構(gòu)建的實驗室的精確環(huán)境地圖如圖2所示。
圖2 融合視覺里程計的激光SLAM所建立的環(huán)境地圖
通過實驗室移動機器人平臺的測試驗證,最終使移動機器人的定位精度達到±10mm,實現(xiàn)了預(yù)期的目標。
許多物流移動機器人的本體廠商均使用了融合多種傳感器的信息進行物流移動機器人的導(dǎo)航定位和自主決策,如北京極智嘉科技股份有限公司的搬運系統(tǒng)產(chǎn)品在導(dǎo)航方式中使用了視覺SLAM方式,在障礙物檢測方式上也使用了視覺組件進行視覺避障,它們生產(chǎn)的物流移動機器人具體產(chǎn)品(M200C)如圖3所示。
圖3 頂升搬運式M200C移動機器人
靈動科技(北京)有限公司生產(chǎn)的AMR系列物流移動機器人,采用基于視覺數(shù)據(jù),融合激光雷達、慣性導(dǎo)航和電機編碼器里程計等多種感知信息,實現(xiàn)自動建圖、定位和導(dǎo)航等功能,它們的輥筒搬運式產(chǎn)品Max300如圖4所示。
圖4 輥筒搬運式Max300移動機器人
目前,這些公司使用融合視覺、激光等多種傳感器的物流機器人產(chǎn)品已經(jīng)在實際項目中得到應(yīng)用,如靈動科技使用頂升式Max300移動機器人在TCL工廠的26條產(chǎn)線上完成了原材料的搬運任務(wù)。
隨著技術(shù)的發(fā)展和各類產(chǎn)業(yè)的智能化升級,為了增強移動機器人導(dǎo)航的精度和魯棒性,使用融合視覺、IMU、激光雷達等多種傳感器信息的導(dǎo)航定位技術(shù)正在物流移動機器人行業(yè)得到更加廣泛的應(yīng)用。
視覺傳感器除了在物流移動機器人的導(dǎo)航定位方面起重要的作用外,它在移動機器人對目標物的識別及定位方面也起到了關(guān)鍵的作用,當移動機器人到達目標物附近時,通過視覺傳感器識別出目標物相對移動機器人的位姿,從而使移動機器人根據(jù)目標物的姿態(tài)調(diào)整移動機器人的運行軌跡,使移動機器人能更準確地與目標物進行對接操作。通過使用視覺技術(shù)在移動機器人上的應(yīng)用,拓展了移動機器人的應(yīng)用領(lǐng)域,增強了移動機器人的可靠性,推動了移動機器人產(chǎn)業(yè)的發(fā)展。
VO在移動機器人上的應(yīng)用已經(jīng)發(fā)展多年,在很多方面取得重大進展,但目前仍舊有一些問題等待解決,本文在總結(jié)現(xiàn)有方案的基礎(chǔ)上提出了以下兩個值得探索的研究方向。
(1)結(jié)合語義地圖的視覺里程計系統(tǒng)。
由于環(huán)境中普遍存在動態(tài)場景造成的實際樣本和檢測樣本之間的誤差,降低了目前大部分的算法模型的位姿估計和軌跡的精度。通過結(jié)合語義地圖的方式將從幾何和語義兩個方面來感知場景,使得應(yīng)用對象對環(huán)境內(nèi)容有抽象理解,獲取更多的信息,能夠減小動態(tài)場景帶來的誤差,還可以為SLAM中的回環(huán)檢測帶來更多信息從而提高精度。適合通過高性能的計算設(shè)備用于實現(xiàn)精密地圖構(gòu)建、場景理解等功能的場合。
(2)多機器人協(xié)同的視覺里程計系統(tǒng)。
單個機器人可能無法快速熟悉環(huán)境特征及其相對于環(huán)境特征的位置,此外單個機器人在執(zhí)行任務(wù)的過程中會出現(xiàn)損壞的情況,要達到穩(wěn)定的精準導(dǎo)航,開發(fā)分布式系統(tǒng)來實現(xiàn)視覺里程計將是一個發(fā)展方向。使用多個機器人可以有很多優(yōu)點,例如可以減少探索一個環(huán)境所需的時間、不同的信息來源將提供更多的信息、分布式系統(tǒng)對故障更魯棒等。