趙恬恬,孔建國,梁海軍,劉晨宇
(中國民用航空飛行學院空中交通管理學院,廣漢 618300)
隨著大數據和人工智能技術的發展,無人機(unmanned aerial vehicle,UAV)在農業和交通等領域得到廣泛應用。無人機路徑規劃是指在環境中規劃一條安全路徑,使無人機能夠避開障礙物,從初始位置到達目標位置[1]。
目前,路徑規劃領域已經有許多研究方法可供借鑒,可以分為智能仿生學方法和傳統方法兩類。智能仿生學方法包括蟻群算法、粒子群算法、麻雀搜索算法等;傳統方法包括模擬退火算法、人工勢場法、A*算法等。Lamini等[2]在考慮距離、安全性和能源因素的情況下,提出一種基于遺傳算法的路徑規劃方法,相較于其它算法,減少了路徑步數和平均迭代次數;余翔等[3]提出改進A*算法和人工勢場法的路徑規劃方法,通過混合式啟發函數改進了A*算法的搜索節點,并與APF 算法融合,以提高路徑規劃的效率和擺脫局部最優點;Amala 等[4]提出了一種基于Q-Learning動態避障的無人機路徑規劃方法,引入最短距離優先級策略,并將其與A-star和Dijkstra等算法進行了對比,實驗結果表明該方法能夠減少無人機到達目標所需的距離;毛國君等[5]提出了一種改進的算法ε-Q-learning,通過不斷調整貪婪因子ε,從而有效減少搜索代價。
綜上所述,國內外關于無人機路徑規劃問題的研究相對較多且較深入。研究大多基于已知環境的信息,缺乏對未知環境信息下的三維路徑規劃的研究。為此,本文提出一種未知環境下基于Dueling DQN 的無人機路徑規劃方法,首先,在DQN 的基礎上引入了對抗網絡架構;其次,設計狀態空間并定義離散的動作和適當的獎勵函數以引導無人機學習最優路徑;最后,在一定范圍內隨機生成的三維環境中進行仿真驗證。
強化學習主要通過智能體與環境的交互和不斷試錯來學習最優策略,已廣泛應用于自然科學和各種工程領域。強化學習的問題被建模為馬爾可夫決策過程,其核心為四元組:{s,a,r,s'}。如圖1 所示,在強化學習中,智能體負責根據環境狀態s進行決策,選取動作a并執行,環境模型負責生成獎勵值r和更新后的狀態值,并反饋給智能體。智能體根據獎勵值進行自我調整,以此不斷迭代優化自身的決策機制[6]。

圖1 智能體強化學習交互示意圖
強化學習算法通常使用基于表格的Q-Learning算法。然而由于Q-table 的限制,這種算法可能無法處理高維度問題。為了解決這些問題,深度強化學習將深度學習和強化學習相結合,以解決復雜的場景問題[7]。首先,使用深度學習對輸入的數據進行處理,以便發現數據中的規律。然后結合強化學習,不斷調整神經網絡的參數,使其能夠更好地適應Q-table。最后智能體依據神經網絡能夠獲得一個更為理想的策略[8]。
DQN[9]是一種強化學習算法,通過學習一個價值函數來指導智能體在環境中做出動作。然而,DQN 存在一個問題,即它將所有的動作價值都通過一個網絡輸出,這樣會導致每個動作的價值難以準確估計[10]。因此,在DQN 的基礎上引入了對抗網絡架構,即Dueling DQN[11]。Dueling DQN(Dueling DeepQ-Network)是一種將神經網絡分成值網絡和優勢網絡的算法,值網絡用于計算每個狀態的價值函數,而優勢網絡用于計算每個動作相對于平均水平的優勢程度,如圖2所示,為DQN和Dueling DQN 的網絡結構圖。通過結合這兩個網絡,Dueling DQN 提高了算法的效率和精度,也適用于解決狀態和動作空間較大的問題[12]。最終價值函數可以如式(1)所示。

圖2 網絡結構圖
式中:V(s,ω,α) 為狀態s下的價值函數,A(s,a,ω,β)為s下采取a的優勢函數,ω為網絡參數;α為價值函數獨有部分的網絡參數,β為優勢函數獨有部分的網絡參數。
為了對無人機當前狀態進行整體評判,同時又對無人機當前狀態下的動作進行優勢評估,可以通過式(2)計算最終的價值函數。
式中:∑A為除當前動作a外其它所有動作的集合, |A|為動作的個數。
為了保證無人機能夠避免碰撞并采取合理的行動,需要考慮環境中的目標位置、邊界信息以及障礙物的高度和位置[13]。在本文仿真環境中,生成多種隨機障礙物,且其高度是隨機變化的。通過引入這些障礙物,為無人機提供了多樣化的飛行場景,增加了環境的復雜性和挑戰性。這樣做的目的是測試無人機路徑規劃算法在各種不同情況下的適應性和魯棒性。在計算無人機當前位置與目標點位置的距離以及初始狀態位置與目標點位置的距離時,使用曼哈頓距離作為衡量標準。
動作選擇是強化學習中的一個關鍵要素。在無人機路徑規劃中,無人機通過采用不同的策略來選擇下一步的動作。通過執行不同的動作,無人機可以獲得相應的獎勵值。高獎勵值表示該動作具有更高的價值,這使得無人機在下一次訓練中更有可能選擇該動作。通過不斷優化動作選擇策略,無人機可以逐漸學習到最優的路徑規劃策略,以獲得最大的回報值[14]。在本文實驗中,無人機能夠采用27(所在平面網格以及上、下共三個平面的運動方向)個方向的動作,圖3 所示為無人機所在平面對應的動作選擇(包括靜止在原地)。

圖3 無人機運動方向示意圖
在強化學習中,獎勵函數是影響無人機路徑規劃的重要因素,設置合理的獎勵函數可以有效地提高無人機路徑尋找的正確性和有效性。獎勵函數R在狀態S下的t時刻到t+1時刻的狀態所能獲得的期望獎勵如式(3)所示。
累計獎勵函數值Gt,也就是回報,如式(4)所示。
式中,γ是折扣因子,體現在未來時刻回報獎勵的衰減效果。無人機的目標是通過找到最終目標的位置來最大化回報值。因此,獎勵值的設定對路徑規劃的結果有不可忽視的影響。
在本文中,考慮了爬升過程中的獎勵和目標獎勵。爬升過程中的獎勵即如果當前位置距離目標高度越遠,則高度變化率對總回報造成的影響越大,如式(5)所示。目標獎勵的影響受到無人機與目標點之間距離的影響。當無人機距離目標點較近時,目標獎勵的影響較小;反之,影響較大,如式(6)所示。
式中,ωc是爬升參數;hz是無人機當前位置的高度;htarget是目標位置的高度;ωt是目標參數;是當前位置與目標位置的曼哈頓距離。
除此之外,獎勵函數在設置的同時也考慮以下因素,如當無人機到達目標點的獎勵值設置為+100,碰到障礙物的獎勵值設置為-100,處于靜止狀態的獎勵值設置為-500,步數超過最長步長的獎勵值設置為-10,電量耗盡的獎勵值設置為-10。
Dueling DQN 的訓練過程分為兩個階段:經驗回放和神經網絡訓練。在經驗回放階段,智能體從環境中隨機采樣一批狀態序列(s,a,r,s')并存儲到一個緩存區中。這些狀態序列包括成功的路徑,也可以是失敗的路徑或任意時刻的路徑。通過不斷地從緩存區中隨機采樣狀態序列,可以避免因為數據的相關性導致的數據偏差問題。如圖4所示為Dueling DQN的結構圖。

圖4 Dueling DQN的結構圖
本文采用梯度下降法來不斷更新網絡參數以使得訓練的神經網絡準確地估計Q值。為了衡量Q值估計的準確性,使用均方誤差作為損失函數的計算指標。通過最小化損失函數,可以提高神經網絡對Q值的準確估計能力。
為了驗證該算法的性能,本文在Python 的實驗環境下對DQN 和Dueling DQN 作對比試驗。首先構造了三維網格化環境,環境的長寬高均固定,分別為200、200、50,單位為米。環境中的障礙物、無人機初始狀態位置和無人機目標點位置均為一定范圍內的隨機生成。為了減少由于無人機自身原因造成路徑規劃失敗,在每次訓練中使用10 架無人機對同一仿真實驗環境進行訓練。使用的激活函數為ReLU,優化器為Adam。所使用的仿真環境軟硬件設置見表1。

表1 實驗環境配置表
在訓練初期,無人機會以隨機的軌跡前進,并且無法有效躲避障礙物,但通過學習和積累記憶,它可以逐漸學會安全地規避障礙物,并成功到達目標位置。一旦無人機在不碰撞障礙物的情況下成功到達目標位置,后續訓練中它將傾向于選擇這條路徑作為最短路徑。使用ε-greedy 探索策略,在每次訓練中,無人機有一定概率按照預先設定的ε 值探索其他路徑,而非僅僅選擇最優路徑。通過這種算法,無人機能夠逐步擴充自身的經驗庫,并找到最優的最短路徑,具體參數設置見表2。

表2 參數設置
3.2.1 可視化結果對比
根據上述的實驗環境和參數設置,使用DQN 和Dueling DQN同時訓練50000 次,從簡單環境與復雜環境進行了對比實驗。實驗結果如圖5、圖6 所示。在簡單環境中, DQN 和Dueling DQN都成功地規避障礙物,找到起點到終點的路徑。然而,在尋找路徑過程中,Dueling DQN 不論是對障礙物的敏感度還是路徑的平滑性方面都表現更好。在復雜環境下,DQN尋找出的路徑在接近終點的時候陷入了局部收斂狀態,而Dueling DQN 則是避開障礙物成功找到一條路徑,因此,在收斂性方面Dueling DQN也優于DQN。

圖5 簡單環境下仿真結果示意圖

圖6 復雜環境下仿真結果示意圖
3.2.2 平均回報值對比
圖7 所示為兩種算法的平均回報值對比。從圖中可以看出,開始回報值為負值,表示無人機處于探索學習階段;回報值上升表示無人機通過探索學習到了較好的策略;最后穩定階段,表示無人機已經學習到了通往目標點的最優路徑。在迭代了10000 次后,Dueling DQN 已經保持在穩定狀態,而DQN 在迭代15000 次以及40000 次附近均有大幅度的變化。該結果表明基于Dueling DQN的無人機路徑規劃方法可規劃出更優的移動路徑,較高的平均回報值使無人機的方向性更好,這種方向性可以有效地避免無人機與障礙物的碰撞以及減少非必要的路徑點。

圖7 兩種算法的平均回報值對比
3.2.3 三種指標對比
圖8所示為兩種算法的成功率、碰撞率和超過最長步長率對比。成功率是由在每次迭代中無人機成功找到路徑的架次與總架次的比值得到的,由圖8可以看出,在迭代1000次時,兩種算法的成功率無很大差異,當迭代次數增加至10000 次、30000 次、50000 次時,Dueling DQN的成功率明顯大幅度增加,在50000次時,保持在80.56%,而DQN的成功率僅有62.85%。

圖8 兩種算法對比
碰撞率是由在每次迭代中無人機因碰撞而造成該次迭代結束的架次與總架次的比值得到的,在前1000次迭代中,因為對于環境不熟悉,無人機是以一個隨機的狀態去選取動作,因此無法有效地躲避障礙物,在經歷了10000 次與50000 次迭代后,Dueling DQN 的碰撞率也是明顯低于DQN的碰撞率。
超過最長步長率是由在每次迭代中無人機因超過設置的最長步長而造成該次迭代結束的架次與總架次的比值得到的。在迭代訓練的初期,無人機以隨機的軌跡前進,在尋找路徑的過程中會浪費大量的步數,因此兩種算法的超過最長步長率均較高,隨著迭代次數的增加,DQN 僅由價值函數值去選取動作,未考慮該動作的優勢,因此在50000 次后,其超過最長步長率仍保持為30.68%,而Dueling DQN 由每個狀態下價值函數與優勢函數的數值選取最優動作,因此在50000 次后,其超過最長步長率由45.73%降至14.54%。
總的來說,基于Dueling DQN 的無人機路徑規劃方法相對于DQN 在未知環境下表現更好。它能夠規劃出更優的移動路徑,具有較高的平均回報值和成功率,同時減少了碰撞和超過最長步長的概率。這意味著Dueling DQN 能夠更有效地選擇動作,避免與障礙物碰撞并減少不必要的路徑點。因此,該方法在應急救援等復雜場景中能夠高效地規劃路徑,避開障礙物。
(1)基于Dueling DQN 的無人機路徑規劃方法在未知環境下展現出的綜合性能,包括更好的收斂性、更高的成功率、更低的碰撞率以及更小的超過最長步長率。這說明基于Dueling DQN 的無人機路徑規劃方法在復雜未知環境下具備更強的適應性和優越性能,能夠有效地應用于諸如應急救援等領域的復雜場景中。
(2)未來的研究方向包括以下幾個方面:首先,進一步優化算法性能,通過改進深度強化學習的網絡結構、調整超參數或引入新的訓練技巧,提高路徑規劃算法的效率和準確性;其次在路徑規劃過程中考慮環境的變化,以適應實時的場景變化。這些工作將有助于推動無人機路徑規劃技術的發展和實際應用。