摘 要:運動目標的實時跟蹤是機器人視覺的關鍵技術之一。設計了仿人機器人的視覺跟蹤系統,系統采用雙計算機,分別負責視覺信息的處理和運動單元的控制,兩臺計算機通過Memolink進行通訊。基于Windows的視覺信息處理子系統實現運動目標的分割,狀態估計和預測。運動控制子系統采用RTlinux實時操作系統,利用PD控制器控制關節運動。實驗驗證了系統的穩定性和實時性。
關鍵詞:仿人機器人;視覺跟蹤;RTlinux
Abstract: The tracking of a moving object is one of the most important technologies in robot vision domain. The visual tracking system of a humanoid robot is designed. Two computers are embedded in the robot in order to ensure real time tracking of a moving object. Computers are linked with each other through Memolink communication module. One computer is responsible for segmenting the moving object from the video rapidly, estimating and predicting the states of the object. The other is used for the motion control of the robot. The information processing sub-system uses Windows as OS. Motion control sub-system adopts RTLinux as the platform and the conventional PD controller is used to control joints motion. Experiments show the effectiveness and robustness of the system.
Key words: Humanoid robot; Visual Tracking; RTLinux
0 引言
仿人機器人的頭部視覺跟蹤系統利用視覺信息作為反饋,來規劃機器人的頭部運動使其能實時的跟蹤運動目標。視覺跟蹤是仿人機器人的重要功能之一,它的研究對于仿人機器人的自主導航、人機交互以及視覺伺服都具有極其重要的意義。
視覺跟蹤的實時性是仿人機器人的重要性能要求之一。針對這一系統要求,近年來有很多學者設計出了多種系統結構。文[1]中作者設計了一種基于CAN總線的分布式的仿人機器人的控制系統,其中的視覺系統通過無線局域網與控制系統進行通訊。日本仿人機器人ASIMO的運動控制系統采用集中式控制方式,視覺系統通過網絡與運動控制系統通訊[2]。一臺計算機難以滿足視覺跟蹤的實時性要求,為了實現實時跟蹤,本文提出并實現了一種基于MemoLink通訊的雙計算機的視覺跟蹤系統。該系統通訊可靠、體積小,便于將兩臺計算機安置于仿人機器人的胸腔內。
目標分割的穩定性是機器人視覺跟蹤系統的重要要求之一,近幾年來很多學者對這個領域進行了研究,大多數的機器人目標跟蹤系統選用了單一的圖像信息,有的采用了物體的顏色信息[3],有的采用了物體的輪廓信息[4]。然而在復雜的非結構化的室內背景下,單一的圖像信息不能保證系統穩定的分割出目標。多種圖像信息的融合是解決目標物體識別穩定性的方法之一[5]。本文中作者提出了一種集成深度、顏色和形狀信息的逐步逼近目標區域的快速目標分割方法
1 系統結構
仿人機器人BHR1的系統結構如圖1所示,其全身有32個自由度,其中頭部有2個自由度,可以在兩個方向上自由轉動,即左右轉動和上下轉動。面部放置兩只CCD攝像頭作為視覺傳感器來模擬人的眼睛。采用SVS立體視覺處理系統處理視覺信息,SVS系統提供了每幀圖像的深度圖像[6]。
[align=center]

