李 琳,李雙霖,高佩忻
(1.中國電子科技集團公司第二十研究所, 西安 710068; 2.西北工業大學 電子信息學院, 西安 710072)
近年來,無人機(UAV)應用場景更加廣泛。其不僅在農業、安保、搜索救援、地面勘探、物流等許多商業領域取得了不俗的成績,而且在軍事領域也大放異彩,出色地完成了許多有人駕駛飛機難以完成的任務。
傳統無人機路徑規劃通常采用人工勢場法、柵格法、遺傳算法、動態貝葉斯網絡等方法。但是,由于這些算法存在對復雜情況適應程度低、在線求解效率低、計算量大、甚至無法在線求解等問題,使得無人機路徑規劃的自主性大大降低,難以滿足在軍事領域無人機智能化的要求。
隨著深度強化學習的快速發展,運用其快速求解無人機航路問題成為可能。本文基于深度強化學習,提出一種無人機路徑規劃算法。首先,建立了無人機運動模型和威脅模型;然后采用深度強化學習理論構建了無人機路徑規劃算法;最后,通過仿真驗證了本文所提出算法的有效性。
不考慮無人機的形狀大小等物理特性,將無人機簡化為質點運動。無人機在二維空間的簡化運動模型定義為:

(1)

主要考慮地面的雷達威脅和防空導彈威脅。
雷達威脅主要是指在無人機飛行時防空雷達對其造成的威脅程度。假設敵方防空雷達的探測角度是360°,為雷達最大探測距離,因此雷達威脅的數學模型為:

(2)
式(2)中,是無人機當前位置與雷達位置的相對距離。
導彈威脅主要是指無人機飛行時防空導彈對其造成的威脅程度。導彈威脅數學模型為:

(3)
式(3)中:是無人機當前位置與導彈位置的距離;為導彈所能攻擊的最遠距離;為不可逃逸半徑。一旦無人機與導彈的距離小于,則無人機一定會被擊中。
DDPG算法(deep deterministic policy gradient,DDPG)是深度確定性策略梯度算法。DDPG算法繼承了DPG算法(deterministic policy gradient,DPG)的確定性策略,智能體根據狀態決策輸出確定性動作,并且DDPG采用深度神經網絡,增強對決策函數的擬合能力。相比隨機性策略,DDPG大大減少了采樣數據量,提高了算法的效率,更有助于智能體在連續動作空間中進行學習。
DDPG算法采用Actor-Critic框架形式, 主要包含演員(actor)網絡和評論家(critic)網絡。Actor網絡負責為無人機生成動作和環境交互,Critic網絡負責評估狀態和動作的表現,并指導策略函數生成下一階段的動作。Actor和Critic均采用雙網絡結構,擁有各自的目標(target)網絡和估計(eval)網絡。DDPG的網絡結構如圖1所示。

圖1 DDPG的網絡結構示意圖
圖1中,Actor-eval網絡主要負責策略網絡參數的迭代更新,根據當前的狀態來選擇動作,在和環境交互過程中,生成下一時刻的狀態′和執行當前動作產生的回報值。Actor-target網絡負責根據經驗池中采樣下一狀態′選擇最優的下一時刻動作′。網絡參數′定期從Actor-eval 網絡中的復制。Critic-eval網絡主要是對網絡參數的迭代更新,計算當前值(,,)和目標值=+′(′,′,′),其中表示折扣因子,影響訓練過程中未來獎勵相對于當前獎勵的重要程度。Critic-target網絡中主要參數′是從定期復制Critic-eval網絡的參數得來的,主要負責計算目標值中的′(′,′,′)。
設時刻,無人機的狀態為,動作為。則:
1) Actor-eval網絡輸出實時的動作(|),被無人機執行,并與環境進行交互;
2) Critic-eval網絡輸出值(,|),用來判定當前狀態-動作的價值;
3) Actor-target網絡輸出′(+1|′),根據經驗回放池中采樣的下一狀態+1最優的下一時刻動作′計算目標值;
4) Critic-target網絡輸出目標值′(+1,′(+1|′)|′),無人機從環境獲得獎勵用來計算目標值。
對DDPG算法相關基本概念定義如下:
1) 確定性動作策略:定義為一個函數,每一步的動作可以通過=()計算獲得。
2) 策略網絡:用一個神經網絡對函數進行模擬,這個網絡叫做策略網絡,其參數為。
3)函數:又叫performance objective,用來衡量一個策略的表現,針對off-policy學習的場景,定義函數為:

(4)
式(4)中:是基于agent的behavior策略產生的狀態;是它的分布函數;(,())表示在不同的狀態下,都按照策略選擇action時,能夠產生的值。即()是根據分布時(,())的期望值。
4) 策略梯度的定義:表示performance objective的函數針對的梯度。
5) 動作值函數:也稱action-value函數。在狀態下,采取動作后,且如果持續執行策略情況下,所獲得的期望值,定義為:
(,)=[(,)+(+1,(+1))]
(5)
在RL訓練過程中,為了探索潛在的更優策略,為action的決策機制引入隨機噪聲:將action的決策從一個確定性過程變為一個隨機過程,再從這個隨機過程中采樣得到action,下達給環境執行,將這個策略叫做behavior策略,用來表示,這時RL的訓練方式叫做異步策略(off-policy)。因為Uhlenbeck-Ornstein(UO)隨機過程的隨機噪聲在時序上具備很好的相關性,可以使agent很好地探索環境,因此本文在DDPG中,使用Uhlenbeck-Ornstein(UO)隨機過程進行訓練。β策略如圖2所示。

