《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于無(wú)人機(jī)的圖像和GPS數(shù)據(jù)采集系統(tǒng)的研究與實(shí)現(xiàn)
基于無(wú)人機(jī)的圖像和GPS數(shù)據(jù)采集系統(tǒng)的研究與實(shí)現(xiàn)
來(lái)源:微型機(jī)與應(yīng)用2012年第1期
陳貽國(guó),,潘日敏,,申 燊
(浙江師范大學(xué) 數(shù)理信息與工程學(xué)院,,浙江 金華 321004)
摘要: 針對(duì)小型無(wú)人機(jī)航拍系統(tǒng)的功能要求和存在的問題,,設(shè)計(jì)了一種圖像和GPS 數(shù)據(jù)采集系統(tǒng),,并給出了系統(tǒng)的結(jié)構(gòu)和工作原理,。系統(tǒng)以ARM單片機(jī)為核心,,采用無(wú)線通信方式將串口采集到的數(shù)據(jù)發(fā)送到地面基站,,并在上位機(jī)上顯示,。對(duì)數(shù)據(jù)采集,、無(wú)線發(fā)送和上位機(jī)編程等關(guān)鍵問題作了分析,并給出了設(shè)計(jì)方案,。實(shí)地試驗(yàn)表明,,本系統(tǒng)工作穩(wěn)定,可滿足無(wú)人機(jī)航拍系統(tǒng)的要求,。
Abstract:
Key words :

摘  要: 針對(duì)小型無(wú)人機(jī)航拍系統(tǒng)的功能要求和存在的問題,,設(shè)計(jì)了一種圖像和GPS 數(shù)據(jù)采集系統(tǒng),并給出了系統(tǒng)的結(jié)構(gòu)和工作原理,。系統(tǒng)以ARM單片機(jī)為核心,,采用無(wú)線通信方式將串口采集到的數(shù)據(jù)發(fā)送到地面基站,并在上位機(jī)上顯示,。對(duì)數(shù)據(jù)采集,、無(wú)線發(fā)送和上位機(jī)編程等關(guān)鍵問題作了分析,并給出了設(shè)計(jì)方案。實(shí)地試驗(yàn)表明,,本系統(tǒng)工作穩(wěn)定,,可滿足無(wú)人機(jī)航拍系統(tǒng)的要求。
關(guān)鍵詞: 無(wú)人機(jī),;STM32,;無(wú)線傳輸;圖像采集

 無(wú)人機(jī)系統(tǒng)作為一種高端的遙控設(shè)備已經(jīng)被廣泛應(yīng)用于軍事偵查,、遠(yuǎn)程監(jiān)控和地質(zhì)測(cè)繪等領(lǐng)域,。通常無(wú)人機(jī)系統(tǒng)的首要任務(wù)是將實(shí)時(shí)采集到的圖像信號(hào)通過無(wú)線通信設(shè)備傳送到地面基站。國(guó)外對(duì)于這方面的研究較早,,但由于技術(shù)封鎖等原因,,目前可供借鑒的資料很少,加之我國(guó)在該方面研究起步較晚,,致使我國(guó)在無(wú)人機(jī)無(wú)線視頻圖像傳輸領(lǐng)域的技術(shù)較落后?,F(xiàn)階段的無(wú)人機(jī)圖像采集技術(shù)主要有兩種方式:一種是采用模擬傳輸方式,其頻率使用率較低,,系統(tǒng)易受干擾,,其圖像質(zhì)量較差,信道編碼效率不高,,且抗多徑干擾較差,;另一種是采用模擬的CCD攝像頭通過模數(shù)轉(zhuǎn)換芯片變?yōu)閿?shù)字信號(hào),再由控制器進(jìn)行壓縮和處理,,這樣不僅加重了控制器的負(fù)擔(dān),,而且也易造成系統(tǒng)功耗較大。同時(shí),,由于小型飛行器的載重及能量供給非常有限,,對(duì)機(jī)載部分的功耗,、重量和安裝尺度等都提出了更為嚴(yán)格的要求,。本文設(shè)計(jì)了一種基于CMOS攝像頭和數(shù)字圖像處理芯片的圖像和GPS數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)具有體積小,、傳輸速率高,、傳輸距離遠(yuǎn)、帶有數(shù)據(jù)壓縮和圖像增強(qiáng)功能的特點(diǎn)[1-12],。
 地面基站作為無(wú)人機(jī)系統(tǒng)的“神經(jīng)中樞”,,擔(dān)負(fù)著采集及分析飛行數(shù)據(jù)、驗(yàn)證及評(píng)價(jià)飛行效果和保證飛行安全等重要任務(wù),。因而,,一個(gè)好的無(wú)人機(jī)系統(tǒng)常常需要有功能強(qiáng)大的地面基站平臺(tái)才能發(fā)揮最好的飛行效果。本文設(shè)計(jì)了一種利用VB編程軟件在PC機(jī)上實(shí)現(xiàn)的具有航跡記錄與預(yù)測(cè),、手動(dòng)控制飛行,、飛行狀態(tài)監(jiān)控和視頻圖像顯示等功能的地面基站平臺(tái),。地面實(shí)驗(yàn)表明該系統(tǒng)具有很好的應(yīng)用效果[9]。
