丁瑋,翟藝偉
(1.中國(guó)人民解放軍32801 部隊(duì),北京 100000;2.中國(guó)電子科技集團(tuán)公司第二十研究所,陜西 西安 710000)
近年來,多無人機(jī)協(xié)同作戰(zhàn)涌現(xiàn)的編隊(duì)智能表現(xiàn)出巨大的軍事潛力。目前,多無人機(jī)編隊(duì)的自主決策算法成為國(guó)內(nèi)外學(xué)者的研究熱點(diǎn)[1-2]。傳統(tǒng)的自主決策算法有人工勢(shì)場(chǎng)法[3]、Voronoi 算法[4]、模型預(yù)測(cè)控制算法[5]、A*算法[6]、智能優(yōu)化算法[7-8]等,這些算法多關(guān)注全局信息下的自主決策,但真實(shí)的戰(zhàn)場(chǎng)環(huán)境具有未知性和不確定性。近些年來,深度強(qiáng)化學(xué)習(xí)的快速發(fā)展為無人機(jī)自主決策提供了新的解決思路[9-12],結(jié)合深度學(xué)習(xí)的感知能力和強(qiáng)化學(xué)習(xí)的決策能力,有望實(shí)現(xiàn)在線、動(dòng)態(tài)的無人機(jī)自主決策。
通過建立多無人機(jī)自主決策問題模型,運(yùn)用多智能體強(qiáng)化學(xué)習(xí)的相關(guān)知識(shí),對(duì)無人機(jī)編隊(duì)的動(dòng)作進(jìn)行規(guī)劃,使之實(shí)現(xiàn)在復(fù)雜環(huán)境下的避障路徑規(guī)劃。
多無人機(jī)自主決策問題可以描述為在一定的戰(zhàn)場(chǎng)環(huán)境內(nèi)存在靜態(tài)或者動(dòng)態(tài)的障礙物,無人機(jī)的目標(biāo)是根據(jù)自身的傳感器信息,從初始任務(wù)區(qū)域出發(fā),最終到達(dá)目標(biāo)區(qū)域。
無人機(jī)的二維運(yùn)動(dòng)學(xué)模型如圖1 所示,無人機(jī)的位置為(px,py),速度為(vx,vy),雷達(dá)探測(cè)距離為R,雷達(dá)探測(cè)角度為θr,無人機(jī)的航向角為φu。無人機(jī)在飛行過程中需要躲避的區(qū)域建模為圖1 所示的半徑為Robs的圓形。
圖1 無人機(jī)二維運(yùn)動(dòng)模型
強(qiáng)化學(xué)習(xí)的基本過程如圖2 所示,環(huán)境的狀態(tài)因?yàn)橹悄荏w決策的動(dòng)作發(fā)生改變,同時(shí),智能體接受環(huán)境對(duì)于動(dòng)作優(yōu)劣的判斷[13-15]。
圖2 強(qiáng)化學(xué)習(xí)基本過程
馬爾可夫決策過程的目標(biāo)就是尋找一個(gè)最優(yōu)策略π,使得智能體的累計(jì)回報(bào)值最大。在馬爾可夫決策過程中,狀態(tài)價(jià)值函數(shù)vπ(s)和動(dòng)作價(jià)值函數(shù)qπ(s,a)定義如下:
其中,Gt代表累計(jì)回報(bào)。
時(shí)間差分方法[16]是應(yīng)用最廣的強(qiáng)化學(xué)習(xí)算法,SARSA 算法和Q-learning 算法是其中的兩種代表性算法。SARSA 算法也是一種在線策略(on-policy)算法,其動(dòng)作價(jià)值函數(shù)的更新公式為:
其中,α代表學(xué)習(xí)速率。
Q-learning 則是一種離線策略(off-policy)算法,它的動(dòng)作價(jià)值函數(shù)更新公式為:
深度確定性策略梯度(DDPG)算法[17]借鑒了DQN算法[18]的經(jīng)驗(yàn)回放機(jī)制和雙網(wǎng)絡(luò)結(jié)構(gòu),同時(shí)利用確定性梯度的特點(diǎn),通過Actor 網(wǎng)絡(luò)直接輸出具體的動(dòng)作,使其能夠應(yīng)用在高維的動(dòng)作空間。DDPG 算法采用Actor-Critic 算法框架,其算法框架如圖3 所示。
圖3 Actor-Critic算法框架
具體地,DDPG 算法設(shè)計(jì)了四種網(wǎng)絡(luò),即Actor 當(dāng)前網(wǎng)絡(luò)、Actor 目標(biāo)網(wǎng)絡(luò)、Critic 當(dāng)前網(wǎng)絡(luò)和Critic 目標(biāo)網(wǎng)絡(luò)。其中,Actor 當(dāng)前網(wǎng)絡(luò)和Critic 當(dāng)前網(wǎng)絡(luò)的參數(shù)更新公式如下:
其中,θ是Actor 當(dāng)前網(wǎng)絡(luò)的參數(shù),θ′是Actor 目標(biāo)網(wǎng)絡(luò)的參數(shù),w是Critic 當(dāng)前網(wǎng)絡(luò)的參數(shù),w′是Critic 目標(biāo)網(wǎng)絡(luò)的參數(shù),Actor 當(dāng)前網(wǎng)絡(luò)輸出的確定性動(dòng)作為a=μ(s;θ),m是經(jīng)驗(yàn)池中隨機(jī)采樣的數(shù)據(jù)總數(shù),yi是目標(biāo)Q值。
Actor 目標(biāo)網(wǎng)絡(luò)和Critic 目標(biāo)網(wǎng)絡(luò)的參數(shù)通過軟更新的方式進(jìn)行更新,使得算法更加穩(wěn)定。
由于DDPG 算法應(yīng)用于多智能體時(shí)無法利用全局智能體的狀態(tài)信息,因此,Critic 網(wǎng)絡(luò)給出的狀態(tài)值函數(shù)并不十分準(zhǔn)確,同時(shí)算法的穩(wěn)定性會(huì)受到智能體之間的影響。為了解決這些問題,文獻(xiàn)[19]提出了多智能體深度確定性策略梯度(MADDPG)算法。
MADDPG 算法的Actor 網(wǎng)絡(luò)結(jié)構(gòu)只考慮單個(gè)智能體的局部狀態(tài)信息,但是Critic 網(wǎng)絡(luò)結(jié)構(gòu)考慮了其他智能體的狀態(tài)和動(dòng)作信息。
對(duì)于MADDPG 算法,第i個(gè)智能體的策略梯度公式可以表示為式(5):
其中,θi是第i個(gè)智能體Actor當(dāng)前網(wǎng)絡(luò)的參數(shù)。
第i個(gè)智能體的Critic 網(wǎng)絡(luò)參數(shù)更新可以表示為式(6)-(7):
其中,ai代表第i個(gè)智能體的動(dòng)作,wi是第i個(gè)智能體Critic 當(dāng)前網(wǎng)絡(luò)的參數(shù),是第i個(gè)智能體Critic 目標(biāo)網(wǎng)絡(luò)的參數(shù),yi代表目標(biāo)Q值。
多無人機(jī)自主決策問題可以描述為在有限任務(wù)區(qū)域中,無人機(jī)躲避環(huán)境中的障礙物,最終到達(dá)各自的任務(wù)區(qū)域。如圖4 所示,多無人機(jī)自主決策環(huán)境中包含無人機(jī)、目標(biāo)和障礙物。其中,是無人機(jī)的位置坐標(biāo),是目標(biāo)中心點(diǎn)的位置坐標(biāo),是障礙物中心點(diǎn)的位置坐標(biāo)。
圖4 多無人機(jī)自主決策環(huán)境
多無人機(jī)自主決策問題中的狀態(tài)空間、動(dòng)作空間和回報(bào)函數(shù)可表示如下。
第i架無人機(jī)的狀態(tài)信息由無人機(jī)速度、位置、無人機(jī)相對(duì)目標(biāo)的距離、無人機(jī)相對(duì)其他無人機(jī)的距離、無人機(jī)相對(duì)障礙物的距離組成。具體可表示為。
無人機(jī)的動(dòng)作空間由各個(gè)方向的外力表示,第i架無人機(jī)的動(dòng)作空間可以表征為。
為了避免稀疏回報(bào)問題,將多無人機(jī)自主決策的回報(bào)函數(shù)表示為式(8):
其中,dis(·)表示二維空間中的歐式距離,Rt是目標(biāo)半徑,Ro是障礙物半徑,Ru是無人機(jī)碰撞距離。r1是無人機(jī)到達(dá)目標(biāo)區(qū)域獲得的獎(jiǎng)勵(lì)值,r2是任務(wù)失敗的獎(jiǎng)勵(lì)值,包括無人機(jī)發(fā)生碰撞、無人機(jī)進(jìn)入障礙物區(qū)域,rdis是無人機(jī)與目標(biāo)的距離帶來的獎(jiǎng)勵(lì)項(xiàng),robs是無人機(jī)與障礙物的距離帶來的獎(jiǎng)勵(lì)項(xiàng)。
在實(shí)驗(yàn)中,DDPG 算法和MADDPG 算法的Critic網(wǎng)絡(luò)結(jié)構(gòu)有所區(qū)分,DDPG 算法的Critic 網(wǎng)絡(luò)輸入局部狀態(tài)觀測(cè)值和動(dòng)作值,MADDPG 算法的Critic 網(wǎng)絡(luò)則輸入所有智能體的狀態(tài)觀測(cè)值和動(dòng)作值。
算法中的其他參數(shù)設(shè)置如下:每一回合的最大長(zhǎng)度為400,學(xué)習(xí)率為0.001,折扣因子為0.95,經(jīng)驗(yàn)池的大小為1×106,批量訓(xùn)練集大小為1 024,目標(biāo)網(wǎng)絡(luò)的更新率τ=0.01。
回合平均回報(bào)值(Episode Average Return,EAR)是智能體在有限回合所獲得的獎(jiǎng)勵(lì)值,收斂時(shí)獎(jiǎng)勵(lì)值越高,說明算法越具有優(yōu)勢(shì),具體如式(9):
式中,N表示有限回合的個(gè)數(shù),|En|代表第n個(gè)回合的長(zhǎng)度,無人機(jī)的數(shù)量為Nu,r(ui,j)表示無人機(jī)在第j步的獎(jiǎng)勵(lì)值。
在有15個(gè)障礙物的自主決策環(huán)境中,利用DDPG算法和MADDPG 算法對(duì)無人機(jī)編隊(duì)進(jìn)行訓(xùn)練,學(xué)習(xí)過程中的回合平均回報(bào)值的變化如圖5 所示。
圖5 多無人機(jī)自主決策訓(xùn)練過程
圖5 橫坐標(biāo)代表訓(xùn)練的回合數(shù),縱坐標(biāo)代表回合平均回報(bào)值。分析圖5,由于訓(xùn)練過程中存在隨機(jī)噪聲,算法呈現(xiàn)一定的震蕩,但兩種算法在訓(xùn)練一段時(shí)間后均呈收斂趨勢(shì),不過兩種算法收斂的速度和時(shí)間存在一些差異。相比之下,MADDPG 算法比DDPG 算法更早的收斂,且收斂后的回報(bào)值高于DDPG算法。
為了測(cè)試算法收斂后的性能,分別利用訓(xùn)練完成的兩種算法模型在障礙物數(shù)量為0 個(gè)、8 個(gè)、15 個(gè)的環(huán)境中,對(duì)多無人機(jī)自主決策能力進(jìn)行測(cè)試。測(cè)試任務(wù)成功率如圖6 所示,在不同密度的障礙物測(cè)試環(huán)境中,MADDPG 算法能取得比DDPG 算法更高的成功率。
圖6 測(cè)試任務(wù)成功率
以多無人機(jī)自主決策為研究背景,構(gòu)建了多無人機(jī)自主決策環(huán)境,通過描述馬爾科夫決策過程,分析了深度確定性策略梯隊(duì)算法和MADDPG 算法。仿真實(shí)驗(yàn)結(jié)果驗(yàn)證了應(yīng)用在多智能體領(lǐng)域的MADDPG 算法能有效地對(duì)多無人機(jī)進(jìn)行路徑規(guī)劃,在有障礙環(huán)境中實(shí)現(xiàn)自主決策。隨著多智能體數(shù)量的增多,MADDPG 算法將難以收斂,如何改進(jìn)算法網(wǎng)絡(luò),提高采樣效率,值得進(jìn)一步地開展研究。