白成超,王會霞,郭繼峰,路坤鋒
(1. 哈爾濱工業大學航天學院,哈爾濱 150001;2. 北京航天自動控制研究所,北京 100854;3. 宇航智能控制技術國家級重點實驗室,北京 100854)
近年來,隨著高速無人飛行器技術的快速發展,高速飛行器集群已經成為了一種重要的協同任務執行平臺。高速飛行器集群具有許多優點,如大規模、多功能、高靈活性、低成本等[1],這使得高速飛行器集群在協同搜索、協同抗干擾和協同打擊等領域得到了廣泛的應用[2]。
在高速飛行器集群執行協同任務時,通信是集群的基礎之一。集群飛行器之間的通信可以實現狀態和載荷信息的交換,提高協同任務的效率和可靠性。然而,由于飛行器集群的特殊性,其具有大規模、多任務、速度快、時空關系變化頻繁和信息傳遞即時突發等特點[3],這些特點為集群通信的穩定性和魯棒性帶來了較大的挑戰性。通信拓撲結構是指在集群飛行器之間建立起來的通信連接模式,是高速飛行器組網設計的核心內容之一,合適的拓撲網絡結構可以減少通信數據量,提高上層任務執行的效率和可靠性。在設計通信拓撲結構時,需要考慮飛行器之間的位置關系、飛行器的通信能力、飛行器的能量消耗情況以及對于上層任務的執行效率等因素[4]。
目前,飛行器集群常用的通信拓撲結構有星形拓撲、樹形拓撲和網狀拓撲等[5]。星形拓撲常用于集中式組網通信,即所有節點向一個中心節點連接,中心節點負責維護整個網絡的通信,適用于節點數量較少的情況;樹形拓撲常用于分層式組網通信,即節點之間按照一定的規則連接,形成一棵樹狀結構,適用于有中央協調單元的情況;網狀拓撲常用于分布式組網通信,即節點之間任意連接,形成一個類似于網狀的結構,適用于節點數量較多的情況。預先設計的通信拓撲網絡的應用有一定的局限性,因此有學者對其加以改進。例如,文獻[6]針對無人機集群中由于外界干擾引起的通信可靠性下降導致飛行器定位精度變低的問題設計了一種分層式協同通信算法來適應集群成員的異步更新。但是,在飛行器集群的動態環境下,通信拓撲結構可能會受到外界因素的影響,導致通信效率下降或通信中斷,因此有許多學者對自適應通信拓撲網絡進行了研究[7-8]。例如文獻[9]受自然界中鴿群、椋鳥群的通信拓撲形式啟發,設計了一種仿生自適應通信拓撲網絡來消除集群控制抖振,提高編隊的穩定性。文獻[10]提出了一種自組織系統的群體控制方法,可以自適應固定和切換通信拓撲,實現智能單元的聚集和分散。
也有許多學者通過集群網絡的拓撲重構來間接實現拓撲網絡的環境自適應[11],主要的拓撲重構方法包括基于功率控制的拓撲重構方法[12],基于節點移動的拓撲重構方法[13],基于分簇的拓撲重構方法[14]。此外,人工智能技術可以作為一種有效的拓撲網絡設計手段,例如,文獻[15]提出了一種基于深度強化學習(Deep reinforcement learning,DRL)的通信網絡拓撲設計方法,采用帶有精英策略的學習算法能夠實時生成低功耗、抗毀性強的自適應網絡拓撲結構,但這些網絡都是三連通的,通信量較大。
然而,目前研究中仍存在一些問題,例如對于如何在飛行器集群的高動態,多任務環境中實現快速有效的通信拓撲結構自適應,在降低網絡通信量的同時提高集群魯棒性的問題還鮮有研究。為了解決上述問題,本文提出了一種基于深度強化學習的自適應集群通信拓撲實時變構方法,通過與任務環境的不斷交互可以學習到魯棒的集群控制策略以及具備自主調整能力的集群通信策略,可通過改變集群個體與周圍鄰居的通信個數的方式自適應地調整通信拓撲網絡。
本節給出了高速飛行器的運動學模型以及定義了本文所研究的集群控制問題。
(1)
式中:V為高速飛行器的速度;γ為飛行路徑角;ψ為航向角;RE為地心距;θ為地心經度;φ為地心緯度;g為重力加速度。