圖1 仿人型機器人(BHR1)跟蹤系統的系統結構[/align]
兩臺計算機置于機器人的胸腔內,其中一臺計算機負責視覺信息的處理,另外一臺負責機器人的運動控制。前者被稱之為信息處理子系統,后者被稱為運動控制子系統, 兩臺計算機通過Memolink進行通訊。信息處理子系統利用Windows強大的多媒體功能來處理立體視覺信息,實現目標的快速分割以及物體的運動估計和預測。運動控制子系統以Linux/RT-Linux實時操作系統作為平臺,保證了機器人控制系統的實時性。除了頭部運動關節,運動控制系統負責仿人機器人全部關節的控制。Memolink 是系統間進行快速通信的一種有效解決方案,是連接信息處理子系統和運動控制子系統的橋梁。具有通信速度快和通信前無需握手的優點。
整個跟蹤過程執行如下的循環:搜索目標——發現目標——匹配——狀態估計和預測——運動控制。不同的匹配方法應用產生了不同的跟蹤方法。本文中作者提出了一種融合深度、顏色和形狀信息的逐步逼近目標區域的快速分割方法。在實時的跟蹤系統中,運動估計和預測有效的減少了檢測區域,提高了系統的跟蹤速度。研究中采用經典的卡爾曼濾波器進行運動目標的狀態估計和預測。
2 基于多圖像信息的目標分割方法
視覺信息處理子系統完成目標物體的快速分割,同時估計和預測目標物體的運動信息,把目標物體的位置信息實時地傳遞給運動控制子系統。目標識別的穩定性對整個跟蹤系統的穩定性起著至關重要的作用。
在復雜背景的非結構化的室內環境下,用于機器人視覺跟蹤的圖像信息有:深度、顏色、形狀、邊緣、運動等。基于多信息的運動目標的分割方法中,所選取的信息應該具有互補性。物體的顏色是物體最顯著的特征,適合用于目標的跟蹤。但是當背景中包含同樣顏色的物體時,基于顏色的跟蹤將會失敗。深度信息有助于系統得到粗略的前景區域,也就是包含運動物體的目標候選窗口,另外基于深度分割的粗略前景輪廓的獲得計算量小,速度快。基于RHT(Random Hough transform)算法的形狀檢測器可以檢測各種不同的幾何形狀,比如:橢圓形、三角形和多邊形,進而把目標候選區域中相同顏色的物體區別開來。
[align=center]

圖2 視頻序列中運動目標分割過程

圖3 復雜場景中目標物體的分割結果[/align]
本文利用仿人機器人的立體視覺系統,設計了融合深度,顏色,形狀信息的逐步逼近目標區域的快速跟蹤方法。圖2為視頻序列中運動目標的分割過程。首先利用深度信息把機器人關心的前景區域分割出來,得到ROF(Region of Foregroud)區域,即粗略的目標候選區域。在ROF中使用顏色濾波器分割,得到ROIC(Region of Interest Color)區域。最后形狀檢測器可以把相同顏色的物體區別開來。在分割過程中,候選目標區域逐步縮小并逼近目標區域。逐步縮小的候選目標區域減少了計算量,提高了系統的運算速度。同時,該方法有效的避免了場景中相同顏色物體的干擾,提高了目標分割的穩定性。圖3顯示了目標物體的分割結果。
3 運動控制子系統
3.1運動控制系統的結構
機器人的運動控制子系統是一個典型的計算機控制系統。機器人頭部的控制目的是為了機器人的頭部能夠實時跟蹤運動目標,因此實際控制信號輸入量是根據目標物體的位置信息求得的規劃數據。在反饋信號的輸入方面,因為被控對象是電機轉動的角度,用電機上面的軸角編碼器的輸出作為反饋信號。
系統使用了一套多功能接口板,將所有的A/D轉換、D/A轉換、ENC(encoder)、PWM、IO等多種功能都集成在該接口板上,提高了系統的集成性并減小了系統體積和重量。多功能接口板上上的ENC接口來作為反饋信號的輸入通道,它可以測量軸角編碼器的脈沖輸出個數。每個運動關節采用經典的PD伺服控制。
3.2運動控制系統的軟件結構
運動控制子系統采用了RT-Linux(Real Time Linux)實時操作系統,其軟件結構如圖4所示,主要包括兩個模塊:主程序模塊、實時任務模塊,主程序模塊是linux應用程序,實時任務模塊是RTLinux下的實時進程。兩個模塊也是兩個進程,通過管道(FIFO)進行通訊等。
[align=center]

