張文敏,王劍穎
(中山大學(xué) 航空航天學(xué)院·深圳·518106)
高超聲速滑翔式飛行器是指飛行速度不低于馬赫數(shù)為5的無(wú)動(dòng)力滑翔飛行器,其飛行速度快,且在滑翔飛行階段需要面對(duì)復(fù)雜的環(huán)境,包括地方雷達(dá)覆蓋區(qū)域、高速動(dòng)能武器及強(qiáng)電磁干擾威脅區(qū)域等。高超聲速飛行器受限于自身的機(jī)動(dòng)能力,在突防時(shí)需要根據(jù)自身機(jī)動(dòng)能力、飛行時(shí)間、威脅區(qū)域等約束條件,在線實(shí)時(shí)規(guī)劃飛行軌跡,以實(shí)現(xiàn)對(duì)威脅區(qū)域的規(guī)避繞飛。因此,對(duì)于高超聲速滑翔式飛行器在線軌跡規(guī)劃方法的研究具有十分重要的意義。
路徑規(guī)劃及軌跡規(guī)劃問(wèn)題最初應(yīng)用于機(jī)器人研究領(lǐng)域,后被廣泛應(yīng)用于各類(lèi)場(chǎng)景,包括貨物配送最短路徑、快遞分類(lèi)系統(tǒng)、救援最短路徑等。常見(jiàn)路徑規(guī)劃模型包括:混合整數(shù)線性規(guī)劃(Mixed-Integer Linear Programming,MILP)模型[1]、車(chē)輛路由問(wèn)題(Vehicle Routing Problem,VRP)模型[2]、多旅行商問(wèn)題(Multiple Traveling Salesman Problem,MTSP)模型[3]、多處理器資源分配(Multiple Processors Resource Allocation,MPRA)模型[4]和動(dòng)態(tài)網(wǎng)絡(luò)流優(yōu)化(Dynamic Network Flow Optimization,DNFO)模型[5]等。擁有最優(yōu)擴(kuò)展性的模型是MILP 模型,目前應(yīng)用較為廣泛[6]?!叭蝥棥焙汀安妒痴摺睙o(wú)人機(jī)協(xié)同偵察任務(wù)規(guī)劃建模中應(yīng)用了VRP模型及其擴(kuò)展帶時(shí)間窗約束的CVRPTW(Capacitated VRP with Time Windows)模型[7]。T.Shima 等提出了協(xié)同多任務(wù)分配問(wèn)題(Cooperative Multi-Tasks Assignment Problem, CMTAP)模型,該模型包含時(shí)序關(guān)系、促進(jìn)關(guān)系和使能約束,針對(duì)復(fù)雜任務(wù)及協(xié)同規(guī)劃建??梢哉业捷^優(yōu)解[8]。田菁結(jié)合了MILP、MTSP 與VRP 這3個(gè)模型,提出了有時(shí)間窗約束、目標(biāo)優(yōu)先級(jí)、平臺(tái)/傳感器性能差異的多無(wú)人機(jī)協(xié)同模型,主要針對(duì)更復(fù)雜的問(wèn)題,如需要多架飛行器分別對(duì)多個(gè)目標(biāo)依次執(zhí)行搜索、識(shí)別、攻擊及毀傷評(píng)估等多種行動(dòng)[9]。黃雄、孟中杰等使用變步長(zhǎng)稀疏A*算法,實(shí)現(xiàn)了二維平面的飛行器路徑規(guī)劃穩(wěn)定求解[10-11]。A.Stentz 等提出了D*算法,即動(dòng)態(tài)A*(Dynamic A*)算法,解決了無(wú)法動(dòng)態(tài)規(guī)劃路徑問(wèn)題[12]。該算法先利用Dijkstra 算法求得一條目標(biāo)位置與初始位置的最近路徑,每移動(dòng)到下一節(jié)點(diǎn)便檢查再下一節(jié)點(diǎn)是否發(fā)生變化,若發(fā)生變化則重新根據(jù)啟發(fā)函數(shù)計(jì)算路徑。除此外,還有概率圖模型(Probabilistic Graphical Model,PGM)及快速探索隨機(jī)樹(shù)(Rapid-exploration Random Tree,RRT)算法被提出。這兩類(lèi)算法在地圖內(nèi)隨機(jī)選點(diǎn),直至起點(diǎn)終點(diǎn)均被包含在樣點(diǎn)集內(nèi),連接最短路線即可。此類(lèi)方法不一定能求解到最優(yōu)解,且計(jì)算時(shí)間不夠確定。其他算法中,王荔豪等使用Dubins 曲線實(shí)現(xiàn)飛行器路徑規(guī)劃[13]。Dubins 算法的基本思想為在滿(mǎn)足曲率約束和規(guī)定的始端及末端的切線方向的條件下,連接2個(gè)二維平面(即X-Y平面)的最短路徑,并假設(shè)車(chē)輛行駛的道路只能向前行進(jìn)。如果車(chē)輛也可以在反向行駛, 則路徑為Reeds-Shepp 曲線。
在進(jìn)行在線軌跡規(guī)劃時(shí),傳統(tǒng)的解析方法具有計(jì)算量大、難以在線實(shí)時(shí)規(guī)劃的問(wèn)題?;陲w行器覆蓋區(qū)域進(jìn)行路徑規(guī)劃能夠在線下提前完成大量的計(jì)算工作,大幅減小彈上計(jì)算量,具有較好的在線應(yīng)用前景。目前,飛行器的覆蓋區(qū)域計(jì)算多采用無(wú)旋圓地球模型,利用偽譜法對(duì)彈道進(jìn)行優(yōu)化進(jìn)而分析覆蓋區(qū)域。馮必鳴在無(wú)旋圓地球模型下計(jì)算再入飛行器的最大縱程、最小縱程和最大橫程,并建立縱程與橫程的近似關(guān)系。汪雷等在建模中引入多項(xiàng)約束[14],目標(biāo)覆蓋范圍通過(guò)求解一組最佳再入彈道來(lái)確定,通過(guò)偽譜法進(jìn)行優(yōu)化。偽譜法為近年來(lái)飛行器再入軌跡優(yōu)化領(lǐng)域的熱門(mén)算法。偽譜法的基本原理是依據(jù)Legendre-Gauss(LG)等離散點(diǎn)對(duì)時(shí)間軸進(jìn)行離散化處理, 并利用Lagrange 多項(xiàng)式作為基函數(shù)近似狀態(tài)變量與控制變量,然后引入導(dǎo)數(shù)矩陣將動(dòng)力學(xué)方程轉(zhuǎn)化為等式約束,最終將最優(yōu)控制問(wèn)題轉(zhuǎn)化為非線性規(guī)劃問(wèn)題求解。李柯等在旋轉(zhuǎn)圓地球模型中建立飛行器運(yùn)動(dòng)模型[15], 采用Radau 優(yōu)化算法,即偽譜法進(jìn)行覆蓋區(qū)域分析。傅瑜等采用序列梯度-修復(fù)算法理論,對(duì)升力式再入飛行器覆蓋范圍軌跡進(jìn)行優(yōu)化[16]。張遠(yuǎn)龍基于三維剖面進(jìn)行機(jī)動(dòng)能力分析,通過(guò)建立滑翔段典型過(guò)程約束及三維飛行走廊映射模型,分析了走廊模型中關(guān)鍵參數(shù)的影響特性,并提出了一種側(cè)向優(yōu)先的三維剖面覆蓋區(qū)域求解方法[17]。何睿智研究了高超聲速助推飛行器的覆蓋區(qū)域,提出了一種基于三維加速度剖面規(guī)劃的飛行器覆蓋區(qū)域解算算法[18]。該方法采用攻角和傾側(cè)角聯(lián)合調(diào)整的策略,提高了飛行器氣動(dòng)調(diào)整能力,獲得了更大的覆蓋區(qū)域。
上述文獻(xiàn)主要對(duì)再入覆蓋區(qū)域做一次性計(jì)算,未考慮飛行器在分段機(jī)動(dòng)情況下的動(dòng)態(tài)覆蓋區(qū)域情況。同時(shí),未將路徑規(guī)劃與覆蓋區(qū)域結(jié)合,形成完整的在線軌跡規(guī)劃方法。針對(duì)上述問(wèn)題,面向滑翔式高超聲速飛行器在線動(dòng)態(tài)軌跡規(guī)劃需求,本文將基于智能圖搜索算法結(jié)合高超聲速飛行器區(qū)域覆蓋分析,對(duì)滑翔式高超聲速飛行器在線軌跡規(guī)劃方法開(kāi)展研究。首先對(duì)飛行器動(dòng)力學(xué)模型進(jìn)行構(gòu)建,在飛行器過(guò)程約束、終端約束等條件下計(jì)算再入走廊并分段計(jì)算覆蓋區(qū)域,進(jìn)一步將覆蓋區(qū)域與路徑規(guī)劃問(wèn)題結(jié)合,利用速度區(qū)間分段和智能圖搜索算法,在多段覆蓋區(qū)域中利用變步長(zhǎng)A*算法自動(dòng)規(guī)劃飛行軌跡,最后給出數(shù)值仿真和結(jié)果分析。
考慮升力體外形的高超聲速滑翔式飛行器[14],通常采用傾斜轉(zhuǎn)彎技術(shù)(Bank to Turn Technique,BBT),故可假設(shè)飛行過(guò)程側(cè)滑角總為零。設(shè)地球?yàn)椴恍D(zhuǎn)圓球,建立飛行器三自由度運(yùn)動(dòng)模型,其中位置參數(shù)用地心距r、經(jīng)度λ和緯度φ這3 個(gè)參數(shù)描述;速度參數(shù)由速度v、速度傾角θ和速度偏角σ這3 個(gè)參數(shù)確定。速度傾角θ是速度向量與當(dāng)?shù)厮矫娴膴A角,速度向量是指向水平面上方時(shí)θ為正。速度偏角σ是速度向量在當(dāng)?shù)厮矫嫱队芭c正北方向的夾角,從正北方向到速度向量順時(shí)針旋轉(zhuǎn)時(shí)σ為正;設(shè)傾側(cè)角為ν。
無(wú)動(dòng)力三自由度再入運(yùn)動(dòng)方程[19]為
(1)
飛行器再入過(guò)程中需要考慮多種因素的影響,其中包括熱流、動(dòng)壓、機(jī)動(dòng)能力及過(guò)載等。這些因素必須在飛行器的可承受范圍內(nèi)。
法向過(guò)載約束
(2)
駐點(diǎn)熱流約束
qs=ks(ρ/ρ0)0.5(v/vc)3.15 (3) 動(dòng)壓約束 (4) 式中,q為動(dòng)壓;qmax為最大動(dòng)壓。 考慮導(dǎo)彈的可控性,即在飛行時(shí)保證最大升力始終可以平衡其余力,有平衡滑翔約束 FY,max>mg-mv2/r (5) 式中,F(xiàn)Y,max為飛行時(shí)的最大升力。 再入走廊,即再入飛行器安全抵達(dá)目標(biāo)所必須滿(mǎn)足的各種約束條件的交集,可直觀反映飛行器再入過(guò)程約束。 取指數(shù)大氣密度模型ρ(h)=ρ0e-h/hs,式中,ρ0為海平面大氣密度,hs=7.11km,飛行器高度h=r-R0。根據(jù)法向過(guò)載約束、駐點(diǎn)熱流約束、動(dòng)壓約束和平衡滑翔約束,可得h-v剖面內(nèi)與各約束條件對(duì)應(yīng)的再入走廊區(qū)域 (6) 式中,Cy,max表示對(duì)應(yīng)速度下的最大升力系數(shù);S為飛行器參考面積。代入各約束具體取值,可計(jì)算得再入走廊。 除此外,對(duì)地打擊的再入飛行器通常還對(duì)落地速度和落地彈道傾角有要求,即 θ(tf)>θf(wàn),v(tf)>vf (7) 式中,θf(wàn)為落地的最小彈道傾角;vf為最小落地速度;tf表示彈道終端時(shí)刻。 在高超聲速情況下,升力系數(shù)CL和阻力系數(shù)CD之間的關(guān)系可近似由以下函數(shù)表示 (8) 式中,CD0為零升阻力系數(shù);K為常系數(shù)。 定義泛化升力系數(shù) (9) (10) 對(duì)某一高超聲速飛行器,可將泛化升力系數(shù)L作為彈道設(shè)計(jì)參數(shù)[21],代替?zhèn)鹘y(tǒng)的彈道設(shè)計(jì)變量α。 地圖數(shù)據(jù)中常見(jiàn)圖(Graph)這類(lèi)數(shù)據(jù)結(jié)構(gòu),故在圖結(jié)構(gòu)中常用的搜索算法同樣適用于路徑規(guī)劃。圖由節(jié)點(diǎn)和邊組成,每?jī)蓚€(gè)節(jié)點(diǎn)之間的連接關(guān)系稱(chēng)為邊。邊可以是無(wú)向、單向或雙向的,且每條邊有權(quán)重,代表走這條路所花費(fèi)的代價(jià),如圖1所示。 圖1 圖搜索原理示意圖Fig.1 Schematic diagram of graph search principle 圖搜索問(wèn)題的過(guò)程,就是尋找從開(kāi)始節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)間可能存在的一條路徑。整個(gè)圖可以轉(zhuǎn)化成一個(gè)樹(shù)形結(jié)構(gòu),用樹(shù)的理論對(duì)圖進(jìn)行搜索,不斷搜索每一個(gè)分支,在找到終點(diǎn)后回溯這一分支,從而獲得從起點(diǎn)到終點(diǎn)的路徑,如圖2所示。 圖2 圖搜索路徑示意圖Fig.2 Schematic diagram of graph search path 圖搜索的原理及工作過(guò)程如下:創(chuàng)建一個(gè)container容器,用于暫時(shí)存儲(chǔ)當(dāng)前正在遍歷的父節(jié)點(diǎn),并不斷地從父節(jié)點(diǎn)更新子節(jié)點(diǎn),將子節(jié)點(diǎn)放入container中。當(dāng)前父節(jié)點(diǎn)更新完成后,將該父節(jié)點(diǎn)放入closed集合中,表示這個(gè)點(diǎn)已經(jīng)被搜索過(guò)。不斷重復(fù)這一過(guò)程,直至遍歷到目標(biāo)節(jié)點(diǎn)或是所有節(jié)點(diǎn)。 在實(shí)際應(yīng)用中,遇到分岔路口如何選擇,或是如何能夠較快地搜索到較優(yōu)路徑,從而減少圖節(jié)點(diǎn)的擴(kuò)展是研究需要重點(diǎn)關(guān)注的地方,常用的圖搜索算法有如下幾種。 (1)廣度優(yōu)先算法及深度優(yōu)先算法 廣度優(yōu)先算法(Breadth First Search,BFS)[22]和深度優(yōu)先算法(Depth First Search,DFS)[23]是最基礎(chǔ)的圖搜索算法。廣度優(yōu)先搜索以廣度作為優(yōu)先搜索,總是訪問(wèn)容器中最先進(jìn)入的元素。深度優(yōu)先搜索總是向最深的方向搜索,直到這一條分叉結(jié)束,才從上一個(gè)最近的分叉節(jié)點(diǎn)進(jìn)入下一條分叉路,即總是訪問(wèn)容器中最后一個(gè)進(jìn)入的元素[24]。這也導(dǎo)致兩個(gè)算法存在顯著的差異。深度優(yōu)先算法尋找到的路徑不一定是最優(yōu)路徑,但有可能更快地找到抵達(dá)終點(diǎn)的路徑。而廣度優(yōu)先算法通常能找到最優(yōu)路徑,但所需時(shí)間更久。以下介紹的最短路徑算法Dijkstra和A*算法都基于廣度優(yōu)先算法。 (2)貪心最佳優(yōu)先搜索 貪心最佳優(yōu)先搜索(Greedy Best First Search)[25]是一種貪心算法,加入了啟發(fā)式(heuristic)函數(shù)[26]。啟發(fā)式函數(shù)能夠指引向離目標(biāo)更近的方向前進(jìn),且容易計(jì)算,保證實(shí)時(shí)性。貪心最佳優(yōu)先搜索的啟發(fā)式函數(shù),通過(guò)對(duì)比當(dāng)前父節(jié)點(diǎn)的多個(gè)子節(jié)點(diǎn),尋找距離目標(biāo)節(jié)點(diǎn)曼哈頓距離最小的節(jié)點(diǎn)前進(jìn)。這樣在沒(méi)有障礙物時(shí)搜索極快,且總能找到最短路徑。但一旦遇到障礙物,則會(huì)因太過(guò)貪心而通??赡軣o(wú)法找到最優(yōu)解,這與飛行器需要規(guī)避威脅,尋找較優(yōu)路徑的目的顯然不符。 (3)Dijkstra算法 Dijkstra算法[27]和廣度優(yōu)先算法的本質(zhì)區(qū)別在于:廣度優(yōu)先算法是按照人為預(yù)先定義好的順序訪問(wèn)容器中的節(jié)點(diǎn),而Dijkstra算法是訪問(wèn)當(dāng)前容器累計(jì)成本(從起始節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)的累計(jì)成本)最低的節(jié)點(diǎn)。Dijkstra算法[28]可以保證訪問(wèn)過(guò)的節(jié)點(diǎn)都是當(dāng)前時(shí)刻容器中代價(jià)最小的節(jié)點(diǎn),完成路徑搜索后,回溯出的路徑也就一定是最小代價(jià)路徑,因此保證了整個(gè)算法的完備性。但該算法也有顯著的缺點(diǎn):因?yàn)椴恢滥繕?biāo)節(jié)點(diǎn)所在位置,其下一步擴(kuò)展沒(méi)有方向性。為了找到目標(biāo)節(jié)點(diǎn),Dijkstra算法必須向所有方向擴(kuò)展,目的性不強(qiáng),故算法效率不高。 (4)A*算法 A*算法[29]在多個(gè)領(lǐng)域應(yīng)用廣泛,是上述Dijkstra算法的升級(jí)改進(jìn)版,結(jié)合了貪心最佳優(yōu)先搜索和Dijkstra算法的優(yōu)點(diǎn),即在Dijkstra算法的基礎(chǔ)上引入了啟發(fā)式函數(shù),解決了Dijkstra算法效率低下的問(wèn)題。由于同時(shí)使用了累計(jì)成本g(n)及啟發(fā)式函數(shù)h(n),A*算法的代價(jià)估計(jì)是f(n)=g(n)+h(n)[30],結(jié)合兩個(gè)成本進(jìn)行估計(jì),訪問(wèn)策略也就修改為每次都訪問(wèn)容器中f(n)值最小的節(jié)點(diǎn)。 綜合以上四種算法可以看出,廣度優(yōu)先算法和深度優(yōu)先算法作為最基礎(chǔ)的圖搜索算法,實(shí)現(xiàn)簡(jiǎn)單,但應(yīng)用在本文的路徑規(guī)劃中,結(jié)果并不理想。廣度優(yōu)先算法用時(shí)太久,深度優(yōu)先算法在有障礙物時(shí)難以找到較優(yōu)路徑。貪心最佳優(yōu)先搜索算法提高了搜索效率,但同樣在有障礙物時(shí)難以找到較優(yōu)路徑。Dijkstra算法在廣度優(yōu)先算法的基礎(chǔ)上添加了累計(jì)成本,能保證找到最小代價(jià)路徑,但缺少指向性,效率低。A*算法結(jié)合了前兩者的優(yōu)點(diǎn),同時(shí)使用了累計(jì)成本g(n)和啟發(fā)式函數(shù)h(n),在擁有高搜索效率的同時(shí)還能找到最優(yōu)或較優(yōu)路徑,更適合本文的路徑規(guī)劃場(chǎng)景。 2.2.1 A*算法完備性 為保證飛行器安全完成飛行任務(wù),需要避開(kāi)威脅區(qū),意味著需要尋找到較優(yōu)的路徑以滿(mǎn)足威脅區(qū)約束,這就需要算法具有一定的完備性。而融合了貪心最佳優(yōu)先搜索的啟發(fā)式函數(shù)后,A*算法雖不能保證具有完備性,但可以通過(guò)調(diào)整啟發(fā)函數(shù)使得A*算法具有完備性。 記h*(n)為節(jié)點(diǎn)n到終點(diǎn)的真實(shí)代價(jià)。極端情況下,當(dāng)啟發(fā)函數(shù)h(n)為0時(shí),由累計(jì)成本g(n)決定節(jié)點(diǎn)的總代價(jià),算法顯然退化成Dijkstra算法。當(dāng)h(n) 圖3和圖4所示為h(n)=h*(n)的情況及h(n)>h*(n)的情況對(duì)比。圖中,紅色星形點(diǎn)為起點(diǎn),坐標(biāo)為(1,1),藍(lán)色星形點(diǎn)為終點(diǎn),坐標(biāo)為(22,-23),粉色空心點(diǎn)為邊界。 圖3 h(n)=h*(n)時(shí)路徑規(guī)劃Fig.3 h(n)=h*(n) path planning 圖4 h(n)>h*(n)時(shí)路徑規(guī)劃1Fig.4 h(n)>h*(n) path planning 1 圖3中,h(n)=h*(n),即無(wú)障礙物,飛行器能夠比較容易地完成從初始點(diǎn)到達(dá)終點(diǎn)的路徑規(guī)劃。圖4中,h(n)>h*(n),即起點(diǎn)與終點(diǎn)之間存在障礙物,當(dāng)障礙物數(shù)量為1時(shí),算法仍能找到最佳路徑。 若是再在起點(diǎn)與終點(diǎn)之間增加障礙物,則有可能出現(xiàn)無(wú)法找到最佳路徑的情況,如圖5所示,在終點(diǎn)前添加障礙物后,仍然是h(n)>h*(n)的情況,但是這次找到的并非最優(yōu)路徑,路徑并非最短,在終點(diǎn)上方的障礙物處出現(xiàn)了繞路的情況。這種情況下找到的路徑是次優(yōu)路徑,但是與最優(yōu)路徑偏離不大,符合我們的需求,對(duì)仿真結(jié)果影響不大。 圖5 h(n)>h*(n)時(shí)路徑規(guī)劃2Fig.5 h(n)>h*(n) path planning 2 在實(shí)際飛行場(chǎng)景中,常見(jiàn)的情況是由于障礙物的存在,h(n)略大于h*(n),算法效率高,但不保證一定能找到最短路徑,結(jié)果通常為次優(yōu)路徑或最短路徑。 2.2.2 變步長(zhǎng)A*算法 普通A*算法在高超聲速飛行器實(shí)際應(yīng)用過(guò)程中,由于飛行距離較遠(yuǎn),規(guī)劃的航跡范圍較廣,導(dǎo)致算法中搜索節(jié)點(diǎn)過(guò)多,搜索效率大大降低。本文將在普通A*算法的基礎(chǔ)上進(jìn)行改進(jìn),提出一種變步長(zhǎng)A*算法對(duì)飛行器路徑進(jìn)行規(guī)劃。將路徑分為多段進(jìn)行搜索,僅提供初始節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn),中間段的目標(biāo)節(jié)點(diǎn)由算法自行搜索給出,如圖6所示,根據(jù)威脅場(chǎng)的疏密以及飛行器與當(dāng)前段目標(biāo)節(jié)點(diǎn)的距離遠(yuǎn)近,合理調(diào)整算法搜索步長(zhǎng),以期提高算法計(jì)算效率。其中,d和d0分別為飛行器與目標(biāo)節(jié)點(diǎn)的實(shí)際距離和預(yù)期距離閾值。 圖6 變步長(zhǎng)機(jī)制Fig.6 Variable step length mechanism 由于高超聲速飛行器在實(shí)際飛行過(guò)程中,通常不存在地形限制,故可分為威脅場(chǎng)稀疏和威脅場(chǎng)密集兩種情況。在威脅場(chǎng)稀疏時(shí),為提高算法計(jì)算效率,通??刹捎幂^大步長(zhǎng),快速計(jì)算通過(guò)路徑,減少不必要的搜索。在威脅場(chǎng)密集時(shí),則需要更小步長(zhǎng),精確搜索飛行路徑,確保飛行器能夠找到較優(yōu)路徑,安全通過(guò)威脅密集區(qū)域。在實(shí)際應(yīng)用過(guò)程中,可根據(jù)實(shí)際情況劃分為多個(gè)步長(zhǎng)或采用自適應(yīng)步長(zhǎng),在保證能夠?qū)ふ业捷^優(yōu)路徑的前提下提高算法計(jì)算效率。本文采用劃分多個(gè)步長(zhǎng)來(lái)計(jì)算,控制步長(zhǎng)為每次1經(jīng)緯度、0.1經(jīng)緯度和0.0001經(jīng)緯度,共3個(gè)步長(zhǎng)。在設(shè)置步長(zhǎng)時(shí),需要考慮到當(dāng)前節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)的關(guān)系位置以及時(shí)間代價(jià)。若步長(zhǎng)設(shè)置太大,可能會(huì)出現(xiàn)路徑規(guī)劃繞路,即跨過(guò)目標(biāo)點(diǎn)后再改變方向,向目標(biāo)點(diǎn)前進(jìn)。如圖7所示,當(dāng)出現(xiàn)當(dāng)前節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)在橫坐標(biāo)或縱坐標(biāo)距離接近于1時(shí),若步長(zhǎng)仍為1,則算法很有可能出現(xiàn)前進(jìn)方向錯(cuò)誤,只能先跨過(guò)目標(biāo)點(diǎn),隨后再調(diào)轉(zhuǎn)方向,以0.1的小步長(zhǎng)向目標(biāo)節(jié)點(diǎn)搜索路徑。同時(shí),若長(zhǎng)期采用小步長(zhǎng),雖路徑規(guī)劃精度高,路線可能更優(yōu),但同時(shí)會(huì)導(dǎo)致計(jì)算時(shí)間過(guò)長(zhǎng),得不償失。 (a) 過(guò)程圖 在每一飛行段,算法給出中間臨時(shí)目標(biāo)點(diǎn)后,將該臨時(shí)目標(biāo)節(jié)點(diǎn)作為下一段路徑規(guī)劃的起點(diǎn),開(kāi)始下一段路徑的搜索。此時(shí),當(dāng)飛行器距離當(dāng)前分段目標(biāo)點(diǎn)較遠(yuǎn)時(shí),采用大步長(zhǎng)規(guī)劃,快速尋找通過(guò)當(dāng)前區(qū)域的路徑;當(dāng)飛行器接近當(dāng)前目標(biāo)點(diǎn)時(shí),采用小步長(zhǎng)規(guī)劃,以便精確尋找目標(biāo)點(diǎn)及飛行路徑。 針對(duì)高超聲速滑翔飛行器的再入任務(wù),對(duì)本文提出的飛行器覆蓋區(qū)域計(jì)算方法和基于啟發(fā)式路徑搜索的分段路徑規(guī)劃算法進(jìn)行仿真驗(yàn)證。仿真中,高超聲速滑翔飛行器模型主要參考CAV的相關(guān)參數(shù):質(zhì)量為907kg,氣動(dòng)參考面積為0.4839m2。仿真中路徑規(guī)劃任務(wù)的過(guò)程約束和控制約束見(jiàn)表1,初始和終端條件見(jiàn)表2。 表1 約束條件 表2 初始和終端條件 基于表1中的過(guò)程約束和控制量約束,可求得h-v再入走廊如圖8所示。其中,走廊上界為擬平衡滑翔邊界,下界由動(dòng)壓約束和熱流約束共同構(gòu)成,飛行路徑只有位于再入走廊之間,才能夠滿(mǎn)足表1中的各種過(guò)程約束條件。 圖8 再入走廊Fig.8 Re-entry corridor 仿真任務(wù)為給定初始條件后,通過(guò)迭代建立的飛行器動(dòng)力學(xué)模型,計(jì)算不同終端速度條件下的覆蓋區(qū)域。迭代過(guò)程中,在控制量的約束范圍內(nèi),按一定的間隔給定不同的初始傾側(cè)角及泛化升力系數(shù),可以得到不同彈著點(diǎn),每一個(gè)彈著點(diǎn)表示通過(guò)給定一組初始傾側(cè)角及泛化升力系數(shù)對(duì)動(dòng)力學(xué)模型進(jìn)行積分得到的軌跡終端點(diǎn)。在仿真過(guò)程中發(fā)現(xiàn),由于僅僅通過(guò)迭代飛行器動(dòng)力學(xué)模型計(jì)算飛行器路徑而沒(méi)有對(duì)路徑做任何優(yōu)化,導(dǎo)致飛行器在泛化升力系數(shù)較低的情況下極其容易超過(guò)駐點(diǎn)熱流約束。針對(duì)此問(wèn)題,本文將在仿真過(guò)程中,監(jiān)測(cè)駐點(diǎn)熱流變化,提前對(duì)泛化升力系數(shù)進(jìn)行調(diào)控,增加泛化升力系數(shù)以增加飛行器升力,減緩飛行器高度下降速度,改善飛行軌跡。 以表2給出的初始條件作為高超聲速飛行器的初始狀態(tài),飛行過(guò)程中,在控制量允許范圍內(nèi),泛化升力系數(shù)逐步增加0.1取值,傾側(cè)角逐步增加1°取值,高超聲速飛行器的再入覆蓋區(qū)域如圖9所示,圖中每一個(gè)點(diǎn)即一個(gè)可行的彈著點(diǎn)。 圖9 一段仿真(終端速度1000m/s)Fig.9 One step simulation (terminal speed 1000m/s) 為便于3.2節(jié)開(kāi)展分段路徑規(guī)劃仿真驗(yàn)證,決定采取多個(gè)不同的終端速度參數(shù),將整個(gè)滑翔路徑劃分為多段路徑,并計(jì)算每個(gè)階段的覆蓋區(qū)域。采用分段計(jì)算時(shí),需要手動(dòng)決定中間段的目標(biāo)點(diǎn),且每一段的目標(biāo)點(diǎn)都將是下一段的起始點(diǎn)。但是由于分段計(jì)算后,會(huì)在每一段開(kāi)始重新分配不同傾側(cè)角及泛化升力系數(shù)進(jìn)行計(jì)算,泛化升力系數(shù)較低可能會(huì)出現(xiàn)高度下降過(guò)快,超出約束,或是到達(dá)終端速度前已經(jīng)觸地。為避免該類(lèi)情況,在飛行過(guò)程中適時(shí)調(diào)整泛化升力系數(shù),且每一階段都對(duì)下降的高度進(jìn)行監(jiān)測(cè),若高度下降過(guò)快或是接近駐點(diǎn)熱流約束和動(dòng)壓約束,則提前增加泛化升力系數(shù)以保證飛行路徑能夠滿(mǎn)足各類(lèi)約束條件。 將整個(gè)飛行段重新按速度區(qū)間進(jìn)行劃分,以終端速度為界限,分為①5306m/s~4500m/s、②4500m/s~4000m/s、③4000m/s~3500m/s、④3500m/s~3000m/s、⑤3000m/s~2500m/s、⑥2500m/s~2000m/s、⑦2000m/s~1500m/s、⑧1500m/s~1000m/s,共8個(gè)飛行段,分段計(jì)算,結(jié)果如圖10所示。圖像中每個(gè)紅色空心點(diǎn)即為一個(gè)彈著點(diǎn),可將其外輪廓視作完整的覆蓋區(qū)域。 ① 由分段計(jì)算的覆蓋區(qū)域仿真結(jié)果圖10可以看出,在5306m/s~4500m/s和4500m/s~4000m/s速度區(qū)間內(nèi),高超聲速飛行器的覆蓋區(qū)域相應(yīng)較大,近似為扇形;而在速度較低的區(qū)間內(nèi),覆蓋區(qū)域的邊緣處可以發(fā)現(xiàn)彈著點(diǎn)有部分“回歸”情況,這是因?yàn)殡S著泛化升力系數(shù)的上升,阻力系數(shù)也隨之增加,升阻比先增加后減少,在泛化升力系數(shù)較高的情況下,升阻比并非最大,阻力系數(shù)及占比均較高,這會(huì)導(dǎo)致飛行器速度下降較快,飛行距離減少。 需要注意的是,對(duì)比分段計(jì)算結(jié)果及整段計(jì)算結(jié)果不難發(fā)現(xiàn),分段計(jì)算中因?yàn)樵黾恿藢?duì)泛化升力系數(shù)額外的調(diào)控,在相同條件下,較大程度發(fā)揮了飛行器在縱向平面的機(jī)動(dòng)性能,使得計(jì)算得到的飛行器縱向距離更大,相應(yīng)地橫向距離更小。 3.2.1 路徑規(guī)劃場(chǎng)景 基于3.1節(jié)中計(jì)算的多段覆蓋區(qū)域構(gòu)建仿真場(chǎng)景,即根據(jù)不同終端速度進(jìn)行分段,給定起點(diǎn)及最終目標(biāo)點(diǎn),對(duì)飛行路徑進(jìn)行分段規(guī)劃。算法會(huì)搜索每一段覆蓋區(qū)域中距離終點(diǎn)最近的點(diǎn),該點(diǎn)即為每一段路徑的終點(diǎn),并將此作為下一段的起始點(diǎn),如此反復(fù),可以快速得到到達(dá)終點(diǎn)的可行路徑。 本次仿真算法采用的是變步長(zhǎng)A*算法,將算法的步長(zhǎng)分為兩種情況:當(dāng)飛行器當(dāng)前所在位置距離終點(diǎn)超過(guò)1個(gè)經(jīng)度或1個(gè)緯度時(shí),A*算法步長(zhǎng)為1;當(dāng)飛行器位置距離終點(diǎn)小于1個(gè)經(jīng)度或1個(gè)緯度時(shí),A*算法步長(zhǎng)為0.1;當(dāng)飛行器位置距離終點(diǎn)小于0.1個(gè)經(jīng)度或0.1個(gè)緯度時(shí),A*算法步長(zhǎng)為0.0001。 3.2.2 路徑規(guī)劃仿真結(jié)果 本次仿真起點(diǎn)為經(jīng)緯度(0°,0°)處,最終目標(biāo)點(diǎn)為(53.5°,-5°)處。依照上文分段計(jì)算覆蓋區(qū)域的結(jié)果,將整個(gè)飛行段按照速度區(qū)間劃分為8個(gè)飛行段。 結(jié)合每個(gè)飛行段的覆蓋區(qū)域,每個(gè)飛行段的路徑規(guī)劃任務(wù)即為在可行的覆蓋區(qū)域內(nèi),以上一飛行段的終點(diǎn)作為下一飛行段的起點(diǎn),計(jì)算當(dāng)前起點(diǎn)的覆蓋區(qū)域后,找到距離目標(biāo)點(diǎn)最近的點(diǎn)作為當(dāng)前飛行段的終點(diǎn)。以此終點(diǎn)作為下一段的起點(diǎn),繼續(xù)在下一個(gè)飛行段的可行覆蓋區(qū)域內(nèi)找到距離目標(biāo)點(diǎn)最近的點(diǎn),以此類(lèi)推,直到在最后一個(gè)飛行段找到目標(biāo)點(diǎn)。各個(gè)飛行段的仿真結(jié)果如圖11所示。 ① 圖11中,左側(cè)淡藍(lán)色星形點(diǎn)為坐標(biāo)(0°,0°)的初始起點(diǎn),紅色星形點(diǎn)為該飛行段當(dāng)前起點(diǎn),綠色星形點(diǎn)為當(dāng)前段終點(diǎn),紅色空心點(diǎn)為彈著點(diǎn),其外輪廓即覆蓋區(qū)域,粉色空心點(diǎn)為邊界,主要作用為限制算法在一定區(qū)域內(nèi)尋找路徑。圖11-⑧中藍(lán)色星形點(diǎn)為本次仿真目標(biāo)的終點(diǎn),坐標(biāo)為(53.5°,-5°),從中可見(jiàn),飛行器成功地到達(dá)了預(yù)定目標(biāo)點(diǎn)。完整覆蓋區(qū)域及路徑規(guī)劃如圖12所示。 由圖12可以看出,本算法可以形成一條完整的、由起點(diǎn)到終點(diǎn)的飛行軌跡,起點(diǎn)終點(diǎn)均在飛行器覆蓋區(qū)域之內(nèi)。本文將飛行器路徑規(guī)劃分為8段,中間共有7個(gè)自動(dòng)規(guī)劃的臨時(shí)路徑點(diǎn),作為中間段的起點(diǎn)或終點(diǎn),各規(guī)劃節(jié)點(diǎn)飛行狀態(tài)見(jiàn)表3。 圖12 完整覆蓋區(qū)域及路徑規(guī)劃Fig.12 Complete coverage area and path planning 表3 各規(guī)劃節(jié)點(diǎn)飛行狀態(tài) 由上述仿真結(jié)果可以看出,基于A*星算法的分段路徑規(guī)劃方法能夠在每個(gè)飛行階段找到該階段的飛行終點(diǎn),且該點(diǎn)是可行的彈著點(diǎn)??梢?jiàn),基于本文所提出的覆蓋區(qū)域+分段路徑規(guī)劃的算法,能夠形成一條由起點(diǎn)到終點(diǎn)的飛行器可行路徑,有效地實(shí)現(xiàn)了高超聲速飛行器的路徑規(guī)劃。分段覆蓋區(qū)域的算法,以不同終端速度作為分段依據(jù),每一段的覆蓋區(qū)域計(jì)算速度快,且可以在覆蓋區(qū)域中任意選定本段飛行的目標(biāo)點(diǎn),相較于一段式的覆蓋區(qū)域計(jì)算,能夠提供更真實(shí)、更切合實(shí)際、更靈活的覆蓋區(qū)域。分段路徑規(guī)劃的算法,能夠提高飛行器快速路徑規(guī)劃的能力。將長(zhǎng)段的路徑規(guī)劃分為多段較短的路徑規(guī)劃,一是可以提高路徑規(guī)劃的精度,不但可以采用更小步長(zhǎng),同時(shí)只需要對(duì)當(dāng)前飛行段進(jìn)行規(guī)劃,避障避險(xiǎn)的路徑規(guī)劃更精確;二是每次規(guī)劃的路程短,可以更快地完成路徑規(guī)劃,同時(shí)可以有針對(duì)性地采用變步長(zhǎng)的智能圖搜索算法,不但能提高搜索速度,還能保證路徑規(guī)劃的精度。 本文針對(duì)高超聲速滑翔式飛行器進(jìn)行了基于變步長(zhǎng)A*算法的分段路徑規(guī)劃方法的研究和仿真驗(yàn)證。首先,對(duì)滑翔式飛行器再入過(guò)程進(jìn)行動(dòng)力學(xué)建模,隨后通過(guò)動(dòng)力學(xué)方程對(duì)飛行器再入覆蓋區(qū)域進(jìn)行分段計(jì)算。對(duì)比整段計(jì)算及分段計(jì)算結(jié)果,可以發(fā)現(xiàn),分段計(jì)算中為了保證不超過(guò)飛行器自身約束而調(diào)控了泛化升力系數(shù),使得飛行器在縱向方向上可以到達(dá)更遠(yuǎn)的區(qū)域。隨后結(jié)合覆蓋區(qū)域計(jì)算結(jié)果,采用變步長(zhǎng)A*算法對(duì)飛行器路徑進(jìn)行規(guī)劃,結(jié)果表明,這種覆蓋區(qū)域計(jì)算和分段路徑規(guī)劃方法的結(jié)合能夠形成完整的、連續(xù)的飛行器覆蓋區(qū)域,得到一條滿(mǎn)足初始和終端以及各種約束條件的可行路徑,具備較強(qiáng)的工程可實(shí)現(xiàn)性。2 基于圖搜索的路徑規(guī)劃方法
2.1 圖搜索算法
2.2 基于A*算法的路徑規(guī)劃方法
3 數(shù)值仿真
3.1 覆蓋區(qū)域計(jì)算
3.2 基于圖搜索的路徑規(guī)劃仿真
4 結(jié) 論