1 系統(tǒng)結(jié)構(gòu)和工作原理
 本系統(tǒng)包括機(jī)載的視頻圖像采集系統(tǒng)和地面基站平臺(tái)兩部分,,其結(jié)構(gòu)框圖如圖1所示,。系統(tǒng)硬件由攝像頭模塊、GPS數(shù)據(jù)采集模塊,、STM32微控制器和NRF905無(wú)線通信模塊構(gòu)成,。

 該系統(tǒng)以STM32F103RBT6微控制器為核心,機(jī)載微控制器通過串口1和串口2分別與VC0706圖像處理芯片和GPS接收機(jī)進(jìn)行通信,,主要實(shí)現(xiàn)以下幾個(gè)功能,。(1)機(jī)載微控制器通過控制指令控制VC0706圖像處理芯片實(shí)現(xiàn)控制攝像頭拍照、圖像數(shù)據(jù)壓縮以及數(shù)字圖像傳輸?shù)热蝿?wù),。(2)機(jī)載微控制器將GPS接收機(jī)發(fā)出的數(shù)據(jù)按照國(guó)家標(biāo)準(zhǔn)的GPS接收機(jī)數(shù)據(jù)輸出格式(GB/T 20512-2006)進(jìn)行解碼,。再將采集到的圖像數(shù)據(jù)和GPS數(shù)據(jù)按照事先約定好的通信協(xié)議通過NRF905無(wú)線通信模塊與地面基站的STM32微控制器進(jìn)行通信,基站的微控制器再將數(shù)據(jù)通過內(nèi)嵌的USB接口傳送到上位機(jī)上,。由此,,實(shí)現(xiàn)了圖像和GPS定位信息的采集、傳輸和上位機(jī)顯示的功能,。
2 相關(guān)問題及設(shè)計(jì)方案
 本系統(tǒng)大體可分為圖像和GPS數(shù)據(jù)采集,、無(wú)線通信以及上位機(jī)編程三部分。
2.1 數(shù)據(jù)采集系統(tǒng)
 圖像數(shù)據(jù)采集需要克服數(shù)據(jù)量大,、傳輸實(shí)時(shí)性等問題,,同時(shí),需要考慮到STM32微控制器內(nèi)部數(shù)據(jù)儲(chǔ)存容量有限[1],,對(duì)圖像數(shù)據(jù)需要進(jìn)行分批傳輸,。數(shù)字?jǐn)z像頭采集一幅480×640的圖像數(shù)據(jù)量為307 200 B,而經(jīng)過VC7076處理芯片進(jìn)行壓縮率為30%的壓縮處理后,,數(shù)據(jù)量可以減少為92 160 B左右[6],。STM32微控制器的串口傳輸速率可以達(dá)到115 200 b/s[4],而STM32F103RBT6微控制器的內(nèi)部數(shù)據(jù)存儲(chǔ)器只有20 KB,,無(wú)法保存一幅完整的圖像數(shù)據(jù),。由于NRF905無(wú)線發(fā)射模塊每次最多發(fā)射32 B的數(shù)據(jù),因此VC7076中接收數(shù)據(jù)只需要微控制器發(fā)送起始地址和結(jié)束地址指令即可,。所以,,在微控制器的軟件設(shè)計(jì)中定義了兩塊容量為1 KB的數(shù)據(jù)存儲(chǔ)塊,并且在接收數(shù)據(jù)時(shí)使用微控制器內(nèi)嵌DMA模塊,。初始化時(shí),,設(shè)置DMA數(shù)據(jù)為串口數(shù)據(jù)輸入,這樣每當(dāng)微控制器的串口接收到1 B的數(shù)據(jù),就可以通過DMA模塊自動(dòng)地保存到相應(yīng)的地址中而不需要微控制器內(nèi)部CPU的參與,,這使得CPU可以空閑出來(lái)進(jìn)行發(fā)送部分的處理,。當(dāng)一塊數(shù)據(jù)接收完成后,會(huì)觸發(fā)DMA中斷,,CPU就可以在中斷中重新配置起始地址和結(jié)束地址,,使得微控制器能夠循環(huán)進(jìn)行數(shù)據(jù)接收。在程序中,,首先定義了一個(gè)用于數(shù)據(jù)接收和發(fā)送的結(jié)構(gòu)體,,其中的數(shù)據(jù)成員是兩個(gè)容量為1 KB的存儲(chǔ)數(shù)據(jù)塊和用于指示接收和發(fā)送所用的數(shù)據(jù)塊指針。數(shù)據(jù)接收的軟件流程圖如圖2所示,。

 該軟件程序初始定義為:
