山 峰,謝少榮,鄭麗麗,羅 均
(上海大學 機電工程與自動化學院,上海 200072)
仿生眼系統是近年來國內外研究的熱點[1],它可以根據攝像頭采集回來的圖像信息以及各傳感器的信號,不斷調整運動跟蹤平臺的轉動,使攝像頭視軸跟蹤目標物體運動。通過一定的仿生模型,可以使仿生眼系統模仿人眼的前庭動眼反射、視動反射、平滑追蹤以及急動等功能。
鑒于仿生眼系統體積小、重量輕,可以搭載在各種移動機器人、水下機器人以及飛行器上,用于交通、軍事、反恐防暴、勘察、救災等多種危險或者不適合人近距離觀察的環境。
本文設計了一個仿生眼的運動控制系統,實現了與課題組其他成員所設計的眼球機構控制單元和圖像處理系統的接口對接。通過實驗調試,驗證了系統可以滿足仿生眼運動控制的實時性要求。
人們通過支配6條眼外肌使之產生協調運動,使目標物體在視網膜的中央凹上成像。該類運動可視為視覺-眼動系統在一定刺激下的輸出,表現為不斷地視軸運動。

圖1 單眼眼動簡化模型
根據人眼的運動模型[2]提取出單眼運動的簡化模型如圖1所示。
整套仿生眼系統由控制系統、圖像處理系統、眼球機構、三軸陀螺儀、無線通信模塊組成。

圖2 硬件系統圖
微型攝像頭置于眼球內,該機構具有兩個自由度的轉動[3]。
利用兩臺舵機控制眼球的轉動。這里選用韓國HiTEC公司型號為HSG-5084MG的舵機作為眼球機構的驅動器。該舵機采用4.8V電源供電,最高可輸出1.5kg.cm的扭矩,空載轉速達到0.07s/60°,體積為29×13×30mm,滿足了對運動機構的微型化和高速響應的要求。

圖3 眼球機構原理圖
采用Silicon Laboratories公司的C8051F023單片機作為運動控制系統的核心處理器。C8051F023是完全集成的混合信號系統級MCU芯片[4],其內核采用流水線結構,70%的指令的執行時間只需要1個或2個系統時鐘周期,加上C8051F023最高可達25MHz的系統時鐘頻率,與標準的8051結構相比處理速度大大提高。同時C8051F023內置64K字節的程序存儲器和4352字節的數據存儲器,在大多數的應用中無需再另外擴展存儲器。
在控制系統中,利用UART,通過MAX3232進行電平轉換,與外部的三軸陀螺儀、圖像處理系統以及無線通信模塊進行通信連接。由于C8051F023內部只帶有2個UART,因此,還需要擴展一個UART。這里采用軟件UART,下文會有詳細論述。
采用周期為20ms的PWM對舵機進行控制。本文中所使用的HSG-5084MG舵機,PWM控制信號的高電平時長為1.1ms~1.9ms,對應于舵機的轉動角度-35°~+35°。當高電平時長為1.5ms時,舵機的轉角位于中心位置。
除此之外,還預留了2個SPI接口和2個ADC輸入通道,用于系統將來的擴展。如可利用SPI與所搭載的機體的控制器進行通信;也可利用ADC來觀測供電電池的電壓信號,可在電壓不足的情況下進行報警。
本控制系統中,由于C8051F023本身只帶有2個UART接口,但系統的應用中卻需要3個UART,因此還需要另行擴展一個UART。
擴展UART的方法不外乎兩種:使用擴展芯片或者軟件模擬。采用擴展芯片方式增加UART最大的缺點就是需要增加成本,這在成本敏感的項目里面是不可取的。通過充分挖掘MCU片上硬件資源,使用軟件模擬方式生成UART,不但能夠降低成本,還能簡化電路??紤]到C8051F023本身自帶的PCA(可編程計數器陣列)就能為軟件UART提供一個很好的解決方案[5],因為PCA計數器在產生中斷的情況下不會停止計數,即不會因為中斷而產生延時的積累,利用這一點能夠產生精確波特率,這是傳統的使用定時器產生軟件UART的波特率所不能比擬的。
在這里利用兩個PCA模塊分別產生軟件UART的接收和發送波特率,并利用PCA的下降沿捕獲功能判斷數據接收的起始位。所有的接收和發送過程是在PCA中斷服務程序內完成的。

