文/李世文 謝志能
隨著通信技術(shù)的不斷飛速發(fā)展,飛行機(jī)器人的各項性能和指標(biāo)都得到了很大程度的改進(jìn)。國內(nèi)外對飛行機(jī)器人的研究也是越來越熱,在這方面的投資力度也非常大。目前來說飛行機(jī)器人無論是在民用上還是軍事上的應(yīng)用也是越來越廣。
當(dāng)前飛行機(jī)器人在飛行距離近、控制不方便,通信范圍小,很難能實現(xiàn)遠(yuǎn)距離的控制和視頻傳輸方面,同時怎么去降低飛行機(jī)器人的功耗,怎么去提高飛行機(jī)器人的智能識別效果等都是當(dāng)前需要解決的難題。結(jié)合實際情況,我們在設(shè)計方案的時候,采用現(xiàn)階段的4G通信網(wǎng)絡(luò)、近距離Wi-Fi通信等方面進(jìn)行數(shù)據(jù)和圖像方面的傳輸。在目標(biāo)檢測是識別方面,我們采用FPGA來對目標(biāo)進(jìn)行檢測是識別,這樣可以保證識別的效率,降低功耗。
總的來說,本文的目標(biāo)是實現(xiàn)一個具有自動對目標(biāo)進(jìn)行檢測和識別的飛行機(jī)器人控制系統(tǒng),并且進(jìn)一步提高整個系統(tǒng)的智能識別能力和圖像傳輸?shù)乃俾省?/p>
具體系統(tǒng)方案設(shè)計如圖1所示,整個系統(tǒng)由飛行器、控制端和上位主機(jī)所構(gòu)成,其中主機(jī)與控制的可以通過USB進(jìn)行通信,可以通過主機(jī)顯示飛機(jī)的飛行狀況,同時對飛行器進(jìn)行相關(guān)的參數(shù)設(shè)置。飛行器主要是由FPGA、無線傳輸、電機(jī)控制、攝像頭等所構(gòu)成。控制端主要用來對飛行器進(jìn)行控制,它主要包括4G等無線傳輸模塊、控制系統(tǒng)、顯示單元。
圖1:飛行機(jī)器人的設(shè)計方案
飛行機(jī)器人設(shè)計主要包括圖像處理、傳輸和去飛行姿態(tài)控制系統(tǒng),同時對相應(yīng)目標(biāo)進(jìn)行相應(yīng)的檢測和識別。飛行機(jī)器人的姿態(tài)控制系統(tǒng)的設(shè)計目標(biāo)是保證在飛行的時候能夠保持機(jī)身穩(wěn)定,而視頻圖像的采集與圖像的傳輸,是可以在4G通信網(wǎng)絡(luò)、射頻傳輸兩種機(jī)制中切換和接力,當(dāng)飛行機(jī)器人距離遠(yuǎn),范圍較大的時候可以由4G網(wǎng)絡(luò)進(jìn)行圖像的傳輸,因為4G網(wǎng)絡(luò)經(jīng)過這么多年基站的建設(shè),網(wǎng)絡(luò)覆蓋非常廣,所以對飛行機(jī)器人而言采用該傳輸模式是一種比較好的選擇。在飛機(jī)控制和圖像算法處理中,考慮到FPGA的優(yōu)越性能,我們采用FPGA來實現(xiàn)數(shù)據(jù)圖像的處理和相應(yīng)的控制。在飛行機(jī)器人的自動檢測和目標(biāo)跟蹤方面,目標(biāo)跟蹤和檢測可以采用幀差法和數(shù)學(xué)形態(tài)技術(shù)來實現(xiàn),進(jìn)一步提高系統(tǒng)的目標(biāo)識別率。
具體來說飛行機(jī)器人系統(tǒng)的飛機(jī)部分的整體原理圖如圖 2所示。其中飛機(jī)部分包括:攝像頭、飛機(jī)加速度器、角速度計、氣壓傳感器、數(shù)字羅盤、存儲單元、電動機(jī)、4G模塊和Wi-Fi模塊等部分。
飛控系統(tǒng)主要有FPGA了控制實現(xiàn),相應(yīng)傳感器把數(shù)據(jù)傳給FPGA后,F(xiàn)PGA可以通過控制電機(jī)進(jìn)行對當(dāng)前姿態(tài)進(jìn)行相應(yīng)的調(diào)整,與此同時FPGA把相應(yīng)的參數(shù)發(fā)送給控制端的顯示器進(jìn)行顯示,同時通過 USB 連接的上位機(jī)可以顯示飛機(jī)的姿態(tài)變化。同樣通過上位機(jī)設(shè)置飛行機(jī)器人的相應(yīng)的參數(shù)。視頻采集與傳輸系統(tǒng)硬件設(shè)計,這里的視頻采集與傳輸系統(tǒng)硬件設(shè)計也是采用FPGA的來進(jìn)行的。該攝像機(jī)可以通過無線或者是4G網(wǎng)絡(luò)將采集到的圖像信息實時發(fā)送到手機(jī)客戶端和PC 客戶端。所以FPGA需要完成圖像實時采集、壓縮編碼、圖像處理和存儲等功能。
姿態(tài)控制是系統(tǒng)的關(guān)鍵,系統(tǒng)上電后,由FPGA對相應(yīng)的外設(shè)進(jìn)行初始化,初始化后飛機(jī)就可以接收控制器發(fā)出的控制信息了,如果飛機(jī)收到對應(yīng)的控制信息就由FPGA去控制電機(jī)而實現(xiàn)飛機(jī)的相關(guān)飛行動作,比如說是翻轉(zhuǎn)、偏航、垂直下降與上升。
視頻采集流程是這樣的,首先系統(tǒng)啟動后,由FPGA對攝像頭進(jìn)行初始化,通過I2C對攝像頭進(jìn)行初始化配置,配置好之后圖像數(shù)據(jù)首先保存在FPGA中的WFIFO存儲器中,然后通過控制把WFIFO中的數(shù)據(jù)保存到DDR存儲器中,然后FPGA通過RFIFO把熟從DDR存儲器中讀取出來,進(jìn)行圖像處理,圖像處理包括幀差法運動目標(biāo)檢測和跟蹤。
圖2:飛行機(jī)器人的飛機(jī)部分原理圖
飛行機(jī)器人的設(shè)計是一個綜合性很強(qiáng)的課題,一般主要包括研究和軟件設(shè)計,現(xiàn)階段飛行機(jī)器人的性能指標(biāo)主要包括續(xù)航能力,目標(biāo)的定位和跟蹤、和圖像的采集和識別能力,飛行路徑的規(guī)劃、圖像數(shù)據(jù)的傳輸能力等相關(guān)技術(shù)。針對這種本文提出了一種基于FPGA的飛行機(jī)器人的設(shè)計方案,由于FPGA的實時性好、運算速度快、可擴(kuò)展性強(qiáng),所以在整個系統(tǒng)的設(shè)計中利用其來完成相關(guān)的圖像處理,可以節(jié)約系統(tǒng)延時,降低功耗的作用,所以該方案具有較大的應(yīng)用價值。