集群控制的目標是建立一種集群控制器使得高速飛行器ui滿足以下條件:
1)高速飛行器集群在飛行過程中盡可能保持初始隊形;

3)每個高速飛行器能夠躲避環境中的威脅區。
因此,該問題可以表達為以下優化問題:
(2)

在集群系統研究中,常假設任一個體可以獲取集群內所有其他個體的狀態信息,在對抗環境中,通信存在被干擾的可能,本文提出的基于DRL的集群控制策略通過觀測空間、獎勵函數和網絡結構的設計,在保證集群編隊隊形保持、威脅區規避和目標打擊能力的前提下優化通信策略,采用自適應的通信機制降低對通信的依賴。
如圖1所示,基于柔性動作-評價(SAC)[16]的集群通信策略學習采用基于強化學習(RL)的數據驅動方法,在搭建的高速飛行器集群數值仿真環境中,與環境交互得到訓練數據,利用數據不斷優化集群控制策略。

圖1 高速飛行器集群學習交互原理
設集群編隊中每個飛行器的觀測狀態空間為S,輸出動作為集群控制指令a∈A,A為動作空間。集群控制智能體從初始狀態s0~p(s0)出發,根據策略分布at~π(·|st)采樣輸出一個控制指令at作用于集群環境,集群按輸入的指令更新狀態,得到一個獎勵反饋r(st,at)并根據集群環境模型st+1~p(·|st,at)轉移到一個新的狀態st+1,一直循環此過程直到滿足停止條件。一個循環過程稱為回合(Episode)。定義一個回合的累積獎勵
(3)
式中:γ∈[0, 1]是折扣率,γ→1使得學習到的策略更關注長期回報;T表示一個回合中智能體與環境交互的總步數。訓練目標就是改進策略π,使得Gt最大化。
SAC是一種基于隨機策略的RL框架,通過調整交叉熵來平衡學習過程中的探索和利用的關系,并且采用了雙值函數網絡、延遲更新和目標網絡平滑等技巧,訓練過程穩定波動小,是一種成熟的RL算法框架,因此本文選擇其作為高速飛行器集群控制策略訓練框架。算法流程包括以下步驟:
1) 初始化集群控制策略網絡參數θ,集群控制策略值函數網絡參數φ1和φ2及經驗池D;
2) 設置值函數目標網絡參數φtarg,1,φtarg,2分別與參數φ1,φ2相同:φtarg,1←φ1,φtarg,2←φ2;
3) 重復步驟4)~步驟14):
4) 觀測集群仿真環境狀態s,根據控制策略輸出集群控制指令a~πθ(·|s);
5) 在集群仿真環境中執行控制指令a;
6) 觀測下一狀態s′和反饋的獎勵r和回合結束標志位d;
7) 將經驗組(s,a,r,s′,d)存到經驗池D中;
8) 如果回合結束則重置環境狀態;
9) 如果到達更新周期則執行步驟11~步驟14;
10) 從經驗池D中隨機采樣一組經驗B={(s,a,r,s′,d)};
11) 通過下式計算值函數的真值估計:
(4)

12) 通過梯度下降更新值函數網絡:
(5)
13) 通過梯度上升更新集群控制策略:
(6)