圖4 軟件UART程序流程圖
圖像處理是仿生眼系統的核心[6]。通過圖像處理,可以獲取運動的目標物體與圖像中心的偏角,并把偏角數據通過RS-232C傳給運動控制系統。運動控制系統根據所收到的數據信息,再控制眼球機構的轉動,使目標物體始終處于圖像中央。
當仿生眼系統搭載在非固定機體上時,由于機體自身受到發動機振動、空氣阻力等外界因素的影響使得的機體自身姿態發生改變,這勢必嚴重影響對移動目標視頻跟蹤的穩定性。所以需要能夠實時的采集到機體姿態的變化,并根據采集到的變化量給予反向控制,從而減少機體姿態對跟蹤仿生眼系統的影響,避免了跟蹤攝像頭視軸經常偏移移動目標。
本系統中考慮到控制跟蹤的連續性和穩定性,采用了具有高速度、高精度、多功能的傳感器3DMGX1[7]。3DM-GX1可以綜合三個角速率陀螺儀,三個正交的加速度計和三個正交的磁力計的測量數據,從而在靜止或動態的條件下提供穩定的方向信息。當三個軸都在360°的范圍內進行旋轉時,該產品可以輸出為矩陣、四元數或歐拉角度方程格式的方向信息;它的數字式連續輸出還可以為所有傳感器提供溫度補償信號;其擁有一個嵌入式處理器,自帶了可調濾除算法,以提供穩定的輸出信號;內置RS-232C接口。
由于仿生眼系統是搭載在移動機器人、水下機器人或飛行器上的,它與上位機勢必只能通過無線通信取得聯系。
無線通信模塊連接機載的跟蹤控制系統和地面控制站,在向地面發送實時的跟蹤數據的同時,實現地面操作人員對跟蹤控制系統的遠程操作和人工干預。根據其工作任務和環境特點,要求無線通信模塊串口傳輸、通信距離遠、功耗低、穩定可靠。為此,選用了可工作在900Mhz或2.4Ghz不需認證的ISM波段的XStream-PKG-R[8]無線數傳電臺,它具有如下主要功能:
支持RS-232/485(多端口總線)協議;
與主機接口波特率 :1200bps~57.6Kbps,空中傳輸速率9600bps或19.2Kbps,戶外傳輸距離可達11km。
控制系統主要實現的功能如下:
1)與上位機進行無線通信,獲取命令數據;
2)與圖像處理系統進行通信,獲得攝像頭視角偏移數據;
3)獲取仿生眼所搭載的機體的姿態變化率;
4)實現對眼球機構的運動控制率。

圖5 系統軟件流程圖
主要從軟件UART和控制系統兩個方面進行了實驗。
由于本系統中采用軟件模擬方式擴展了UART,而軟件UART的運行需要占用一定的機時,因此需要平衡通信速度和硬件機時占用。
實驗條件:跟蹤控制板上采用了22.1184Mhz的晶振。
實驗方法:上位機對控制板的軟件UART連續不間斷地發送數據。MCU采用查詢方式,軟件UART在接收到每個字節數據的同時,把接收到的每個字節數據立即用軟件UART的發送端回發給上位機,然后對比上位機發送的數據和接收到數據。如圖6所示。
根據實驗結果可知,在時鐘頻率為22.1184Mhz的條件下,該軟件UART可對絕大多數的應用提供全雙工模式下38.4Kbps的波特率支持。
而本系統對系統的實時性要求很高,為此,將此軟件UART配置給數據傳輸壓力最小的無線通信模塊,同時將波特率設為19.2Kbps,以滿足系統的響應速度。

圖6 實驗時用到的串口調試器

表1 實驗結果表
控制板的調試采用上位機定時發送目標偏角數據給跟蹤控制系統,由控制系統根據偏角數據控制舵機的轉動。
考慮到我國電視采用PAL制式,每秒鐘能產生25幀圖像。這里就假設圖像處理系統能夠每秒處理25幀圖像,即每秒鐘給出25組目標物體的偏角數據。
實驗方法:上位機每隔40ms發送一組偏轉數據給運動跟蹤控制板,觀察舵機的運動。
結果表明,舵機反應迅速,無滯后響應現象。

圖7 運動跟蹤控制板
結合仿生眼運動的建模和對模型的離散化控制,該系統能夠很好模仿人眼的運動,且能夠達到很高的精度。同時通過實驗,初步表明,該跟蹤控制系統能夠滿足仿生眼系統對實時性的要求。
[1] 鄒海榮,龔振邦,羅均.仿生眼的研究現狀與發展趨勢[J].機器人,2005,27(5):469-474.
[2] Zhang X L,Wakamatsu H. An Unified Adaptive Oculomotor Control Model[J].International Journal of Adaptive Control and Signal Processing,2001,15(7):697-713.
[3] 傅湘國.地面目標低空跟蹤伺服云臺控制系統研究[D].上海:上海大學,2007.
[4] 潘琢金.C8051F020/1/2/3混合信號ISP FLASH微控制器數據手冊[Z].Rev 1.4.新華龍電子有限公司.2005.
[5] 潘琢金,孫德龍,夏秀峰.C8051F單片機應用解析[M].北京:北京航空航天大學出版社,2002.
[6] Xie S R,Gong Z B,Ding W,et al.Detection and Tracking of Moving object in Visual Tracking from a Low-Altitude Flying Helicopter[A].Proceedings of the 2007 IEEE International Conference on Robotics and Biomimetics[C].Sanya:IEEE,2007:178-182.
[7] MicroStrain Inc.3DM-GX1 Datasheet[Z].2005.
[8] MaxStream Inc.XStream-PKG-RTM RS-232/485 RF Modem Product Manual[Z]. 2006.