struct Image_get_send
{
 unsignedchar dat_array[2][1024],;
 unsigned char send_flag;
 unsigned char get_flag,;
}
 由于GPS接收機(jī)發(fā)出的數(shù)據(jù)以ASCII碼的形式發(fā)出,,并且按照GB/T 20512-2006標(biāo)準(zhǔn)進(jìn)行信息編碼,因而需要對(duì)從接收機(jī)接收到的數(shù)據(jù)進(jìn)行解碼從而得到能進(jìn)行處理和識(shí)別的數(shù)據(jù),。GPS接收機(jī)采用的是Gstar GS-89模塊,,該模塊能夠檢測(cè)當(dāng)前位置的經(jīng)度、緯度,、海拔高度,、標(biāo)準(zhǔn)定位時(shí)間和接收衛(wèi)星數(shù)等信息。GPS接收機(jī)輸出的信息是以語(yǔ)句的形式進(jìn)行發(fā)送的,,總共有5種語(yǔ)句,,每條語(yǔ)句都以$開頭,并以回車結(jié)束,,同一語(yǔ)句中的不同數(shù)據(jù)之間采用逗號(hào)隔開,。其中,GPGGA語(yǔ)句包含當(dāng)前的定位信息,,也是應(yīng)用最廣的語(yǔ)句,,因而,對(duì)GPGGA語(yǔ)句的解碼最重要,。GPRMC語(yǔ)句的格式如下:
 $GPGGA,,(1),,(2),,(3),(4),,(5),,(6),(7),(8),,(9),,M,(10),,M,,(11),(12)*hh(CR)(LF)
 其中,,(1)表示定位時(shí)間,,(2)、(3)表示緯度,,(4),、(5)表示經(jīng)度,(9)表示海拔高度,。對(duì)上述數(shù)據(jù)的解碼是系統(tǒng)獲取GPS數(shù)據(jù)的重點(diǎn),,解碼的軟件流程圖如圖3所示。

2.2 無(wú)線通信系統(tǒng)
 無(wú)人機(jī)與地面基站之間數(shù)據(jù)的傳送需要使用無(wú)線通信系統(tǒng)來(lái)進(jìn)行,。系統(tǒng)的無(wú)線通信部分采用的是NRF905-33A無(wú)線模塊,,該模塊的最遠(yuǎn)通信距離可達(dá)到3 km,非常適于小范圍內(nèi)的通信網(wǎng)絡(luò),,而且重量輕,,適于在無(wú)人機(jī)上進(jìn)行攜帶。
 NRF905-33A無(wú)線模塊一次只能傳送32 B,,微控制器每次需要等待無(wú)線模塊傳送完成后才能進(jìn)行下一次的數(shù)據(jù)傳送,。而系統(tǒng)中需要進(jìn)行GPS和圖像兩種數(shù)據(jù)的傳送。為了提高無(wú)線通信的速率和通信的準(zhǔn)確性,,系統(tǒng)采用了分時(shí)傳送的方法,,即利用GPS接收機(jī)每隔1 s更新一次定位數(shù)據(jù)的特性,將GPS數(shù)據(jù)的傳送設(shè)定為1 s傳送一次,,而其他時(shí)間則進(jìn)行圖像數(shù)據(jù)傳送,。為了區(qū)分圖像數(shù)據(jù)和GPS數(shù)據(jù),在每次不同數(shù)據(jù)轉(zhuǎn)換時(shí)采用了發(fā)送32個(gè)相同數(shù)據(jù)的方法與地面基站的接收機(jī)進(jìn)行同步,。
2.3 上位機(jī)編程

 


 上位機(jī)編程采用了Visual Basic編程語(yǔ)言,。該編程語(yǔ)言是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言,,不僅簡(jiǎn)單易學(xué),,而且功能強(qiáng)大。
