晁澤睿 南 英 王 昕 馮 開(kāi)
(南京航空航天大學(xué)自然控制實(shí)驗(yàn)室 南京 211100)
進(jìn)入21 世紀(jì)以來(lái),在現(xiàn)代化、信息化條件下的一體化聯(lián)合作戰(zhàn)中,戰(zhàn)場(chǎng)范圍擴(kuò)大,作戰(zhàn)強(qiáng)度增加,各國(guó)為提高在未來(lái)戰(zhàn)爭(zhēng)中的作戰(zhàn)優(yōu)勢(shì),均投入大量資金對(duì)作戰(zhàn)武器,特別是作戰(zhàn)方式展開(kāi)研究。目前,利用現(xiàn)代低空突防技術(shù)進(jìn)行突防作戰(zhàn)已經(jīng)成為了一種主要的作戰(zhàn)戰(zhàn)術(shù),而對(duì)作戰(zhàn)飛行器在錯(cuò)綜復(fù)雜的戰(zhàn)場(chǎng)環(huán)境中進(jìn)行飛行軌跡規(guī)劃則成了現(xiàn)代低空突防技術(shù)的重中之重[1~3]。
飛行軌跡規(guī)劃是指在給定飛行器特性參數(shù)、飛行任務(wù)、飛行器的機(jī)動(dòng)性能和戰(zhàn)場(chǎng)環(huán)境等情況下,要求規(guī)劃器能在數(shù)字地圖的某個(gè)離地高度上規(guī)劃出一條性能最優(yōu)的三維軌跡,使飛行器能夠順利地規(guī)避地形和敵方威脅區(qū),完成預(yù)定任務(wù)[4]。目前,飛行軌跡規(guī)劃主要分為三種算法:A*算法、遺傳算法和粒子群優(yōu)化算法。A*算法通過(guò)在規(guī)劃環(huán)境中把不可行的軌跡點(diǎn)列為不尋優(yōu)區(qū)域,再將可行的軌跡空間分割為多個(gè)子空間根據(jù)軌跡代價(jià)函數(shù)來(lái)決定軌跡尋優(yōu),運(yùn)算時(shí)間較短[5~8],但規(guī)劃環(huán)境為二維,無(wú)法考慮較多約束條件;遺傳算法是基于自然選擇和基因遺傳學(xué)原理的搜索算法,將“適者生存”理論引入串結(jié)構(gòu),不斷地接近最優(yōu)解,簡(jiǎn)單實(shí)用且適合并行處理[9~11],但該算法編程實(shí)現(xiàn)比較復(fù)雜,首先需要對(duì)問(wèn)題進(jìn)行編碼,找到最優(yōu)解之后還需要對(duì)問(wèn)題進(jìn)行解碼;粒子群優(yōu)化算法是一種群體智能算法,利用個(gè)體之間的相互協(xié)作來(lái)搜索最優(yōu)解,利用的是生物群體信息共享的思想,既具有容易實(shí)現(xiàn)又具有深刻的智能背景,適合科學(xué)研究[12~14],但其沒(méi)有遺傳算法的交叉、變異等,在某些問(wèn)題上性能不是很好。
本文基于數(shù)字地圖,結(jié)合多維動(dòng)態(tài)規(guī)劃和線性規(guī)劃單純性等算法,提出一種可以引導(dǎo)飛行器在滿足飛行高度、軌跡長(zhǎng)度、威脅區(qū)等各種約束的情況下進(jìn)行的三維飛行軌跡規(guī)劃技術(shù),實(shí)現(xiàn)了基于數(shù)字地圖的三維飛行軌跡規(guī)劃全局最優(yōu)仿真。
三維飛行軌跡規(guī)劃技術(shù)包含地形回避與地形跟蹤兩大算法。本節(jié)將圍繞這兩算法進(jìn)行詳細(xì)闡述,并簡(jiǎn)要說(shuō)明基于數(shù)字地圖的三維飛行軌跡規(guī)劃VC++程序的基本原理與運(yùn)行流程。
飛行軌跡規(guī)劃要滿足全局最優(yōu)而非局部最優(yōu),其問(wèn)題可以描述如下:尋找最優(yōu)路線(x*,h*,z*),控制飛行器從起點(diǎn)S 飛行至終點(diǎn)F,使下面性能指標(biāo):

達(dá)到最小,其中,d 為飛行航程的大小,h 是飛行器離當(dāng)?shù)氐孛娴娘w行高度,ki(i=1,2,3,4,5)是加權(quán)系數(shù),而

這里,N是一個(gè)大的正數(shù)。
飛行器在飛行過(guò)程中,受到起點(diǎn)與終點(diǎn)約束:

起點(diǎn)S 與終點(diǎn)F 的坐標(biāo)為(x0,y0,z0) 、(xf,yf,zf)(在地理坐標(biāo)系中描述)。
飛行器受到飛行力學(xué)微分方程組的約束:

