摘 要:運動目標的實時跟蹤是機器人視覺的關鍵技術之一。設計了仿人機器人的視覺跟蹤系統,系統采用雙計算機,分別負責視覺信息的處理和運動單元的控制,兩臺計算機通過Memolink進行通訊。基于Windows的視覺信息處理子系統實現運動目標的分割,狀態估計和預測。運動控制子系統采用RTlinux實時操作系統,利用PD控制器控制關節運動。實驗驗證了系統的穩定性和實時性。
關鍵詞:仿人機器人;視覺跟蹤;RTlinux
引言
仿人機器人的頭部視覺跟蹤系統利用視覺信息作為反饋,來規劃機器人的頭部運動使其能實時的跟蹤運動目標。視覺跟蹤是仿人機器人的重要功能之一,它的研究對于仿人機器人的自主導航、人機交互以及視覺伺服都具有極其重要的意義。
視覺跟蹤的實時性是仿人機器人的重要性能要求之一。針對這一系統要求,近年來有很多學者設計出了多種系統結構。文[1]中作者設計了一種基于CAN總線的分布式的仿人機器人的控制系統,其中的視覺系統通過無線局域網與控制系統進行通訊。日本仿人機器人ASIMO的運動控制系統采用集中式控制方式,視覺系統通過網絡與運動控制系統通訊[2]。一臺計算機難以滿足視覺跟蹤的實時性要求,為了實現實時跟蹤,本文提出并實現了一種基于MemoLink通訊的雙計算機的視覺跟蹤系統。該系統通訊可靠、體積小,便于將兩臺計算機安置于仿人機器人的胸腔內。
目標分割的穩定性是機器人視覺跟蹤系統的重要要求之一,近幾年來很多學者對這個領域進行了研究,大多數的機器人目標跟蹤系統選用了單一的圖像信息,有的采用了物體的顏色信息[3],有的采用了物體的輪廓信息[4]。然而在復雜的非結構化的室內背景下,單一的圖像信息不能保證系統穩定的分割出目標。多種圖像信息的融合是解決目標物體識別穩定性的方法之一[5]。本文中作者提出了一種集成深度、顏色和形狀信息的逐步逼近目標區域的快速目標分割方法
1 系統結構
仿人機器人BHR1的系統結構如圖1所示,其全身有32個自由度,其中頭部有2個自由度,可以在兩個方向上自由轉動,即左右轉動和上下轉動。面部放置兩只CCD攝像頭作為視覺傳感器來模擬人的眼睛。采用SVS立體視覺處理系統處理視覺信息,SVS系統提供了每幀圖像的深度圖像[6]。

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

圖2 視頻序列中運動目標分割過程
本文利用仿人機器人的立體視覺系統,設計了融合深度,顏色,形狀信息的逐步逼近目標區域的快速跟蹤方法。圖2為視頻序列中運動目標的分割過程。首先利用深度信息把機器人關心的前景區域分割出來,得到ROF(Region of Foregroud)區域,即粗略的目標候選區域。在ROF中使用顏色濾波器分割,得到ROIC(Region of Interest Color)區域。最后形狀檢測器可以把相同顏色的物體區別開來。在分割過程中,候選目標區域逐步縮小并逼近目標區域。逐步縮小的候選目標區域減少了計算量,提高了系統的運算速度。同時,該方法有效的避免了場景中相同顏色物體的干擾,提高了目標分割的穩定性。圖3顯示了目標物體的分割結果。

圖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)進行通訊等。