上位機(jī)需要解決的主要問題是如何進(jìn)行圖像的顯示,。由于傳送到上位機(jī)的數(shù)據(jù)為JPEG格式,,本文采用了一個(gè)較為巧妙的方法,,即先打開一個(gè)空的JPEG格式的文件,然后在有數(shù)據(jù)發(fā)送到上位機(jī)時(shí)就檢測(cè)該數(shù)據(jù)是否為圖像的數(shù)據(jù)頭(0xff,,0xd8)或數(shù)據(jù)尾(0xff,,0xd9),并將數(shù)據(jù)寫入到打開的圖像文件中,。當(dāng)檢測(cè)到的數(shù)據(jù)為數(shù)據(jù)尾時(shí),,就將圖像文件顯示出來(lái)。其編程語(yǔ)句如下,。
Public Sub ImageManage(bytinput()As Byte,, intInputLenth As Integer)
     Dim n As Integer
     Dim s As Byte
     On Error GoTo errji
        Put #1,,,bytinput()           
     //將獲得的數(shù)據(jù)寫入到文件中
     For n = 0 To intInputLenth – 2
If bytinput(n+1)=&HD9 And bytinput(n)=&HFF Then
            //是否到最后的數(shù)據(jù)
Close #1
Form1.Image1.Picture = LoadPicture("C:\rtaub.jpeg")  
//顯示圖像文件
flag1_c = False
Open "C:\rtaub.jpeg" For Binary As #1
//打開一個(gè)JPEG格式的文件
flag_c = True
n = intInputLenth – 2       
//獲取傳入數(shù)據(jù)的長(zhǎng)度
Form1.Text3.Text = ""
     Rxd_code = 0
             End If
         Next n
         Exit Sub
     errji:         //打開出錯(cuò)
     Close #1    //關(guān)閉先前文件
Open"C:\rtaub.jpeg" For Binary As #1  //重新打開文件
     flag_c=True
     flag1_c=False
     Exit Sub
     End Sub
 本文針對(duì)無(wú)人機(jī)系統(tǒng)的特性以及要求,,提出了一種基于STM32微處理器實(shí)現(xiàn)圖像和GPS數(shù)據(jù)采集、傳輸以及在上位機(jī)顯示的設(shè)計(jì)方案,。經(jīng)過靜態(tài)的地面測(cè)試證明,,該系統(tǒng)能夠很好地實(shí)現(xiàn)設(shè)計(jì)要求的功能,而且傳輸速度較快,,可以滿足無(wú)人機(jī)系統(tǒng)的實(shí)時(shí)性要求,;該系統(tǒng)運(yùn)行良好,抗干擾能力強(qiáng),,有很好的繼承性和維護(hù)性,。本系統(tǒng)模塊化的設(shè)計(jì)方案和實(shí)現(xiàn)方法對(duì)無(wú)人機(jī)系統(tǒng)的設(shè)計(jì)和研究具有一定的參考價(jià)值。采用STM32微處理器,,可以大大降低無(wú)人機(jī)系統(tǒng)的硬件設(shè)計(jì)難度,,縮短設(shè)計(jì)周期。此外,,STM32微處理器還支持串口燒錄和在線仿真,,可以大大減少軟件設(shè)計(jì)的成本。隨著ARM單片機(jī)功能的不斷提升,,基于ARM技術(shù)的STM32系列單片機(jī)以它特有的優(yōu)勢(shì)將在高新技術(shù)領(lǐng)域得到廣泛的應(yīng)用,。
參考文獻(xiàn)
[1] 張綺文.ARM嵌入式常用模塊與綜合系統(tǒng)設(shè)計(jì)實(shí)例精講[M].北京:電子工業(yè)出版社,2007.
[2] 閻石.?dāng)?shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,,2008.
[3] 楊素行.模擬電子技術(shù)基礎(chǔ)簡(jiǎn)明教程(第三版)[M].北京:高等教育出版社,,2006.
[4] 張?chǎng)危畣纹瑱C(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2005.
[5] 姜志海.單片機(jī)的C語(yǔ)言程序設(shè)計(jì)與應(yīng)用[M].北京:電子工業(yè)出版社,,2008.
[6] 畢文仲.微型攝像與視頻通信系統(tǒng)研究[D].北京:清華大學(xué),,2001.
[7] 袁哲俊,謝大綱,,胡忠輝.微飛行器技術(shù)的最新發(fā)展[J].航空精密制造技術(shù),,2005,41(1):1-5.
[8] 張汝成,,王廣生,,張磊.基于ARM的電梯主控制器設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2009,,17(10):1958-1961.
[9] 田蜂,,杜洪根.無(wú)人機(jī)地面站控制系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2005,,13(11):1237-1239.
[10] 司兵,,周傳忠,于歌.一種微小型無(wú)人機(jī)地面監(jiān)控系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)[J].系統(tǒng)仿真技術(shù),,2007,,3(2):90-95.
[11] 郝志成,朱明.智能目標(biāo)檢測(cè)與跟蹤系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].光電工程,,2007,,34(1):27-31.
[12] STINGU E, LEWIS F L. A hard ware platform for research in helicopter UAV control[J]. Journal of Intelligent & Robotic Systems,, 2009,,54(1-3):387-406.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。