陸興華
(廣東工業(yè)大學(xué)華立學(xué)院, 廣東 增城 511325)
隨著遙感、通訊技術(shù)的迅速發(fā)展,微小無人機的設(shè)計逐步被深究。 小型無人機由于其高度靈活機動性、信息化強、適應(yīng)惡劣環(huán)境等優(yōu)勢,近幾年在軍事、高空拍攝、農(nóng)業(yè)等領(lǐng)域有著廣泛的應(yīng)用[1],通過搭載在機體上的各類傳感器單元獲取所需的數(shù)據(jù)信息,如圖像的采集,能夠?qū)μ囟ㄌ厥猸h(huán)境進行有效的勘察。 但目前,無人機的地面控制站主要使用功耗高、體積大的PCI 總線采集技術(shù),一定程度限制了無人機的高度靈活性等優(yōu)點。 因此,以32 位ARM 微處理器為核心、DM368作為協(xié)處理器,設(shè)計出一種基于嵌入式的實時性強、數(shù)據(jù)傳輸和處理速度快的無人機勘察系統(tǒng)。
無人機系統(tǒng)的設(shè)計由飛行控制系統(tǒng)、 無線通信系統(tǒng)、地面控制站三大遙感技術(shù)組成, 飛行過程包括飛行器的起飛、飛行軌跡、任務(wù)處理和回收等過程,其中飛行控制系統(tǒng)是本系統(tǒng)設(shè)計的核心。 圖1 為無人機勘察系統(tǒng)的總體結(jié)構(gòu)圖。 圖中傳感器單元由陀螺儀、GPS 等組成, 采用無線射頻模塊XT09-SI 負責(zé)將采集到的信息傳輸?shù)降孛婵刂普静鬟_地面控制站的控制指令,形成飛行控制—飛行管理—飛行任務(wù)實施,完成無人機的信息接收、信息處理、信息輸出的功能,實現(xiàn)智能化、網(wǎng)絡(luò)化[2]。
圖1 無人機勘察系統(tǒng)的總體結(jié)構(gòu)圖Fig. 1 The overall structure of the UAV reconnaissance system
本系統(tǒng)圍繞著以以ARM 為內(nèi)核的S3C2410 搭建起主控制處理模塊, 采用小型的CCD 攝像機和DM368 視頻協(xié)處理組成對音頻和視頻的采集,無線射頻模塊XT09-SI 作為數(shù)據(jù)的傳輸和接收通道的媒介, 在無人機飛行器上搭載GPS、陀螺儀、磁航向等多種傳感器單元,實現(xiàn)對不同數(shù)據(jù)的精確采集和改變飛行軌跡等功能。
數(shù)據(jù)的采集和傳輸及接收是無人機系統(tǒng)設(shè)計的復(fù)雜部分,為了有利于系統(tǒng)后期的功能拓展和硬件維護,采用模塊化的設(shè)計。采用XT09-SI 無線射頻模塊作為該電路的數(shù)據(jù)傳輸模塊。 該無線傳輸模塊與微控制器的電路接口采用串行通信原理,硬件連接示意圖如圖2 所示。 數(shù)據(jù)間通信使用標(biāo)準(zhǔn)的RS-232 接口,并設(shè)計高速光耦隔離6N137 模塊對電路提高抗干擾能力[3],通過接收地面控制站的指令,完成無人機的飛控的控制、數(shù)據(jù)采集和發(fā)送等功能。
圖2 硬件連接示意圖Fig. 2 Hardware connection diagram
DM368 模塊是基于ARM 926EJ 處理器的低功耗數(shù)字多媒體處理芯片[4],DM368 模塊采用的是完成符合PAL 制式視頻標(biāo)準(zhǔn),可接Flash Memory 或者FPGA 等設(shè)備,支持H.264、MPPEG4 等圖像編碼技術(shù), 芯片內(nèi)部集成32 k RAM、16 k ROM、豐富的外部接口等資源,集圖像和音頻采集于一體,可以穩(wěn)定高效的管理數(shù)據(jù)通信、視頻壓縮編碼等任務(wù)[5]。 由于視頻數(shù)據(jù)在發(fā)射端和接收端會存在偏差,為了減少誤差,需對H.264 幀圖像壓縮編碼算法進行優(yōu)化。 常用的H.264 處理方法有對編碼紋理負責(zé)區(qū)域的4×4 像素和區(qū)域平坦的16×16像素兩種算法,幀的預(yù)測可以看成是由簡單的加法和移位運算來減少預(yù)測模式從而提高編碼的效應(yīng)。 16×16 像素預(yù)測模式由垂直預(yù)測、水平預(yù)測、DC 預(yù)測以及平面預(yù)測4 種模式[6],4 種模式的函數(shù)為:
本系統(tǒng)對圖像的幀算法通過對16×16 像素預(yù)測編碼采用加法器和移位器運算,對計算方程進行優(yōu),減少數(shù)據(jù)占用空間,使視頻傳輸效率提高。 采用的算法如下:
無人機勘察系統(tǒng)的主控制器選用具有高性能、低功耗32位內(nèi)核S3C2410,工作頻率最高可達到266 MHz,擁有高效的信號處理能力,片上集成豐富的資源,高達24 個外部中斷源,能夠滿足多路中斷處理, 提高處理器的資源利用率,3 路URAT,I2C、PWM、SPI 等多路通信接口,片外存儲器的接口拓展有Nor Flash、SDRAM,通過總線方式與微處理器相連,拓展儲存數(shù)據(jù)空間,并且具有高數(shù)據(jù)傳輸?shù)腄AM 通道[7]。 S3C2410芯片通過SPI 接口和RS-232 接口與XT09-SI 無線模塊以及其他傳感器單元模塊進行數(shù)據(jù)的交換。
無人機勘察工程中, 地面控制站對無人機的控制方式有手動航模操作、遙控指令控制、程序預(yù)定控制等操作,操作系統(tǒng)要求滿足能夠管理多任務(wù)和判斷優(yōu)先級。 在目前的嵌入式操作系統(tǒng)中有Linux、UC/OS、UC/GUI 等多種, 都具備各自的優(yōu)勢[8]。無人機勘察系統(tǒng)要求軟件的編寫可靠、簡單易操作,因此, 本系統(tǒng)的軟件設(shè)計采用可管理64 個實時多任務(wù)內(nèi)核的UCOSII。 要實現(xiàn)對無人機的飛行控制,軟件編程的重點在于對UC/OS 操作系統(tǒng)的體系結(jié)構(gòu)拓展,建立起RTOS 實時操作系統(tǒng)。 以下是操作系統(tǒng)的部分示意代碼。
void start_task(void *pdata){
msg_key=OSMboxCreate((void*)0); //創(chuàng)建消息郵箱
q_msg=OSQCreate(&MsgGrp[0],256);//創(chuàng)建消息隊列
flags_key=OSFlagCreate(0,&err);//創(chuàng)建信號量集
OSStatInit(); //初始化統(tǒng)計任務(wù).這里會延時1 秒鐘左右OS_ENTER_CRITICAL(); //進入臨界區(qū) (無法被中斷打斷)
OSTaskCreate (led_task, (void*)0, (OS_STK*)& LED_TASK_STK[LED_STK_SIZE-1],LED_TASK_PRIO);
OSTaskCreate(touch_task,(void*)0,(OS_STK*)& TOUCH_TASK_STK[TOUCH_STK_SIZE-1],TOUCH_TASK_PRIO);
OSTaskCreate (qmsgshow_task,(void*)0,(OS_STK*)&QMSGSHOW_TASK_STK [QMSGSHOW_STK_SIZE-1],QMSG SHOW_TASK_PRIO);
OSTaskSuspend(START_TASK_PRIO);//掛起起始任務(wù)
OS_EXIT_CRITICAL(); }//退出臨界區(qū)(可以被中斷打斷)
地面監(jiān)控平臺是這個系統(tǒng)設(shè)計的重要部分, 監(jiān)控中心上位機采用Qt 開發(fā),通過Socket 編程,實現(xiàn)上位機和無人機控制程序之間能夠雙向通信, 實時接收無人機采集到的信息和發(fā)送控制指令,完成所需的飛行任務(wù)。地面監(jiān)控平臺能過得到無人機采集到各類傳感器單元的數(shù)據(jù), 并實時在窗口顯示出來。 本次實驗讓無人機進行簡單的飛行測試,系統(tǒng)能夠及時響應(yīng)。 圖3 是監(jiān)控系統(tǒng)接收到的部分信息。
圖3 系統(tǒng)數(shù)據(jù)測試Fig. 3 System test data
文中設(shè)計了基于嵌入式的無人機勘察系統(tǒng), 通過引入UC/OS 實時內(nèi)核,能夠完成數(shù)據(jù)的采集、傳輸和處理,運用DM368 視頻協(xié)處理對高壓縮率的H.264 標(biāo)準(zhǔn)的圖像進行壓縮編碼, 可采集并傳輸穩(wěn)定、 高速實時勘察到的圖像和音頻。 整體繞著ARM 構(gòu)成的微控制器運轉(zhuǎn)、具有低功耗、數(shù)據(jù)處理速度高效等特點,隨著嵌入式和傳感器的不斷發(fā)展,無人機勘察將在軍事、高空拍攝、農(nóng)業(yè)等領(lǐng)域得到更好的發(fā)展與應(yīng)用。
[1] 汪沛,羅錫文,周志艷. 基于微小型無人機的遙感信息獲取關(guān)鍵技術(shù)綜述[J]. 農(nóng)業(yè)工程學(xué)報,2014,30(18):2-3.
[2] 國海峰,劉澤乾,陳丹強. 機載武器系統(tǒng)模擬訓(xùn)練仿真平臺設(shè)計[J]. 計算機測量與控制,2010,18(5):1104-1105.
[3] 陳東旭, 裴海龍. 基于ATM7的無人機監(jiān)控系統(tǒng)的設(shè)計[J].計算機工程與設(shè)計,2011,32(5):1614-1615.
[4] 吳笑天,魯劍鋒,王宇慶. 基于DM368的無人機視頻壓縮系統(tǒng)的設(shè)計[J]. 液晶與顯示,2014,29(6):1119-1120.
[5] 劉少江,朱俊楠,王高亮. 基于嵌入式的無線勘探機器人[J].實驗室研究與探索,2013,32(9):125-126.
[6] 倪偉傳,任志健,丘澤敏. H.264幀內(nèi)預(yù)測算法的優(yōu)化及應(yīng)用[J]. 計算機系統(tǒng)應(yīng)用,2013,22(4):108-109.
[7] 鄧中亮,張紅星,延明. 基于S3C6410和無線傳感器網(wǎng)絡(luò)的手持終端設(shè)計[J]. 電子設(shè)計工程,2011,19(2):1-2.
[8] 劉明波,孫永燦,耿文建. 基于UC/OS-II的嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機工程與設(shè)計,2010,31(24):5214-5215.