彭蔚枝 袁鋒偉 周志偉
摘 要:同時定位與地圖創(chuàng)建在移動機器人導航系統(tǒng)中至關(guān)重要。本文以RGB-D深度相機為視覺傳感器,分析移動機器人定位方法,利用特征提取與匹配實現(xiàn)位姿估計,實現(xiàn)定位功能,以Turtlebot為載體的實驗平臺,運用成熟的ORB-SLAM視覺算法實現(xiàn)定位與地圖構(gòu)建,擬完善中國在核電設(shè)施中移動機器人室內(nèi)定位問題,自主構(gòu)建出廠房地圖,或者搭載于已有的核裝備機器人上完成自身定位與地圖構(gòu)建。
關(guān)鍵詞: RGB-D深度相機;定位;ORB-SLAM;視覺
文章編號: 2095-2163(2019)03-0168-04 中圖分類號: TP242 文獻標志碼: A
0 引 言
隨著現(xiàn)代科技的迅猛發(fā)展,智能導航設(shè)備應(yīng)用正日趨廣泛,比較常見的當屬基于GPS/北斗導航系統(tǒng)的移動設(shè)備。及至目前備受矚目的自動駕駛技術(shù),也離不開導航系統(tǒng)的參與配合。眾所皆知,定位在導航系統(tǒng)中占有舉足輕重的地位。本文研究目的即擬在核電站等核設(shè)施內(nèi)完成廠房內(nèi)地圖構(gòu)建,為此本次研究將選用以室內(nèi)為運行環(huán)境的定位方法,具有代表性的室內(nèi)定位技術(shù)有基于紅外傳感器、藍牙、wiff、視覺傳感器、電磁軌道等方法。考慮到以視覺傳感器的視覺定位建圖技術(shù)在理論和實踐上均取得了重要突破,又適用于未知的室內(nèi)環(huán)境,且運行效果很好。基于此,本文將以深度相機為傳感器,利用ORB特征提取算法對圖像進行特征提取與匹配,分析計算出移動機器人的位姿,并用ORB-SLAM2為定位建圖算法進行分析與實驗,實驗項目包括:特征提取、特征匹配、位姿估計、室內(nèi)定位與建圖,實驗結(jié)果表明本文研究最終能取得一個良好的定位與地圖構(gòu)建效果。對此可展開論述如下。
1 背景與選型
1.1 基本概念
同時定位與地圖創(chuàng)建(Simultaneous Localization and Mapping, SLAM)是指包括同時定位與地圖創(chuàng)建的系統(tǒng)。機器人設(shè)備搭載SLAM系統(tǒng)能實時獲得自身定位,并構(gòu)建生成地圖[1]。經(jīng)過幾十年研究發(fā)展,視覺SLAM的整體算法框架已經(jīng)成熟。視覺SLAM即是指搭載了特定視覺傳感器的機器人或者移動設(shè)備,在沒有GPS信號或者缺少先知信息的環(huán)境下,在運動過程中感知自己位置并構(gòu)建生成地圖。
1.2 選型依據(jù)
1.2.1 傳感器選型
對于研究者來說,用于視覺的傳感器有單目攝像頭、雙目攝像頭、RGB-D深度攝像頭等類別。其中,RGB-D相機可直接獲取空間點深度信息,而無需像單目攝像頭一樣進行初始化;深度相機的數(shù)據(jù)初始化則更簡單,首幀即為關(guān)鍵幀,而且由于深度信息已知,就可從立體點中直接構(gòu)建初始化地圖。故而,本文將采用RGB-D深度相機作為視覺傳感器。
1.2.2 視覺算法選型
經(jīng)典的視覺SLAM系統(tǒng)的設(shè)計步驟可闡釋分述如下。
(1)傳感器信息讀取,在視覺SLAM中讀取和預處理圖像。
(2)視覺里程計,簡稱VO。視覺里程計也稱為前端,其定制功能是估算相鄰圖像之間相機位置,以及局部地圖的粗略樣子。
(3)后端優(yōu)化。后端接收到不同時刻視覺里程計測量出的相機位姿,以及回環(huán)檢測信息,對其進行優(yōu)化,得到全局地圖。
(4)回環(huán)檢測,判斷機器人是否到達過先前的位置[2]。
視覺SLAM可分為視覺里程計前端和運動估計的后端。其中,前端是指通過深度相機輸出的圖像信息大致估計出相機運動,往往深度相機能提供給后端較好的初始值。基于特征點法的前端圖像處理,是視覺里程計的主流方法。特征法的前端運行較為穩(wěn)定,是目前比較成熟的視覺前端的解決方案。本文采用ORB-SLAM[3]算法為整體框架,ORB-SLAM算法是一個較為完善的SLAM系統(tǒng),現(xiàn)在許多優(yōu)秀的算法是基于ORB-SLAM框架上再做另行深入開發(fā)的。ORB中的特征計算相對簡單快速,不像SIFT算法或者SURF算法那樣耗時,可以不使用GPU即可完成快速計算;角點選取簡捷方便,ORB增加了尺度和旋轉(zhuǎn)的描述,具有良好的旋轉(zhuǎn)和尺度不變性。ORB提供的BRIEF描述子在大范圍運動時可以進行良好的回環(huán)檢測和重定位。優(yōu)秀的回環(huán)檢測算法能有效地防止ORB-SLAM中誤差的累積,即使丟失幀后也能根據(jù)當前幀將其及時找回。
在PTAM采用2個線程后,ORB-SLAM采用了3個線程同時實現(xiàn)SLAM過程。特別地,Tracking線程是對相機記錄圖像的特征提取,并與附近圖片進行特征匹配,通過特征點的位置估算出相機的位姿。
2 位姿計算
2.1 特征提取
基于ORB[4]算法的特征是由關(guān)鍵點和描述子組成的。關(guān)鍵點為角點,角點選取工作過程可詳述如下:
(1)在圖像中選取像素p,假設(shè)其亮度為Ip。
(2)隨機設(shè)置一個閾值,一般設(shè)T=20%Ip。
(3)以像素p為中心,選取半徑為3的圓周上16個像素點。如果選取的圓周上有N個亮度大于Ip+T或者小于Ip-T的點,那么p可以被認為是關(guān)鍵點,N可以取12、6、11,將其分別稱為FAST-12、FAST-6、FAST-11。具體如圖1所示。
(4)重復以上步驟,對每一個像素執(zhí)行相同的操作,即可完成角點的選取。FAST-12在時效性上做了優(yōu)化,在FAST-12中選取第1、5、9、13個像素亮點,只有這4個點同時滿足亮度要求,才可能是角點。此類優(yōu)化可以大大加速角點檢測,同時也可避免角點集中現(xiàn)象。研究可知,半徑固定為3的圓,將存在尺度問題。針對這一問題,ORB在設(shè)計中添加了尺度和旋轉(zhuǎn)的描述,步驟詳見如下。
(1)在圖像中定義圖像塊的矩為:
通過矩可以找到圖像塊的質(zhì)心,可將其寫作如下數(shù)學形式:
連接圖像塊集合中心O與質(zhì)心C,可以得到一個向量,特征點的方向可以定義為:
如此將使得FAST角點具有旋轉(zhuǎn)不變性,ORB的尺度不變性可以通過構(gòu)建圖像金字塔解決[4]。BRIEF描述子的確定過程可描述為:BRIEF描述子是由0和1組成的二進制數(shù)字的組合,這里選取關(guān)鍵點附近的2個像素進行比較,當點p像素大于點q像素,記為1,反之記為0。
2.2 特征匹配
組合FAST和BRIEF兩者,在SLAM中用于圖像的匹配。根據(jù)匹配,通過2幅圖中任意2個點的描述子比較判斷是否為同一個特征,其中相似度可用二進制之間的漢明距離進行表示。研究中給出了實驗室內(nèi)2幀圖像匹配結(jié)果即如圖2所示。
2.3 位姿估計[2]
在圖像特征提取與匹配后,研究將對相機運動進行估計。本文采用非線性優(yōu)化求解方法。將粗略估計的相機位姿設(shè)為第一幀,優(yōu)化匹配點的重投影誤差。計算重投影誤差的方法過程可解析表述如下。
三維空間P點在第一幀和第二幀中對應(yīng)的像素點分別為p1和p2,而在實際的投影中,在第二幀中的投影點為p21,需要通過優(yōu)化的方式使其靠近p2,盡可能減小與實際投影點之間的誤差。 假設(shè)2幀中有n對匹配點,設(shè)空間中的一點坐標pi=[xi,yi,zi]T,pi投影點像素坐標為ui=[ui,vi]T,相機內(nèi)參固定為K,變化矩陣李代數(shù)為ξ,像素點和空間點的位置有如下關(guān)系:
由此即推導得到了重投影誤差關(guān)于位姿的導數(shù)。根據(jù)2幅色彩圖和2幅深度圖像,研究在計算機上求解出來變化矩陣,至此便完成了位姿估計。最終運算結(jié)果如圖3所示。
3 實驗
目前,由于防輻射鏡頭昂貴,防輻射電子設(shè)備處理仍難于在實驗室環(huán)境下進行操作。本文將在實驗室和實驗室樓道里模擬核電站室內(nèi)環(huán)境。本實驗的硬件配置為:課題組購買的實驗小車平臺turtlebot2+ ubuntu14.04操作系統(tǒng) + ROS indigo + 聯(lián)想筆記本T450+XBOX手柄。運行效果如圖4所示。
4 結(jié)束語
基于RGB-D相機的移動機器人以色彩圖為圖像信息進行ORB特征提取與匹配,并且提取速度快,匹配效果好,為下一步位姿估計提供了具有重要價值的有效信息。經(jīng)過重投影誤差的計算,能夠求出變化矩陣,也能計算得出機器人的位姿,最終以O(shè)RB-SLAM算法模擬核電設(shè)施室內(nèi)環(huán)境實現(xiàn)了定位與地圖構(gòu)建。本文的研究可以解決在未知的室內(nèi)環(huán)境下移動機器人定位問題,為智能化設(shè)備制造提供有益的技術(shù)支持與借鑒。
參考文獻
[1]羅榮華,洪炳镕. 移動機器人同時定位與地圖創(chuàng)建研究進展[J]. 機器人,2004,26(2):182-186.
[2] 高翔,張濤. 視覺SLAM十四講:從理論到實踐[M]. 北京:電子工業(yè)出版社,2017.
[3] MUR-ARTAL R,MONTIEL J M M,TARDOS J D. ORB-SLAM: A versatile and accurate monocular SLAM system[J]. IEEE Transactions on Robotics,2015,31(5):1147-1163.
[4] RUBLEE E,RABAUD V,KONOLIGE K,et al. ORB:An efficient alternative to SIFT or SURF[C]//IEEE International Conference on Computer Vision, ICCV 2011. Barcelona, Spain:IEEE,2011:1-9.