邱福生,楊建平,邵緒威
(沈陽(yáng)航空航天大學(xué)航空航天工程學(xué)部(院),沈陽(yáng)110136)
地理信息系統(tǒng)(Geographic Information System,簡(jiǎn)稱GIS),是用于獲取、存儲(chǔ)、分析、顯示地理空間數(shù)據(jù)的計(jì)算機(jī)系統(tǒng)。隨著計(jì)算機(jī)技術(shù)的不斷進(jìn)步,GIS廣泛地應(yīng)用于空間數(shù)據(jù)輸入、屬性數(shù)據(jù)管理,數(shù)據(jù)顯示、探查、分析和GIS建模等方面,并以此為基礎(chǔ)解決更加復(fù)雜的問(wèn)題[1]。無(wú)人機(jī)航跡規(guī)劃就是在根據(jù)無(wú)人機(jī)自身機(jī)動(dòng)性、戰(zhàn)場(chǎng)環(huán)境和任務(wù)要求,為其選擇一條安全有效的飛行路線[2]。在現(xiàn)代日新月異的高科技空戰(zhàn)中,航跡規(guī)劃是確保無(wú)人機(jī)對(duì)敵區(qū)進(jìn)行遠(yuǎn)程偵察和精確打擊必要途徑之一[3-4]。ArcGIS Engine 是一個(gè)簡(jiǎn)單的、獨(dú)立于應(yīng)用程序的 Arc Objects編程環(huán)境[5]。本文利用ArcGIS Engine,開(kāi)發(fā)出一款無(wú)人機(jī)航跡規(guī)劃導(dǎo)航軟件,在無(wú)人機(jī)地面站系統(tǒng)中嵌入數(shù)字地圖功能,增強(qiáng)了無(wú)人機(jī)地面站系統(tǒng)應(yīng)用的空間分析能力,提高了數(shù)字地圖管理與航線規(guī)劃的效率。
本軟件是基于成熟數(shù)字地圖數(shù)據(jù)和全球定位系統(tǒng)(GPS)相結(jié)合,通過(guò)以太網(wǎng)通訊,航跡軟件系統(tǒng)通過(guò)地面控制站獲得無(wú)人機(jī)的GPS定位信息,并在數(shù)字地圖上實(shí)時(shí)顯示出無(wú)人機(jī)飛行航跡狀態(tài)[6],實(shí)現(xiàn)無(wú)人機(jī)航線快速生成與加載。該航跡規(guī)劃軟件的難點(diǎn)在于對(duì)電子地圖的設(shè)置和操作,由于電子地圖包含了許多圖層,每個(gè)圖層同時(shí)也對(duì)應(yīng)著許多的地理信息數(shù)據(jù)。該軟件主要具有地圖處理與顯示、獲取經(jīng)緯度信息,設(shè)置航路點(diǎn)、生成航線等功能。整個(gè)無(wú)人機(jī)地面站控制系統(tǒng)的示意圖如圖1所示。航跡規(guī)劃軟件主要包括數(shù)據(jù)通信模塊、地圖處理顯示模塊和航跡規(guī)劃模塊,其中航跡規(guī)劃模塊包括航路點(diǎn)規(guī)劃子模塊、航路信息生成與校驗(yàn)處理子模塊和歷史航跡顯示子模塊,如圖2所示。
圖1 無(wú)人機(jī)地面站控制系統(tǒng)示意圖
圖2 航跡規(guī)劃軟件各模塊之間的關(guān)系
當(dāng)無(wú)人機(jī)進(jìn)行三維航跡規(guī)劃時(shí),實(shí)質(zhì)上是一個(gè)多約束優(yōu)化問(wèn)題,本文對(duì)航跡規(guī)劃威脅代價(jià)函數(shù)采用線性加權(quán)的指標(biāo)方法[2]。
其中l(wèi)i表示第i段航跡的長(zhǎng)度,hi表示第i段航跡的海拔高度,n表示航跡段的總條數(shù),J總表示各航跡段總威脅代價(jià),w1,w2為權(quán)系數(shù),w1+w2=1,由w2和w1的大小來(lái)選擇飛機(jī)是從上方飛越還是從障礙側(cè)邊繞過(guò)。
遺傳算法在航跡規(guī)劃中得到了廣泛的應(yīng)用,遺傳算法的選擇、交叉和變異算子在搜索最佳的航跡路線時(shí),能夠以隨機(jī)的方式得到尋求最優(yōu)解,新一代的子群體主要是通過(guò)上一代父群體之間進(jìn)行交叉重組產(chǎn)生的,容易得到全局最優(yōu)解附近的局部最優(yōu)解,所以,單純的使用遺傳算法容易導(dǎo)致早熟和陷入局部最優(yōu)解,而模擬退火算法能夠?qū)z傳算法尋優(yōu)過(guò)程進(jìn)行擾動(dòng),具有擺脫局部最優(yōu)解的能力,在交叉和變異過(guò)程中用Metropolis準(zhǔn)則判斷新解是否可以被接受,使用兩者結(jié)合的遺傳模擬退火算法能夠有效地解決陷入局部最優(yōu)解問(wèn)題,從而得到全局最優(yōu)解[7]。
設(shè)定種群規(guī)模M,最大遺傳操作代數(shù)N,交叉概率pc,變異概率pm,初始溫度T=T0,溫度更新次數(shù) j=0,設(shè)定退火溫度變化規(guī)律為 Tj+1=0.9Tj,終止溫度為Te。遺傳模擬退火算法流程圖如圖3所示:
圖3 遺傳模擬退火算法流程圖
地面站控制系統(tǒng)的數(shù)據(jù)通訊模塊包括以太網(wǎng)網(wǎng)絡(luò)和無(wú)線電網(wǎng)絡(luò)兩部分組成,無(wú)線電網(wǎng)絡(luò)可以實(shí)現(xiàn)地面控制站和無(wú)人機(jī)自動(dòng)駕駛儀的在線通信,是地面控制站和無(wú)人機(jī)自動(dòng)駕駛儀交互信息的一種方式。以太網(wǎng)網(wǎng)絡(luò)是為了實(shí)現(xiàn)航跡規(guī)劃系統(tǒng)與地面控制站之間的信息傳遞,完成無(wú)人機(jī)航跡規(guī)劃和實(shí)時(shí)路徑顯示,可以將航跡規(guī)劃軟件中的航跡路線傳送給地面控制站,也可以將控制站接收到的無(wú)人機(jī)GPS實(shí)時(shí)地將數(shù)據(jù)傳送給航跡規(guī)劃軟件。
數(shù)字地圖具備多種可選圖層,能夠顯示包括衛(wèi)星、行政區(qū)域、等高線視圖等多種地理信息的實(shí)時(shí)地圖,同時(shí)也可以根據(jù)實(shí)際情況,在數(shù)字地圖上編輯禁飛區(qū)、降落區(qū)、備降區(qū)等特定區(qū)域,以便在規(guī)劃航線時(shí)使用。在Form1窗體上添加一個(gè)ToolbarControl控件,一個(gè) MapControl控件,一個(gè)LicenseControl1控件,然后為 MapControl添加放大、縮小、平移、測(cè)距、圖層管理等工具,就可完成對(duì)地圖的基本操作。其中各選項(xiàng)功能如下:
(1)放大:在地圖上任一位置點(diǎn)擊時(shí),滾動(dòng)向下鼠標(biāo)中鍵或按“+”按鈕,地圖將以鼠標(biāo)點(diǎn)所在位置為中心,逐步放大比例尺顯示;
(2)縮小:在地圖上任一位置點(diǎn)擊時(shí),滾動(dòng)向上鼠標(biāo)中鍵或按“-”按鈕,地圖將以鼠標(biāo)點(diǎn)所在位置為中心,逐步縮小比例尺顯示;
(3)平移:將鼠標(biāo)光標(biāo)移至某一位置,按住鼠標(biāo)左鍵在屏幕上拖動(dòng)地圖,地圖界面就會(huì)沿著拖動(dòng)方向移動(dòng);
(4)測(cè)距:用于航線規(guī)劃人員在數(shù)字地圖上測(cè)量規(guī)劃的一條直線長(zhǎng)度或者多條連續(xù)折現(xiàn)的總長(zhǎng)度;
(5)圖層管理:用于對(duì)圖層進(jìn)行添加、更新、刪除和移動(dòng)等管理功能,并可對(duì)圖層屬性進(jìn)行控制[8]。
無(wú)人機(jī)在飛行時(shí)能將自身的GPS定位信息反饋給地面站,經(jīng)過(guò)數(shù)據(jù)處理后能夠轉(zhuǎn)換成二維的經(jīng)緯度信息顯示在數(shù)字地圖上,在數(shù)字地圖上進(jìn)行操作時(shí),反饋回來(lái)的定位信息能夠給用戶提供航線規(guī)劃指導(dǎo),方便增加、調(diào)整和刪除相關(guān)航路點(diǎn)的位置[9]。在鼠標(biāo)移動(dòng)事件情況下,調(diào)用相應(yīng)的函數(shù)就能動(dòng)態(tài)獲得鼠標(biāo)所在地圖位置的經(jīng)緯度坐標(biāo)信息.。屏幕坐標(biāo)可以通過(guò)函數(shù)體中的關(guān)鍵代碼轉(zhuǎn)化成地圖坐標(biāo)。
等高線指的是各個(gè)高程相等的點(diǎn)連接而成的閉合曲線,是把地面上海拔高度相同的點(diǎn)連成的閉合曲線。等高線可以為無(wú)人機(jī)在航跡規(guī)劃中提供飛行高度參考,從而確定無(wú)人機(jī)的飛行高度。
航跡規(guī)劃的目的是在一定的時(shí)間內(nèi)為無(wú)人機(jī)設(shè)計(jì)出一條安全可行的飛行航跡,飛行航跡包括一系列航路點(diǎn),航路點(diǎn)的屬性存儲(chǔ)該點(diǎn)經(jīng)緯度、飛行高度、速度等信息。根據(jù)無(wú)人機(jī)飛行任務(wù)需求,可以利用鼠標(biāo)在數(shù)字地圖上手動(dòng)選取航路點(diǎn),或者通過(guò)鍵盤輸入航路點(diǎn)的三維坐標(biāo)。用鼠標(biāo)在數(shù)字地圖上選取航路點(diǎn)時(shí)能夠顯示航路點(diǎn)的經(jīng)緯度、距離上一航點(diǎn)的距離、航點(diǎn)屬性[10]。航路點(diǎn)的類型共有6類,分別是機(jī)場(chǎng)點(diǎn)、主航點(diǎn)、過(guò)定點(diǎn)、盤旋點(diǎn)、任務(wù)起點(diǎn)和任務(wù)終點(diǎn)。
根據(jù)已經(jīng)設(shè)置好的航路點(diǎn)編號(hào)和航路點(diǎn)坐標(biāo),選取符合飛行需求的航路點(diǎn),各個(gè)被選的航路點(diǎn)按照被選取的先后順序,通過(guò)線段連接生成一條航線[11],用程序?qū)崿F(xiàn)在電子地圖上航線顯示功能。航線的類型共有4類,分別是主航線、著陸航線、返航航線和迫降航線。
航路信息校驗(yàn)的主要功能是加載已規(guī)劃的航路文件,在地圖上以航點(diǎn)及線條形式表現(xiàn)出來(lái),用于檢驗(yàn)航線規(guī)劃軟件的正確性。根據(jù)已經(jīng)生成的航路信息,分二維模式與三維模式對(duì)試飛規(guī)劃航路進(jìn)行模擬,即自動(dòng)在數(shù)據(jù)地圖上生成平面航線模擬,在虛擬背景下進(jìn)行航線三維飛行模擬,用于校驗(yàn)生成航線的性能,主要有以下幾方面:
(1)閉合完整性:生成航線是否閉合完整,從起飛至飛回機(jī)場(chǎng)是否可安全降落;
(2)飛行暢通性:生成全航線飛行過(guò)程中是否有禁飛區(qū)域或危險(xiǎn)區(qū)域,航線是否暢通合理,避免運(yùn)算生成往返折線;
(3)機(jī)動(dòng)合理性:全航線飛行過(guò)程中的起飛、降落、機(jī)動(dòng)轉(zhuǎn)彎、盤旋運(yùn)動(dòng)檢查,是否正確。
無(wú)人機(jī)在飛行過(guò)程中,飛行到達(dá)的經(jīng)度、緯度和高度信息都被保持在數(shù)據(jù)庫(kù)中,可以方便技術(shù)人員進(jìn)行數(shù)據(jù)分析和處理,在歷史航跡顯示子模塊下,可以已經(jīng)保存好的飛行數(shù)據(jù)解碼、拆分和轉(zhuǎn)換,能夠再現(xiàn)航路信息生成時(shí)的航跡,顯示出無(wú)人機(jī)飛行中的詳細(xì)情況。歷史航跡顯示的不是現(xiàn)在操作回放的時(shí)間,而是直接從數(shù)據(jù)庫(kù)導(dǎo)航信息表中讀取飛行航跡各相關(guān)信息,顯示的是當(dāng)時(shí)執(zhí)行飛行任務(wù)的時(shí)間。
本文以ArcGIS Engine組件為地理信息平臺(tái),以遺傳模擬退火算法為理論依據(jù),研究并開(kāi)發(fā)出一款無(wú)人機(jī)航跡規(guī)劃軟件,并對(duì)軟件的設(shè)計(jì)方案和功能進(jìn)行介紹,無(wú)人機(jī)指揮人員可以根據(jù)飛行任務(wù)需要。規(guī)劃航路點(diǎn)和航線,在電子地圖上實(shí)時(shí)監(jiān)控?zé)o人機(jī)的飛行路徑,并根據(jù)情況需要,及時(shí)對(duì)飛行路線進(jìn)行修改和調(diào)整。軟件運(yùn)行穩(wěn)定,界面友好,操作簡(jiǎn)單方便,實(shí)現(xiàn)了航跡規(guī)劃的科學(xué)性和實(shí)用性,提高了部隊(duì)和科研人員的規(guī)劃效率,為無(wú)人機(jī)執(zhí)行飛行任務(wù)提供了重要的保障。
[1]陳建飛,地理信息系統(tǒng)導(dǎo)論[M].北京:清華大學(xué)出版社,2009:1 -9.
[2]鄭昌文,嚴(yán)平,丁明躍,等.飛行器航跡規(guī)劃[M].北京:國(guó)防工業(yè)出版社,2008:27-40.
[3]Gilmore J F.Autonomous vehicle planning analysis methodology[C]//The Proceedings of Association for Unmanned Vehicles Systems Conference,Washington D C,USA,1991:67.
[4]Hura M,Mcleod G.Route planning issues for low observable aircraft and cruise missiles:implications for the intelligence community.RAND,Santa Monica,CA,1993:234.
[5]邱洪剛,張青蓮,陸紹強(qiáng),等.ArcGIS Engine開(kāi)發(fā)從入門到精通[M].北京:人民郵電出版社,2010:45.
[6]吳益明,盧京潮,魏莉莉,等.基于GIS的無(wú)人機(jī)航跡系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].彈箭與制導(dǎo)學(xué)報(bào),2006(2):1056-1058.
[7]周明,孫樹(shù)棟.遺傳算法原理及應(yīng)用[M].北京:國(guó)防工業(yè)出版社,1999:65.
[8]王磊.基于MapX的電子地圖路徑規(guī)劃軟件設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2012,40(5):114 -116.
[9]劉波,盧京潮,吳益明.無(wú)人機(jī)地面導(dǎo)航站系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2006,14(12):1714-1716.
[10]崔文,崔煥東,張嵩.基于GIS組件的航跡標(biāo)繪系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]測(cè)繪與空間地理信息,2012,35(2):107-109.
[11]趙磊,楊磊,閆鶴,等.基于GIS的直升機(jī)輔助航跡規(guī)劃探討[J].北京測(cè)繪,2012(1):54-55.