楊友波,張 目,唐 俊,雷印杰
(四川大學電子信息學院,成都 610065)
無人機(unmanned aerial vehicle,UAV)是未來智能社會不可或缺的設備,可用于農業灌溉、物流運輸、森林救援等方面。航跡規劃是UAV走向智能化必不可少的環節,現實生活環境時時刻刻都在發生變化,考慮到UAV 飛行決策速度的要求和UAV 本身設計的物理約束,要求算法具備動態處理能力,決策時間要短,能夠實時規劃,且規劃路徑優、到達率要高,滿足無人機的飛行要求。
現有的航跡規劃算法大致分成傳統算法和強化學習算法,常用的傳統算法有快速探索隨機樹(rapidly-exploring random trees,RRT)[1-2]、人工勢場(artificial potential field,APF)[3]、A*算法[4]、粒子群算法(particle swarm optimization,PSO)[5]和蟻群算法(ant colony optimization, ACO)[6];基于強化學習的航跡規劃算法,主要有深度Q 網絡算法(deep Q-Learning,DQN)[7]、深度確定性策略梯度算法(deep deterministic policy gradient,DDPG)[8]和近端策略優化算法(proximal policy optimization, PPO)。文獻[9]提出結合APF 和RRT 的改進算法APFG-RRT,建立目標勢場和障礙物勢場,引導RRT搜索,為了使RRT跳出局部優解,提出概率自適應采樣方法,提高了算法規劃速度,但路徑不滿足飛行要求。文獻[10]針對蟻群算法收斂速度慢,路徑次優等問題,借鑒啟發函數的思想,非均勻的初始化信息素濃度,同時引入定向鄰域擴展等策略,引導螞蟻向著終點方向前進,改進算法有效地縮短了路徑長度,加快了收斂速度,但隨著搜索維度的上升,算法收斂速度會顯著下降。為此,國內外學者提出基于強化學習的路徑規劃算法,文獻[11]將路徑規劃問題分解成三個子問題,分別是避障問題、動作選擇問題和抵達目標問題,作者融合了LSTM 和DQN,借LSTM 的“記憶”優勢捕捉環境中障礙物的動態信息,提取動態障礙物的特征,作者將這種方法命名為Layered-RQN,實驗證明,Layered-RQN 累積獎勵和成功率遠遠大于DQN、DDQN、DPQN、DRQN,但由于引入了LSTM,算法的訓練時間過長,收斂速度慢,且對硬件設備要求高。文獻[12]重新設計獎勵函數,同時建立障礙物區域危險模型,加快了DQN 算法的收斂;文獻[13]對學習樣本加入高斯噪聲,提升了算法的魯棒性,完成了小車的智能導航;文獻[14]將LSTM 與進度策略優化算法PPO 結合起來,增加好奇心驅動來提供訓練效率和性能,該方法在三維環境中具有較好的效果,但是PPO 網絡過重,訓練效率低下,收斂速度慢,且作者未驗證改進算法在動態環境中的效果。
針對現有強化學習算法存在處理動態環境能力弱、網絡訓練時間長、收斂慢甚至不收斂等問題,本文提出一種改進的DDPG 航跡規劃算法,融合自注意力機制,捕獲環境中的關鍵因素,提取障礙物的特征信息,特別是動態障礙物的特征信息,訓練無人機向無障礙區域飛行,躲避障礙物,提高到達率,重新設計獎勵函數,引入方向向量夾角約束,引導無人機向目標飛行且約束無人機的轉彎角度,給予不合理的轉彎行為一定“懲罰”,解決飛行路徑不平滑的問題,同時,設計“后退”懲罰,相同距離下,“后退”的扣分比“前進”的加分多,懲罰無人機來回的“刷分”行為,解決無人機來回飛行的問題。
強化學習的學習思路類似于人,智能體與環境交互,環境給予智能體“犯錯信息”或“成功信息”,“犯錯”會得到懲罰,“成功”會得到獎勵,在不斷獲得“獎懲”的過程中,智能體學會不斷地調整自身行為,以此來獲得更高的獎勵、減少懲罰。其基本結構如圖1 所示。在當前狀態下,智能體根據算法策略產生一個動作a并且執行,環境由當前狀態轉換到下一個狀態s′,并且給予智能體獎勵或者懲罰。