圖4 BHR1運動控制系統的軟件結構[/align]
實時任務主模塊包括兩部分:周期性執行的實時控制循環(即實時線程)和實時任務觸發器。實時線程的周期性執行是由一個循環實現的。該循環主要完成兩大功能:機器人運動控制、與各電機相連的軸角編碼器的信息采集。實時任務周期為3毫秒。實時任務周期是根據D/A通道處理時間和碼盤計數器讀取時間,以及傳感器信息獲取時間確定。
主程序模塊與一般的Linux應用程序沒有區別,它主要有以下幾個功能:與信息處理系統通訊;向實時任務傳送控制參數;實現人機交互,即將從實時任務傳過來的電機轉動數據和傳感器數據輸出到監視器上,同時將通過鍵盤輸入的控制信號,實際上主程序模塊主要實現控制臺的作用,可以稱之為控制臺程序。
3.3運動控制過程
跟蹤系統的控制目標是:根據圖像處理獲取的目標質心在圖像平面中的位置,實時調整機器人頭部的2個電機轉動角度,將目標置于圖像平面的中央位置。運動控制系統中一個控制循環大約需要3毫秒的時間。在信息處理系統中,處理一幀圖像平均需要100毫秒左右的時間。由此可見,視覺處理的周期要遠遠大于運動控制的周期。因此在一個視覺處理周期之后,系統應該做好下一個視覺處理周期之內的運動規劃,也就是做好后面多個控制周期之內的運動規劃,這樣才能保證機器人的頭部以均勻、平緩,同時又是準確的速度來跟蹤目標。
4 實驗
在仿人機器人BHR1中,信息處理計算機的CPU為PⅣ2.4GHz,內存為512MB,運動控制計算機的CPU為PIII700MHz,內存為256MB。SVS系統的采集速度為15幀每秒,采集圖像的大小為320×240像素。Memolink采用PCI接口,最大傳輸速率為1M bytes/s或1M words/s。
4.1 復雜背景下運動目標的跟蹤。
在運動物體跟蹤實驗中,紅色小球作為目標在機器人的視野中做單擺運動。為了驗證基于多圖像信息的目標識別算法,背景中放置了紅色的方塊和一個綠色的小球。實驗結果如圖5所示,第一行圖像是實驗場景,第二行圖像是左攝像頭的視頻序列,結果表明彩色目標運動速度小于0.3m/s時,機器人頭部仍可以很好地跟蹤目標的運動,并使其始終位于左側攝像機所采集到圖像的中央位置。在復雜的非結構環境的室內背景下,利用單一的圖像信息,系統很可能會跟蹤失敗。相同背景下,單一的顏色信息不能將紅色的小球和背景中的紅色方塊區分開來。
[align=center]

圖 5 復雜背景下彩色目標跟蹤實驗

圖6 目標在X、Y方向上的跟蹤誤差(像素)[/align]
圖6顯示了紅色小球運動狀態時的跟蹤過程,圖中的數據為實際數據的1/10抽樣。可以看出,在X軸方向上,目標質心坐標到圖像中心的偏差在±30個像素以內,在y軸方向上,目標質心坐標到圖像中心的偏差在±20個像素內。實驗說明在物體的運動過程中,跟蹤系統能夠實時跟蹤物體并將物體的質心保持在左眼攝像機的中心。
5 結論
本文提出了基于Memolink通訊的雙計算機的仿人機器人的視覺跟蹤系統,系統能夠滿足仿人機器人實時視覺跟蹤的性能要求。
在未知的復雜環境中,基于深度、顏色和模版匹配的多圖像信息融合方案確保機器人穩定的從視頻序列中分割出運動目標。
本文作者的創新點
本文提出并實現了一種基于MemoLink通訊的雙計算機的視覺跟蹤系統, 一臺計算機負責視頻信息的處理,另一臺計算機負責機器人頭部的運動控制,實現了仿人機器人頭部對運動目標的實時跟蹤。本文提出了一種集成深度、顏色和形狀信息的逐步逼近目標區域的快速目標分割方法,實現了復雜背景下目標物體的穩定分割。
參考文獻:
[1] 鐘華,吳鎮煒,卜春華. 仿人型機器人控制系統的研究與實現 [J]. 機器人. 2005, Vol 27, No. 5: 455-459.
[2] S.Yoshiaki, W.Ryujn, A.Chiaki, The intelligent ASIMO: system overview and integration [A], IEEE/RJS Conference on Intelligence robot and system [C]. Switzerland: IEEE 2002, 2479-2483.
[3] 陳凱楓,肖南峰. 家庭服務機器人的人臉檢測、跟蹤及識別研究[J]. 微計算機信息. 2006, Vol 22, No.5-2:228-230
[4] M. Pardas, E. Sayrol. A new approach to tracking with active contours [A]. International Conference on Image Processing [C]. Canada: 2000, vol.2, 259–262.
[5] Y. Aloimonos, D. Shulman, Integration of Visual Modules [M], Boston: Academic Press, 1989.
[6] Kurt Konolige. Small vision systems: hardware and implementation [A]. Eighth International Symposium on Robotics Research [C]. London: 1997 111-116.