閆明松 代長(zhǎng)安
([1]海裝上海局業(yè)務(wù)處 上海 201206;[2]中國(guó)航空無(wú)線電電子研究所 上海 200241)
直升機(jī)憑借敏捷作戰(zhàn)的特點(diǎn),經(jīng)常在崎嶇的山地等地區(qū)開(kāi)展突防任務(wù)。山地作戰(zhàn)與其他作戰(zhàn)形式的主要區(qū)別在于山地地區(qū)地貌起伏較大,易于進(jìn)行隱蔽接近。但山地環(huán)境中地形變化較大,無(wú)疑增加了直升機(jī)的飛行難度,在此類復(fù)雜的戰(zhàn)場(chǎng)環(huán)境中,飛行員操作負(fù)荷較大,直升機(jī)的戰(zhàn)場(chǎng)生存能力有待提高。
為了提高直升機(jī)在山地地區(qū)的作戰(zhàn)水平,實(shí)現(xiàn)低空貼地飛行的突防航路規(guī)劃,本文根據(jù)直升機(jī)飛行性能、地形信息及戰(zhàn)場(chǎng)態(tài)勢(shì)信息,完成了直升機(jī)三維抵近航路規(guī)劃;在末端攻擊引導(dǎo)階段,根據(jù)攻擊方向、直升機(jī)轉(zhuǎn)彎性能完成末端引導(dǎo)航路的規(guī)劃。經(jīng)仿真,驗(yàn)證了算法的有效性。
根據(jù)已知信息,將敵方威脅及地表障礙物等威脅抽象為圓柱形威脅,并獲取所有圓柱形威脅的圓截面正北、正東、正南、正西四個(gè)邊界點(diǎn)經(jīng)緯度。
根據(jù)實(shí)際規(guī)劃精度、規(guī)劃時(shí)間的要求及規(guī)劃空間大小,通過(guò)設(shè)置網(wǎng)格距離GRID,可對(duì)規(guī)劃空間進(jìn)行柵格化處理,將規(guī)劃空間劃分為間距為GRID的柵格地圖,若規(guī)劃空間的邊緣不足一個(gè)柵格,按一個(gè)柵格處理。
高程地圖能夠較好的近似表示實(shí)際的地形情況,柵格型地形模型只給出了采樣點(diǎn)處的高程信息,而在柵格點(diǎn)以外的點(diǎn),沒(méi)有高程數(shù)據(jù)可以直接使用。規(guī)劃空間柵格化后的柵格精度并不一定和高程地圖的精度保持一致,所以需根據(jù)高程地圖信息完成柵格化后的規(guī)劃區(qū)域的地形建模。
當(dāng)高程地圖的精度大于柵格地圖的精度,則根據(jù)柵格地圖中柵格的四個(gè)頂點(diǎn)的經(jīng)緯度坐標(biāo)確定該柵格中對(duì)應(yīng)的地形數(shù)據(jù)信息,并取其中地形的最高值定義該柵格內(nèi)的地形高度值,如圖1所示。
圖1:高程地圖精度大于柵格地圖精度時(shí)
若高程地圖的精度小于柵格地圖的精度,則需要根據(jù)雙線性插值的方法得到高程地圖的網(wǎng)格點(diǎn)以外的高程數(shù)據(jù),并確定柵格地圖的高度。遍歷所有的柵格,完成規(guī)劃區(qū)域內(nèi)地形建模。
雙線性插值的基本思想是包含給定點(diǎn)最近的4個(gè)網(wǎng)絡(luò)點(diǎn)的高度的基礎(chǔ)上,進(jìn)行二維線性插值,其原理如圖2所示。
圖2:雙線性插值原理示意圖
通過(guò)雙線性插值算法,可確定規(guī)則空間的柵格對(duì)應(yīng)的高度值,數(shù)學(xué)上可以表示為一個(gè)矩陣,在計(jì)算機(jī)實(shí)現(xiàn)中則是一個(gè)二維數(shù)組。每個(gè)網(wǎng)格單元或數(shù)組的一個(gè)元素都對(duì)應(yīng)一個(gè)高程值。
將戰(zhàn)場(chǎng)威脅進(jìn)行建模并映射到規(guī)劃所用的柵格地圖之中。計(jì)算柵格中心位置到威脅圓圓心的距離d,并依據(jù)式(2)判斷柵格是否為威脅柵格,其中r為威脅圓半徑,單位km。
為了提升直升機(jī)作戰(zhàn)隱蔽性,減小被敵方雷達(dá)等探測(cè)設(shè)備發(fā)現(xiàn)的概率,直升機(jī)應(yīng)盡量降低飛行高度,貼地飛行高度約束是指滿足飛行安全條件下直升機(jī)相對(duì)于地面的最低飛行高度。
A*算法是人工智能中的一種啟發(fā)式搜索算法,通過(guò)設(shè)置啟發(fā)函數(shù)可有效縮短算法尋優(yōu)時(shí)間,提高搜索效率。其中代價(jià)函數(shù)的設(shè)計(jì)影響著算法的搜索效果及運(yùn)算效率。傳統(tǒng) A*中代價(jià)函數(shù)設(shè)置如式(3)所示。
式中:n為當(dāng)前待擴(kuò)展節(jié)點(diǎn),g(n)為從起點(diǎn)到當(dāng)前節(jié)點(diǎn)的實(shí)際代價(jià);h(n)為從當(dāng)前節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的實(shí)際代價(jià)的估計(jì)值,稱為啟發(fā)函數(shù)。
使用A*算法進(jìn)行節(jié)點(diǎn)擴(kuò)展時(shí),是依據(jù)代價(jià)函數(shù)f(n)最小的原則,在選擇不同的擴(kuò)展方向時(shí),計(jì)算的代價(jià)是有區(qū)別的,如圖3所示:
圖3:柵格擴(kuò)展方向示意圖
由于傳統(tǒng)A*算法在計(jì)算擴(kuò)展代價(jià)g(n)時(shí),僅考慮了擴(kuò)展過(guò)程中的水平面的擴(kuò)展代價(jià),從灰色柵格擴(kuò)展到周圍淺藍(lán)色柵格時(shí)的擴(kuò)展代價(jià)為 ,擴(kuò)展到周圍深藍(lán)色柵格時(shí)的擴(kuò)展代價(jià)為??紤]三維規(guī)劃過(guò)程中不同高程對(duì)航程以及飛機(jī)機(jī)動(dòng)性的代價(jià),將擴(kuò)展代價(jià)設(shè)計(jì)為:
其中,g(n-1)是從起點(diǎn)到當(dāng)前柵格的擴(kuò)展代價(jià)的累加;為單個(gè)柵格的長(zhǎng)度;△h是當(dāng)前柵格與擴(kuò)展到的柵格所對(duì)應(yīng)的飛行安全曲面上的高度差;k為比例系數(shù),表征高度變化對(duì)于擴(kuò)展代價(jià)的影響,k越大表示高度變化對(duì)于擴(kuò)展代價(jià)影響越大,反之越小。
傳統(tǒng)A*算法對(duì)于啟發(fā)函數(shù)h(n)的設(shè)計(jì)中,考慮了當(dāng)前柵格到終點(diǎn)的二維水平距離,本文規(guī)劃的航路是三維的,每個(gè)柵格的高度對(duì)于三維航路尋優(yōu)的影響很大,需考慮高度對(duì)于啟發(fā)函數(shù)的影響,如圖4所示。將啟發(fā)函數(shù)h(n)設(shè)計(jì)為:
圖4:?jiǎn)l(fā)函數(shù)設(shè)計(jì)原理
其中,△x為當(dāng)前節(jié)點(diǎn)與終點(diǎn)之間橫向的距離;△y為當(dāng)前節(jié)點(diǎn)與終點(diǎn)之間縱向的距離;△H為當(dāng)前節(jié)點(diǎn)與終點(diǎn)之間垂向的距離。
綜上,考慮柵格地形高度后,將尋優(yōu)評(píng)價(jià)函數(shù)設(shè)計(jì)為:
直向擴(kuò)展:
斜向擴(kuò)展:
對(duì)采用低空突防戰(zhàn)術(shù)的直升機(jī)而言,由于其飛行速度較大,考慮到其縱向機(jī)動(dòng)能力,會(huì)受到最大爬升率/下降率k的限制,將規(guī)劃得到的航點(diǎn)根據(jù)飛機(jī)飛行性能進(jìn)行高度平滑是非常有必要的,航點(diǎn)高度平滑算法的原理如圖5所示。
圖5:航點(diǎn)高度平滑原理
對(duì)規(guī)劃得到的每一個(gè)航點(diǎn)按航點(diǎn)順序從終點(diǎn)向前遍歷,通過(guò)不斷迭代,直到所有航點(diǎn)間的坡度都限制在最大爬升率/下降率以下。
直升機(jī)在執(zhí)行末端攻擊任務(wù)時(shí),需調(diào)整到一定的飛行高度飛行,并且需以一定的進(jìn)入方向切入攻擊狀態(tài),同時(shí)規(guī)劃的航路需滿足直升機(jī)飛行性能約束。因此末端引導(dǎo)航路主要考慮引導(dǎo)航路終點(diǎn)的高度約束、到達(dá)終點(diǎn)的航向約束及直升機(jī)飛行性能約束。引導(dǎo)航路階段直升機(jī)定高飛行,高度可根據(jù)末端攻擊的需求設(shè)置,抵近航路的終點(diǎn)即為引導(dǎo)航路的起點(diǎn)。
基于切線圓算法的航路規(guī)劃是一種基于幾何學(xué)的最短路徑規(guī)劃算法,該算法可以快速規(guī)劃出一條簡(jiǎn)單光滑的路徑,來(lái)引導(dǎo)飛機(jī)以最快的方式飛到有利于實(shí)施攻擊的位置。為了滿足任務(wù)航向要求,切線圓算法步驟如下:
Step1:當(dāng)已知直升機(jī)當(dāng)前位置、引導(dǎo)航路終點(diǎn)位置,以及到達(dá)終點(diǎn)的航向約束時(shí),以終點(diǎn)處的航向?yàn)榍芯€,過(guò)目標(biāo)點(diǎn)做兩個(gè)切線圓O1和O2,圓半徑為飛機(jī)轉(zhuǎn)彎半徑r。
Step2:分別計(jì)算直升機(jī)當(dāng)前位置至兩個(gè)圓圓心的距離,確定距離較小的圓。
Step3:過(guò)直升機(jī)當(dāng)前位置O做該圓的切線O-A和O-B,求解切點(diǎn)A、B坐標(biāo)。
以O(shè)1為原點(diǎn)建立坐標(biāo)系,首先需計(jì)算向量O1O與x軸正向的夾角θ,而后需求解∠AO1O及∠BO1O的度數(shù)Δθ。而后可求解切點(diǎn)A與切點(diǎn)B在極坐標(biāo)系中對(duì)應(yīng)的角度:
則切點(diǎn)A及切點(diǎn)B在以O(shè)1為原點(diǎn)的坐標(biāo)系下的坐標(biāo)為:
圖6:切點(diǎn)坐標(biāo)解算
Step4:如圖7所示,計(jì)算射線A-P與設(shè)置的進(jìn)入航向的角度偏差Δ1,計(jì)算射線B-P與進(jìn)入航向的角度偏差Δ2,若Δ1小于Δ2,切點(diǎn)取A點(diǎn);否則切點(diǎn)取B點(diǎn)。
圖7:切點(diǎn)解算原理
Step5:確定切點(diǎn)后,確定繞飛方向。
假設(shè)所取切點(diǎn)為A點(diǎn),在以O(shè)1為原點(diǎn)的直角坐標(biāo)系中,向量O1A與x軸正向夾角為θA,計(jì)算向量OA與x軸正向的夾角β,如圖8所示。設(shè)系數(shù) 表征繞飛方向,將向量OA的頂點(diǎn)O平移至圓心O1。
圖8:繞飛方向求解
Step6:如圖9所示,取切點(diǎn)A,確定繞飛方向后,A至P點(diǎn)圓弧航路三等分離散為A-C-D-P。
圖9:轉(zhuǎn)向角解算示意圖
計(jì)算向量O1P與x軸正向的夾角ε。
當(dāng)向量O1P與x軸正向的夾角求解ε出來(lái)后,可根據(jù)繞飛方向求解調(diào)向過(guò)程中轉(zhuǎn)過(guò)的角度Δε,且當(dāng)Δε<0時(shí),
當(dāng)求解出繞飛中轉(zhuǎn)過(guò)的角度后,可求解出三等分點(diǎn)坐標(biāo),調(diào)向航路如圖10所示。
圖10:引導(dǎo)航路示意圖
A點(diǎn)、C點(diǎn)、D點(diǎn)的航點(diǎn)高度與目標(biāo)點(diǎn)P保持一致,得到調(diào)向航路的航點(diǎn)三維位置信息。其中引導(dǎo)航路起點(diǎn)A的位置是抵近航路的終點(diǎn)。
設(shè)置仿真場(chǎng)景如下:取某山地地區(qū)真實(shí)地形數(shù)據(jù)構(gòu)建規(guī)劃環(huán)境,設(shè)置4處敵方火力威脅區(qū)及探測(cè)武器威脅區(qū),設(shè)置直升機(jī)最大爬升角度為30°,貼地飛行高度為200米。設(shè)置直升機(jī)轉(zhuǎn)彎半徑為2km,引導(dǎo)航路終點(diǎn)高度為200米,到達(dá)引導(dǎo)航路終點(diǎn)時(shí)飛機(jī)航向?yàn)檎龞|方向。
根據(jù)上述場(chǎng)景得到的規(guī)劃結(jié)果如下(圖11、圖12、圖13、圖14)。
圖11:三維航路圖
圖12:航路水平投影圖
圖13:各航段爬升率及航線高度圖
圖14:末端引導(dǎo)航路規(guī)劃結(jié)果放大圖
通過(guò)算法仿真可知,該算法可實(shí)現(xiàn)直升機(jī)三維抵近航路規(guī)劃,能夠有效規(guī)避敵方威脅和地形威脅,滿足直升機(jī)低空作戰(zhàn)需求;算法可實(shí)現(xiàn)末端引導(dǎo)航路規(guī)劃,規(guī)劃結(jié)果滿足末端高度、航向約束,滿足直升機(jī)的機(jī)動(dòng)性能。仿真結(jié)果表明,由基于飛行安全曲面的三維抵近航路規(guī)劃結(jié)合基于切線圓算法的末端引導(dǎo)航路規(guī)劃可有效解決直升機(jī)三維突防航路規(guī)劃問(wèn)題。