最大可用法向過(guò)載受到約束:

飛行安全高度約束:

式中,T 是在地理坐標(biāo)系中隨機(jī)地形海拔高度,c0為飛行高度的安全間隙。
由于是基于數(shù)字地圖進(jìn)行軌跡規(guī)劃,故數(shù)字地圖的原始數(shù)據(jù)文件的經(jīng)度、緯度精度太高,可能使得這些原始數(shù)據(jù)文件的行列數(shù)太大(如10000 行×10000 列),使得計(jì)算機(jī)VC++無(wú)法讀取這些數(shù)據(jù),因此,不得不降低經(jīng)度、緯度精度而使得計(jì)算機(jī)VC++可能讀取這些數(shù)據(jù)。因多維動(dòng)態(tài)規(guī)劃算法可以處理包括非線性離散系統(tǒng)在內(nèi)的多種系統(tǒng),故本技術(shù)運(yùn)用多維動(dòng)態(tài)規(guī)劃算法。
2.2.1 多維動(dòng)態(tài)規(guī)劃算法問(wèn)題描述
TF∕TA性能指標(biāo)式(1)可以離散化為

而飛行力學(xué)微分方程組式(6)可以離散化為以下?tīng)顟B(tài)差分方程:



地形跟蹤概述圖如圖1所示,其中Ti為地形高度,Hi為飛行高度,c0為安全間隙,ei為飛行器軌跡偏差,且ei等于:

可以用三次樣條函數(shù)構(gòu)造一條過(guò)點(diǎn){Ri,Hi}的曲線。設(shè)曲線的斜率為S,彎度為K,變度為P。則有:


圖1 Ti、Hi、ei 之間的關(guān)系
由于云南地勢(shì)錯(cuò)綜復(fù)雜,傳統(tǒng)的適應(yīng)角法或雪橇法求解起來(lái)較為困難,故采用線性規(guī)劃方法進(jìn)行求解,得出飛行器軌跡偏差之和的最小值。應(yīng)滿足下式[17]:

式中,變度約束P 是使飛行軌跡更加平滑而已,可以放松P 約束;地形跟蹤過(guò)程中爬升角一般都很小,對(duì)于戰(zhàn)機(jī)來(lái)說(shuō)是很輕松的,斜率約束S 可以忽略不計(jì)。
2.3.1 線性規(guī)劃問(wèn)題描述
定義軌跡彎度K為

由式(17)可知,線性規(guī)劃問(wèn)題描述為

式中的最大軌跡彎度KMax與最小軌跡彎度KMin由法向過(guò)載nY與飛行速度V 的最大與最小值來(lái)確定。
2.3.2 單純形法
單純形法的基本形式:

并滿足約束:

其對(duì)應(yīng)的基本可行解為

其中AB、CB為矩陣A 和矩陣C 的一個(gè)基,Z0、ξ 的表達(dá)式為

單純形法的基本迭代規(guī)則:
1)找一個(gè)初始可行解;
2)求對(duì)應(yīng)的式(20)和式(21);
3)求ξk=max{ξj|j=1,2,...,n};
4)若ξk≤0 則停止,說(shuō)明已經(jīng)找到最優(yōu)解
5)若aˉk≤0 則停止,說(shuō)明原問(wèn)題無(wú)解;
6)求bˉr/aˉrk=min{bˉi/aˉik|aˉik>0};
7)以ak代替ar得到新基,回到式(2)進(jìn)行迭代。
將云南數(shù)字地圖劃分為36 塊,經(jīng)度范圍為99.17904°~101.60724°,緯 度 范 圍 為25.69090°~28.11490°;其中,每塊地圖經(jīng)度范圍為0.40470°,緯度范圍為0.40470°。程序基本原理如圖2所示。程序首先將原始地圖中各點(diǎn)的經(jīng)緯坐標(biāo)與各點(diǎn)高度讀入內(nèi)存,根據(jù)起點(diǎn)終點(diǎn)生成網(wǎng)格坐標(biāo)系,并從內(nèi)存中查找出網(wǎng)格坐標(biāo)系中各點(diǎn)對(duì)應(yīng)的高度數(shù)據(jù);利用多維動(dòng)態(tài)規(guī)劃算法在網(wǎng)格坐標(biāo)系中進(jìn)行軌跡規(guī)劃,生成規(guī)劃所得路徑在網(wǎng)格坐標(biāo)系中的路徑點(diǎn)坐標(biāo)與高度,最終轉(zhuǎn)換成地理經(jīng)緯系中的路徑點(diǎn)坐標(biāo)與高度。

