唐 俊
(中鐵第四勘察設(shè)計院集團有限公司,湖北 武漢 430063)
無人機航跡規(guī)劃是指在考慮地形、氣象、威脅等環(huán)境因素及自身的飛行性能的基礎(chǔ)上,為無人機制定出從初始位置到目標位置的最優(yōu)飛行路徑[1]。無人機航跡規(guī)劃是無人機任務(wù)規(guī)劃系統(tǒng)中的關(guān)鍵,對于提高無人機作業(yè)效率和應(yīng)用能力具有重要意義[2]。
無人機航跡規(guī)劃算法在二維與2.5維發(fā)展較為成熟[3-5]。但在貼近無人機實際應(yīng)用的三維環(huán)境下,具有一定局限性。如神經(jīng)網(wǎng)絡(luò)算法結(jié)合可調(diào)步長策略能快速生成三維航跡,但不適用多種約束共存的環(huán)境[6];遺傳算法與粒子群算法容易陷入局部最優(yōu),且在復(fù)雜約束的路徑規(guī)劃問題中航跡精度不理想[7-10];蟻群算法改進啟發(fā)函數(shù)和信息素更新能使三維路徑長度與搜索效率得到提高,但難以顧及無人機的性能約束特點,規(guī)劃航跡適應(yīng)性不足[11-12];人工勢場法適用于二維復(fù)雜環(huán)境,但無法應(yīng)用于三維環(huán)境中[13]。A*算法在二維圖形搜索領(lǐng)域應(yīng)用成熟[14],若直接應(yīng)用于三維環(huán)境,則運算將成指數(shù)倍上升,效率緩慢,因此需要進行改進[15]。
綜上,目前無人機三維航跡規(guī)劃能在單一約束下快速生成航跡,但在復(fù)雜環(huán)境約束下缺少對最優(yōu)路徑的考慮,且無法同時兼顧復(fù)雜環(huán)境約束與無人機自身性能約束。因此,針對以上不足,本文擬設(shè)計多層擴展A*算法,提出一種顧及復(fù)雜環(huán)境約束的無人機三維航跡快速規(guī)劃方法,期望能高效、準確地生成無人機航跡。
根據(jù)算法基于規(guī)則格網(wǎng)空間搜索的特點將環(huán)境模型構(gòu)建成格網(wǎng)空間。主要方式如下:由于無人機在改變方向時存在最小慣性距離的約束,可將該長度作為格網(wǎng)單元,將路徑規(guī)劃區(qū)域分為一個m×n的格網(wǎng),每個格網(wǎng)具有對應(yīng)的行列號,存儲無人機可飛行的高度范圍信息。
構(gòu)建的模型空間表示為
Ωm={(Xi,Yj,ZXi,Yj)|0≤Xi≤m,0≤Yj≤n,
Z1 (1) 式中,Z1、Z2、Z3、Z4為高度值,且Z1 在構(gòu)建環(huán)境模型后,需要將典型復(fù)雜環(huán)境約束信息融入環(huán)境模型,地形信息采用仿射變換方式。氣象與禁飛區(qū)等柱型約束先豎直投影成多邊形,然后獲取約束區(qū)域邊界所經(jīng)過的環(huán)境模型行列號。危險物約束簡化為球形或正方體類型融入環(huán)境模型。通視約束是指因某些無人機任務(wù)要求,需要無人時刻在至少一個地面站的通視下飛行,要求航跡始終符合地面站通視性要求。通視融入主要采用視域分析方法并以不斷模擬拔高各地面站監(jiān)測點高程,反復(fù)進行視域分析的方式以獲取環(huán)境模型各格網(wǎng)約束信息。 構(gòu)建環(huán)境模型后,通過多層擴展A*算法在環(huán)境模型中搜索出參考航跡,接著對參考航跡采用航跡簡化與航線平滑方法進行優(yōu)化,可高效、準確地生成無人機航跡。 受無人機本身硬件性能的限制,無人機在水平方向轉(zhuǎn)彎時,轉(zhuǎn)彎角度受到最大水平轉(zhuǎn)彎角的限制,因此在算法搜索時,新增8個方向值,每次搜索時,僅能搜索與原先方向相同或左右最鄰近的兩方向。 無人機在爬升與俯沖時有最大俯仰角的限制,根據(jù)此特點,算法在路徑格網(wǎng)搜索擴展節(jié)點時,根據(jù)水平擴展距離與無人機最大俯仰角的大小計算本次擴展豎直高度的可達范圍,然后在豎直可達范圍內(nèi)以固定高度間隔為基準分層擴展豎直節(jié)點。豎直高度可達范圍計算公式為 (2) 式中,Hcur為當前高度;Hnext為本次擴展高度取值范圍;Lc為格網(wǎng)寬度;α為最大俯仰角。 在擴展多個節(jié)點后,需要改進算法代價函數(shù)以快速獲得一系列最優(yōu)航跡節(jié)點,而無人機航跡規(guī)劃一般受距離與飛行高度的影響,可能還受其他因素的影響。因此代價的計算方式為 J=ω1L+ω2Z+ω3T1+ω4T2 (3) 式中,ω1、ω2、ω3、ω4均為權(quán)重值,它根據(jù)應(yīng)用情況相應(yīng)取值;L為航跡段長度;Z為軌跡平均高度;T1、T2為影響因素代價。這些影響因素需要歸一化到同一個數(shù)量級。 按照多層擴展A*算法設(shè)計思路,從起始點開始逐格網(wǎng)依次搜索至目標點,得到格網(wǎng)間一系列點的坐標,按順序相連即是參考航跡。算法流程如圖2所示。 算法搜索得到的參考航跡曲折多變,無法滿足無人機不頻繁轉(zhuǎn)向或升降的實際需求,需要進行航跡簡化,將頻繁的微小轉(zhuǎn)向又回復(fù)的航跡簡化為直線。其主要思路是根據(jù)相鄰方向向量的差異程度判斷是否簡化,簡化方向向量相近的點,若判斷出連續(xù)兩方向向量與之前不相近,則為不簡化點。算法流程如圖3所示。 在進行線簡化后,所生成的航線均是由一系列直線段構(gòu)成,需要采用樣條曲線進行航線平滑,使其符合無人機平滑轉(zhuǎn)彎的實際飛行特點,最終生成一條可飛航跡。 通過選取四川省甘孜藏族自治州金沙江附近山谷地帶大約2200 km2的范圍作為案例試驗區(qū)域,設(shè)置航跡規(guī)劃初始參數(shù)為:最大俯仰角為20°,最大水平角為45°,最小航跡段為20 m,最低離地高度為10 m,最大飛行高度為4500 m,以航跡距離為代價,權(quán)重系數(shù)ε為1.44,將地形、大氣環(huán)境約束區(qū)域、起止點添加至同一場景中,如圖4所示。 按照以上參數(shù)進行航跡規(guī)劃試驗。首先對算法在各步驟所生成的航跡進行對比,如圖5所示。由圖5可知,無論是經(jīng)典A*算法、稀疏A*算法還是本文多層擴展A*算法,在未進行線簡化時,其航跡均有波浪形式;平滑前的航跡在轉(zhuǎn)彎時均是直邊形式,而平滑后轉(zhuǎn)彎是曲線平滑過渡,更符合無人機的實際飛行特點。 然后將經(jīng)典A*算法、稀疏A*算法與本文多層擴展A*算法分別進行對比試驗,其航跡效果如圖6與圖7所示。 3種算法生成的結(jié)果信息見表1。 表1 試驗1算法效率對比 由圖6整體航跡結(jié)果圖可知,3種算法航跡均能有效避開約束區(qū)域,且航跡主要差別在前半段部分,將其放大如圖7局部圖所示。由圖7與表1可知,經(jīng)典A*算法由于其擴展方向不受限制,規(guī)劃時間長,其路徑僅考慮最短的需求,還造成路徑多曲折,頻繁轉(zhuǎn)向,也未考慮無人機性能約束。稀疏A*算法雖顧及了無人機自身性能特點,并且在算法搜索中所規(guī)劃時間較短,但由于其擴展節(jié)點過少,導(dǎo)致航跡缺乏最優(yōu)性。本文多層擴展A*算法在其基礎(chǔ)上,采用多層擴展的方式,規(guī)劃效率與精度都有一定的提升,同時顧及了無人機自身性能特點生成的航路為可飛航路,少轉(zhuǎn)向,更加適合無人機飛行。 試驗1中起止點距離較短,適用于分析航跡,而航跡規(guī)劃算法效率體現(xiàn)不夠明顯。因此,再次設(shè)置參數(shù)模擬進行試驗2,以航跡距離與飛行高度為代價,系數(shù)分別為0.6與0.4;權(quán)重系數(shù)ε為1.732;最大俯仰角修改為40°;最低離地高度為50 m;其余不變,途中設(shè)置約束區(qū)域,同樣將3種算法分別進行對比分析,其時間與解最優(yōu)性見表2。 表2 試驗2算法效率對比 通過表2對比分析可得,經(jīng)典A*算法仍存在效率問題,算法運行緩慢;稀疏A*算法存在解的最優(yōu)性問題,航跡距離較長。本文多層擴展A*算法能夠兼顧效率與解的最優(yōu)性,是更為理想的方法。 本文針對復(fù)雜環(huán)境約束下無人機三維航跡規(guī)劃效率緩慢與精度低的問題,設(shè)計了適應(yīng)于復(fù)雜環(huán)境約束的多層擴展A*算法,能夠生成一條符合要求的飛行航跡。通過選擇案例區(qū)域與經(jīng)典A*算法、稀疏A*算法進行對比試驗,結(jié)果證明本文方法能夠?qū)崿F(xiàn)安全繞開威脅,并且提高了航跡規(guī)劃的效率與精度。2 無人機三維航跡快速規(guī)劃方法
2.1 多層擴展A*算法設(shè)計
2.2 無人機三維航跡規(guī)劃方法
2.3 航線優(yōu)化
3 試驗與分析
4 結(jié) 語