14) 更新目標網絡:
φtarg,i←ρφtarg,i+(1-ρ)φi,i=1,2
(7)
上述學習過程主要分為值函數學習和策略學習兩部分:
(1)值函數學習
給定經驗池D={(s,a,r,s′,d)},構造值函數網絡Qφi的損失函數
(8)
式中:y(r,s′,d)為Qφi的值函數目標,即
(9)
式中:a′~πθ(·|s′)。SAC利用了Clipped Q-learning的技巧,計算值函數目標時取兩個Q網絡的最小值,避免對動作值函數的過估計。
(2)策略學習
策略學習根據值函數對高速飛行器集群給定飛行狀態下輸出的控制指令好壞評判,更新控制策略使未來的累計回報與交叉熵的和最大化,即
(10)
策略網絡的輸出a采用了重參數化(Reparameteri-zation)的技巧,即
(11)
式中:ξ~N(0,1)為標準高斯分布;μθ(s)和σθ(s)分別是策略網絡輸出的控制指令分布的均值和方差。基于SAC的集群編隊、威脅規避和目標打擊學習的是隨機策略,輸出控制指令按參數μθ(s)和σθ(s)采樣后,再經過激活函數將控制指令輸出限制到約束范圍內。
在更新策略時采用同值函數更新一樣的Clipped Q-Learning技巧,即
(12)
這樣策略優化目標最終寫成
(13)
可通過從經驗池中采樣的數據利用梯度上升法實現以上策略的優化。
為了實現高速飛行器集群的編隊、威脅區域的規避和對目標點的打擊,需要在觀測向量中包含這3部分信息,從而使集群控制策略能從觀測中準確判別集群的當前飛行狀況。
1)集群編隊觀測
① 相對隊形信息
隊形保持的目標是使得集群在飛行過程中高速飛行器之間的相對位置與初始時刻保持一致。設計觀測信息為當前飛行器與鄰近飛行器相對位置相比于初始相對位置的偏差量。首先對鄰近飛行器i=1,2,…,m,計算當前相對位置
(14)
式中:RE為當前飛行器的地心距;θi,φi,hi為第i個飛行器當前時刻的經緯高;θ,φ,h為當前飛行器在當前時刻的經緯高。同理計算初始時刻飛行器i與當前飛行器的相對位置
(15)
式中:θi0,φi0,hi0和θ0,φ0,h0分別為第i個飛行器和當前飛行器在初始化時的經緯高。轉換到當前飛行器當前時刻的速度系下
(16)

(17)
根據上述相對位置可得當前飛行器與鄰近飛行器i的相對位置偏差
(18)
注意到式(16)中旋轉矩陣均為當前時刻北天東坐標系到速度系的方向余弦矩陣,因此集群隊形是在慣性系下定義的,若要隊形在速度系下定義,將式(16)改為如下形式即可
(19)

(20)
式中:Rfmt為距離縮放因子,使觀測向量中各維度處于同一量級。
②相對速度信息
相對運動信息的觀測用于描述高速飛行器與集群整體運動趨勢的一致性,因此選擇個體與集群整體運動速度的偏差作為觀測量。首先計算當前飛行器附近其他飛行器的平均運動速度
(21)

(22)

(23)
式中:Vi,γi,ψi分別為第i個飛行器的速度大小、飛行路徑角和航向角,由于集群內飛行器間距相比地球半徑很小,因此忽略飛行器i所在位置與當前飛行器所在位置北天東坐標系之間的轉換。式(21)中wi為第i個飛行器速度所占權重,計算方式如下
(24)

(25)

(26)
從而相對速度的觀測向量形式為
(27)
式中:Vfmt為速度縮放因子。
綜上得到保持集群編隊的觀測向量如下所示
(28)
2)威脅區規避觀測
(29)

(30)
轉換到速度坐標系下
(31)
從而排斥向量為
(32)

sost=eexc
(33)
3)目標打擊
目標打擊是高速飛行器集群的主要目標,即高速飛行器集群需最終命中目標點,在觀測向量中需要包含與目標點的相對位置關系和相對運動關系。
首先計算目標與集群內任一飛行器的相對位置關系,根據目標點的經緯高[θtgt,φtgt,htgt],得到目標點相對于當前飛行器的位置矢量在當前飛行器所在位置北天東坐標下的分量
(34)
轉換到速度系下
(35)
歸一化為
(36)

