文昌盛,賈鶴鳴,饒洪華,王琢,蘇媛媛
(三明學院 信息工程學院,福建 三明 365004)
隨著科學技術的發展,無人機技術日趨成熟并被廣泛應用于各種任務[1-2],如航空攝影、測繪、救援、運輸等。無人機的三維路徑規劃是無人機執行任務和躲避障礙威脅的關鍵。無人機的三維路徑首先需要滿足約束條件,然后根據代價函數計算適應度值,最后得到優化后的三維路徑。
國內眾多學者對于無人機路徑規劃問題已有了廣泛的研究,常見的方法有A* 算法[3]、人工勢場法[4]、Dijkstra 算法[5]、蟻群算法[6]等。其中A*算法的精度高,尋優效果好,但只在二維路徑規劃問題上有較大效果,運用于三維路徑規劃得到的路徑不平滑且躲避障礙物的能力較差;人工勢場法的算法簡單、較為實用,但全局性較差,容易陷入局部最優,并且當目標點旁有障礙時,斥力大于引力,會找不到路徑;Dijkstra 算法的優點在于收斂速度快,尋優效果好,一定能找到最短路徑,但缺點在于算法復雜性較高,需要遍歷所有節點才能找到最短路徑;蟻群算法在搜索范圍小時收斂速度快、尋優效果好,但隨著搜索范圍的增大,搜索時間會增加且精度會降低。
群智能優化算法[7-8]是處理無人機三維路徑問題的有效方法之一,其中蜜獾算法(HBA)[9]模擬了蜜獾挖洞和尋找蜂蜜的動態搜索行為,結構簡單,收斂速度快,具有廣泛且良好的應用前景。但對于復雜的無人機三維路徑規劃問題,HBA 依舊容易陷入局部最優,仍有一定改進的空間。因此本文提出了一種融合隨機反向學習的蜜獾算法(ROBLHBA),給蜜獾算法加入隨機反向學習策略,增加了種群的豐富度,提高了算法的全局能力。
此外,由于無人機三維路徑規劃是一個較為復雜的工程問題,需要考慮眾多因素,本文參考了文獻[10]的代價函數,考慮路徑代價和威脅代價,將路徑規劃問題轉化為優化求解問題。為了評估算法的性能,本文對比了原始蜜獾算法與6 種有代表性的群智能優化算法,并通過6 種不同場景驗證ROBLHBA 的性能。仿真實驗表明,采用ROBLHBA 進行無人機三維路徑規劃,能有效提升路徑的有效性和精確度,有效驗證了ROBLHBA 在無人機三維路徑規劃問題上的實用性和可行性。
參考文獻[10],給出如下的無人機三維路徑規劃的數學模型。
為實現無人機的高效飛行,無人機的三維路徑必須在基礎地形上實現最優化,其路徑代價函數可定義為:
其中:Wi為無人機的飛行路徑,包括n 個路徑節點,每個路徑點的坐標為Pi,j=(xi,j,yi,j,zi,j),i 表示第i 架無人機,j 表示第j 個路徑節點,表示相鄰兩個路徑節點之間的距離。
無人機不僅需要在基礎地形找到最優路徑,還需要考慮躲避威脅障礙,并且與障礙物保持一定的距離。設K 為所有威脅障礙的集合,假設威脅障礙為圓柱體,其投影的圓心坐標為Ck,Rk為投影的半徑,dk為無人機到Ck的距離。在威脅物的周圍有一圈危險區域,在危險區域內容易產生碰撞,危險區域的直徑為R+S。設D 表示無人機的直徑,通過考慮D 和S,威脅代價函數的計算公式如下:
D 由無人機的大小決定,S 由眾多因素決定,如果無人機在相對安全的環境中飛行,S 只有幾十米,如果無人機的飛行環境惡劣且信號差,S 可能會有幾百米。當無人機在威脅區域之外的地方飛行時,威脅代價為0;當無人機途徑危險區域時,距離中心Ck越近,威脅代價越大;當無人機途徑碰撞區域或碰到威脅障礙時,威脅代價為正無窮。
總成本函數的計算公式如下:
式中:bk為權重系數,F1(Xi)和F2(Xi)分別表示路勁代價和威脅代價。
蜜罐優化算法是由Hashim 等于2022 年提出的一種元啟發式優化算法,該算法通過模擬蜜獾的覓食行為實現對復雜問題的尋優。蜜獾有兩種方式尋找食物,即挖掘模式和采蜜模式,蜜獾會隨機采取一種方式尋找食物。
初始化蜜獾種群位置的計算公式如下:
式中:Xi表示第i 只蜜獾的位置,lbi和ubi分別是搜素空間的下界和上界,r 為0 到1 的隨機數。
氣味強度與蜜獾的密集程度和蜜獾與獵物的距離有關,氣味強度越大,蜜獾運動速度越快,其計算公式如下:
式中:r1是0 到1 之間的隨機數,S 表示源強度或集中強度,di表示蜜獾與獵物之間的距離,Xprey為獵物的位置。
密度因子α 控制隨時間變化的隨機性,以確保從勘探到開發的平穩過渡。其計算公式如下:
式中:C 為2,t 為當前迭代次數,tmax為最大迭代次數。
蜜獾在挖掘階段的行動軌跡類似心形,其計算公式如下:
式中:Xnew為蜜獾的新位置,F 用來改變搜索方向,防止算法陷入局部最優,通過式(11)定義,β 是蜜獾獲取食物的能力(大于1,默認值為6),r2、r3、r4、r5為0 到1之間的隨機數。
采蜜階段蜜獾會跟著蜂蜜的指引到達蜂巢,其計算公式如下:
式中:r6為0 到1 之間的隨機數。
原始蜜獾算法有兩種更新位置的公式,尋優能力強,但面對復雜的無人機三維路徑規劃問題,依舊容易陷入局部最優,出現早熟收斂現象。為了進一步提高算法的性能,在挖掘階段和采蜜階段后加入隨機反向學習。
反向學習策略是由Tizhoosh 等提出的一種優化策略[11],其思想為通過當前解生成反向解,將反向解與當前解對比,擇優進入下一代循環。其公式如下:
由于反向解與當前解之間的距離為定值,缺乏一定的隨機性,Long 等[12]提出一種改進的反向學策略——隨機反向學習,擴大算法的搜索范圍,增加了種群的多樣性。如圖1 所示,X 為任意當前解,其生成的反向隨機解是不固定的,進一步增強了種群的豐富度。其計算公式如下:

