馬 野 吉宏安
(海軍大連艦艇學院 大連 116018)
無人機在飛行過程中,各種因素都可能導致飛行偏航,甚至造成飛行事故。飛行再現技術,能夠迅速還原飛機各系統的工作情況和各種飛行狀態信息,從而正確估計飛行狀態的變化趨勢、分析可能存在的故障隱患及危害度,并提供安全級別報警和應采取的應急措施,因此,被廣泛應用于飛行事故中的飛參數據分析[1]。
目前,國內外的飛行再現技術在有人駕駛飛機上的使用已經非常成熟,可以實現三維的飛行仿真,但三維的仿真需要搜集大量數據以建立真實地景模型,系統龐大復雜,對計算機的圖形硬件有較高的要求[2~3],在無人機的使用方面有較大局限性。本文著重介紹的無人機二維航跡再現技術,能夠供工作人員迅速、準確的判斷出偏航區域,方便、快捷的尋找到問題參數,而且操作簡便,對硬件要求低,更具有實際使用價值。
無人機航跡再現作為無人機飛參分析系統的重要組成部分,是一種利用電子地圖,結合飛參數據,真實反映無人機飛行全程軌跡變化的技術。論文所研究的系統選擇了GMap.NET控件作為開發航跡再現模塊的核心,其總體結構分為三個部分,如圖1所示。

圖1 無人機航跡再現模塊機構圖
1)地圖瀏覽。系統從飛行記錄中獲取飛參數據,并自動加載該飛行區域的地圖,供用戶執行瀏覽、拖動、縮放等操作。
2)航線預置。提供了在地圖上繪制航跡點、航線并對進行管理的功能,在偏航分析中,通過實際航線與預置航線的比對,可以迅速標繪出偏航位置,達到偏航報警的功能。
3)航跡再現。可以對飛行航跡的快速還原,也可以同步其它飛參數據共同進行飛行狀態的動態演示。
地圖加載與瀏覽是無人機航跡再現的核心。基于GMap.NET電子地圖的應用大多是在線地圖,對離線地圖的使用很少。本系統中應用的是GMap.NET離線地圖的嵌入與瀏覽,其與用戶交互的模型如圖2所示。

圖2 GMap.NET離線地圖模型

圖3 柵格模型
3.1.1 地圖數據庫建立原理
GMap.NET中的電子地圖采用柵格化的數學模型,是直接采用面域或空域枚舉來直接描述空間目標對象的[4]。如圖3所示,該模型的特點是:同一地理區域,拼接地圖的圖片數量與地圖縮放的級數以及地圖分辨率均成正比[5]。
地圖數據庫存儲和管理著海量的地圖圖片,存儲時對每張圖片都指定了URL。不同地圖對圖片URL的命名有不同的規則。以百度地圖為例,圖4所示為地圖中圖片的URL,1位置代表的是分布式服務器地址,2位置是根據墨卡托投影算法解算出來的坐標,3位置是圖片所在的層級數,4位置代表當前版本號,5位置表示通過瀏覽器訪問,6位置是固定值[6]。

圖4 百度地圖URL地址
GMap.NET支持對在線地圖的圖片獲取,通過GetImageFrom()方法,把選定區域的各個層級的地圖圖片提取出來,并打包生成.gmdb文件,即系統中所用到的離線地圖數據包。
3.1.2 GMapProvider接口原理
GMap.NET采取了良好的代碼結構,緩存、數據結構都遵循了低耦合-高內聚的原則,每個模塊之間的聯系都是基于接口編程的[7]。GMapProvider就是GMap.NET地圖數據源的接口。
由于不同的地圖對于圖片URL的命名有不同的規則,所以,當客戶端通過GMapProvider接口調用地圖時,必須對所加載地圖的URL命名規則進行明確,調用流程如圖5所示。