圖1 強化學習基本結構示意
DDPG 是基于Actor-Critic 架構的網絡,基于狀態價值函數的算法存在容易過擬合、內存消耗大、查詢效率低且難以處理連續動作等問題,基于策略梯度的算法引入連續型策略函數,可以處理連續動作問題。DDPG 將兩種算法結合起來,為了減少樣本量,加快算法收斂,DDPG 采用確定性策略,即采用概率最大的動作。為了緩解過估計問題,DDPG 算法采用四網絡結構,分別為當前策略網絡Actor,目標策略網絡Actor′,當前價值網絡Critic,目標價值網絡Critic′。
相比較于價值函數算法和策略梯度算法,DDPG 可以綜合狀態價值函數和動作價值函數優勢,對特定狀態決策確定的動作,對確定的動作進行打分。
在本文中,需要考慮障礙物與UAV的碰撞,障礙物與UAV 的威脅關系與距離有關,定義威脅模型如下:
式中:dl是安全距離,d是UAV與障礙物之間的歐式距離。距離障礙物越近,則威脅越大;距離障礙物越遠,威脅越小。
UAV 在航跡規劃中,必然涉及到避障問題,傳感器探測到UAV 周圍信息,其中包含著障礙物存在信息,也包含著障礙物不存在信息,UAV 找出有障礙區域和無障礙區域之間的特征,選擇無障礙區域“安全”通過。在常用的算法中,自注意力機制天然地適合這種要求,能夠從傳感器眾多信息中找到障礙區域和無障礙區域之間的關系,并且提取其特征,相對于LSTM算法和GRU 算法,自注意力機制計算代價小,硬件設備要求低,適合UAV 這種小型設備。其計算公式如下:
強化學習中,算法總是傾向于獎勵值較高的動作,獎勵函數直接影響算法的“偏好”,好的獎勵函數可以使算法快速收斂,并且在完成主要任務的同時,能夠很好地完成次要任務,這就要求獎勵函數不但包含主要任務獎勵,也要包含次要獎勵函數。本文主要從兩個方面改進獎勵函數,增加方向向量夾角引導,引導UAV 朝著目標飛行,同時約束UAV 轉向角的大小,增加后退懲罰項,相同距離下,后退扣分大于前進加分,防止“來回”的刷分行為。
1.4.1 方向向量夾角引導
UAV 搭載著距離傳感器,可以探測到周圍一定范圍內的障礙物,結合障礙物威脅模型,UAV 能找出“低威脅”區域,并且朝著該區域飛行,由于傳感器探測到自身范圍內的信息屬于局部信息,在局部信息的引導下,UAV 只能學會避障,無法學會導航,無法朝著目標前進。引入方向向量夾角,UAV 便能感知目標所在的方向,經過多輪的迭代訓練,UAV 學會調整偏航角和俯仰角,朝著目標飛行,即UAV 同時學會避障和導航。方向向量夾角計算公式以及獎勵公式如下:
其中:θ是當前朝向與前一個采樣點的方向夾角;g(θ)是均值為π,方差為1 的高斯函數。方向夾角獎勵函數引導UAV 朝著目標前進,同時約束UAV 盡可能保持原有的朝向,朝向改變越大,受到的懲罰越大,UAV 學會朝著目標前進并且盡可能地保持自身朝向,最終可以實時規劃出一條相對平滑的飛行航跡。
1.4.2 “后退”懲罰
強化學習算法本質目的是在環境中訓練一個最優的策略,使得智能體在該策略下可以獲得最多的獎勵,因此,UAV 為了獲得更多的獎勵,不斷前進后退,陷入“貪婪異常”,為了解決該問題,本文設計了“后退”懲罰函數,懲戒“后退”行為。
其中:α是距離差系數因子,取值為20;β是輔助系數因子,取值為0.2。dt是前一個采樣點距離目標的距離,dc是當前采樣點距離目標的距離。
當UAV 與目標的歐氏距離增大時,表明UAV 在“后退”,此時會給予UAV 一個αβ的“微小”懲罰,經過多輪迭代訓練,UAV“后退”次數大大減少。
1.4.3 綜合獎勵
綜合獎勵函數由三部分構成,分別是方向向量夾角引導獎勵ra,“后退”懲罰rb,距離差獎勵rc,綜合獎勵如下:
該改進獎勵函數保證UAV會朝著目標飛行,同時減少“后退”飛行次數,并且盡可能保持原有飛行朝向,能夠實時規劃出一條優秀的平滑航跡。
DDPG 算法存在策略網絡和價值網絡,兩個網絡的損失函數分別為公式(7)和公式(9)。策略網絡和價值網絡對應目標網絡的參數使用軟更新的方式,對應軟更新公式(10)。
其中:w為策略網絡參數,Q表示價值函數,θ為價值網絡參數,w′為目標策略網絡參數,θ′為目標價值網絡參數,τ為更新系數,取值為0.01。策略網絡的學習率設置為0.0001,價值網絡的學習率設置為0.001。
為了全面、直觀地評價算法的性能,本文采用多個航跡規劃的評價指標,包括平均飛行距離(average flight distance, AFD)、到達率(arrival rate, AR)、平均采樣點(average sampling point,ASP)和平均耗時(average time,AT)。到達率表示無人機安全無碰撞地到達目的地的次數與總飛行次數的百分比,到達率越高表明無人機成功達到目標位置的能力越強;平均采樣點表示無人機每次成功飛行需要采樣的平均點數目,平均采樣點越低說明算法的決策能力越好;平均飛行距離表示無人機從起始點成功飛到目的地的平均距離,平均飛行距離越短,無人機到達目標位置的速度越快;平均耗時表示算法成功決策一輪消耗的時間,該數值越低說明算法的推理速度越快。到達率、平均采樣點、平均飛行距離和平均耗時的計算公式如下。
其中:SRC表示成功到達總次數;AC表示總飛行次數;SRAS表示成功到達總采樣數;SRAD表示成功到達總距離;ARAT表示算法推理總時間。
UAV 四周模擬了距離傳感器,用來檢測障礙物,得到傳感器信息,UAV 自身方位信息,目標方位信息作為其他信息,采用自注意力網絡提取傳感器信息,采用線性網絡提取其他信息。網絡結構如圖2所示。

