摘 要:介紹了小型無人機地面站系統(tǒng)的構(gòu)成,地面站視頻接收機的工作原理和飛行數(shù)據(jù)借助于SRV100實現(xiàn)實時傳輸?shù)倪^程。主要研究了地面站計算機在Windows環(huán)境下利用Visual C++6.0讀取串行口輸入的GPS定位數(shù)據(jù),并對該數(shù)據(jù)進行處理和顯示的方法,在此基礎(chǔ)上設(shè)計開發(fā)了盤旋、自動回家功能模塊,達到了應(yīng)用需求。
關(guān)鍵詞:小型無人機;GPS;VC++6.0;導(dǎo)航顯示系統(tǒng)
中圖分類號:TP393 文獻標(biāo)識碼:B
文章編號:1004373X(2008)0509302
Design of Ground Station of Navigation Vision System for Mini-UAV
LI Nan,GE Weili
(Engineering College of Armed Police Force,Xi′an,710086,China)
Abstract:The paper introduces that the composition of autonomous navigation system for mini-UAV,the working principle of video receiver and the real-time transmission progress of aviation data recurring to SRV100.A method to receive and process GPS positioning data in ground computer using Visual C++6.0 under Windows environment is analyzed. Basing on that,the function module of circling and homing are designed and empoldered which is up to the application demand.
Keywords:mini-UAV;GPS VC++6.0;navigation vision system
1 引 言
小型無人機(Mini-UAV)通常指最大起飛重量小于10 kg的飛行器。由于Mini-UAV攜帶方便,操作簡易,成本低廉,因而具有廣泛的應(yīng)用前景。小型無人機可以在多種氣象條件下執(zhí)行空中偵察、目標(biāo)搜索、精確打擊等任務(wù)。考慮到Mini-UAV軍事應(yīng)用上的隱蔽性及保密性,單純采用人工遙控導(dǎo)航飛行是不夠的。
本文針對小型無人機的特點,在閱讀了有關(guān)GPS導(dǎo)航[1]資料的基礎(chǔ)上,設(shè)計開發(fā)了一個人工遙控導(dǎo)航與自主導(dǎo)航相結(jié)合的小型無人機地面站導(dǎo)航顯示系統(tǒng)。該系統(tǒng)具有飛行監(jiān)視、記錄回放等功能。作為無人機地面站控制[2]的一個重要組成部分,導(dǎo)航顯示系統(tǒng)以其優(yōu)越的性能(定位、顯示、路線優(yōu)化等)更具廣泛的實用性。
2 系統(tǒng)構(gòu)成
本地面站系統(tǒng)[3]由地面站設(shè)備和導(dǎo)航顯示軟件兩部分組成,如圖1所示。其中地面站設(shè)備由視頻接收機、視頻眼罩、天線組成。
2.1 導(dǎo)航顯示軟件
導(dǎo)航顯示軟件是運行在地面站計算機上的軟件系統(tǒng),他是無人機飛行控制和管理系統(tǒng)的核心部件,主要完成飛行任務(wù)管理、任務(wù)設(shè)備管理、地面通訊、系統(tǒng)自檢等功能。飛行任務(wù)管理包括電子地圖的配準(zhǔn)、航線規(guī)劃以及飛行狀態(tài)監(jiān)視等。任務(wù)設(shè)備管理包括任務(wù)設(shè)備控制和任務(wù)設(shè)備狀態(tài)回送。
機載飛控系統(tǒng)[4]首先將GPS接收信號中自主導(dǎo)航需要的數(shù)據(jù)(經(jīng)度、緯度和高度)讀取出來,然后根據(jù)用戶數(shù)據(jù)所確定的Mini-UAV當(dāng)前位置和飛控系統(tǒng)存儲器中的預(yù)定航線自主導(dǎo)航[5]飛行。同時,機載飛控系統(tǒng)需要將用戶數(shù)據(jù)輸入到機載發(fā)送器發(fā)送到地面,經(jīng)由單片機接口電路輸入到計算機中進行處理和顯示,以便于地面人員觀察Mini-UAV的自主導(dǎo)航飛行情況。
2.2 視頻接收
地面站視頻接收機是本無人機地面站系統(tǒng)機載視頻載荷與地面進行通訊的核心設(shè)備。他與飛機建立了兩條單向的無線通信線路:機載視頻信息和低速下行數(shù)據(jù)鏈。 視頻發(fā)射機將調(diào)制后的視頻模擬信號發(fā)射至地面站。地面站的視頻接收機經(jīng)天線接收到視頻信號,經(jīng)網(wǎng)絡(luò)伺服器將視頻信號進行解調(diào),最終在地面站顯示器上顯示出來。如圖2所示。
3 通信服務(wù)程序
在地面站設(shè)計中,使用了一種具備路由能力的通訊服務(wù)程序——SRV100,該程序可以使無人機和地面站計算機之間實現(xiàn)組網(wǎng)功能。
地面站計算機和無人機之間通過無線數(shù)傳進行通信[6]。物理上,地面站計算機之間采用TCP/IP通訊(UDP協(xié)議),所以任意兩個設(shè)備之間都具有數(shù)據(jù)聯(lián)系的通路。邏輯上,分布于地面站計算機上的通訊服務(wù)程序?qū)⒇撠?zé)所有飛行數(shù)據(jù)幀轉(zhuǎn)發(fā),利用用戶手動填寫的路由表,實現(xiàn)任意兩臺飛控設(shè)備之間的點對點或廣播式通訊。
4 GPS數(shù)據(jù)的采集與顯示
4.1 開發(fā)環(huán)境及方法
面向?qū)ο蟪绦蛟O(shè)計是軟件系統(tǒng)設(shè)計和實現(xiàn)的新方法。利用Visual C++ 6.0[7]可方便地生成各種菜單及美觀大方的圖形界面,軟件質(zhì)量高且開發(fā)周期短。在Windows環(huán)境下開發(fā)GPS應(yīng)用軟件,操作系統(tǒng)完全接管了各種硬件資源,不允許用戶直接控制串行口的中斷管理。以往,程序員只能通過數(shù)目繁多的API函數(shù)來控制串行口,此方法較復(fù)雜。Visual C++6.0為用戶提供了一個Active X控件Microsoft Comm Control(MSComm),利用他可以很方便地進行計算機串行口的通訊管理。
4.2 GPS的數(shù)據(jù)格式
本文用的是瑞士u-blox公司研制開發(fā)的LEA系列GPS接收機。他采用的是NMEA-0183通信標(biāo)準(zhǔn)模式;輸出數(shù)據(jù)采用ASCII字符碼;GPS接收機的輸入輸出語句均按串行通信協(xié)議;數(shù)據(jù)格式設(shè)為8個數(shù)據(jù)位,1個起始位,1個停止位,無奇偶校驗,波特率為9 600 b/s。GPS可輸出多種不同功能的數(shù)據(jù)語句,其中我們所感興趣的是GGA定位數(shù)據(jù)語句,其格式如下:
$GPGGA,033812.40,4020.736723,N,11647.862761,E,1,05,1.8,57.701,M,-6.434,M,,0000*48
格式中的主要數(shù)據(jù)定義如下:
4.3 數(shù)據(jù)的處理和顯示
本導(dǎo)航顯示軟件的核心部分包括位置信息欄和電子地圖兩部分。
位置信息欄用于實時顯示GPS接收機接收的數(shù)據(jù),其中導(dǎo)航顯示軟件所需要的數(shù)據(jù)是GGA定位數(shù)據(jù) 中的經(jīng)度、緯度和高度,自定義發(fā)送/接收的數(shù)據(jù)如下:4020.736723N11647.862761E57.70。
電子地圖中顯示了用戶飛行器的預(yù)定航點、預(yù)定航線、當(dāng)前位置、實際航跡等。
4.4 編程實現(xiàn)
(1) 在程序中的某個窗體上,插入MSComm控件,設(shè)置其相應(yīng)屬性值。在該控件的OnComm事件中,讀取接收緩沖區(qū)中的全部數(shù)據(jù),并從讀出的數(shù)據(jù)中截取出有用的字符串和所需的一幀完整數(shù)據(jù),將其賦值給三個文本框(TextBox)控件進行顯示和保存,并附加相應(yīng)的按鈕(Button)控件,用以使地面站更好地控制無人機的飛行姿態(tài)。利用保存下來的數(shù)據(jù)在必要時可以復(fù)現(xiàn)Mini-UAV某次自主導(dǎo)航飛行的情況,以便分析自主導(dǎo)航飛行的效果。
(2) 根據(jù)已讀取出的緯度、經(jīng)度和高度的值,利用圖片框(Picture Box)控件,將預(yù)先設(shè)定的飛行航線和自主導(dǎo)航的實際航線實時顯示出來,以便地面人員實時了解和分析Mini-UAV的自主導(dǎo)航飛行情況,如圖3所示。
(3) 針對應(yīng)用需求,在設(shè)計開發(fā)時附加兩個復(fù)選框(Check Box),設(shè)置其相應(yīng)屬性值,分別定義為盤旋和回家。利用Windows API通信函數(shù)對控件進行串口編程。當(dāng)無人機達到目標(biāo)航點時,選中復(fù)選框(盤旋),無人機收到指令將在目標(biāo)航點上空盤旋飛行。在初始化無人機時,選中復(fù)選框(回家),當(dāng)無人機飛出遙控范圍,失去所有指令時,無人機將自動執(zhí)行預(yù)先在飛控系統(tǒng)中設(shè)置好的回家指令,朝著起飛地點自主飛行。
4.5 功能實現(xiàn)
通過試驗仿真和實際飛行證明,該導(dǎo)航顯示系統(tǒng)完成了如下功能:數(shù)據(jù)的實時傳輸顯示,電子地圖與實際航線的同步顯示與配準(zhǔn),在功能模塊上,開發(fā)了盤旋、回家功能,提高了無人機飛行的安全性與可靠性。
5 結(jié) 語
本文介紹了GPS的數(shù)據(jù)格式和自定義的發(fā)送/接收數(shù)據(jù)格式,主要討論了在Windows環(huán)境下利用Visual C++ 6.0開發(fā)小型無人機自主導(dǎo)航系統(tǒng)的GPS定位數(shù)據(jù)處理和顯示的方法。該方法具有簡單實用、開發(fā)周期短、效果好等優(yōu)點。
參考文獻
[1]梁秋憧,程維明.超小型飛行器GPS自主導(dǎo)航算法的研究[J].無線電工程,2002,32(12):27-30.
[2]田峰,杜洪根.無人機地面站控制系統(tǒng)設(shè)計[J].計算機測量與控制,2005,13(11):1 237-1 239.
[3]張建琳.試飛監(jiān)控與指揮系統(tǒng)的建立及應(yīng)用[J].測控技術(shù),2004,23(8):65-67,78.
[4]嚴晞雋,高金源,屠巴寧.小型無人機水平導(dǎo)航控制研究[J].飛行力學(xué),2000,12(4):24-27.
[5]梁秋憧,程維明,潘志浩.超小型飛行器GPS自主導(dǎo)航系統(tǒng)地面站設(shè)計[J].機電一體化,2002(6):23-26.
[6]求是科技.Visual C++串口通信技術(shù)與工程實踐[M].北京:人民郵電出版社,2004.
[7]Bruce Eckel.C++編程思想[M].劉宗田,譯.北京:機械工業(yè)出版社,2000.
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。”