李 偉,胡雨露,黃繼鵬
(東北師范大學(xué)計(jì)算智能研究所,吉林 長(zhǎng)春 130024)
隨著機(jī)器人技術(shù)的發(fā)展,移動(dòng)機(jī)器人逐步應(yīng)用于人們的日常生活中.地圖構(gòu)建方法作為移動(dòng)機(jī)器人實(shí)現(xiàn)自主定位與導(dǎo)航的核心技術(shù)引起了眾多專家、學(xué)者的廣泛關(guān)注.目前,基于非視覺(jué)傳感器的地圖構(gòu)建方法,如激光雷達(dá)、超聲、紅外等,可精確測(cè)量距離和方位角且受環(huán)境影響程度小,但存在成本高、信息量單一的問(wèn)題.[1-3]相對(duì)于非視覺(jué)傳感器,基于視覺(jué)的地圖構(gòu)建方法具有便于實(shí)施、可靠性高、信息量大等特點(diǎn),能夠提高系統(tǒng)的靈活性,降低應(yīng)用成本[4-5],但該方法需要依賴復(fù)雜的圖像處理技術(shù),來(lái)解決地圖優(yōu)化問(wèn)題,并且得到在特征跟蹤和定位的連續(xù)上存在不足的全局最優(yōu)化估計(jì).[6-7]文獻(xiàn)[8]對(duì)視覺(jué)SLAM(Simultaneous Localization And Mapping,SLAM)進(jìn)行了研究,提出了深度數(shù)據(jù)模擬激光雷達(dá)SLAM的方式,但未對(duì)傳統(tǒng)的視覺(jué)SLAM所存在的問(wèn)題進(jìn)行深入研究和改進(jìn);文獻(xiàn)[9]針對(duì)視覺(jué)SLAM特征提取慢和極端場(chǎng)景的魯棒性低的問(wèn)題,提出了基于GPU加速的SURF特征提取方式,但機(jī)器人的硬件環(huán)境要求隨之提高,增加了成本;文獻(xiàn)[10]改進(jìn)了DVO SLAM(Dense Visual Odometry SLAM),提出了一種基于有效像素點(diǎn)進(jìn)行關(guān)鍵幀選取的方法,雖然在處理效果和效率上比基于稀疏視覺(jué)特征的方法有較大的提高,但是密集算法也引入了更大的計(jì)算量.
本文借鑒人類視覺(jué)對(duì)獲取的顏色信息和深度信息進(jìn)行處理而完成環(huán)境標(biāo)志識(shí)別與定位,提出一種仿生的室內(nèi)地圖構(gòu)建方法,可以有效地解決復(fù)雜室內(nèi)背景中地圖構(gòu)建算法復(fù)雜和成本高的問(wèn)題.
人類對(duì)環(huán)境的表示是通過(guò)對(duì)環(huán)境中不同標(biāo)志性建筑或標(biāo)志性物體的相對(duì)位置的記憶來(lái)實(shí)現(xiàn)的,人構(gòu)建環(huán)境地圖的主要信息來(lái)源是人的眼睛.人眼的視網(wǎng)膜包括兩種感光細(xì)胞:視錐細(xì)胞與視桿細(xì)胞.視錐細(xì)胞的特點(diǎn)是感受強(qiáng)光和顏色,產(chǎn)生明視覺(jué),對(duì)物體細(xì)節(jié)和顏色分辨力強(qiáng).視桿細(xì)胞的特點(diǎn)是對(duì)弱光敏感,主要負(fù)責(zé)在昏暗環(huán)境中產(chǎn)生暗視覺(jué).另外,人眼對(duì)深度信息具有感知能力,可以對(duì)物體間的距離有模糊的遠(yuǎn)近概念.可見(jiàn),人類對(duì)環(huán)境信息的理解是通過(guò)獲取顏色、輪廓、深度和明暗等信息建立的.因此,本文擬從4個(gè)方面進(jìn)行仿生,進(jìn)行室內(nèi)地圖構(gòu)建:
(1) 仿生人眼同時(shí)獲取顏色和深度信息的能力,進(jìn)行環(huán)境中的路徑信息識(shí)別;
圖1 室內(nèi)地圖構(gòu)建流程
(2) 仿生人類通過(guò)識(shí)別和記憶環(huán)境中的標(biāo)志物形成地圖定位點(diǎn)的方法,采用二維碼表示標(biāo)志物,并識(shí)別標(biāo)志物;
(3) 仿生人類對(duì)距離的模糊表示方式,對(duì)地圖中的標(biāo)志物間的距離進(jìn)行表示;
(4) 仿生人類的記憶功能,采用數(shù)據(jù)庫(kù)存儲(chǔ)所構(gòu)建的地圖.
機(jī)器人室內(nèi)地圖構(gòu)建的具體過(guò)程如圖1所示.
當(dāng)不同波長(zhǎng)的可見(jiàn)光進(jìn)入人眼后,相應(yīng)的視覺(jué)細(xì)胞會(huì)把不同可見(jiàn)光產(chǎn)生的電信號(hào)傳送到大腦的視覺(jué)中樞,獲得環(huán)境的顏色信息.而人的左右眼對(duì)同一環(huán)境信息所獲取的圖像存在差異,圖像的差異可以顯示環(huán)境的深度信息.因此,人眼不僅能得到環(huán)境中的顏色信息,還可以得到深度信息.本文選用Microsoft公司的Kinect體感器獲取環(huán)境的顏色信息和深度信息,并進(jìn)行相應(yīng)處理獲得路徑信息.具體方法如下:
(1) 首先用實(shí)際距離對(duì)Kinect所獲得的深度信息進(jìn)行標(biāo)定;
(2) 將Kinect所獲得的圖像變換到HSV空間,獲得機(jī)器人正前方景物的顏色信息;
(3) 將圖像中與地面顏色一致部分的像素值保持不變,不一致部分設(shè)置為黑色,得到只有黑色和道路顏色的區(qū)域;
(4) 通過(guò)深度信息獲得機(jī)器人前方道路可行駛空間的距離.若深度信息小于設(shè)定值,則認(rèn)為前方已有障礙物,不可前行.然后根據(jù)深度信息,判斷圖像中障礙物的左右兩側(cè)是否有道路及可行駛空間距離.
圖2為道路識(shí)別對(duì)比圖,其中圖2(a)為室內(nèi)的原始場(chǎng)景,圖2(b)為經(jīng)過(guò)上述算法處理得到的路徑圖,并根據(jù)深度信息確定了可行駛距離.
(a)室內(nèi)原始場(chǎng)景
通過(guò)該方法處理后,可以得到機(jī)器人直行的距離和遇障礙物后的轉(zhuǎn)動(dòng)方向.從圖2(b)中可以得到機(jī)器人的直行距離最遠(yuǎn)是405 cm,在該路徑的左邊有障礙物并且障礙物左側(cè)有一條275 cm的路徑.若此時(shí)機(jī)器人面對(duì)的是355 cm處的障礙物,則會(huì)得到左右有2條路徑供選擇.圖2中的中間線表示機(jī)器人正前方方向.
圖3 模糊集隸屬度函數(shù)曲線
人對(duì)于距離并沒(méi)有準(zhǔn)確的概念,對(duì)路徑的描述通常也采用模糊的方式.因此機(jī)器人完成路徑識(shí)別后,對(duì)可運(yùn)行距離采用模糊集進(jìn)行表示.由于目前市場(chǎng)上視覺(jué)傳感器的工作能力有限,機(jī)器人可識(shí)別路標(biāo)的極限距離設(shè)定3 m,同時(shí)設(shè)定40~90 cm為機(jī)器人可以進(jìn)行路標(biāo)識(shí)別的最佳距離.根據(jù)這兩個(gè)限定條件給出機(jī)器人的路徑距離的5個(gè)模糊集:d1表示“近”、d2表示“較近”、d3表示“較遠(yuǎn)”、d4表示“遠(yuǎn)”和d5表示“很遠(yuǎn)”,輪域X= {(30,300)},單位為cm,利用參照法分別求出對(duì)應(yīng)的隸屬度函數(shù).模糊集隸屬度函數(shù)曲線見(jiàn)圖3.
通過(guò)視覺(jué)傳感器獲得了路徑的具體距離信息x,分別將x帶入上述5個(gè)模糊集的隸屬度函數(shù)中求出對(duì)應(yīng)的隸屬度,隸屬度最大的模糊集便是該距離下機(jī)器人對(duì)環(huán)境路徑的距離判斷.
根據(jù)經(jīng)驗(yàn)得知,人記憶環(huán)境是人行走時(shí)將所遇的標(biāo)志物及標(biāo)志物之間的相對(duì)位置不斷記憶的過(guò)程.人描述環(huán)境是從環(huán)境中某標(biāo)志物經(jīng)過(guò)大致運(yùn)動(dòng)過(guò)程到另一標(biāo)志物.所以對(duì)機(jī)器人而言,構(gòu)建地圖的過(guò)程是將運(yùn)動(dòng)時(shí)的路徑和所見(jiàn)路標(biāo)信息進(jìn)行存儲(chǔ)的過(guò)程.本文利用數(shù)據(jù)庫(kù)對(duì)機(jī)器人的運(yùn)動(dòng)信息進(jìn)行記錄存儲(chǔ),形成地圖.
地圖數(shù)據(jù)庫(kù)相當(dāng)于機(jī)器人路徑記憶的“大腦”.因此,該數(shù)據(jù)庫(kù)分別存儲(chǔ)機(jī)器人運(yùn)動(dòng)路徑中直行的模糊距離、轉(zhuǎn)動(dòng)方向和人工路標(biāo)等三方面內(nèi)容(見(jiàn)表1).
表1路標(biāo)數(shù)據(jù)庫(kù)存儲(chǔ)字段及其含義
字段含義label當(dāng)前機(jī)器人所處的路標(biāo)編碼direction機(jī)器人的轉(zhuǎn)動(dòng)方向distance機(jī)器人沿道路直行的模糊距離target機(jī)器人到達(dá)的路標(biāo)編碼
如表1所示:數(shù)據(jù)庫(kù)中第1個(gè)“l(fā)abel”字段存儲(chǔ)的是當(dāng)前機(jī)器人所處的路標(biāo)編碼;第2個(gè)“direction”字段存儲(chǔ)的是機(jī)器人的轉(zhuǎn)動(dòng)方向,該字段下有“0”、“3”、“4”三種編碼,其中0表示原地不動(dòng),3表示右轉(zhuǎn),4表示左轉(zhuǎn);第3個(gè)“distance”字段存儲(chǔ)的是機(jī)器人沿道路直行的模糊距離.為方便數(shù)據(jù)的存儲(chǔ)和查詢將距離模糊集進(jìn)行編碼:“1”表示近、“2”表示較近、“3”表示較遠(yuǎn)、“4”表示遠(yuǎn)、“5”表示很遠(yuǎn);第4個(gè)“target”字段表示到達(dá)的路標(biāo)編碼.從label字段對(duì)應(yīng)的路標(biāo),經(jīng)過(guò)一次轉(zhuǎn)動(dòng)得到一條直行路徑并且得到到達(dá)target字段路標(biāo)編號(hào)所需要行駛的距離.從表1可以看出,數(shù)據(jù)庫(kù)存儲(chǔ)的內(nèi)容是由不同路標(biāo)及路標(biāo)間路徑構(gòu)成的空間縮影.
圖4 室內(nèi)機(jī)器人
本文采用如圖4所示的機(jī)器人對(duì)室內(nèi)地圖構(gòu)建方法進(jìn)行驗(yàn)證.該機(jī)器人采用馮哈勃直流電機(jī)提供動(dòng)力,采用Kinect體感器模擬人眼獲取顏色和深度信息,信息處理由配備1.86 GHz CPU、內(nèi)存為4 GB的嵌入式PC機(jī)完成.
為了方便標(biāo)志物的識(shí)別,用二維碼表示的人工路標(biāo)固定在標(biāo)志物上,機(jī)器人只需識(shí)別二維碼就可以獲取標(biāo)志物信息.圖5(a)和(b)分別為人工路標(biāo)的樣式、檢測(cè)結(jié)果,機(jī)器人利用Hough變換對(duì)輪廓為圓形的人工路標(biāo)進(jìn)行檢測(cè),檢測(cè)到的路標(biāo)用圓標(biāo)出.
(a)人工路標(biāo)
為了驗(yàn)證地圖構(gòu)建的可行性,在教室環(huán)境下設(shè)置了14個(gè)路標(biāo),如圖6所示,其中三角形表示機(jī)器人初始位置,讓機(jī)器人從該位置自主移動(dòng).在運(yùn)動(dòng)過(guò)程中機(jī)器人會(huì)將所識(shí)別到的路標(biāo)、路徑及相對(duì)距離在數(shù)據(jù)庫(kù)中進(jìn)行記錄,記錄結(jié)果如表2所示,表2實(shí)現(xiàn)了用數(shù)據(jù)庫(kù)對(duì)室內(nèi)地圖的表示.
圖6 人工路標(biāo)識(shí)別結(jié)果及路標(biāo)設(shè)置表2 數(shù)據(jù)庫(kù)路徑儲(chǔ)存結(jié)果
labeldirectiondistancetarget3334434131341553311114177429933101035883411114466441313323
本文借鑒人眼感知環(huán)境信息的方式,采用模糊集表示距離,利用圖像信息和深度信息完成路徑的識(shí)別.選用人工路標(biāo)作為地圖中的定位點(diǎn),采用數(shù)據(jù)庫(kù)中對(duì)路徑和人工路標(biāo)進(jìn)行存儲(chǔ),最終形成了室內(nèi)空間的地圖.利用模糊集表征距離相比于利用激光雷達(dá)、編碼器或深度視覺(jué)構(gòu)建里程計(jì)的方法更有效地減少了機(jī)器人測(cè)距環(huán)節(jié)的計(jì)算量,同時(shí)也簡(jiǎn)化了數(shù)據(jù)庫(kù)對(duì)位移信息的存儲(chǔ).該方法有效地解決了當(dāng)前主流地圖構(gòu)建方法中存在的數(shù)據(jù)量大、算法復(fù)雜的問(wèn)題.
[參 考 文 獻(xiàn)]
[1] LEONARD J,HOW J,TELLER S,et a1.A perception-driven autonomous urban vehicle[J].Journal of Field Robotics,2008,25(10):727-774.
[2] THRUN S,MONTEMERLO M,DAHLKAMP H,et a1.Stanley:the robot that won the DARPA grand challenge[J].Journal of Field Robotics,2006,23(9):661-692.
[3] OLSON E.Robust and efficient robotic mapping[D].Cambridge:University of Cambridge,2008.
[4] 包加桐,宋愛(ài)國(guó),唐鴻儒,等.基于視覺(jué)目標(biāo)跟蹤的偵察機(jī)器人導(dǎo)航方法[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,42(3):399-405.
[5] 張海波,原魁,周慶瑞.基于路徑識(shí)別的移動(dòng)機(jī)器人視覺(jué)導(dǎo)航[J].中國(guó)圖象圖形學(xué)報(bào),2004,9(7):853-857.
[6] SE S,LOWE D G,LITTLE J.Vision-based global localization and mapping for mobile robots[J].IEEE Transactions on Robotics.2015,21(3):364-375.
[7] ZHANG X,RAD A B,WONG Y K.Sensor fusion of monocular cameras and laser rangefinders for line-based simultaneous localization and mapping (slam) tasks in autonomous mobile robots[J].Sensors,2012,12(1):429-452.
[8] 李策,魏豪左,盧冰,等.基于深度視覺(jué)的SLAM算法研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2017,38(4):14-16.
[9] 龍超.基于Kinect和視覺(jué)詞典的三維SLAM算法的研究[D].杭州:浙江大學(xué),2016.
[10] 劉靜雯.基于Kinect的密集視覺(jué)里程計(jì)SLAM算法研究[D].西安:西安電子科技大學(xué),2015.