圖1 隨機解和它的反向解Fig.1 Arbitrary solution and its inverse random solution
式中:Xrand為隨機反向解,r7為0 到1 之間的隨機數。
3.2.1 編碼方式
將每條路徑都編碼成一組向量,每個向量都記錄了無人機相鄰兩個路徑點之間的飛行情況用極坐標表示。則無人機的飛行路徑集合Ωi可表示如下:
式中:dim 為路徑節點的個數,β 為幅度,Ψ 為俯仰角,φ 為偏航角。
3.2.2 將球面坐標轉換成平面直角坐標
通過上述公式更新得到路徑向量集Ωi,并將Ωi轉換成空間直角坐標系中的飛行路徑Wi,每個路徑點Pi,j=(xi,j,yi,j,zi,j)通過以下公式計算:
3.2.3 無人機三維路徑規劃的具體步驟
步驟一:初始化地形、威脅障礙和相關參數;
步驟二:使用公式(5)初始化種群,并將其編碼成Ωi;
步驟三:使用公式(6)和公式(9)更新氣味強度和密度因子;
步驟四:使用公式(10)進行挖掘階段或者使用公式(12)進行采蜜階段;
步驟五:使用公式(14)生成隨機反向解,對比當前解選擇最優解;
步驟六:使用公式(4)適應度值;
步驟七:判斷是否到達最大迭代次數,如果沒有到達最大迭代次數,則回到步驟三,反之則結束循環;
步驟八:使用公式(16)—公式(18)將球面坐標轉換成平面直角坐標,并輸出最優路徑。
算法實現的流程圖如圖2 所示。

圖2 基于ROBLHBA 的無人機三維路徑規劃的流程圖Fig.2 Flow chart of UAV 3D path planning based on ROBLHBA
實驗均在主頻為2.50 GHz 的11th Gen Intel(R)Core(TM)i7-11700 處理器,16 GB 內存,操作系統為64位Windows11 的電腦上使用MATLAB2021a 完成。同時采用了三明部分地區的地形作為實驗的測試地圖。
為保證本次實驗測試的公平性,算法的迭代次數為tmax=500,個體數量N=20,維度dim=10,無人機的起點Pstart=(40,50,150),終點Pend=(850,750,80)。本次實驗選取了蜜獾算法(honey badger algorithm,HBA),野馬優化算法(wild horse optimizer,WHO)[13],魚優化算法(remora optimization algorithm,ROA)[14],分組教學優化算法(group teaching optimization algorithm,GTOA)[15],鯨魚優化算法(whale optimization algorithm,WOA)[16],哈里斯鷹優化算法(harris hawks optimization,HHO)[17]和天鷹優化算法(aquila optimizer,AO)[18]作為對比算法,算法的參數設置如表1 所示,其中GTOA 算法無調節參數。