(37)
綜上,和目標打擊相關的觀測向量為
(38)
式中:Rtgt和Vtgt為縮放因子,使觀測向量中各維度處于同一量級;stgt包含目標所在方位矢量,與目標相對距離信息,當前飛行器的飛行速度大小,以及當前飛行器當前運動狀態下克服重力所需的過載。
綜合上述觀測向量,拼接得到總的觀測向量為
s=[stgt,sost,sfmt]
(39)
高速飛行器集群環境的動作a包含過載指令和通信指令,過載指令輸入到1.1節的運動方程中完成集群相對運動狀態的遞推,通信指令用于確定與飛行器通信的最近的個體數量,調整集群通信拓撲結構,詳細設計在2.5節網絡結構設計中介紹。
獎勵函數的設計與優化目標保持一致,基本原則為獎勵好的狀態和行為,懲罰與優化目標相反的狀態和行為。與觀測設計相對應,獎勵函數設計也包含集群編隊、威脅區域規避和目標打擊3個來源。
1) 集群編隊獎勵
① 相對隊形獎勵
獎勵函數是對智能體表現好壞的客觀評價,因此在計算時可以獲取集群內任意飛行器的狀態而不受通信的限制。衡量集群相對隊形的最直觀信息是個體飛行器相對于“領機”的相對位置,在本文中以集群內所有飛行器位置加權計算一個虛擬的“領機”位置
(40)
式中:N為集群內飛行器總數。計算“領機”相對于當前飛行器位置矢量
(41)
同理初始時刻“領機”相對于當前飛行器位置矢量
(42)
式中:θld0,φld0,hld0為“領機”在初始化時的經緯高。從而相對于“領機”的位置的偏差表示為
(43)
此外在“領機”隊形偏差基礎上加入與鄰近飛行器的隊形偏差作為相對隊形補充信息
(44)

綜上得到隊形保持的獎勵信息
(45)

②相對速度獎勵
集群內飛行器相對速度越小則運動速度一致性越高,因此設計飛行器個體與集群相對運動速度的獎勵
(46)

2)威脅區規避獎勵
威脅區規避的獎勵函數設計為如下形式
rost=
(47)

3)目標打擊獎勵
目標打擊的優劣準則是飛行器是否向目標點運動,因此通過飛行器的運動速度與目標方向的一致性來判斷:
(48)
從而設計獎勵函數
(49)
式中:ρ為一個正的系數。為了給智能體提供額外的提示,輔助訓練收斂,在上述獎勵的基礎上添加位置獎勵和距離變化獎勵,當與目標距離在閾值Rtgt內時得到額外的獎勵
(50)
式中:κ為一個正的獎勵系數。
距離變化獎勵是飛行器向目標點運動的獎勵,通過計算每一仿真步長飛行器與目標點的距離變化得到
(51)
綜上,總的獎勵函數為
(52)
根據前述算法原理,需要設計值函數網絡和策略網絡。值函數網絡如圖2所示,首先將集群編隊信息、威脅區規避信息和目標打擊信息拼接為觀測向量,之后,觀測向量和控制指令拼接后輸入值函數網絡,隨后經過兩層128節點的全連接網絡,激活函數采用ReLU,最后經節點數為1的輸出層得到值函數輸出。
策略網絡如圖3,和值函數網絡結構類似,首先輸入層為拼接得到的觀測向量,同樣經過兩層中間層,之后分4路,其中兩路為2節點網絡層,激活函數分別為Linear和Tanh,得到過載指令的均值和方差,另兩路為單節點網絡層,得到通信控制指令的均值和方差,兩路信號分別按均值和方差經過高斯采樣后經Tanh激活函數得到控制策略輸出。