圖2 改進DDPG網絡結構
為了使DDPG 能夠穩定地收斂,本文采用“漸進式”訓練的方式,首先使用改進DDPG 算法在簡單動態實驗場景中進行訓練,使模型適應簡單場景,得到收斂后的簡單模型,使用該模型在復雜動態實驗場景中再次訓練,得到最終的算法模型,在簡單動態實驗場景和復雜動態實驗場景中,每輪訓練開始時,重新初始化障礙物的位置、UAV 的位置和目標的位置,防止算法過擬合,提升模型的泛化能力。訓練結果如圖3 和圖4 所示。由訓練效果圖可知,模型的收斂速度很快,并且收斂效果非常好。

圖3 改進算法獎勵值

圖4 改進算法到達率
為了驗證本文所提改進DDPG 算法的有效性,將在三種數據集上做驗證測試,每種數據集中均有200個不同的場景,每個場景中動態障礙物個數與靜態障礙物的個數不確定,但個數比約等于5∶5。數據集1 中每個場景有20 個障礙物,數據集2 中每個場景有30 個障礙物,數據集3中每個場景有50個障礙物。
3.3.1 實驗結果
應用改進DDPG 算法模型在上述三個實驗數據集上得到如表1 的結果。表1 中列出了到達率、平均采樣點、平均飛行距離和平均耗時,從表中數據分析可知,改進算法到達高、平均采樣點少、平均飛行距離短且平均耗時短,驗證了改進DDPG 算法的有效性。當場景越來越復雜時,改進DDPG 算法到達率略微下降,平均采樣點、平均耗時有所增加,平均飛行距離幾乎不變,總體的效果非常好,說明算法的泛化能力強,能夠應對簡單或者復雜的三維場景,并且無需重復訓練。

表1 數據集實驗結果
3.3.2 消融實驗
為了驗證前文所述改進方法的有效性,本文在數據集3 上做消融實驗,使用經典DDPG 算法作為baseline,分別組合自注意力機制和改進獎勵函數,驗證兩者對網絡算法提升的效果。實驗結果如表2 所示。其中SA 表示自注意力機制,IR 表示改進獎勵函數。根據表中消融實驗結果可知,改進獎勵函數和自注意力機制均提升了網絡的性能,只使用改進獎勵函數時,到達率提升3%,平均采樣點、平均飛行距離,平均耗時均有降低;只使用自注意力機制時,到達率提升7%,平均采樣點數大幅降低,平均飛行距離、平均耗時有所降低;結合自注意力機制且改進獎勵函數后,提升的效果最大,到達率提升9%且平均采樣點、平均飛行距離,平均耗時大幅降低,網絡性能達到最高,消融實驗結果證明本文提出的自注意力機制和改進獎勵函數是有效的。

