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