楊杰
摘 要 通過對NAO機器人的視覺系統(tǒng)的介紹,利用NAO機器人的視覺系統(tǒng)實現(xiàn)對紅球目標的識別以及目標追蹤策略的判斷和選擇。詳細介紹了機器人對目標紅球的識別和處理過程,并對機器人單目測距追蹤策略和視野中心法追蹤策略以及兩種方法的對比,得出結(jié)論是視野中心法在實際應用中更適合。
關(guān)鍵詞 NAO機器人 目標識別 定位
中圖分類號:TP249 文獻標識碼:A
隨著機器人技術(shù)的發(fā)展,機器人進入類人機器人的發(fā)展階段,機器人越來越像人,也越來越能夠像人一樣進行一些動作,執(zhí)行一些工作。其中由法國Aldebaran Robotics公司開發(fā)設計的NAO機器人是一款著名的類人機器人,其外形與人類相似,并且NAO機器人具有等同一歲到兩歲嬰兒的智力水平,能夠執(zhí)行相對復雜的指令和任務。因此,NAO機器人在機器人比賽中的應用也越來越多,從而機器人的視覺識別特別是對特定顏色物體的識別和定位就成為一個在比賽中亟待解決的關(guān)鍵性問題。
1 NAO機器人的視覺系統(tǒng)介紹
機器人對外部世界的最初的感知是通過觸覺、聲音和視覺認知。在視覺認知上,NAO機器人擁有兩個高清攝像頭。其中一個攝像頭位于機器人前額,拍攝其前方遠處的水平畫面,感知誤差比較大。另一個位于嘴部,用于掃描周圍環(huán)境,用于識別近處的物體。NAO機器人利用這兩個攝像頭可以跟蹤、學習并識別不同的圖像。NAO機器人的這兩個攝像頭均可以提供高達640*480像素和每秒30幀的視頻圖像。
通過視覺軟件,可以再現(xiàn)NAO機器人看到的圖片及視頻流。機器人通過ALVideoDevice模塊訪問攝像頭的數(shù)據(jù),NAO可以將視頻輸入模塊(VideoInputModuleVIM)獲取的視頻流應用到其他的視覺系統(tǒng)模塊進行處理,這些視頻流可以由從NAO機器人的攝像頭獲得,也可以由電腦上的模擬器獲得,甚至從某個視頻記錄的視頻文件中得到。通過VIM,不僅能夠直接還原視頻的原始數(shù)據(jù),也能夠訪問經(jīng)過處理的顏色空間數(shù)據(jù)。本文通過NAO機器人的視覺系統(tǒng)采集一副圖像進行紅球顏色識別并定位。
2 NAO機器人對顏色球的識別
通過NAO機器人的下部攝像頭,采集視覺信息,當紅球顏色與背景顏色相差較大時,設定相應的色彩閾值(245€?0,10€?0,10€?0),過濾背景中的其他內(nèi)容,只識別出目標球的顏色。
通過NAO機器人的視頻系統(tǒng),采集一幅640*480像素大小的圖像,將其分割為16*20像素的方形像素塊。從而利用二維數(shù)組存儲每個方形像素塊內(nèi)的像素點。掃描像素塊內(nèi)的每個像素點,當像素點的RGB三個分量的值滿足設定的色彩閾值時,就認為該像素點是一個紅色的像素點,保存為(255,255,255);不滿足色彩閾值時保存為(0,0,0)。結(jié)果預處理后,采用高斯平滑,得到一張只有黑白兩個顏色的二值圖,此時乒乓球即以白色顯示,其他干擾的背景均為黑色。實際效果如圖1所示:
利用得到的二值圖數(shù)據(jù),利用遍歷各行各列像素點的數(shù)值,計算出紅球的球心像素坐標即為球心坐標。
3 NAO機器人對顏色球的定位測距
機器人對目標的跟蹤測距的方法一般有:雙目測距和單目測距。
雙目測距的主要原理是利用位于不同位置,但有重復的視角的兩個攝像頭同時進行拍攝。對得到的兩張圖片進行校正和變換,識別出位于兩張圖片中的目標,分別得到對應的參數(shù)。然后根據(jù)幾何關(guān)系推導出目標和機器人的距離。
雙目測距的測量精確度較高,但計算過程復雜,對圖像的校正和變換處理要求高。對于NAO機器人來說,雙目測距還存在一個問題,即上下兩個攝像頭的重合區(qū)域較小,會導致可用測距范圍小,并且機器人兩個攝像頭之間無法頻繁的進行切換。
單目測距的原理比較簡單,根據(jù)如圖所示的相似三角形的比例關(guān)系就可以計算出機器人與目標之間的距離Z。
單目測距的優(yōu)點是方法簡單,容易的得到機器人與目標球之間的距離。但是如果在機器人移動頭部對準目標球的過程中,機器人前一個指令沒有完成,這時機器人會繼續(xù)執(zhí)行前一條指令直到該條指令執(zhí)行完畢,然后才能發(fā)現(xiàn)紅球的位置發(fā)生的變動,這樣需要重新進行紅球識別和測量。這樣紅球距離機器人的距離就會越來越大。因此本文提出了一種視覺中心法的追蹤策略。也就是說,通過對機器人頭部的控制,使得目標紅球一直處于機器人的視覺中心。
在現(xiàn)實生活中,當一個人發(fā)現(xiàn)一個目標后,一般會將頭部(視線)轉(zhuǎn)向目標,繼續(xù)后續(xù)動作。如果目標位置發(fā)生變化,頭部或眼睛也會跟著紅球移動,以便一直注視紅球的移動情況?;谶@個啟發(fā)本文介紹一種新的定位方法,使得被跟蹤的物體一直保持在視野中心。
在NAO機器人攝像頭參數(shù)中,機器人水平視野范圍是€?7.8o,垂直視野范圍是€?6.8o。通過前面的測量,已經(jīng)得到了目標紅球的坐標(x,y)和紅球的半徑r。在進行圖像采集時,目標圖像大小為640*480像素,圖像中心或者視野中心坐標定位為(320,240),通過簡單的三角關(guān)系即可求出目標紅球和圖像中心點之間的水平偏角 以及垂直偏角 。機器人視野如圖所示。
如果機器人攝像頭與機器人視野中心點的距離為l,由三角關(guān)系可得到如下公式:
由于目標紅球的坐標(x,y)已知,由公式(1)可以求出目標紅球在機器人視野的水平偏角 。
同理,通過公式可以求出目標紅球在機器人視野的垂直偏角 。
將水平偏角 和垂直偏角 分別輸入到NAOqi API的WalkTo(x,y, )函數(shù)和控制NAO頭部角度的HeadPitch關(guān)節(jié)值中,就可以使機器人和機器人頭部始終朝著目標紅球的方向移動,并且保持機器人頭部一直正對目標紅球,使得目標紅球保持在機器人視野正中心。
機器人單目測距追蹤可以直接得到機器人與目標紅球之間的距離,但這種得到距離的方式的靜態(tài)的。隨著時間的流逝,機器人與目標紅球之間的距離會越來越大。而如果采用動態(tài)的追蹤,使紅球目標一直保持在視野中心,雖然無法直接測量出目標距離,而且計算量相對較大,但是實際效果比較優(yōu)秀,經(jīng)過大量實驗,機器人總會保持在離目標紅球前方2-5cm處,而且使其頭部一直正對目標紅球。
4結(jié)論
隨著智能機器人在生活、比賽和教學中的應用的增多,希望智能機器人能夠更加貼近人類的生活,能夠更加多的為人類服務,因此對智能機器人的要求也越來越高。通過NAO機器人的視覺系統(tǒng),介紹了機器視野中心法,使得機器人能夠?qū)μ囟繕藢崿F(xiàn)快速的識別和跟蹤,并且保持機器人視野中心一直對準目標物。從而為機器人后續(xù)的相關(guān)動作和判斷提供了基礎。
參考文獻
[1] 徐美青.類人機器人的研究與應用[D].山東科技大學,2015.
[2] 孟憲龍.RoboCup中NAO紅球識別追蹤及自定位研究[D].安徽大學,2014.
[3] 柏雪峰,楊斌.基于NAO機器人目標識別與定位算法.成都信息工程學院學報[J],2014, 29(6).
[4] 張俊強,張華.基于圖像處理的移動機器人對目標的識別和定位.計算機測量與控制,2006, 14(5).