張栩
智能移動機器人是機器人研究和工程應(yīng)用的一個重要領(lǐng)域。其中,室外移動機器人在軍事、民用、商用方面都有廣泛的應(yīng)用前景,是目前研究的熱點方向。作為機器人在戶外作業(yè)的基礎(chǔ),定位成了需要解決的首要問題。
近幾年來,由于計算機圖像處理能力和技術(shù)的飛速發(fā)展以及各種高端數(shù)字圖像處理設(shè)備性能價格比的提高,機器視覺在移動機器人定位導(dǎo)航中的應(yīng)用越來越受到人們的重視[1]。與激光、聲納、GPS、WLAN等技術(shù)相比,視覺信號具有表述形式直觀、信息量豐富、造價低廉并且不易被電磁輻射干擾等優(yōu)點。目前常用的基于視覺的室外移動機器人自定位方法,主要有基于自然路標(biāo)和基于人工路標(biāo)兩種,前者是直接在環(huán)境中提取已存在的特征及物體,雖然運用靈活,但對周圍環(huán)境要求嚴格且識別難度較大,主要用于需要高速運動的機器人如智能車輛;后者是提取人為放置在環(huán)境中的標(biāo)志物體,它識別穩(wěn)定并且具有較高精度,但對光照和陰影變化敏感,適合于速度慢但對精度要求高的作業(yè)型機器人。
本文針對高精度要求的室外機器人定位問題,提出一種近紅外光源照明、全景視覺觀測和人工編碼路標(biāo)相結(jié)合的室外機器人定位系統(tǒng)。該系統(tǒng)通過近紅外光成像降低光照和陰影的影響,利用全景視覺獲取大范圍環(huán)境信息,依靠圖像處理算法識別路標(biāo),最后用三角定位算法完成機器人定位。夜晚、白天不同光照情況下的實驗證明該系統(tǒng)具有良好的魯棒性和較高的精度。
本文采用在道路兩側(cè)布置編碼路標(biāo),全景視覺識別的方式來實現(xiàn)定位導(dǎo)航。在依靠機器視覺來定位時,光線的變化是影響識別精度的最大因素。而在室外全天候情況下,照度從0到105Lux變化,這使得僅僅采用太陽光照明來識別路標(biāo)幾乎成為不可能。
為了讓機器人在全天候各種天氣下都能穩(wěn)定的定位,本文采用了近紅外主動照明的方式,進行近紅外光識別。近紅外光可以有效降低環(huán)境光線變化的干擾,與日間強烈的可見光區(qū)分開,并且具有良好的夜間穿透能力,有利于夜間觀測定位。
本系統(tǒng)由全景近紅外視覺和編碼路標(biāo)系統(tǒng)兩部分組成,如圖1所示。編碼路標(biāo)分布在機器人路徑的兩側(cè),視覺系統(tǒng)中的近紅外照明器發(fā)出近紅外光線均勻覆蓋在機器人周圍,經(jīng)路標(biāo)反射后返回視覺系統(tǒng)的全景攝像機,完成成像。
圖1 系統(tǒng)實景圖
如圖2所示,編碼路標(biāo)系統(tǒng)包括路標(biāo)模板和編碼地圖,其中編碼地圖中記錄了編碼路標(biāo)在世界坐標(biāo)系中的坐標(biāo)。系統(tǒng)在采集到近紅外全景圖像后,通過圖像處理結(jié)合路標(biāo)模板得到路標(biāo)在圖像中的編碼和坐標(biāo),進而結(jié)合編碼地圖進行三角定位,確定出機器人當(dāng)前的位姿,實現(xiàn)定位。
圖2 系統(tǒng)流程圖
全景近紅外視覺系統(tǒng)由近紅外照明器及全景攝像機組成。近紅外照明器發(fā)出的近紅外光線均勻地覆蓋在機器人周圍的圓形范圍,形成近紅外主動照明。全景攝像機由攝像頭、濾光片和安裝于鏡頭正上方的雙曲面鏡組成,能獲得大范圍的可視角度。攝像頭捕捉經(jīng)過雙曲鏡面反射的外界光線,濾光片將攝像頭獲取的光譜范圍控制在810 nm到880 nm的近紅外光譜范圍內(nèi),以降低其他光線對攝像機的干擾。
由于定位采用三角定位算法,所以至少需要有三個不同的路標(biāo)被識別到。本文采用四種編碼路標(biāo),如圖3所示。路標(biāo)利用黑白區(qū)域的順序和寬度比區(qū)分,圖形復(fù)雜度低,抗干擾能力強,成本低。路標(biāo)的黑色區(qū)域吸收近紅外光,白色區(qū)域覆蓋有反光材料,使其能更好的反射近紅外光。
圖3 編碼路標(biāo)模板
視覺成像的效果在很大程度上影響著圖像識別的好壞。太陽光中也含有近紅外光,在太陽光很強時,其中的近紅外光強度很大,這會使圖像的整體灰度上升,造成圖像中路標(biāo)跟周圍地面的灰度接近,損失部分圖像細節(jié)。為了降低太陽光對圖像的干擾,白天在采集圖像時應(yīng)盡量減小曝光時間。而在夜晚,近紅外照明器發(fā)出的近紅外光強度較小,則需要增大曝光時間。
針對太陽光照度不均一的各種情況,通過標(biāo)定能夠確定出各種照度下最佳的曝光時間,使攝像機成像效果達到最好以便于路標(biāo)的提取。本文采用如下公式來確定曝光時間:
其中E為曝光時間,G為圖像灰度總值。利用該公式,通過兩幀圖像的灰度總值之差就能確定兩幀圖像的曝光時間之差。這樣,圖像灰度總值維持在一個固定的范圍之內(nèi),減少了成像階段造成的圖像信息損失。
圖像處理的目標(biāo)是分辨出路標(biāo)的種類并且提取出圖像中路標(biāo)的位置,它的算法流程如圖4所示。
首先通過全景攝像機獲取全景圖像。雖然全景圖像視野大,但同時也存在模糊、畸變等問題。為了方便幾何形狀的提取和分析,需要將全景圖像展開[2]。接著對展開圖像進行二值化操作,使路標(biāo)和周圍背景分離開。然后提取出路標(biāo)并進行模板匹配,確定路標(biāo)的坐標(biāo)及編號。
圖4 單幀圖像處理流程
圖5為圖像處理各階段的效果圖。圖5(a)為采集到的近紅外全景圖,圖5(b)、圖5(c)分別為展開圖和二值化圖,圖5(d)為識別后的效果圖,其中紅色方框和數(shù)字標(biāo)示出識別到的路標(biāo)及編號。
圖5 圖像處理效果圖
為了提高魯棒性,算法還做了如下優(yōu)化:
(1)因為全景圖像較大,而全景展開用到了非線性插值,所以全景圖像展開耗時較多,影響了實時性。算法在第一次展開全景圖后建立了全景圖與展開圖之間的坐標(biāo)對應(yīng)表,以后的圖片采用查表的方式來展開[3],省去了非線性插值操作,提高了實時性。
(2)在二值化操作之前,進行圖像增強操作[4],提高路標(biāo)與周圍背景的灰度差,以便二值化操作時能更好的分割出路標(biāo)與背景。
(3)在提取路標(biāo)之前進行形態(tài)學(xué)濾波,包括腐蝕和膨脹操作,以減少噪聲的干擾。
二值化算法是整個圖像處理中的關(guān)鍵點,它主要作用是分割圖像,去除背景,留下感興趣的目標(biāo)物體。二值化的好壞程度直接影響了對路標(biāo)的提取。
目前常用的二值化方法是大津法[5],它能較穩(wěn)定的選出單幀圖像的自適應(yīng)閾值,完成圖像分割。但當(dāng)背景與目標(biāo)之間灰度相差不明顯時,二值化后的圖像中會出現(xiàn)無法忍受的大塊黑色區(qū)域,甚至?xí)霈F(xiàn)丟失整幅圖像信息的情況。同時它對噪聲和目標(biāo)的大小很敏感,而且僅對灰度直方圖為雙峰的圖像有較好的效果。受周圍環(huán)境的復(fù)雜性及光照變化所影響,攝像機在白天實驗過程中采集到的圖像用大津法較難分割。本文采用一種改進的大津法來選取二值化閾值,算法步驟如下:
(1)由于目標(biāo)的灰度高于圖像的平均灰度,所以求出圖像I(x,y)的平均灰度T0作為二值化的閾值的下限;
(2)計算I(x,y)中灰度大于T0的所有像素的灰度均值T1,作為閾值的上限;
(3)選取灰度T(T0< T < T1),灰度在T0到T之間的像素個數(shù)占 I(x,y)的比例為 w0,其平均灰度為 u0;灰度在 T到T1之間的像素個數(shù)占I(x,y)的比例為w1,其平均灰度為u1;I(x,y)的總平均灰度為u,類間方差為g。當(dāng)
為最大時,T為最佳二值化閾值。
算法主要進行邏輯判斷和簡單的整數(shù)運算,所以運算速度快,不會影響系統(tǒng)實時性。
為了節(jié)約系統(tǒng)資源,提高實時性,本文采用目標(biāo)跟蹤的方法。具體做法如下:
(1)根據(jù)上一幀圖像中得到的路標(biāo)的坐標(biāo),結(jié)合兩幀之間的時間差,預(yù)估出當(dāng)前幀中路標(biāo)可能會出現(xiàn)的位置范圍;
(2)在該范圍內(nèi)進行查表展開、二值化等操作來完成識別;
(3)判斷識別出的路標(biāo)個數(shù)是否與上一幀相符,若不相符,則重新進行全圖識別。
由于預(yù)估出的范圍很小,所以系統(tǒng)實時性得到了提高。實際實驗中,為了提高抗干擾能力,可以設(shè)置在連續(xù)一定幀內(nèi)路標(biāo)個數(shù)都小于第一幀的時,才重新全圖識別。
三角定位是已知 3個路標(biāo)的全局坐標(biāo)以及在機器人局部坐標(biāo)系中的觀察角度來計算機器人在全局坐標(biāo)中的位置。其基本算法主要有相交圓法、Newton-Rapson法和幾何三角法。本文采用相交圓法[6]來實現(xiàn)機器人位姿和方向角的計算。
相交圓法是利用平面上 3點確定一個圓,也就是每 2個路標(biāo)和機器人位置確定一個圓,3個路標(biāo)就可以和機器人位置確定2個圓,而這2個圓的交點一個是其中一個路標(biāo),另一個就是機器人的位置。定位實質(zhì)上是求解如下的非線性觀測方程:
本文以Frontier-II兩輪差速機器人為載體進行實驗。該機器人在機載的 DSP運動控制器的控制下,利用帶有編碼器的30w直流電機提供動力。進行視覺處理的PC采用的是雙核Intel 2.0 G,1 G內(nèi)存的筆記本,Windows操作系統(tǒng)。攝像機為1 / 2英寸的CCD近紅外黑白攝像機,像素為752× 580,幀率為30 fps。實驗場地為水泥道路,路標(biāo)對稱的擺放在道路兩側(cè),距離道路中線均為1.5 m,其縱向間距為2 m,如圖6所示。
圖6 實驗地圖
為了實驗本系統(tǒng)對環(huán)境的適應(yīng)性及其定位精度,在白天(20000 Lux)和夜晚(100 Lux)兩個時段,人工推行機器人以0.5 m/s的速度在道路中央行駛各5次,并記錄三角定位的結(jié)果。表1給出了白天和夜晚定位時的偏差距離和偏差角度的比較結(jié)果。
表1 系統(tǒng)定位實驗(距離單位: cm,角度單位: °)
由表可知,在白天有太陽光干擾時,定位的距離偏差均值為3.846 cm,而在夜晚沒有太陽光時為3.110 cm,偏差角度均小于 3°,具備對大范圍光照變化的適應(yīng)性和較高的定位精度。
本文設(shè)計了一種基于全景近紅外視覺的室外移動機器人定位系統(tǒng),該系統(tǒng)利用近紅外全景視覺識別編碼路標(biāo),進而通過三角定位來計算當(dāng)前的位姿。近紅外成像提高了視覺系統(tǒng)對室外白天和夜晚大范圍光照變化的魯棒性,全景攝像機可以獲得大范圍的路標(biāo)定向信息,改進大津法和路標(biāo)跟蹤的應(yīng)用使得識別路標(biāo)更準(zhǔn)確、更快速,三角定位算法能夠精確的計算出機器人的世界坐標(biāo),為機器人在特定區(qū)域進行作業(yè)提供保證。室外環(huán)境下移動機器人的定位實驗結(jié)果表明,本系統(tǒng)具有較高的定位精度和良好的魯棒性。
[1]段華,趙東標(biāo).基于歸一化 RGB值的道路區(qū)域檢測算法[D],南京:南京航空航天大學(xué),2005.
[2]Horita Y,Shibata K,Maeda K,et al.Omni-directional Polarization Image Sensor Based on an Omni-directional Camera and a Polarization Filter[C].Proc 6th IEEE Int Conf Advanced Video and Signal Based Surveillance.Genoa,Italy: IEEE Press,2009.280-285.
[3]凌云峰,朱齊丹,吳自新等.全景視覺圖像柱面理論展開算法實現(xiàn)及其改進[J].應(yīng)用科技,2006,33(9): 4-9.
[4]Wang Lei,Chen Gong-xin,Lu Ling,et al.A Medical CT Image Enhancing Algorithm Based on the Mixture Scope Model of Wavelet Multi-Scale Transform[C].2008 Intelligent Information Technology Application.Shanghai,China: IEEE Press,2008.310-314.
[5]Otsu N.A threshold selection method from gray-level histograms [J].IEEE Trans Systems Man and Cybernetics,1979,9(1): 62-66.
[6]Cohen C and Koss F.A Comprehensive Study of Three Object Triangulation[C].Proceedings of the 1993 SPIE Conference on Mobile Robots.Boston,MA: IEEE Press,1993.95-106.