表2 消融實驗結果
3.3.3 對比實驗
本文選取經典DDPG 算法、改進RRT 算法、改進RRT*算法與本文提出的改進DDPG 算法進行對比,選擇經典DDPG 算法是為了對比改進DDPG 算法的到達率、推理速度和實時規劃能力,選擇改進RRT 算法和改進RRT*算法是為了對比改進DDPG 算法的飛行路徑。因此,對比實驗使用指標到達率、平均采樣點、平均飛行距離和平均耗時。采用數據3 定量對比算法效果,對比實驗結果如表3 所示,采用數據集1,數據集2,數據集3 定性對比算法效果,對比實驗效果如圖5所示。

表3 對比實驗結果

圖5 對比實驗效果
從表中分析可知,改進DDPG 算法在到達率指標上比經典DDPG 算法高9%,在平均耗時指標上低0.11秒,即推理時間降低26.2%,同時在平均采樣點和平均飛行距離指標上,改進DDPG 算法優于經典DDPG 算法31.7%和7.3%。與改進RRT 算法相比,改進DDPG 算法在到達率指標和平均耗時指標上未能取得最佳,但是在平均飛行距離指標上,改進DDPG 算法性能提升了38.9%,說明改進DDPG 算法的飛行路徑更優,并且在平均采樣點指標上,改進DDPG算法甚至遠遠優于這兩種算法。得益于RRT*的重選父節點和重布局的改進,改進RRT*在平均飛行距離指標上略微優于改進DDPG 算法,但在平均耗時指標上遠遠遜于改進DDPG 算法。因此,改進DDPG 算法兼顧了到達率、推理速度、實時規劃以及飛行路徑四個方面,并且在四個方面均保持非常好的性能。
對比實驗效果圖中,圓點表示起始點,矩形表示動態障礙物,三角形表示靜態障礙物,十字叉表示目標點,實線表示改進DDPG算法規劃航跡,虛線表示經典DDPG算法規劃航跡,剪切線表示改進RRT算法規劃航跡,點劃線表示改進RRT*算法規劃航跡。觀察效果圖可知,無論是在簡單動態場景,還是在復雜動態場景,改進RRT算法和改進RRT*算法規劃出的路徑具有很多的生硬轉角,不符合UAV的飛行約束,在簡單場景下,經典DDPG 算法規劃路徑差于改進DDPG算法規劃路徑;在復雜場景下,經典DDPG規劃出的路徑,在接近目標位置時陷入了“貪婪陷阱”,來回地“刷分”,而本文提出的改進DDPG算法,很好地解決了這個問題,路徑最短且最優,符合UAV的飛行要求,對比實驗效果圖驗證了文中提出方法的正確性和有效性。
為了解決動態三維場景下,無人機航跡實時規劃困難、到達率低以及航跡不符合飛行要求的問題,本文基于DDPG 算法提出改進算法。自注意力機制作為障礙物特征提取模塊,能夠降低網絡復雜程度,減少計算量,提高實時推理速度,有效訓練無人機向著低風險、無障礙區域飛行,提高到達率;改進獎勵函數,加大“向后”的懲罰,減少“向前”的獎勵,防止“刷分”行為,同時加入方向導數夾角引導策略,使無人機在一定范圍內的角度里轉向,更符合無人機飛行要求。從消融實驗可以看出,引入的注意力機制、方向導數夾角和改進的獎勵函數,均有效提升了DDPG 算法的性能;從對比實驗分析可知,改進DDPG 算法兼顧了各項指標,保持非常高的到達率,同時保證了推理速度,減少了采樣點數量和航跡路徑長度。本文所提的改進DDPG 算法主要考慮空中的實時航跡規劃、躲避飛行器和鳥類,沒有考慮在城市中躲避建筑的情形,同時改進算法只在模擬場景中實驗,后期會考慮躲避建筑物等情況以及進行實物實驗。