圖3 策略神經網絡架構
由于上述策略網絡的輸出是連續的實數域,而集群個體間通信數是整數,因此需要將網絡輸出作一定轉換。由于策略網絡在通信量的輸出層激活函數為Tanh,取值范圍(-1,1),設最大通信數量nmax,在每一個仿真步,設策略網絡輸出通信變量xcom,經過如下變換得到通信數量式中:策略網絡的輸出經nmax(xcom+1)/2取值范圍變換為(0,nmax); ceil(·)為向上取整函數,將實數域轉化為[1,2,…,nmax]的有限整數集合,從而得到通信的鄰近飛行器數量。
(53)
本文使用數值仿真的方法對所提的算法進行校驗分析。其中,采用Python語言構建高速飛行器集群仿真環境。如圖4所示,仿真環境中按照圓形形狀均勻分布著9個大小相同的威脅區域,每個威脅區域以半徑為10 km的半球形區域表示,且每個威脅區域中心距離分布圓形中心的距離為60 km。在每次訓練開始時,將飛行器集群中的1號飛行器的初始位置設置在該圓形中心,其余飛行器按照設定的隊形設置各自的初始位置。此外,在每次訓練開始階段,隨機選擇飛行器集群目標點的位置,其中隨機設置飛行器集群中心與目標點的連線與坐標軸X軸的夾角,并且將飛行器集群初始位置到目標點的距離設置為130 km,以此產生隨機且具有較高質量的訓練場景。訓練過程中使用10個飛行器組成的飛行器編隊訓練集群控制策略,每個飛行器的初始速度大小設置為1 km/s,初始高度設置為10 km。

圖4 仿真場景
其次,本文所提算法中的相關參數設置如表1所示,包括SAC算法參數、獎勵系數、距離和速度縮放因子等。

表1 算法參數
圖5所示為不同通信機制下的集群控制策略在訓練過程中所獲得的獎勵值曲線。圖中所示曲線為每100個鄰近訓練周期中各集群控制策略所獲得的獎勵值平均值與方差,其中,曲線表示獎勵值平均值,曲線對應的底色表示獎勵值的方差。圖中,在集中式通信機制下,1號飛行器為“領機”,其余飛行器為“從機”,所有“從機”飛行器只與“領機”飛行器通信,“從機”飛行器之間沒有通信。在分層式通信機制下所有飛行器被自上而下分成多個層次,每一層指定一個“領機”飛行器,而這一層的所有飛行器都只接收該層“領機”飛行器的通信信息,其通信拓撲圖如圖6所示。在分布式通信機制下,所有飛行器與其周圍的6個飛行器進行通信交互。在圖5所示的4種通信機制下,集群控制策略的輸入狀態因通信機制的不同而不同,但是各集群控制策略的設計方式與第2節所述的設計方式一致。因此,影響各集群控制策略優劣的主要因素為各自的通信方式。

圖6 分層式通信機制通信拓撲圖
如圖5所示,集群控制策略的訓練共經歷了2 000個訓練周期,對于在以上4種通信機制下的集群控制策略,在訓練了500次之后,其每回合接收到的累積獎勵值基本保持穩定,表明集群控制策略的訓練逐步收斂。在訓練1 600次之后,可以看出自適應通信機制下的集群控制策略可以獲得最高的獎勵值,而集中式通信機制下的集群控制策略獲得的獎勵值最小,這部分地反映出自適應通信機制下的集群控制策略好于其他集群控制策略。為了全面準確地判斷出以上4種通信機制下各集群控制策略的優劣,以下通過多種指標評價上述訓練出的集群控制策略的性能。
本文構建的集群控制策略的目標是控制高速飛行器集群在避免與威脅區發生碰撞的前提下盡可能地保持初始隊形并且盡快到達目標點,并且在這一過程中自適應地調整通信拓撲,以適應較為復雜的集群飛行環境。因此,本文以隊形保持精度Facc、目標點到達及時性Tg、威脅區避碰成功率Sta以及集群通信量Cf這4項指標評價各通信機制下集群控制策略的性能。
其中隊形保持精度Facc定義為飛行器集群在由初始位置向目標點位置飛行過程中,其隊形相對于初始隊形的保持精度,即
(54)