圖2 程序基本原理圖
其中,地理坐標(biāo)系:即傳統(tǒng)的地理坐標(biāo)系,用經(jīng)緯度表示點(diǎn)坐標(biāo)。網(wǎng)格坐標(biāo)系:以起點(diǎn)為原點(diǎn),起點(diǎn)到終點(diǎn)的連線方向?yàn)閤 軸正向,x 軸上坐標(biāo)為偽經(jīng)度;垂直于x 軸且與正北方呈銳角的方向?yàn)閥 軸正向,y軸上坐標(biāo)為偽緯度。
下面以流程圖的形式對(duì)程序的運(yùn)行流程進(jìn)行大致說(shuō)明。

圖3 基于數(shù)字地圖的三維飛行軌跡規(guī)劃程序流程圖
根據(jù)地形回避和地形跟蹤算法進(jìn)行VC++程序編寫(xiě),并通過(guò)Matlab進(jìn)行飛行軌跡的輸出。
仿真的初始參數(shù)如表1所示。
在運(yùn)行仿真程序前,需要對(duì)所有的地形數(shù)據(jù)進(jìn)行預(yù)處理。例如,當(dāng)?shù)匦稳绺呱胶芏盖蜁r(shí),由于受過(guò)載與軌跡傾角等的約束,飛機(jī)不能飛越地形高山,需要對(duì)這些地形數(shù)據(jù)作預(yù)處理,即改善地形的彎度與改善地形的坡度。其中,改善地形的彎度和坡度的含義如下。
改善地形的彎度:若地形彎度超出了一定的值,則根據(jù)地形的走勢(shì),相應(yīng)地抬高此點(diǎn)的地形高度,直到地形各點(diǎn)的最大彎度都在規(guī)定值內(nèi)。

表1 基于數(shù)字地圖的三維飛行軌跡規(guī)劃仿真初始參數(shù)
改善地形的坡度:使地形上升段與下降段的斜率處在一定的范圍內(nèi)。
下面給出兩組不同起點(diǎn)與終點(diǎn)的仿真結(jié)果圖。其中第一組為未添加威脅區(qū)的TFTA 軌跡圖,第二組為添加威脅區(qū)的TFTA 軌跡圖,如圖4~7 所示。

圖4 第一組地理坐標(biāo)系下TFTA規(guī)劃路徑圖

圖5 第一組地理坐標(biāo)系下TFTA規(guī)劃路徑三維圖
第一組數(shù)據(jù):
start_Point.lon(起始經(jīng)度)=99.17904;


圖6 第三組地理坐標(biāo)系下威脅區(qū)TFTA規(guī)劃路徑圖

圖7 第三組地理坐標(biāo)系下威脅區(qū)TFTA規(guī)劃路徑三維圖
由上面三組仿真數(shù)據(jù)結(jié)果可知,基于數(shù)字地圖的三維飛行軌跡規(guī)劃技術(shù)仿真效果整體比較良好,可以在普通計(jì)算機(jī)上用2s 完成三維飛行軌跡規(guī)劃。同時(shí),仿真結(jié)果滿足綜合性能指標(biāo)最優(yōu),即全程飛行軌跡的高度最低,飛行高度既滿足安全高度又接近地面,飛行軌跡最短,可以回避開(kāi)飛行禁區(qū),滿足地形回避碰撞等各種約束條件。且無(wú)論是否添加威脅區(qū),每組數(shù)據(jù)中兩張路徑規(guī)劃圖所描繪的飛行軌跡基本一致,經(jīng)過(guò)地形數(shù)據(jù)預(yù)處理后,規(guī)劃路徑三維圖中也沒(méi)有出現(xiàn)撞山或路徑偏差等現(xiàn)象。唯一需要注意的是,由于程序選取軌跡點(diǎn)原則的約束,仿真選取的起止點(diǎn)不應(yīng)過(guò)于靠近地圖邊界。第二組仿真數(shù)據(jù)中,由于選取的起止點(diǎn)過(guò)于靠近邊界,導(dǎo)致出現(xiàn)邊界地圖加載不全、地形邊界高度失真和軌跡略超出邊界等情況,這些均需要在后面的程序測(cè)試中加以調(diào)整。
本文針對(duì)數(shù)字地圖這一信息資源,提出了一種可以使得飛行軌跡全局最優(yōu)的三維飛行軌跡規(guī)劃算法。相比于其他算法需要對(duì)環(huán)境的先驗(yàn)信息,本算法運(yùn)用多維動(dòng)態(tài)規(guī)劃算法和線性規(guī)劃單純形法進(jìn)行地形(與飛行禁區(qū))回避和地形跟蹤,可以根據(jù)環(huán)境信息的變化而進(jìn)行重新規(guī)劃,滿足工程實(shí)用性和戰(zhàn)場(chǎng)環(huán)境實(shí)時(shí)性的需求。同時(shí),仿真驗(yàn)證滿足飛行軌跡綜合性能指標(biāo)最優(yōu),具有很強(qiáng)的工程的適用性與實(shí)效性。