劉金榮
(吉林省通化縣林業局,吉林 通化 134100)
隨著科學技術的發展,我國無人機作為森林災害監測和救援的基本平臺已經得到廣泛重視和應用[1]。我國專家和學者對無人機用于消防領域的現狀及可行性進行論述。在森林火災背景下,無人機由于動力、續航能力的限制,單架無人機對監測面積較大的森林防火任務難以勝任。針對這一情況,采取多無人機配合、以無人機集群完成火災監測成為一種合理的方案。無人機集群中含有多個無人機,各個無人機之間相互協調、協同配合,提升了覆蓋范圍和復雜任務的執行能力,是無人機技術未來的重要發展方向[2]。無人機集群承擔的任務多為多目標、多參數、多網點的復雜任務,為了完成總體任務,各個無人機所承擔的任務范圍、任務數量就成為關鍵,從而推動了無人機集群任務分配問題成為領域內的研究重點[3]。無人機集群任務分配的核心目標是在確保總體任務完成的前提下,高效使用每個無人機,即總體任務在各個無人機之間分配的均衡性。該文以森林防火的監測任務分配為背景,致力于無人機集群的分配方法和試驗研究。
對大面積的森林防火監測任務來說,采用多個無人機構成的無人機集群具有更好的針對性,也可以勝任這種大面積、高復雜性的防火監測。對應于無人機集群,將集群內每架無人機看作一個個體,無人機集群的任務調度就變成了多個體均衡調度問題。適用于這一問題的求解方法包括多屬性決策方法、遺傳算法、神經網絡算法、粒子群算法。
粒子群算法以每個粒子對應一個個體,全部粒子的集合就對應于整個集群。粒子群算法通過設定初始條件、限制條件和目標約束,致力于在一個特定適應度函數的優化下,找到整個集群的最佳位置,并形成持續的動態演化。根據適應度函數的優化和各種優化控制條件,粒子群會調整每個粒子的位置、速度等參數,同時兼顧各個粒子之間的均衡和協調,從而使整個粒子群達到最佳狀態。
在無人機集群監測森林狀態的過程中,每個無人機個體就對應一個粒子,其位置的表征如公式(1)所示。式中:x為粒子群中一個粒子即無人機個體的位置;p為粒子群中一個粒子即無人機個體的初始位置參照;L為位置變化調整范圍系數;u為一個隨機數,其取值范圍是(0,1)。
對無人機集群中的每個個體,其不考慮其他粒子只考慮自身情況下,在目標約束下不斷對位置進行優化,可以得到的局部最佳位置,如公式(2)所示。
式中:xi(t)為第i個時刻粒子群中一個粒子即無人機個體的位置;pi(t)為第t個時刻刻粒子群中一個粒子即無人機個體的局部最佳位置;pi(t-1)為第t-1 個時刻刻粒子群中一個粒子即無人機個體的局部最佳位置。
如果綜合考慮集群內全部粒子的情況,得到每個粒子在集群內的全局最佳位置,如公式(3)所示。
式中:G(t)為整個粒子群的全局最佳位置;pg(t)為第i個時刻粒子群中一個粒子即無人機個體的位置;g(t)為第t個時刻刻粒子群中一個粒子即無人機個體的全部最佳位置;g(t-1)為第t-1 個時刻刻粒子群中一個粒子即無人機個體的全部最佳位置。
綜合局部最佳位置和全局最佳位置的聯合考慮,可以得到每個粒子個體的位置信息更新機制。
式中:xid(t)為第id個時刻粒子群中一個粒子即無人機個體的位置;pid為第id個時刻粒子群中一個粒子即無人機個體的位置;Lid為第id個時刻位置變化調整范圍系數,uid為第id個時刻的隨機數。
粒子群算法在無人機集群森林防火監測任務分配時,每個無人機對應一個粒子群中的粒子,預期完成的任務為粒子群算法的優化目標,任務位置為粒子群算法的目標位置,算法應保證任務全部完成且每個無人機得到最大效率地使用,尤其要避免個別無人機任務負荷過重而個別無人機無任務的情況出現。根據這些要求以及粒子群算法的實現原理,設計無人機集群森林防火監測任務分配算法的流程:第一,根據任務要求、任務位置、無人機位置,對粒子群進行參數配置和初始化。第二,根據任務要求、優化目標構建適應度函數,并完成粒子群的適應度計算。第三,計算粒子的局部最佳位置和整個粒子群的全局最佳位置。第四,根據預設的更新機制,更新粒子的位置。第五,根據粒子的最新位置,更新每個粒子的局部最佳位置和整個粒子群的全局最佳位置。第六,判斷此時的迭代誤差是否小于預設,如果小于,就輸出當前粒子群全局最佳位置。如果迭代誤差大于預設,返回到第四步,不斷重復第四、第五步,直到迭代誤差小于預設。
上述算法的輸出結果,整個粒子群的最佳位置對應配置給無人機集群,每個量子粒子的位置更新軌跡即成為無人機個體的規劃路徑。
為了驗證該文提出的粒子群算法對無人機集群森林防火任務分配的有效性進行試驗。在試驗過程中,無人機集群配置了5 個無人機,其對應編號和坐標見表1。
表1 無人機編號和坐標配置
從表1 中可以看出,第一個無人機的初始位置在(36,13,26)的三維空間位置上,第二個無人機的初始位置在(21,35,43)的三維空間位置上,第三個無人機的初始位置在(15,28,28)的三維空間位置上,第四個無人機的初始位置在(28,49,25)的三維空間位置上,第五個無人機的初始位置在(35,31,20)的三維空間位置上。
試驗中,配置了8 個任務目標點,其對應編號和坐標見表2。
表2 任務目標點編號和坐標配置
從表2 中可以看出,第A個任務目標點在(90,16)的二維平面位置上,第B個任務目標點在(33,45)的二維平面位置上,第C個任務目標點在(49,27)的二維平面位置上,第D個任務目標點在(47,91)的二維平面位置上,第E個任務目標點在(20,27)的二維平面位置上,第F個任務目標點在(50,32)的二維平面位置上,第G個任務目標點在(83,69)的二維平面位置上,第H個任務目標點在(14,49)的二維平面位置上。
無人機集群執行的任務分為3 類,分別是第一周期監測、第二周期監測、第三周期,每個任務目標點上述三種任務的目標價值和總體價值,配置見表3。
表3 任務目標點的三類任務目標價值和總體目標價值
從表1~表3 可以看出,無人機集群中每個無人機給出了空中三維坐標信息,而每個任務目標點給出的是平面地圖的二維坐標信息,各個任務目標點的四類目標價值,是任務分配算法的優化目標。試驗中,為了與該文提出的粒子群算法形成對比,還選擇了遺傳算法、傳統粒子群算法,作為無人機集群任務分配試驗中的參照方法。接下來,將分別進行三類任務的分配試驗。
首先,比較該文算法、遺傳算法、粒子群算法在完成無人機集群監測任務分配時的適應度收斂曲線,結果如圖1所示。
圖1 三類算法的監測任務分配收斂曲線對比
從圖1 中的結果可以看出,在無人機集群完成監測任務分配的過程中,該文算法的適應度達成收斂的速度最快,并且收斂時適應度值更高。傳統粒子群算法、遺傳算法的收斂速度都滯后于該文算法,并且收斂時的適應度較低。
進一步比較3 種算法完成的無人機集群偵察任務分配結果,如圖2~圖4所示。
圖2 傳統粒子群算法分配結果
圖3 遺傳算法分配結果
圖4 該文算法分配結果
從圖2~圖4 的對比結果可以看出,經過該文提出的粒子群算法完成的無人機集群監測任務分配結果,8 個任務目標點比較均衡地配置給了5 個無人機,1 號無人機負責D、E的監測,2 號無人機負責H的監測,3 號無人機負責A、G的監測,4 號無人機負責B、F的監測,5 號無人機負責C的監測,每個無人機都得到了接近最大效用的使用,無人機資源沒有造成浪費和任務過載。粒子群算法得到的監測任務分配結果,各無人機任務分配不均衡,2號無人機任務過少,而1 號無人機和5 號無人機的任務過重。同時,傳統粒子群算法得到的監測任務分配結果,造成了多個無人機任務過載和任務目標點重復偵察的問題。遺傳算法也出現了類似問題,并且任務過載和任務重復執行的程度更嚴重。
無人機已經在很多領域中得到了廣泛應用,無人機集群也日益成為復雜問題的合理解決方案。森林防火監測面積大、監測情況復雜,運用單一無人機很難達到預期的理想效果,采用無人機集群完成森林防火監測,是一種非常合理的手段。該文對傳統粒子群算法進行進一步改進,從局部最佳位置、全局最佳位置完成粒子更新公式設計。在此基礎上,以傳統粒子群算法和遺傳算法為對比方法,與該文提出的改進粒子群算法進行無人機集群監測任務分配的對比試驗,試驗結果顯示:該文方法獲得的無人機集群監測任務分配結果更合理,沒有無人機出現過載,每個無人機都達到了最大效率。