目標點到達及時性Tg定義為飛行器集群由初始位置飛向目標點位置所用的時間T與設定的最大時長Tmax的比值,即
(55)
威脅區避碰成功率Sta定義為飛行器集群由初始位置飛向目標點位置的過程中,集群中的飛行器是否與環境中的威脅區發生碰撞,若沒有發生碰撞,則Sta=1,反之Sta=0。

(56)
本文通過100次隨機仿真實驗計算以上4種指標在不同通信機制下的值,其中設置最大時長Tmax=200 s,最大通信數量nmax=6。計算的各指標數值如表2所示。

表2 不同通信機制下的評價指標數值
如表2所示,分布式通信機制具有最高的隊形保持精度指標Facc,說明在本文所述的分布式通信機制下,對應的集群控制策略可以在飛行器集群飛行過程中較好地保持其初始隊形。相對于分布式通信機制,自適應通信機制和集中式通信機制具有較差的隊形保持能力,分層式通信機制具有最差的隊形保持能力。這說明與周圍個體通信的數量對隊形保持能力具有一定的影響,從表2中的結果中可以看出,通信量越多,隊形保持能力越強。相對于集中式通信機制,分層式通信機制的集群通信量雖然與之一樣,但是由于分層式通信機制的分層控制機制,其隊形控制能力弱于集中式通信機制。
對于目標點到達及時性指標Tg,自適應通信機制具有最低的指標值,表明其對應的集群控制策略可以控制飛行器集群快速地到達目標點,而分布式通信機制具有最高的指標值,說明其集群控制策略的及時性最差。影響分布式通信機制及時性指標的一個主要因素是保持較高的隊形控制精度需要花費更長的時間。對于威脅區避碰成功率Sta,各通信機制下的指標值沒有明顯的區別,這主要是因為通信機制并不會影響飛行器集群對威脅區的觀測狀態。
對于集群通信量指標Cf,相比于分布式通信機制,自適應通信機制的集群通信量有了很大的降低,這說明本文提出的算法可以在保持隊形控制精度與分布式通信機制相近的前提下盡可能地減小集群通信量。其次,雖然集中式通信機制與分層式通信機制具有最低的集群通信量,然而這兩種通信機制中“領機”飛行器具有較大的通信壓力,而且一旦“領機”飛行器出現故障,整個飛行器集群將無法繼續完成任務,即集中式通信機制與分層式通信機制的魯棒性遠低于自適應通信機制的魯棒性。因此,綜合上述4項指標的對比分析可知,本文提出的自適應通信機制相對于其他3種通信機制具有更好的集群控制性能。
圖7為以上4種不同通信機制下的飛行器集群飛行軌跡。由圖可知,在所有4種通信機制下,當飛行器集群遇到威脅區時,其將自動調整隊形,使得隊形變得更加密集,以此規避遇到的威脅區。由圖7(b)可知,相對于其他3種通信機制,在分層式通信機制下,飛行器集群在遇到威脅區之后其隊形變的最為緊密,且在遠離威脅區之后,飛行器集群沒有恢復初始隊形的趨勢,因此其具有最低的隊形保持精度。此外,由圖7(d)可知,自適應通信機制下的集群控制策略可以在飛行器集群遠離威脅區之后控制飛行器集群逐步恢復到初始隊形,這說明其具有較好的隊形保持能力。以上結果表明本文提出的自適應通信機制可以自主地調整飛行器集群的通信拓撲,在保證安全快速地完成既定任務的同時,盡可能地降低集群的通信量。

圖7 不同通信機制下的飛行器集群飛行軌跡
針對高速飛行器集群的編隊控制問題,本文基于深度強化學習框架提出了一種可自主調節通信數量的集群控制策略。其中,集群中的每個飛行器共享一個相同的控制策略,且集群控制策略的輸出包含控制飛行器運動的過載指令以及其與鄰居飛行器的通信數量。按照這種方式設計的集群控制策略更為靈活魯棒,可在較低的集群通信量下安全快速地控制飛行器集群到達目標點并且較好地保持編隊隊形。數值仿真結果說明了本文所提算法的有效性。