表1 各個算法的參數設置Tab.1 Parameter setting of each algorithm
為展示ROBLHBA 在無人機三維路徑規劃問題上的優勢,表2 給出了多種算法運行10 次的統計數據,其中Best 表示最優的適應度值,Mean 表示平均適應度值,Std 表示適應度值標準差。從表2 中可以看出,ROBLHBA 得到了最好的最優適應度值、平均適應度值和適應度標準差,相較于原算法HBA 有一定的提升;WHO 算法得到的最優適應度值與ROBLHBA相近,雖然標準差明顯優于ROBLHBA,但是平均適應度值與ROBLHBA 依舊有較大差距;GTOA、HHO 算法和AO 算法的適應度標準差明顯優于ROBLHBA,但是最優適應度值和平均適應度值與ROBLHBA 差距依舊很大;ROA 和WOA 得到的最優適應度值、平均適應度值和適應度標準差都與ROBLHBA 有較大的差距。通過表2 數據可知,ROBLHBA 在無人機三維路徑規劃問題上有較強的收斂能力和魯棒性。

表2 各個算法的最優值、均值和方差Tab.2 Optimal value,mean value and variance of each algorithm
圖3 及圖4 分別為多種算法在同一場景下運行的立體圖和俯視圖。從圖4 中可以看出,HBA、WHO算法、HHO 算法、ROA 和AO 算法求得的飛行路徑偏離較遠;ROBLHBA 和GTOA、WOA 得到的飛行路徑相近,但進一步觀察圖3 可以看出,ROBLHBA 的路徑相對平緩,GTOA 和WOA 得到的飛行路徑變化幅度大相對曲折,在實際中不適合作為飛行路徑。

圖3 多種算法在同一場景下運行的立體圖Fig.3 Stereogram of multiple algorithms running in the same scene

圖4 多種算法在同一場景下運行的俯視圖Fig.4 Stereogram of multiple algorithms running in the same scene top view of multiple algorithms running in the same scene
圖3、圖4 可以大致看出ROBLHBA 求得了最優的飛行路徑,但不明確,圖5 給出了不同算法在同一場景下運行的適應度收斂曲線圖。不難看出,HBA、HHO 算法、AO 算法和ROA 在迭代中難以收斂,無法得到最優路徑。WOA、GTOA 和WHO 算法雖然有一定收斂能力,但與ROBLHBA 相比依舊有所不足。

圖5 多種算法在同一場景下運行的適應度值收斂曲線圖Fig.5 Fitness value convergence curve of multiple algorithms running in the same scenario
圖6 到圖10 為ROBLHBA 在五個不同場景下求得的無人機三維路徑的立體圖和俯視圖。圖6 及圖7的威脅區域較少,地形較為簡單,圖8-圖10 的威脅區域較多,地形較為復雜??梢钥闯?,ROBLHBA 在簡單地形和復雜地形中都能找到最優路徑,明顯優于原始HBA。

圖6 ROBLHBA 在場景一下的運行結果Fig.6 Running results of ROBLHBA in scenario 1

圖7 ROBLHBA 在場景二下的運行結果Fig.7 Running results of ROBLHBA in scenario 2

圖8 ROBLHBA 在場景三下的運行結果Fig.8 Running results of ROBLHBA in scenario 3

圖9 ROBLHBA 在場景四下的運行結果Fig.9 Running results of ROBLHBA in scenario 4

圖10 ROBLHBA 在場景五下的運行結果Fig.10 Running results of ROBLHBA in scenario 5
提出一種改進蜜獾算法的無人機三維路徑規劃方法,在原始蜜獾算法的基礎上,加入了反向學習策略,提升了算法的收斂能力和魯棒性。在構建模型時,選擇路徑代價和與威脅代價作為無人機三維路徑規劃的代價函數,使實驗結果更加真實。仿真表明ROBLHBA 在無人機三維路徑規劃問題上優于其他對比算法,后續將進一步調整算法的參數,提升算法在無人機三維路徑規劃上的性能。