姜 波,梁晨陽,梅 杰,馬廣富
哈爾濱工業(yè)大學(xué)(深圳),深圳 518055
在火星探測任務(wù)中,火星車由于自身運動限制,無法獲得大面積火星地表信息,因此火星車通過攜帶小型無人機編隊來實現(xiàn)對地表的大范圍信息采集.無人機編隊UAV(unmanned aerial vehicles)具有靈活性、移動空間大等特點,其能夠在沒有固定基礎(chǔ)設(shè)施的情況下,提供救援、搜索和基礎(chǔ)服務(wù)覆蓋等服務(wù).例如文獻(xiàn)[1]研究使用無人機編隊為指定區(qū)域提供無線通信服務(wù);文獻(xiàn)[2]通過調(diào)整無人機編隊中每個無人機位置,在陌生環(huán)境下為目標(biāo)點提供實時定位服務(wù);文獻(xiàn)[3]使用無人機編隊,實現(xiàn)對特定區(qū)域中指定目標(biāo)的搜索,文獻(xiàn)[4]通過改進的遺傳算法解決有障礙區(qū)域的無人機群多目標(biāo)點路徑規(guī)劃問題.除此之外,無人機編隊還可以應(yīng)用于未知環(huán)境探索[5]、區(qū)域監(jiān)視[6]等領(lǐng)域.上述應(yīng)用都利用了無人機編隊的可操作性、靈巧性和魯棒性.考慮到無人機的速度和姿態(tài)的實時調(diào)整、地面站到無人機視野的遮擋等復(fù)雜環(huán)境,使用地面站來控制每架無人機并不可靠.因此,亟需結(jié)合具體應(yīng)用場景,發(fā)展一種完全自治、不需要地面站控制的的編隊算法.
考慮圖1的場景,在地外系統(tǒng)中,當(dāng)?shù)孛孳囆枰@取某一片未知區(qū)域的信息時,就可以采用搭載相機的無人機群,這些無人機在目標(biāo)區(qū)域上空散開.每架無人機通過自身機載傳感設(shè)備對一部分目標(biāo)區(qū)域進行地面信息采集(比如地形、紋理等),而所有無人機采集到的信息能夠覆蓋整個目標(biāo)區(qū)域,完成信息采集后編隊可以通過離線或在線方式把信息數(shù)據(jù)發(fā)送給地面車輛.在上述場景下,編隊需要考慮幾個問題:一是由于每架無人機通信范圍有限,無人機群之間必須保持通信連接,以保證在距離較遠(yuǎn)和有障礙物遮擋的情況下,整個無人機群能和地面保持通信連接[7];二是無人機機載感知設(shè)備的覆蓋范圍有限,可以認(rèn)為是一個各向同性的圓;三是在地外系統(tǒng)中無人機需要長時間工作,而無人機的能量來源于地面車的太陽能充電,在火星惡劣的沙塵暴環(huán)境下,“機遇號”[8]火星探測車上面的太陽能電池板產(chǎn)生電量僅僅能產(chǎn)生晴天的九分之一,因此無人機在工作期間要盡可能減少能量損耗.綜上,無人機在上述場景下,受到通信范圍約束、感知范圍約束和能量有限約束,考慮到每架無人機均是一個獨立的智能體,因此需要采用分布式的控制方法.本文的目標(biāo)是通過設(shè)計無人機編隊的分布式控制方法,采集盡可能多的目標(biāo)區(qū)域信息.這個問題主要有以下幾個難點:一是由于無人機數(shù)量有限,需要每架無人機找到最優(yōu)位置,這樣才能采集到盡可能多的信息;二是由于無人機的移動需要消耗能量,需要衡量無人機移動和能量消耗之間的關(guān)系;三是無人機不能失去和其他無人機的通信.
圖1 無人機編隊對目標(biāo)區(qū)域進行覆蓋采集信息Fig.1 UAV formation covers the target area and collects information
為解決上述問題,大量研究利用多智能體系統(tǒng)研究區(qū)域覆蓋問題[9].在文獻(xiàn)[10]中,作者提出一個框架,在這個框架中通過特定的執(zhí)行參數(shù)和系統(tǒng)條件(即剩余能量、計算能力和特定車載傳感器提供的能力),能夠?qū)o人機進行編程和管理,以及協(xié)調(diào)無人機編隊行動.為提高智能體搜索目標(biāo)的效率,在文獻(xiàn)[11]中把目標(biāo)區(qū)域分割成若干個大小相同的單元格,并且提出一個統(tǒng)計框架來預(yù)測智能體應(yīng)該在一個單元格中花費的時間量,以增加該單元格中的目標(biāo)檢測置信度.在單元格被智能體覆蓋之后,擁有目標(biāo)的概率會被更新.但是文中需要一個集中式的概率地圖來存儲每個單元格的概率.文獻(xiàn)[12]為解決異構(gòu)智能體覆蓋問題,將這個問題分成了2層,上層是根據(jù)每個子編隊能力的不同,將目標(biāo)區(qū)域劃分給每個子編隊,下層是根據(jù)子編隊中每個智能體的能力不同,將子區(qū)域劃分給每個智能體.2層的目標(biāo)函數(shù)形式相同.上下2層分別使用不同的分割算法來分割目標(biāo)區(qū)域,目的是為了發(fā)揮2種分割算法的優(yōu)點.文獻(xiàn)[13]考慮的是1維的覆蓋問題,能夠推導(dǎo)出當(dāng)多智能體系統(tǒng)滿足一定條件時,覆蓋效果能夠達(dá)到最好,即目標(biāo)函數(shù)達(dá)到全局最優(yōu).因此,文章沒有對目標(biāo)函數(shù)進行求導(dǎo),而是在全局最優(yōu)條件的基礎(chǔ)上設(shè)計負(fù)反饋控制律.此外,控制律的設(shè)計還考慮了圓上智能體順序的保持,不僅能夠保證智能體間避免碰撞,還能夠簡化收斂性分析.文獻(xiàn)[14]為找到最優(yōu)的智能體配置方案,設(shè)計了一種“離線+在線”的方法.假設(shè)可使用的智能體數(shù)量固定,在離線階段通過貪心算法尋找所有可用智能體初始位置.離線的貪心算法的好處一是能夠提供智能體的初始位置,二是能夠克服局部最優(yōu)限制,三是能夠提供一個目標(biāo)函數(shù)下界.在線階段,通過梯度下降算法,一是去除多余的智能體,二是進一步調(diào)整智能體位置.通過仿真證明,整個算法總能夠使目標(biāo)函數(shù)近乎達(dá)到全局最優(yōu)解.文獻(xiàn)[15]為得到離散系統(tǒng)的梯度方向,僅需要對智能體覆蓋區(qū)域的邊界曲線進行積分,這樣做好處是減少計算量.此外,文中還設(shè)計了智能體移動條件,保證在控制律作用下,智能體的每次移動都能夠使目標(biāo)函數(shù)增加.文獻(xiàn)[16]以控制質(zhì)心和智能體實際坐標(biāo)誤差為目標(biāo),通過控制律使得誤差呈指數(shù)衰減.在設(shè)計完梯度下降的控制律后,使用模糊邏輯和自適應(yīng)方法,近似控制律中未知項,并且使用魯棒覆蓋準(zhǔn)則減少自適應(yīng)模糊系統(tǒng)近似誤差.文獻(xiàn)[17]的控制律設(shè)計不同于上述文獻(xiàn),為解決Art Gallery完全覆蓋問題,在Max-Sum算法基礎(chǔ)上發(fā)展出CMGD算法,通過對未知探索區(qū)域的近似以及證明Utility Function可導(dǎo),使得改進后的算法能夠使覆蓋區(qū)域沿著梯度方向變大,適用于離散和連續(xù)條件以及適用于智能體全向或扇形探測模型.此外,文章還設(shè)計智能體釋放策略,通過逐個釋放智能體,保證智能體的最大利用.
一些研究成果同樣考慮了多智能體系統(tǒng)的約束問題.文獻(xiàn)[18]為解決覆蓋中的通信連通約束,將約束轉(zhuǎn)換為一不等式約束.此外,在上述不等式約束下,系統(tǒng)容易陷入局部最小值,為解決這個問題,文章在目標(biāo)函數(shù)中加入每個Voronoi圖質(zhì)心到目標(biāo)區(qū)域質(zhì)心的距離.但是對目標(biāo)函數(shù)如此改造,文中沒有給出具體說明或理論證明.文獻(xiàn)[19]同樣嘗試解決連通約束問題,不過文章在維持連通的同時,最大限度提高覆蓋范圍.文章將這個問題分解成2部分,一是尋找最小生成樹,這是維持連通的最小拓?fù)?,二是在最小生成樹拓?fù)湎?,對CVT的名義控制律輸出加上一個Control Barrier Function約束,約束最終控制律輸出和名義控制律輸出夾角余弦大于零.這種做法不足的地方,一是需要對上述約束分布式化,二是需要智能體在線求解QP優(yōu)化問題.文獻(xiàn)[20]不同于其他算法單純從圖論或者控制器輸出來達(dá)到連通性約束,而是考慮了路由維護需求,如果不滿足路由維護,就把控制律給出的下一時刻坐標(biāo)點映射到最近的滿足路由維護的點上.
深度強化學(xué)習(xí)近年來同樣吸引了很多不同領(lǐng)域的學(xué)者研究.文獻(xiàn)[21]的作者開創(chuàng)性地引入一個強化學(xué)習(xí)框架,它使用DQN作為函數(shù)近似器,以及經(jīng)驗回放和目標(biāo)網(wǎng)絡(luò)2種新技術(shù),以提高學(xué)習(xí)穩(wěn)定性.還有其他學(xué)者提出許多擴展來解決DQN的限制.文獻(xiàn)[22]提出一種DDQN,將深度Q網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)解耦以避免高估.文獻(xiàn)[23]使用重要度采樣的方法,提高樣本的利用效率.文獻(xiàn)[24]提出一種分布式強化學(xué)習(xí)網(wǎng)絡(luò),通過學(xué)習(xí)折扣回報的分類分布和噪聲網(wǎng)絡(luò),得到更優(yōu)的結(jié)果.在文獻(xiàn)[25]中,作者將上述2種方法以及其他4種方法組合在一個名為“彩虹”的模型中,具有更優(yōu)異的性能.為解決連續(xù)動作空間的問題,文獻(xiàn)[26]提出一種基于確定性策略梯度的無模型算法,該算法可以在連續(xù)動作空間上運行.其他關(guān)于深度強化學(xué)習(xí)的工作包括文獻(xiàn)[27-28].雖然深度強化學(xué)習(xí)在一些實際的應(yīng)用場景如游戲、機械臂控制[29]等方面有重要的應(yīng)用,但它在多智能體系統(tǒng)控制上的適用性和有效性仍未得到有效解決.
多智能體強化學(xué)習(xí)算法是在單智能體強化學(xué)習(xí)基礎(chǔ)上發(fā)展出來的算法,解決群體與環(huán)境交互的決策和控制問題.MADDPG[30]算法是對DDPG算法的改進,其能夠解決復(fù)雜多智能體環(huán)境下的問題,MADDPG算法采用了集中式訓(xùn)練分布式執(zhí)行的方法,在一定程度上緩解了多智能體環(huán)境下的非穩(wěn)態(tài)問題.MAPPO[31]算法基于全局狀態(tài)而不是智能體的局部觀測來學(xué)習(xí)一個策略和中心化的值函數(shù),算法將原本在單智能體環(huán)境上表現(xiàn)突出的PPO[32]算法擴展到了多智能體環(huán)境上,通過采用一系列的技巧,包括廣義價值優(yōu)勢估計、觀測值歸一化、層歸一化和梯度裁剪等,MAPPO算法在多智能體環(huán)境下表現(xiàn)出了良好的性能.VDN[33]算法主要解決智能體訓(xùn)練過程中的獎勵信用分配問題,通過將團隊價值函數(shù)分解為單個智能體的價值函數(shù)之和,能夠有效解決“惰性”智能體的出現(xiàn).而QMIX[34]算法則是將VDN算法中將各個智能體的價值函數(shù)簡單相加變?yōu)椴捎梅蔷€性組合的方式,并且在混合網(wǎng)絡(luò)中引入了全局信息,算法解決了智能體數(shù)量過多情況下的參數(shù)爆炸以及信用分配問題.
本文基于深度強化學(xué)習(xí)DRL(deep reinforcement learning)技術(shù),提出一種分布式多無人機覆蓋控制算法.使用神經(jīng)網(wǎng)絡(luò)控制無人機編隊的移動,通過定義適當(dāng)?shù)莫剟詈瘮?shù)來實現(xiàn)指標(biāo)的最大化(包括最大覆蓋面積、無人機群連通性保持和最小能源消耗).算法采用了參數(shù)共享機制,通過采用圖神經(jīng)網(wǎng)絡(luò)DGN(deep graph network)作為模型隱藏層,模型不會受到因輸入的排列不同產(chǎn)生的影響.最后使用本文所提算法和其他2個基線方法進行了比較,結(jié)果表明本文所提算法優(yōu)于其他2種算法.
本文其余部分組織如下.第1節(jié)定義系統(tǒng)模型并對問題進行建模.第2節(jié)詳細(xì)介紹本文所提出的算法.第3節(jié)介紹仿真實驗結(jié)果和分析.最后在第4節(jié)對本文進行總結(jié).
本文考慮多約束下無人機編隊對2維區(qū)域的覆蓋問題.無人機編隊構(gòu)成集合N{i=1,2,…,N},集合中每架無人機均能執(zhí)行覆蓋任務(wù),每架無人機的覆蓋范圍是一個半徑為Rsense的各向同性圓,并且無人機的飛行高度固定.我們假設(shè)每個時刻無人機能夠定位到自身的位置,并且能知道待覆蓋區(qū)域的形狀.
表1 變量名稱和含義Tab.1 Variable definitions
(1)
其中φ(q)是表示點重要程度的函數(shù),在區(qū)域內(nèi)每個點重要程度一致的情況下,φ(q)退化為常數(shù)1.
綜上,本文的目標(biāo)是通過設(shè)計無人機編隊的分布式控制律,控制每架無人機到達(dá)合適位置,并且最大化覆蓋目標(biāo)區(qū)域.無人機編隊要同時滿足以下要求:一是最大化目標(biāo)區(qū)域的覆蓋面積;二是最小化能量損耗;三是保持無人機群的通信連通性.
強化學(xué)習(xí)可以概括為智能體通過與環(huán)境交互來學(xué)習(xí)策略.在t時刻,智能體獲得環(huán)境狀態(tài)值為st,根據(jù)自身行為策略π,采取下一步行為at,并且該行為產(chǎn)生的獎勵為rt.策略看作是一個從狀態(tài)到執(zhí)行動作的概率映射,表示為π(at|st).智能體的目標(biāo)是通過學(xué)習(xí)策略,從而在與環(huán)境交互時使得未來累計獎勵最大化,其數(shù)學(xué)表示為
(2)
其中T表示最后一個時隙,γ表示折扣因子,取值為0≤γ≤1,rt表示在時隙t時的獎勵.
基于值函數(shù)的強化學(xué)習(xí)方法關(guān)鍵在于對智能體動作價值函數(shù)的估計.假設(shè)在t時刻環(huán)境狀態(tài)值為st,智能體采取行為at,狀態(tài)-動作價值函數(shù)Q(st,at)滿足貝爾曼方程
(3)
隨著迭代次數(shù)j→∞,值函數(shù)會收斂到最優(yōu)值Q*.在Q-learning方法的基礎(chǔ)上發(fā)展而來的DQN[28]方法,這種方法使用DNN作為函數(shù)估計,解決了狀態(tài)數(shù)量無窮的情況,通過最小化損失函數(shù)(4)進行訓(xùn)練,損失函數(shù)表示為
(4)
(5)
文獻(xiàn)[36]提出的策略梯度方法可以應(yīng)用于連續(xù)系統(tǒng).令θπ表示行為策略參數(shù),πθπ(at|st)表示在時刻t、狀態(tài)值st時,采取行為at的概率,ρπ表示在策略π下智能體的狀態(tài)分布函數(shù).目標(biāo)函數(shù)可以表述為最大化J(θ)=Es~ρπ,a~πθπ[R1].根據(jù)策略梯度[36]方法對策略參數(shù)θπ進行更新,關(guān)于參數(shù)θπ的梯度計算方式如下:
(6)
另外可根據(jù)“REINFORCE”[35]方法來獲取Q(st,at)的值.
在基于“ACTOR-CRITIC”框架的強化學(xué)習(xí)算法中,ACTOR指的是策略函數(shù)的近似值,CRITIC指的是價值函數(shù)的近似值.DDPG[26]是這種框架下的一個典型算法,并且ACTOR網(wǎng)絡(luò)從狀態(tài)到動作的映射是一個確定的值,這個映射通過μ表示.通過最小化損失函數(shù)(4)來對CRITIC網(wǎng)絡(luò)參數(shù)進行訓(xùn)練.ACTOR網(wǎng)絡(luò)參數(shù)更新依照下式
(7)
DDPG也采用了TARGET網(wǎng)絡(luò)和經(jīng)驗回放池提高訓(xùn)練穩(wěn)定性.由單智能體DDPG算法發(fā)展而來的多智能體強化學(xué)習(xí)算法MADDP[30]用來解決多個智能體的控制決策問題,每個智能體在訓(xùn)練階段能夠獲取到全局的狀態(tài)信息,在一定程度上解決了多智能體環(huán)境的非穩(wěn)態(tài)性.每個智能體需要維護一個CRITIC網(wǎng)絡(luò)的拷貝Qi.CRITIC網(wǎng)絡(luò)的參數(shù)更新按照損失函數(shù)(8)進行
(8)
(9)
本文提出一種基于圖神經(jīng)網(wǎng)絡(luò)和參數(shù)共享機制的多智能體強化學(xué)習(xí)無人機覆蓋控制算法.用來解決在MLP網(wǎng)絡(luò)中由于輸入排列不同而導(dǎo)致的輸出不同的問題.
(1)參數(shù)共享機制
相比較于MADDPG算法,我們維護一個所有智能體共享的CRITIC網(wǎng)絡(luò)來指導(dǎo)無人機進行訓(xùn)練,即Q1=Q2=…QN=QG.
MADDPG算法中每個無人機維護一個ACTOR網(wǎng)絡(luò),每個無人機還需額外維護一個CRITIC網(wǎng)絡(luò).通過CRITIC網(wǎng)絡(luò)指導(dǎo)無人機對ACTOR網(wǎng)絡(luò)進行訓(xùn)練,如圖2所示.
圖2 MADDPG示意圖Fig.2 MADDPG schematic
MADDPG算法的網(wǎng)絡(luò)參數(shù)將隨著智能體數(shù)量的增加而線性增加,CRITIC網(wǎng)絡(luò)參數(shù)的空間復(fù)雜度為O(N),而采用共享機制的CRITIC網(wǎng)絡(luò)參數(shù)復(fù)雜度為O(1),這減少了訓(xùn)練參數(shù)的數(shù)量,提高了訓(xùn)練的速度,如圖3所示.
圖3 基于參數(shù)共享的Q網(wǎng)絡(luò)Fig.3 Q network based on parameter sharing
(2)CRITIC網(wǎng)絡(luò)隱藏層設(shè)計
本文使用圖神經(jīng)網(wǎng)絡(luò)[37]來作為CRITIC網(wǎng)絡(luò)的隱藏層.對于具有相同動力學(xué)模型,相同感知視野的無人機,在不同的時刻,當(dāng)無人機群的全局狀態(tài)相同,但輸入到全局Q網(wǎng)絡(luò)的順序不同時,對于采用全連接層作為隱藏層的CRITIC網(wǎng)絡(luò),2種情況下將作為不同的輸入處理,從而產(chǎn)生不同的價值函數(shù),如圖4所示.
圖4 MLP網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 MLP network structure
圖4中4個智能體不同的顏色代表不同的觀測值,對于同質(zhì)的智能體,2種情況下CRITIC獲得的全局狀態(tài)應(yīng)該是一致的,但是神經(jīng)網(wǎng)絡(luò)輸出了不同的價值函數(shù).而采用圖神經(jīng)網(wǎng)絡(luò)作為隱藏層,不會受到因輸入的排列而產(chǎn)生的影響.如圖5所示,輸入到神經(jīng)網(wǎng)絡(luò)的無人機觀測值排列不相同,然而經(jīng)過圖網(wǎng)絡(luò)處理后,得到了相同的輸出值.
圖5 圖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Graph neural network structure
采用圖神經(jīng)網(wǎng)絡(luò)的CRITIC網(wǎng)絡(luò),其前向傳播方式為
(10)
其中fGCN表示圖卷積層,fv是全連接層,fmax表示最大池化.zt=[otat]表示所有智能體的觀測向量和動作向量的拼接.輸入是從右往左傳播到輸出的,°代表網(wǎng)絡(luò)的連接.
(3)參數(shù)共享和圖神經(jīng)網(wǎng)絡(luò)強化學(xué)習(xí)算法設(shè)計
(11)
根據(jù)如下的損失函數(shù)更新CRITIC網(wǎng)絡(luò)參數(shù)θQ.
(12)
(13)
最后更新ACTOR網(wǎng)絡(luò)和CRITIC網(wǎng)絡(luò)對應(yīng)的TARGET網(wǎng)絡(luò)參數(shù)
(14)
TARGET網(wǎng)絡(luò)的更新采用軟更新的方式,參數(shù)τ表示目標(biāo)網(wǎng)絡(luò)每次向評估網(wǎng)絡(luò)移動的距離百分比,采用這種方法,保證了訓(xùn)練的穩(wěn)定性.完整的訓(xùn)練算法流程如表2所示.
表2 訓(xùn)練算法步驟Tab.2 Training steps
(4)獎勵函數(shù)設(shè)計
關(guān)于獎勵函數(shù)的設(shè)計,我們需要考慮以下幾點.一是每個無人機自身覆蓋到的范圍的大小,另外是能量約束以及無人機之間的連通限制.根據(jù)以上要求,將獎勵函數(shù)設(shè)計為如下的3個部分
(15)
單個無人機的總的獎勵函數(shù)表示為3部分獎勵函數(shù)的加權(quán)之和.當(dāng)調(diào)整系數(shù)a1較大時,表示地面無人車輛需要盡可能多地獲取區(qū)域的信息,無人機群應(yīng)該盡可能多的實現(xiàn)對區(qū)域的覆蓋.取a2較大時,表示無人機群對于能量消耗敏感.取a3較大時,地面無人車希望無人機群能一直保持通信連通.通過在仿真中不斷對3個系數(shù)進行調(diào)整,可以達(dá)到一個我們預(yù)期的覆蓋效果.
本文假設(shè)在地外系統(tǒng)中,地面車輛可以攜帶3架無人機.地面車輛要求無人機群覆蓋的區(qū)域在實時發(fā)生變化.我們模擬地面車輛給無人機群下達(dá)的覆蓋區(qū)域指令從一個半徑為R的圓上隨機選取4個點得到,如圖6所示,取R=5 m,目標(biāo)區(qū)域內(nèi)每個點的重要程度是一致的取φ(q)=1.
圖6 覆蓋目標(biāo)區(qū)域(藍(lán)色四邊形內(nèi))Fig.6 The target area to be covered (inside the blue quadrilateral)
取無人機參數(shù):覆蓋半徑Rsense=2 m,通信半徑Rconnect=5 m,每次迭代無人機移動的單位步長為Δx=0.1 m.
CRITIC網(wǎng)絡(luò)輸入層后面接層圖神經(jīng)網(wǎng)絡(luò),圖網(wǎng)絡(luò)的輸出層采用平均池化并接一個全連接層.ACTOR網(wǎng)絡(luò)為4層的網(wǎng)絡(luò)結(jié)構(gòu),包含輸入層、2層的隱藏層和輸出層.輸出層輸出無人機下一時刻應(yīng)該移動的方向.隱藏層激活函數(shù)使用RELU,輸出層激活函數(shù)使用TANH.網(wǎng)絡(luò)權(quán)重和偏置采用了正交初始化.在調(diào)整a1、a2和a3時,發(fā)現(xiàn)3個值都為1可以取得較好的覆蓋效果,其他參數(shù)如表3所示.
表3 訓(xùn)練參數(shù)Tab.3 Training parameters
我們使用算法構(gòu)建了模型并對模型進行了2次訓(xùn)練,第1次訓(xùn)練采用的Mini Batch大小為128.第2次訓(xùn)練的Mini Batch大小為256.訓(xùn)練結(jié)果如圖7~8所示.
圖7 訓(xùn)練過程reward變化示意圖Fig.7 Schematic diagram of reward changes during training
圖8 訓(xùn)練過程loss變化示意圖Fig.8 Schematic diagram of loss change during training
2次訓(xùn)練選取不同的Mint Batch大小,從訓(xùn)練過程中的loss變化曲線上看,batch大小為256的訓(xùn)練曲線峰值loss要小于 batch 為128,這符合理論上batch越大,loss的下降方向越符合真實梯度的要求.2次訓(xùn)練loss都先呈現(xiàn)上升趨勢,然后穩(wěn)步下降.經(jīng)過分析是因為剛開始訓(xùn)練時在動作中加入了隨機噪聲W,智能體策略傾向于探索.值函數(shù)在每一次更新中都去擬合了智能體最新的策略對應(yīng)的價值函數(shù),值函數(shù)的更新快.隨著學(xué)習(xí)步數(shù)增加,學(xué)習(xí)率衰減,隨機噪聲的去除,智能體策略趨于穩(wěn)定.reward在訓(xùn)練過程中始終呈現(xiàn)上升趨勢,并且最終趨于穩(wěn)定,說明智能體在訓(xùn)練過程中不斷的優(yōu)化自身策略,并最終獲得一個較好的策略.
訓(xùn)練完成后,測試效果如圖9所示,其中的圓形代表每個無人機的覆蓋范圍.圖9中3種不同顏色的圓形分別代表3個不同的無人機的覆蓋范圍,初始階段隨機初始化無人機的位置并使它們保持連通狀態(tài),當(dāng)?shù)螖?shù)為35的時候到達(dá)了覆蓋任務(wù)中期,圖9中的3個無人機始終和自己最近的鄰居保持連通,在迭代步數(shù)為70的時候,從圖9中可以看出無人機已經(jīng)完成了對目標(biāo)區(qū)域的近似最優(yōu)覆蓋.
圖9 覆蓋控制算法效果圖Fig.9 Overlay control algorithm renderings
為測試算法在無人機群連通性保持方面的表現(xiàn),我們通過10次對隨機目標(biāo)區(qū)域的覆蓋來觀察無人機群的通信連通保持情況.無人機之間的最大通信距離隨著仿真步數(shù)變化的情況如圖10所示.圖中的紅色水平虛線是我們設(shè)計的通信連通范圍限制,當(dāng)無人機之間的最大通信距離超過紅線時,表示無人機網(wǎng)絡(luò)中存在無人機和集群斷開鏈接.從圖中可以看出,在執(zhí)行覆蓋任務(wù)的時候,除了初始階段設(shè)定隨機初始位置的時候最大通信距離超過了紅色虛線,在覆蓋過程中所有無人機的最大通信距離始終保持在紅色虛線以下,表明無人機群的通信網(wǎng)絡(luò)始終保持連通.覆蓋過程中對目標(biāo)區(qū)域的覆蓋比率隨著步數(shù)更新的曲線如圖11所示.
圖10 無人機之間最大通信距離變化曲線Fig.10 The curves of max connection distance between UAVs
圖11 無人機對目標(biāo)區(qū)域的覆蓋比率變化曲線Fig.11 The curves of coverage rate
算法平均在前20步內(nèi)即完成了對目標(biāo)區(qū)域的近似最優(yōu)覆蓋,覆蓋比率呈現(xiàn)穩(wěn)步上升趨勢最終趨于穩(wěn)定.藍(lán)色曲線有一個上升再下降的過程,分析是因為無人機學(xué)習(xí)到的覆蓋策略在一些形狀比較特殊的目標(biāo)區(qū)域下容易陷入局部最優(yōu).沒有達(dá)到百分百的覆蓋比率是因為我們假設(shè)覆蓋區(qū)域為圓形,在無人機數(shù)量受限情況下無法實現(xiàn)對區(qū)域的全面覆蓋.
我們使用MADDPG和隨機策略2種算法和本文算法進行了比較,任務(wù)為覆蓋10個不同的目標(biāo)區(qū)域,比較的指標(biāo)為所有無人機對目標(biāo)區(qū)域覆蓋的面積之和取平均值.所有無人機在每次覆蓋任務(wù)中最多迭代步數(shù)為80步.算法運行的環(huán)境和初始條件都相同,算法測試得到的曲線如圖12所示.
圖12 MADDPG、隨機策略和本文算法的比較Fig.12 Comparison of MADDPG,random strategy and proposed algorithm
藍(lán)色的曲線代表使用參數(shù)共享和圖神經(jīng)網(wǎng)絡(luò)作為CRITIC網(wǎng)絡(luò)的策略.綠色曲線代表的是MADDPG算法.橙色曲線代表隨機策略,無人機在每個時刻隨機的往一個方向移動.從reward曲線上可以看出DGN算法隨著步數(shù)的增加reward呈現(xiàn)穩(wěn)步上升趨勢,MADDPG算法reward呈現(xiàn)震蕩,而RANDAN策略表現(xiàn)最差,reward呈現(xiàn)下降趨勢.綜上分析,采用參數(shù)共享和圖神經(jīng)網(wǎng)絡(luò)作為CRITIC網(wǎng)絡(luò)的的多智能體強化學(xué)習(xí)覆蓋控制算法能較好的完成給定的覆蓋任務(wù).
地外系統(tǒng)中,尤其是在火星復(fù)雜的地表環(huán)境下,地面車輛需要獲取給定區(qū)域的地圖信息,無人機群需要在復(fù)雜的情況下實現(xiàn)對目標(biāo)區(qū)域的覆蓋.本文提出一種基于多智能體強化學(xué)習(xí)的無人機覆蓋控制算法.相比較于傳統(tǒng)的無人機覆蓋控制算法,本文提出的算法在考慮通信連通性、能量損耗約束方面具有優(yōu)勢.并且所有無人機分布式執(zhí)行策略.相比較于MADDPG算法,本文提出的強化學(xué)習(xí)算法采用CRITIC參數(shù)共享機制,使用圖神經(jīng)網(wǎng)絡(luò)解決了狀態(tài)輸入的排列不一致問題.仿真結(jié)果表明本文提出的多智能體深度強化學(xué)習(xí)算法,能讓無人機群有效決策實現(xiàn)對目標(biāo)區(qū)域的覆蓋.下一步的工作計劃考慮無人機的動力學(xué)模型,將本文提出的神經(jīng)網(wǎng)絡(luò)決策與底層的無人機控制相結(jié)合,使得算法更加貼近于真實模型.