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


4 結 語