摘要:為實現機器魚比賽中魚體的自主信號采集與處理、自動探測前方目標及實現水下自主避障等控制功能,文中設計了基于數字信號處理器TMS320DM355" title="TMS320DM355">TMS320DM355、水下攝像機KM-273CW以及SAA7111A" title="SAA7111A">SAA7111A增強型視頻輸入處理器等構成的可實現魚體自主避障功能的水下機器" title="水下機器">水下機器魚控制系統。該系統還具有信息傳輸功能,可以將水下的環境數據傳輸到岸上,以利于觀察人員研究水下環境。
關鍵詞:自主運動控制" title="自主運動控制">自主運動控制;水下視頻采集" title="水下視頻采集">水下視頻采集;水下機器;TMS320DM355;SAA7111A
0 引言
在傳統的機器魚比賽中,魚體的運動控制功能是依靠比賽場地上方的攝像頭采集數據,然后將其發向主機,由主機完成數據的處理,并將結果發給魚體內部的處理器,從而完成避障等運動控制功能。但這種方案存在諸多問題,首先,不能體現魚體運動和控制的自主性;其次,采集數據時占用了主機的資源,同時主機發給魚體的信號也較容易受外界信號的干擾;最后,對于水下機器魚的現實實用性較差。綜合以上,本文設計了一種改進方案,即在魚體內部嵌入可應用于水下的攝像頭KM-273CW,通過采集視頻信號,并經過視頻輸入處理器SAA7111A的處理,將模擬視頻信號轉化為數字信號,并送入TMS320DM355中進行分析處理,之后根據處理的結果調用程序去實現魚體的自主避障及其他運動功能,從而實現魚體的自主運動控制。
1 TMS320DM355芯片介紹
TMS320DM355數字媒體處理器最大的特色就是有專用的視頻圖像子系統VPSS,用于處理視頻數據,其視頻處理子系統VPSS包括視頻前端輸入接口VPFE和視頻末端輸出接口VPBE,視頻前端輸入接口用于接收外部傳感器或視頻譯碼器等輸入的圖像信息,視頻末端輸出接口輸出圖像到顯示屏顯示。其中視頻前端輸入(VPFE)接口是由CCD控制器,硬件圖像信號處理器-圖像通道IP-IPE模塊,自動曝光/白平衡/聚焦模塊H3A和寄存器組成。CCD控制器可與視頻解碼器、CMOS傳感器或電荷耦合裝置連接;IPIPE是實時硬件圖形處理器,用于實時圖像處理,它把從CMOS/CCD得到的原始圖形轉換為國際電信聯盟ITU數字視頻標準BT.60I/BT.656的8/16位數字YCbCr4:2:2。視頻解碼器以54.MHz的速率進行D/A轉換,提供NTSC/PAL等格式的視頻或音頻輸出。同時該器件還具有8/16位YCC到18位RGB666數字輸出;ITU數字視頻標準BT.
601/BT.656的8/16位數字YCbCr4:2:2。通過緩存邏輯與TMS320DM355的DDR2/mDDR片上控制器相連,便于訪問存儲器,向存儲器存儲由攝像頭采集并經VPFE處理的圖像信息,并將存儲的圖像信息通過VPBE輸出到顯示設備,因此可以很好的實現視頻信號的接收、處理與輸出。
系統的結構框圖如圖1所示,由于本系統設計的是可自主運動的水器魚,視頻信號轉換模塊采用的是視頻輸入處理器,即用視頻A/D轉換芯片來完成視頻信號到數字信號的轉換,方便后面的數字信號處理器進行分析、處理和控制。數字信號處理模塊的核心芯片是TMS320DM355。通過它可以將視頻信號轉換模塊送入的數字信息進行分析和處理。被控運動裝置模塊即是機器魚內部的各個電機與舵機。通過接受數字信號處理模塊的各種控制信號完成機器魚的水下自主運動。信號傳輸、轉換及顯示模塊通過無線電傳輸系統將數字信號傳輸到岸上的接受裝置,通過信號轉換將水底的信息在主機上顯示,使岸上的觀察者也能了解機器魚水下運動的情況。
2 系統硬件設計
系統硬件總體連接框圖如圖2所示。其中CCD視頻圖像采集部分采用的器件是深圳凱目銳電子有限公司生產的可應用于水下的攝像頭KM-273CW,它的適應環境包括:水下工程,科研,水下機器人等。在本系統的設計中,由于該攝像頭體積較小,呈長筒狀,因而完全可以讓該攝像頭嵌入機器魚的體內,充當魚的眼睛。
視頻信號A/D轉換部分采用的器件是Philips公司生產的SAA7111A增強型視頻輸入處理器。該芯片的優點在于集A/D轉換與解碼功能于一身且支持多制式解碼,且內部含有I2C接口,可簡潔的通過I2C總線對其工作方式進行設定。
在本系統中,主控芯片TMS320DM355通過I2C接口與SAA7111A的雙向數據線SDA和時鐘線SCL連接,對SAA7111A的工作方式進行設置,并向其發送地址碼和控制量,控制SAA7111A完成視頻的轉換,并將轉換后的信息通過雙向數據線SDA串行讀入,然后進行分析、處理,并產生各種控制信息。
TMS320DM355處理完采集的數字信號后產生適合的控制信號來控制舵機和電機,從而完成機器魚的自主運動。同時TMS320DM355又可以將處理后的數字信號通過無線電發送轉置發送到岸上的主機。
3 系統的軟件設計
對該系統的軟件設計流程如圖3所示。在本系統的軟件設計中,系統上電初始化DSP,通過軟件模擬I2C總線時序,向SAA7111A發送寫信號,設置SAA7111A的工作方式,具體流程為:DSP發出一個SAA7111A的地址(0xBA或0xBS),并表明寫操作,等待SAA7111A響應,DSP接收到SAA7111的響應后,再發出要配置寄存器的地址,等待SAA7111A響應,并在接收到SAA7111A的響應后,發送要配置的數據,之后等待SAA7111A響應,接受SAA7111A的響應,發送停止位后,結束一次配置。設定其工作寄存器,使其輸入的視頻格式為PAL式,且設定輸出的數據流為8bit。之后DSP發送開始采集信號及對SAA7111A的控制信號。開始采集視頻信號并實現A/D轉換。當一幀數據寫入幀緩存后,DSP即產生中斷,先關閉SAA7111A的視頻輸出,然后對采集的信號進行分析處理。處理完后根據結果產生各種控制信號控制機器魚中的各種電機和舵機,具體做法就是通過控制輸入到各個電機和舵機的控制信號的占空比實現電機轉速和舵機角度的控制,從而實現機器魚游動方向和速度的控制,實現機器魚的自主運動。當DSP完成控制命令后就控制SAA7111A,并重新發送開始采集命令,繼續采集下一幀。
4 結束語
本系統設計將圖像采集與識別、運動控制集成到一個系統中,能很好實現圖像的快速采集、存儲及數據處理功能,也實現了魚體的自主運動控制,即使對于高分辨率要求的魚體游動的前方數據(如障礙物等)也起到很好的采集與處理的功能。若將該系統配上更為優化的程序,可以實現魚在水體情況較為復雜的環境下的自主運動。若再配合無線收發裝置便可將魚體在水下采集的數據發給地面處理機,供研究人員分析,那么這樣的機器魚就可以應用到實際工程中了。