摘 要:航路規劃作為無人機執行飛行任務的重要環節,是無人機系統的重要組成部分。本文闡述了無人機航路規劃的需求,并對其中的關鍵模塊,飛行任務管理、基于ArcGIS Engine的可視化航路規劃的實現進行了論述。
關鍵詞:軟件質量保障;軟件缺陷預測;軟件度量元;機器學習;數據集預處理
中圖分類號:TP311 文獻標識碼:A 文章編號:2096-4706(2018)03-0078-03
Research and Implementation of Visual UAV Route Planning Software
YUAN Yuan
(North China Institute of Computing Technology,Beijing 100083,China)
Abstract:UAV air route planning as the important step of flight mission,which is the kernel part of UAV system. In this paper,it provide the requirement of air route planning. For the system key models:flight mission management,ArcGIS Engine visualized air route planning achievement are discussed in detail.
Keywords:software quality assurance;software defect prediction;software metrics;machine learning;data set preprocessing
0 引 言
自從上個世紀無人機應用于戰爭,并在作戰、偵查、監視等方面取得了顯著的效果后,諸多國家開始對無人機進行研究[1]。無人機系統主要由飛行器及地面站組成,其中航路規劃是地面站的重要功能之一。
航跡規劃是指在特定約束條件下,尋找運動體從初始點到目標點滿足某種性能指標最優的運動航跡。在軍事上航跡規劃主要是利用地形和敵情等信息,規劃得出飛行器生存概率和航程綜合指標最優的突防航跡[2]。
航路規劃軟件一般具有任務管理(含航路管理)、可視化航路規劃、基于地理信息系統的綜合顯示功能,并根據任務需求、地形信息,配合飛行器的性能來規劃合理的飛行路線。
任務管理是整個航路規劃系統的基礎。任務管理對飛行任務進行記錄、編輯和可檢索查詢,是航路規劃中非常重要的一部分。主要可分為創建任務、編輯任務及查找任務,可在系統中開辟一塊單獨的區域進行飛行任務存放。飛行任務以文本格式進行存放,為了方便操作,創建任務、編輯任務和查詢任務條件都以填空的形式進行。
1 任務管理的設計與實現
1.1 創建任務
根據任務需求創建飛行任務,通過填空形式填寫任務名稱、任務的詳細描述、任務所需的航路數據及任務存放的位置,建立文本文件,并將信息記錄于文本中。
1.2 編輯任務
由于任務需求的改動或其他一些因素的變動,為了更好的下達飛行任務,對已有的飛行任務內容進行選擇性修改,如任務名稱、任務描述及所包含的航路數據;輸入所要修改的飛行任務路徑及名稱,獲取飛行任務的詳細信息,并將信息根據關鍵詞進行分割提取,填到編輯任務界面的相應空格中,空格處于可編輯狀態,經過編輯修改后,對飛行任務進行更新保存。
1.3 查找任務
對指定位置的飛行任務根據名稱、時間、類型進行查詢,將所有查詢結果以記錄的形式顯示于飛行任務表中,通過選中其中的飛行任務記錄,獲取飛行任務的路徑及名稱,打開并讀取信息進行顯示,方便快速查看飛行任務。
2 航路規劃的設計與實現
航路規劃功能模塊是整個航路規劃軟件的關鍵部分,無人機航路規劃一般分為兩個層次:第一層次是整體參考航跡規劃,即對任務需求、安全需求和戰略考慮等多方面實現整體把握,從而進行飛行航路整體規劃;第二層次是局部航跡動態優化,即由于局部的一些小限制、小威脅,對局部航路進行修改優化[3]。根據各種因素,從整體上進行了航路數據創建,并對創建的航路數據進行局部修改調整,以完善數據。主要可分為創建航路規劃、編輯航路規劃及查看航路規劃。
3 創建航路規劃數據
創建航路規劃數據是航路規劃模塊的主要功能,也是第一層次整體參考航跡規劃的主要體現。可采用兩種方式來創建航路規劃數據:地圖顯示區域直接繪制航路規劃數據和通過填寫表格經緯度及相對距離來創建航路規劃數據。如圖1所示。
在地圖顯示區域直接繪制航路規劃數據需要借助于ArcGIS Engine組件庫來實現,使航路規劃數據的創建更加直觀。
繪制創建航路規劃數據的流程,如下圖2所示。
輸入數據:將基礎地圖數據、高程數據和規避區數據添加到ArcGIS Engine的地圖顯示組件中,為繪制創建航路規劃數據提供基礎;
獲取活躍點位置信息:獲取地圖顯示控件中活躍點的經緯度位置信息;
相對距離的計算:在確定起始航點的基礎上,計算活躍點與起始航點的相對距離;
確定航點:在經緯度和相對距離及規避數據的來確定航點;
航點的地理信息獲取:主要包括經緯度位置信息、高程信息及相對位置距離;
航路數據的繪制顯示:將航點、航線繪制于ArcGIS Engine的地圖顯示組件中;
繪制創建航路數據的關鍵點為地理信息獲取和航路數據繪制顯示。
在創建航路規劃關鍵點時獲取其地理信息較為關鍵,主要包括經緯度、高程及相對距離。在此包含活躍點地理位置的獲取、相對距離的計算、確認航點后高程信息的獲取。創建航路規劃數據時地圖顯示區域一般包含基礎數據層和高程數據層及規避數據圖層。具體操作步驟如下:
(1)活躍點地理位置的獲取。通過ArcGIS Engine中Display庫的接口在基礎數據層中獲取航路規劃關鍵點的經緯度位置,并顯示于底部狀態欄的左側,單位為度;
(2)相對距離的計算。在確定了起始航點后,在尋找下一航點過程中,即時計算活躍點與起始航點之間的相對距離。為了航路數據的準確性,本軟件采用墨卡托投影方法,將經緯度轉變成相對距離,在繪制創建航路規劃數據時顯示于底部狀態欄的右側,單位為米;
(3)航點高程信息的獲取。在確定了航點,即確定其坐標位置后,根據坐標位置來獲取高程數據圖層中相應的高程信息;高程信息在輔助窗口中顯示,單位為米。
航路數據繪制顯示主要采用ArcGIS Engine組件庫的組件和接口庫來實現,用到的組件是MapControl組件,接口庫主要有Carto、Display、Geometry等,具體介紹如下:
MapControl組件:用來顯示二維數據的組件;
Carto庫:主要是用來繪制圖像的接口庫,比如繪制航路規劃數據時用到的點要素、線要素、標簽要素、要素容器等接口都來自于此;
Display庫:用來顯示的接口庫。比如點、線的樣式,地圖的刷新、區域顯示等接口;
Geometry庫:是矢量圖形庫,如點、線等。
在地圖顯示區域繪制航路規劃數據是獲得航路的關鍵點,通過Geometry庫來記錄其點、線,然后將點、線矢量圖形信息轉換為Carto庫中相應的要素,并通過Display庫來顯示出來。
表格創建航路規劃數據,即手動在航路關鍵點中添加航點信息。在起始點需填寫經緯度位置、高程信息,其他關鍵點可填寫經緯度位置或與起點的相對距離、高程信息。在填表過程中系統自動對經緯度與相對距離之間進行相應的轉變計算。
編輯航路數據功能模塊是整個航路規劃的重要部分,它對航路規劃數據進行微調或改動,第二層次的局部航跡動態優化主要在此完成,對現有航路規劃數據的航點信息進行修改。
編輯航路規劃數據功能通過對航路關鍵點信息表中的相關信息進行修改來完成,如變動航點的經緯度、相對距離、飛行高度、添加航點、刪除航點等功能,在改動航點表后,軟件會根據現在數據信息對地圖顯示區域的航線進行變動,具體如下:
(1)數據同步。在編輯航路規劃數據時,表信息與地圖顯示信息的同步,表中信息的同步是本模塊的關鍵點。
(2)表與圖信息同步。當表中經緯度發生變化時,將相應點到經緯度數據進行記錄,并根據新的信息,借助ArcGIS Engine組件及接口(同上)進行重新繪制。
(3)表中信息同步。表中經緯度信息與相對距離之間聯動,飛行高度與高程之間聯動,即變動其中一項,就會觸發與其聯動的信息,進行重新計算,隨時保證航路規劃點信息的實時性,使其可根據信息及時進行修改。
保存航路數據是一個關鍵且重要的環節,在創建航路規劃數據和編輯航路規劃數據后要將數據進行保存,航路數據無偏差的保留是飛行器準確執行飛行任務的前提,根據飛控協議將航路規劃數據保存為.txt格式。
查看航路規劃數據,對已有的航路數據通過名稱、創建時間或修改時間進行查詢,將所有結果顯示于航路規劃數據查詢記錄表中,通過選中其中的航路規劃數據記錄來獲取航路規劃數據,并讀取信息,將其顯示出來,方便快速查看航路規劃數據的基本信息。
地理視圖主要為航路規劃服務,如添加數據到顯示區域,對數據進行放大、縮小、漫游、鷹眼等視圖功能,本模塊主要依靠ArcGIS Engine技術進行實現。
添加數據,即將數據根據其格式添加到ArcGIS Engine的地圖顯示組件(MapControl)中。放大、縮小、漫游等視圖功能通過對ArcGIS Engine中的ToolBar中的工具進行重裝調用來實現,采用兩個地圖顯示組件(MapControl)進行數據同步,以實現鷹眼功能。
4 結 論
本文采用ArcGIS Engine技術進行可視化的航路規劃,可直觀地進行航路規劃。根據任務,借助地理視圖輔助,對航路規劃數據進行繪制、修改、保存及查找等操作,可使航路規劃更加準確、合理。隨各種數據信息及電子技術的發展,可視化航路規劃軟件會更加符合要求。
參考文獻:
[1] 高曉靜,智勇,陳曉峰.無人機任務規劃系統體系設計 [J].計算機系統應用,2009,18(10):1-5.
[2] 劉麗峰,張樹清,秦喜文.利用Voronoi圖與GIS規劃三維飛行航跡 [J].計算機工程與設計Computer Engineering and Design,2010,31(4):805-808.
[3] 高暉,陳欣,夏云程.無人機航路規劃研究 [J].南京航空航天大學學報,2001,33(2):135-138.
作者簡介:遠遠(1982.10-),女,漢族,北京人,工程師,碩士。研究方向:計算機科學與技術。