圖2 β策略示意圖
DDPG在進行網絡訓練過程中,只需要訓練和更新Actor 和Critic中的eval網絡參數,每隔一定時間后,再通過softupdate算法更新target網絡的參數,更新過程如下:

(6)
式(6)中:′和′為target網絡參數;和是eval網絡參數;值一般取0001。
在計算更新Critic網絡參數時,定義Critic網絡的損失函數為均方誤差 (MSE),即:

(7)
式(7)中,將定義為:
=+′(+1,′(+1|′)|′)
(8)
式(8)中:′是critic中target網絡的參數;′是Actor中target網絡的參數。可以將看作為“標簽”,在訓練時,通過back-propagation算法進行網絡參數的更新。
在計算Actor的策略梯度時,采用off-policy的訓練方法時,策略梯度為:
▽()≈~[▽(,|)|=()·▽(|)]
(9)
策略梯度是根據分布時▽·▽的期望值。使用蒙特卡洛算法來估算▽·▽的值。在經驗儲存機構中存儲的(transition)狀態轉移信息<,,,′>是基于agent的behavior策略產生的,它們的分布函數為。所以當從replay memory buffer中隨機采樣獲得mini-batch數據時,根據蒙特卡羅方法,使用mini-batch數據代入上述策略梯度公式,可以作為對上述期望值的一個無偏估計 (un-biased estimate)。因此,策略梯度為:

▽(,)|=)
(10)
DDPG的算法偽代碼表示為:
DDPG
Randomly initialize critic network(,|) and actor(,) with weightsand
Initialize target network′ and′ with weights′←,′←
Initialize replay buffer
episode=1,
Initialize a random processfor action exploration
Receive initial observation state
=1,
Select actionaccording to the current policy and exploration noise
Execute actionand observe rewardand observe new state+1
Store transition (,,,+1) in
Sample a random mini-batch oftransitions (,,,+1) from
Set=+′(+1,′(+1|′)|′)
:

:

▽(,)|=)
Update the target network:

無人機自身狀態包含當前時刻的速度矢量(uav,,uav,)和在環境中的坐標位置(uav,,uav,)。環境狀態包含了環境中個威脅區的坐標位置、威脅半徑和目標的坐標位置。其中第個威脅區的坐標位置和威脅半徑分別表示為(,,,)和,第個目標的坐標位置可以表示為(,,,)。
在DDPG算法中,無人機的狀態包括了自身的狀態和環境狀態。無人機在時刻的狀態定義為(uav,,uav,,uav,,uav,,,,,,,,,,)。


(11)
無人機的動作輸出受到最小轉彎半徑的約束,如果不符合約束條件,則被視為不合理動作輸出,需要進行重新選擇。
無人機路徑規劃的獎勵函數設計如下:
1) 規避威脅區獎勵,當無人機進入威脅區后,會被給予一個負獎勵。即=-1,<,其中為無人機與威脅區中心的距離,為威脅區的威脅半徑。
2) 為了在開始訓練時,能夠準確地引導無人機的動作選擇,并且讓無人機每一步都擁有一個密集獎勵,在這里設計了一個距離獎勵,計算每一時刻無人機與目標的最近距離,以距離的負值作為獎勵值,距離越近,獎勵值越大。即=-,其中是無人機與目標的最近距離。最終無人機的獎勵函數設計為:
=+
(12)
式(12)中,為距離獎勵權重。
初始化仿真環境,包含無人機的初始位置、目標的位置和9個威脅區的分布情況。具體初始環境如圖3所示。

圖3 初始環境示意圖
圖3中紅色三角形表示無人機初始化位置,紅色圓形代表威脅區,紫色圓形代表目標位置。無人機需要規避威脅區并順利到達目標位置。
圖4為無人機訓練時的獎勵變化曲線。橫坐標表示訓練的回合數(episodes),縱坐標表示每一回合訓練時無人機的累計獎勵。由圖4可以看出,隨著訓練次數的增多,獎勵的絕對值減小,但是獎勵逐漸增大,總體呈收斂趨勢。
圖5為DDPG算法經過訓練后得到的無人機路徑規劃軌跡曲線。由圖5可以看出,無人機在躲避了所有的威脅區的同時到達了目標區域。

圖4 訓練獎勵變化曲線

圖5 規劃軌跡曲線
進行了基于DDPG無人機路徑規劃問題的研究。闡述了DDPG算法的原理和特點,設計了無人機路徑規劃任務的獎勵函數,并將DDPG算法和無人機路徑規劃問題相結合,構建了基于DDPG的無人機路徑規劃的算法模型。通過仿真實驗證明,DDPG算法僅需200回合左右便可規避障礙,實現路徑規劃任務,具有較快的收斂速度和學習效率。