圖5 GMapProvider接口調用流程
3.1.3 地圖的顯示與操作
通過對地圖數據庫和GMapProvider接口的準備,實現了離線地圖的顯示功能。通過定義了一系列的鼠標動作,如支持對地圖的拖動瀏覽、地圖的縮放、地圖的標注以及鷹眼等[8],最終完善了GMap.NET控件在無人機航跡再現系統中的應用。
對飛參數據進行分析時,把預置航線與再現航線進行比對,可以直觀地尋找出偏差位置以及偏離時刻,極大地簡化了數據分析的難度,提高了工作效率[9]。
航線預置可分為兩個部分:一是航線繪制,二是航線管理。GMap.NET地圖控件的分層結構式框架,支持多圖層繪制。同時,提供的一系列功能強大接口,可供用戶定制標繪點、標繪線的顏色、形狀、大小等,大大簡化了航線標繪的過程。航線預置流程如圖6所示。

圖6 航線預置流程程序圖
航線管理是通過數據庫,將預置的航線進行編號管理,并提供航線瀏覽查詢和重復利用。
實現航跡再現,需要用到隨時間不斷變化的飛行軌跡數據。根據無人機飛行記錄系統記錄的導航信息就可以描述飛行軌跡變化情況了。特殊情況下根據飛行速度、航向及姿態等信息,也可以換算出位置信息,這就需要在加載地圖前,對數據進行預處理[10]。
3.3.1 航跡繪制
GMap.NET為航線繪制提供了一個GMapRoute接口,只需要定義一個List〈〉列表,并將所有的航跡點添入列表中,GMap.NET便可以根據列表信息,繪制出整個飛行過程的航跡線。
3.3.2 動態演示
航跡的動態演示過程結合了飛參數據分析共同進行。系統在演示實時軌跡的同時,對發動機參數、變速箱溫度、外界溫度等一系列飛參數據的變化曲線也進行了繪制,工作人員可根據需要,隨時對相應的參數曲線進行分析,對超出閾值范圍的參數,系統還提供自動報警。動態演示流程如圖7所示。

圖7 航跡再現動態演示程序流程
3.3.3 航跡再現效果

圖8 航跡再現即動態演示效果
無人機的航跡再現效果如圖8所示,圖8(a)為無人機實際航跡圖,地圖上方為功能區,提供對飛行記錄的選擇以及演示參數的控制,左上角則實時顯示了無人機實時位置信息,并算出了飛行航程。圖8(b)是同步顯示的各項參數的飛參曲線,左側的參數區域可以對所要查詢的飛參數據進行選擇。
本文構建的無人機航跡再現系統,在GMap.NET控件的平臺上,探討了離線地圖數據庫的建立原理以及GMapProvider接口技術,實現了多種地圖格式的離線瀏覽與操作;研究了地圖的標繪方法,設計了預置航線數據庫,實現了航跡預置的功能;結合對飛參數據的獲取和分析,實現了無人機航跡再現的二維動態演示。整個系統的設計簡潔美觀,可操作性強。
[1]胡朝江,陳列,楊全法.飛機飛參系統及應用[M].北京:國防工業出版社,2012:164-165.
[2]高輝,張茂軍.基于真實地景的三維飛行再現系統的設計與實現[J].計算機工程,2006,32(12):232-240.
[3]趙向領.飛行航跡再現與三維回放研究[J].計算機工程與科學,2012,34(7):99-103.
[4]何必.地理信息系統原理教程[M].北京:清華大學出版社,2010:82-90.
[5]CSDN博客redhairp的專欄.柵格那點兒事(一)[EB/OL].http://blog.csdn.net/redhairp/article/details/7238227,2012.
[6]360doc個人圖書館.深入理解最強桌面地圖控件GMAP.NET[EB/OL].http://www.360doc.com/content/13/0424/16/9163198_28630504.shtml,2013.
[7]開源中國社區.在線地圖瀏覽器GMAP.NET[EB/OL].http://www.oschina.net/p/gmap-net,2012.
[8]孫濤,馬野,孫明珠,等.艦載無人機導航信息系統設計與實現[J].艦船電子工程,2013,33(7):4-7.
[9]錢正祥,丁鵬輝,王春龍,等.基于自適應技術的無人機飛行航跡控制研究[J].電子測量與儀器學報,2007(增刊):38-41.
[10]王軍,程遠增,段修生,等.基于多線程技術的目標航跡的真實再現[J].科學技術與工程,2007,7(4):511-512.