馬 野 吉宏安
(海軍大連艦艇學(xué)院 大連 116018)
無(wú)人機(jī)在飛行過(guò)程中,各種因素都可能導(dǎo)致飛行偏航,甚至造成飛行事故。飛行再現(xiàn)技術(shù),能夠迅速還原飛機(jī)各系統(tǒng)的工作情況和各種飛行狀態(tài)信息,從而正確估計(jì)飛行狀態(tài)的變化趨勢(shì)、分析可能存在的故障隱患及危害度,并提供安全級(jí)別報(bào)警和應(yīng)采取的應(yīng)急措施,因此,被廣泛應(yīng)用于飛行事故中的飛參數(shù)據(jù)分析[1]。
目前,國(guó)內(nèi)外的飛行再現(xiàn)技術(shù)在有人駕駛飛機(jī)上的使用已經(jīng)非常成熟,可以實(shí)現(xiàn)三維的飛行仿真,但三維的仿真需要搜集大量數(shù)據(jù)以建立真實(shí)地景模型,系統(tǒng)龐大復(fù)雜,對(duì)計(jì)算機(jī)的圖形硬件有較高的要求[2~3],在無(wú)人機(jī)的使用方面有較大局限性。本文著重介紹的無(wú)人機(jī)二維航跡再現(xiàn)技術(shù),能夠供工作人員迅速、準(zhǔn)確的判斷出偏航區(qū)域,方便、快捷的尋找到問(wèn)題參數(shù),而且操作簡(jiǎn)便,對(duì)硬件要求低,更具有實(shí)際使用價(jià)值。
無(wú)人機(jī)航跡再現(xiàn)作為無(wú)人機(jī)飛參分析系統(tǒng)的重要組成部分,是一種利用電子地圖,結(jié)合飛參數(shù)據(jù),真實(shí)反映無(wú)人機(jī)飛行全程軌跡變化的技術(shù)。論文所研究的系統(tǒng)選擇了GMap.NET控件作為開(kāi)發(fā)航跡再現(xiàn)模塊的核心,其總體結(jié)構(gòu)分為三個(gè)部分,如圖1所示。
圖1 無(wú)人機(jī)航跡再現(xiàn)模塊機(jī)構(gòu)圖
1)地圖瀏覽。系統(tǒng)從飛行記錄中獲取飛參數(shù)據(jù),并自動(dòng)加載該飛行區(qū)域的地圖,供用戶執(zhí)行瀏覽、拖動(dòng)、縮放等操作。
2)航線預(yù)置。提供了在地圖上繪制航跡點(diǎn)、航線并對(duì)進(jìn)行管理的功能,在偏航分析中,通過(guò)實(shí)際航線與預(yù)置航線的比對(duì),可以迅速標(biāo)繪出偏航位置,達(dá)到偏航報(bào)警的功能。
3)航跡再現(xiàn)??梢詫?duì)飛行航跡的快速還原,也可以同步其它飛參數(shù)據(jù)共同進(jìn)行飛行狀態(tài)的動(dòng)態(tài)演示。
地圖加載與瀏覽是無(wú)人機(jī)航跡再現(xiàn)的核心?;贕Map.NET電子地圖的應(yīng)用大多是在線地圖,對(duì)離線地圖的使用很少。本系統(tǒng)中應(yīng)用的是GMap.NET離線地圖的嵌入與瀏覽,其與用戶交互的模型如圖2所示。
圖2 GMap.NET離線地圖模型
圖3 柵格模型
3.1.1 地圖數(shù)據(jù)庫(kù)建立原理
GMap.NET中的電子地圖采用柵格化的數(shù)學(xué)模型,是直接采用面域或空域枚舉來(lái)直接描述空間目標(biāo)對(duì)象的[4]。如圖3所示,該模型的特點(diǎn)是:同一地理區(qū)域,拼接地圖的圖片數(shù)量與地圖縮放的級(jí)數(shù)以及地圖分辨率均成正比[5]。
地圖數(shù)據(jù)庫(kù)存儲(chǔ)和管理著海量的地圖圖片,存儲(chǔ)時(shí)對(duì)每張圖片都指定了URL。不同地圖對(duì)圖片URL的命名有不同的規(guī)則。以百度地圖為例,圖4所示為地圖中圖片的URL,1位置代表的是分布式服務(wù)器地址,2位置是根據(jù)墨卡托投影算法解算出來(lái)的坐標(biāo),3位置是圖片所在的層級(jí)數(shù),4位置代表當(dāng)前版本號(hào),5位置表示通過(guò)瀏覽器訪問(wèn),6位置是固定值[6]。
圖4 百度地圖URL地址
GMap.NET支持對(duì)在線地圖的圖片獲取,通過(guò)GetImageFrom()方法,把選定區(qū)域的各個(gè)層級(jí)的地圖圖片提取出來(lái),并打包生成.gmdb文件,即系統(tǒng)中所用到的離線地圖數(shù)據(jù)包。
3.1.2 GMapProvider接口原理
GMap.NET采取了良好的代碼結(jié)構(gòu),緩存、數(shù)據(jù)結(jié)構(gòu)都遵循了低耦合-高內(nèi)聚的原則,每個(gè)模塊之間的聯(lián)系都是基于接口編程的[7]。GMapProvider就是GMap.NET地圖數(shù)據(jù)源的接口。
由于不同的地圖對(duì)于圖片URL的命名有不同的規(guī)則,所以,當(dāng)客戶端通過(guò)GMapProvider接口調(diào)用地圖時(shí),必須對(duì)所加載地圖的URL命名規(guī)則進(jìn)行明確,調(diào)用流程如圖5所示。
圖5 GMapProvider接口調(diào)用流程
3.1.3 地圖的顯示與操作
通過(guò)對(duì)地圖數(shù)據(jù)庫(kù)和GMapProvider接口的準(zhǔn)備,實(shí)現(xiàn)了離線地圖的顯示功能。通過(guò)定義了一系列的鼠標(biāo)動(dòng)作,如支持對(duì)地圖的拖動(dòng)瀏覽、地圖的縮放、地圖的標(biāo)注以及鷹眼等[8],最終完善了GMap.NET控件在無(wú)人機(jī)航跡再現(xiàn)系統(tǒng)中的應(yīng)用。
對(duì)飛參數(shù)據(jù)進(jìn)行分析時(shí),把預(yù)置航線與再現(xiàn)航線進(jìn)行比對(duì),可以直觀地尋找出偏差位置以及偏離時(shí)刻,極大地簡(jiǎn)化了數(shù)據(jù)分析的難度,提高了工作效率[9]。
航線預(yù)置可分為兩個(gè)部分:一是航線繪制,二是航線管理。GMap.NET地圖控件的分層結(jié)構(gòu)式框架,支持多圖層繪制。同時(shí),提供的一系列功能強(qiáng)大接口,可供用戶定制標(biāo)繪點(diǎn)、標(biāo)繪線的顏色、形狀、大小等,大大簡(jiǎn)化了航線標(biāo)繪的過(guò)程。航線預(yù)置流程如圖6所示。
圖6 航線預(yù)置流程程序圖
航線管理是通過(guò)數(shù)據(jù)庫(kù),將預(yù)置的航線進(jìn)行編號(hào)管理,并提供航線瀏覽查詢和重復(fù)利用。
實(shí)現(xiàn)航跡再現(xiàn),需要用到隨時(shí)間不斷變化的飛行軌跡數(shù)據(jù)。根據(jù)無(wú)人機(jī)飛行記錄系統(tǒng)記錄的導(dǎo)航信息就可以描述飛行軌跡變化情況了。特殊情況下根據(jù)飛行速度、航向及姿態(tài)等信息,也可以換算出位置信息,這就需要在加載地圖前,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理[10]。
3.3.1 航跡繪制
GMap.NET為航線繪制提供了一個(gè)GMapRoute接口,只需要定義一個(gè)List〈〉列表,并將所有的航跡點(diǎn)添入列表中,GMap.NET便可以根據(jù)列表信息,繪制出整個(gè)飛行過(guò)程的航跡線。
3.3.2 動(dòng)態(tài)演示
航跡的動(dòng)態(tài)演示過(guò)程結(jié)合了飛參數(shù)據(jù)分析共同進(jìn)行。系統(tǒng)在演示實(shí)時(shí)軌跡的同時(shí),對(duì)發(fā)動(dòng)機(jī)參數(shù)、變速箱溫度、外界溫度等一系列飛參數(shù)據(jù)的變化曲線也進(jìn)行了繪制,工作人員可根據(jù)需要,隨時(shí)對(duì)相應(yīng)的參數(shù)曲線進(jìn)行分析,對(duì)超出閾值范圍的參數(shù),系統(tǒng)還提供自動(dòng)報(bào)警。動(dòng)態(tài)演示流程如圖7所示。
圖7 航跡再現(xiàn)動(dòng)態(tài)演示程序流程
3.3.3 航跡再現(xiàn)效果
圖8 航跡再現(xiàn)即動(dòng)態(tài)演示效果
無(wú)人機(jī)的航跡再現(xiàn)效果如圖8所示,圖8(a)為無(wú)人機(jī)實(shí)際航跡圖,地圖上方為功能區(qū),提供對(duì)飛行記錄的選擇以及演示參數(shù)的控制,左上角則實(shí)時(shí)顯示了無(wú)人機(jī)實(shí)時(shí)位置信息,并算出了飛行航程。圖8(b)是同步顯示的各項(xiàng)參數(shù)的飛參曲線,左側(cè)的參數(shù)區(qū)域可以對(duì)所要查詢的飛參數(shù)據(jù)進(jìn)行選擇。
本文構(gòu)建的無(wú)人機(jī)航跡再現(xiàn)系統(tǒng),在GMap.NET控件的平臺(tái)上,探討了離線地圖數(shù)據(jù)庫(kù)的建立原理以及GMapProvider接口技術(shù),實(shí)現(xiàn)了多種地圖格式的離線瀏覽與操作;研究了地圖的標(biāo)繪方法,設(shè)計(jì)了預(yù)置航線數(shù)據(jù)庫(kù),實(shí)現(xiàn)了航跡預(yù)置的功能;結(jié)合對(duì)飛參數(shù)據(jù)的獲取和分析,實(shí)現(xiàn)了無(wú)人機(jī)航跡再現(xiàn)的二維動(dòng)態(tài)演示。整個(gè)系統(tǒng)的設(shè)計(jì)簡(jiǎn)潔美觀,可操作性強(qiáng)。
[1]胡朝江,陳列,楊全法.飛機(jī)飛參系統(tǒng)及應(yīng)用[M].北京:國(guó)防工業(yè)出版社,2012:164-165.
[2]高輝,張茂軍.基于真實(shí)地景的三維飛行再現(xiàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2006,32(12):232-240.
[3]趙向領(lǐng).飛行航跡再現(xiàn)與三維回放研究[J].計(jì)算機(jī)工程與科學(xué),2012,34(7):99-103.
[4]何必.地理信息系統(tǒng)原理教程[M].北京:清華大學(xué)出版社,2010:82-90.
[5]CSDN博客redhairp的專欄.柵格那點(diǎn)兒事(一)[EB/OL].http://blog.csdn.net/redhairp/article/details/7238227,2012.
[6]360doc個(gè)人圖書館.深入理解最強(qiáng)桌面地圖控件GMAP.NET[EB/OL].http://www.360doc.com/content/13/0424/16/9163198_28630504.shtml,2013.
[7]開(kāi)源中國(guó)社區(qū).在線地圖瀏覽器GMAP.NET[EB/OL].http://www.oschina.net/p/gmap-net,2012.
[8]孫濤,馬野,孫明珠,等.艦載無(wú)人機(jī)導(dǎo)航信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].艦船電子工程,2013,33(7):4-7.
[9]錢正祥,丁鵬輝,王春龍,等.基于自適應(yīng)技術(shù)的無(wú)人機(jī)飛行航跡控制研究[J].電子測(cè)量與儀器學(xué)報(bào),2007(增刊):38-41.
[10]王軍,程遠(yuǎn)增,段修生,等.基于多線程技術(shù)的目標(biāo)航跡的真實(shí)再現(xiàn)[J].科學(xué)技術(shù)與工程,2007,7(4):511-512.