[發明專利]基于多智能體強化學習的多無人機協同空戰機動決策方法有效
| 申請號: | 202110318644.5 | 申請日: | 2021-03-25 |
| 公開(公告)號: | CN112947581B | 公開(公告)日: | 2022-07-05 |
| 發明(設計)人: | 楊啟明;張建東;史國慶;吳勇;朱巖;張耀中 | 申請(專利權)人: | 西北工業大學 |
| 主分類號: | G05D1/10 | 分類號: | G05D1/10 |
| 代理公司: | 西安凱多思知識產權代理事務所(普通合伙) 61290 | 代理人: | 劉新瓊 |
| 地址: | 710072 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 智能 強化 學習 無人機 協同 空戰 機動 決策 方法 | ||
1.一種基于多智能體強化學習的多無人機協同空戰機動決策方法,其特征在于,包括以下步驟:
步驟1:建立多機空戰環境模型,定義在多機協同空戰過程中每架無人機進行機動決策的狀態空間、行動空間和獎勵值;
步驟1-1:在地面坐標系中,ox軸取正東方,oy軸取正北方,oz軸取鉛垂方向;在地面坐標系中無人機的運動模型如式(1)所示:
在地面坐標系中,無人機的動力學模型如式(2)所示:
其中,(x,y,z)表示無人機在地面坐標系中的位置,v表示無人機速度,和分別表示無人機速度v在xyz三個坐標軸上的值;航跡角γ表示無人機速度v與水平面o-x-y之間的夾角;航向角ψ表示無人機速度v在o-x-y平面上的投影v′與oy軸之間的夾角,g表示重力加速度;[nx,nz,μ]是控制無人機進行機動的控制變量,nx是無人機速度方向的過載,代表無人機的推力與減速作用;nz表示無人機俯仰方向的過載,即法向過載;μ是圍繞無人機速度矢量的滾轉角;通過nx控制無人機的速度大小,通過nz和μ控制無人機速度矢量的方向,進而控制無人機進行機動動作;
步驟1-2:設定導彈僅具有尾后攻擊能力;在導彈的截獲區域內,用vU和vT分別表示無人機和目標的速度;D為距離矢量,表示無人機與目標間的位置關系;αU和αT分別表示無人機速度矢量與距離矢量D之間的夾角和目標速度矢量與距離矢量D之間的夾角;
設導彈的最遠截獲距離為Dm,視場角為則導彈的截獲區域為一個圓錐區域Ω;無人機在空戰中機動的目標就是讓目標進入無人機的截獲區域ΩU同時避免無人機進入目標的截獲區域ΩT;
根據導彈截獲區域的定義,如果目標處于己方導彈的截獲區域,則說明己方能夠發射武器攻擊目標,己方處于優勢,定義無人機截獲目標時的優勢值ηU為:
其中,(xT,yT,zT)表示目標的位置坐標;Re為正數;
定義目標截獲無人機獲得的優勢值ηT為:
其中,(xU,yU,zU)表示無人機的位置坐標;
則空戰中,無人機基于截獲機會獲得的優勢值ηA定義為:
ηA=ηU-ηT (4)
定義基于雙方角度參數與距離參數獲得的優勢值ηB為:
上式表明,當無人機對目標尾追時,優勢值為ηB=1;在無人機被目標尾追時,優勢值為ηB=-1;當無人機與目標的距離大于導彈最遠截獲距離時,優勢值按指數函數衰減;
綜合式式(4)、(5),得出無人機所處空戰的態勢評估函數η為:
η=ηA+ηB (6)
步驟1-3:任意時刻空戰態勢的幾何關系由同一坐標系內的無人機位置矢量、無人機速度矢量、目標位置矢量、目標速度矢量所包含的信息完全確定,因此空戰態勢的描述由以下5個方面組成:
1)無人機的速度信息,包括速度大小vU、航跡角γU和航向角ψU;
2)目標的速度信息,包括速度大小vT、航跡角γT和航向角ψT;
3)無人機與目標之間的相對位置關系,采用距離矢量D表征;距離矢量的模D=||D||,γD表示距離矢量D與水平面o-x-y的夾角,ψD表示距離矢量D在水平面o-x-y上的投影矢量與oy軸之間的夾角,無人機與目標的相對位置關系用D、γD和ψD表示;
4)無人機與目標之間的相對運動關系,包括無人機速度矢量與距離矢量D之間的夾角αU和目標速度矢量與距離矢量D之間的夾角αT;
5)無人機的高度信息zU和目標的高度信息zT;
基于上述1)到5)中的變量能夠完備地表征任意時刻的1v1空戰態勢,因此1v1機動決策模型的狀態空間是一個13維向量空間s:
s=[vU,γU,ψU,vT,γT,ψT,D,γD,ψD,αU,αT,zU,zT] (7)
采用態勢評估函數η作為空戰機動決策獎勵值R,通過態勢評估函數來反映行動值對空戰態勢的作用,R=η;
步驟1-4:在多機空戰中,設定無人機的數量為n,分別記為UAVi(i=1,2,…,n),目標的數量為m,分別記為Targetj(j=1,2,…,m),設定目標的數量不大于無人機的數量,即m≤n;
記任意兩個UAVi和Targetj間的相對狀態為UAVi與任意一個友機UAVk之間的相對狀態記為則多機空戰中任意一架UAVi的觀測狀態為:
Si=[∪sij|j=1,2...,m,∪sik|k=1,2,...,n(k≠i)] (8)
在多機空戰過程中,每架無人機根據自己在空戰環境中所處的態勢做出自己的機動決策,根據式(2)所述的無人機動力學模型,無人機通過nx、nz和μ三個變量控制飛行,因此UAVi的行動空間為Ai=[nxi,nzi,μi];
在多機協同空戰中,按照式(4)和式(5)分別計算每個無人機與每個目標之間的態勢評估值ηA和ηB,記UAVi與Targetj間的態勢評估值為和除此之外,考慮UAVi與友機UAVk的相對狀態對自身態勢的影響,因此定義UAVi與友機UAVk的態勢評估函數為:
其中Dik為無人機UAVi與友機UAVk之間的距離,Dsafe為兩架無人機之間的最小安全距離,P為正數;
步驟2:建立多機協同目標分配方法,確定強化學習訓練時的目標分配規則;
步驟2-1:在空戰中,設n架無人機迎戰m架目標,且n≥m;根據式(6),UAVi(i=1,2,…,n)相對Targetj(j=1,2,…,m)的態勢評估值為
設目標分配矩陣為X=[xij],xij=1表示Targetj分配給UAVi,xij=0表示Targetj沒有分配給UAVi;設每個無人機最多能同時對處于其攻擊區內的L個目標發射導彈,即同時,作戰時要避免有目標被遺漏而放棄攻擊,即每個目標均應至少分配一個無人機去攻擊,因此而所有無人機均要投入戰斗,因此
以無人機對目標的態勢優勢最大化為目標,建立目標分配模型如下:
步驟2-2:在目標分配過程中首先分配處于攻擊區內的目標,然后再分配處于攻擊區以外的目標,因此目標分配方法分為如下兩個部分:
步驟2-2-1:優先分配位于攻擊區內的目標;
以和為元素構建兩個n×m維的矩陣HA和HB,由式(3),如果Targetj處于UAVi的攻擊區內,則否則因此,令令所有零元素的對應位置的xij=1;在分配過程中,如果處于無人機UAVi攻擊區內的目標個數χ超過了無人機的最大攻擊目標數量,即χL,則將UAVi在HB矩陣中對應的元素值排序,選擇其中元素值最大的L個目標分配給UAVi;
步驟2-2-2:分配位于攻擊區以外的目標;
對于UAVi,如果已經分配了處于其攻擊區內的目標,則不能再向其分配攻擊區外的目標;而對于攻擊區外的多個目標,無人機無法做出機動使得多個目標處于攻擊區內,因而當目標均在攻擊區之外時,只能為無人機分配一個目標;因此,在完成攻擊區內目標分配后,剩余的目標分配工作轉變為未分配的無人機分配1個目標的過程,采用匈牙利算法實現分配,具體如下:
首先根據當前的目標分配矩陣X=[xij]n×m,將HB中所有xij=1所在的第i行和第j列刪除,獲得矩陣基于采用匈牙利算法計算分配結果,由于n≥m,且L0,采用補邊法完成匈牙利算法,實現目標分配,令相應xij=1;
完成以上兩步后,即完成了所有目標的分配,得到目標分配矩陣X=[xij]n×m;
步驟3:設計多機協同機動策略學習算法,確定強化學習訓練邏輯;
多機協同機動策略學習算法包括策略協調機制和策略學習機制兩部分:
步驟3-1:設計策略協調機制;
將空戰對抗看作n個無人機與m個目標之間的競爭博弈,基于隨機博弈的框架建立模型,一個隨機博弈可以用一個元組來表示;S表示當前博弈的狀態空間,所有Agent都能共享;UAVi的行動空間定義為Ai,Targeti的行動空間定義為Bi;T:S×An×Bm→S表示環境的確定性轉移函數,表示UAVi的獎勵值函數;在協同空戰中各自編隊內無人機的行動空間相同,即對于UAVi和Targetj分別有Ai=A和Bi=B;
定義無人機編隊的全局獎勵值為各個無人機獎勵值的平均值,即:
其中,r(s,a,b)表示在t時刻、環境狀態為s、無人機編隊采取行動a∈An、目標編隊采取行動b∈Bm的情況下,無人機編隊獲得的獎勵值;
無人機編隊的目標是學習一個策略使得獎勵值的折扣累加值的期望最大化,其中0λ≤1是折扣因子;將隨機博弈轉變為一個馬爾科夫決策問題:
其中Q*(·)表示狀態s下執行行動a的狀態-動作值函數,r(s,a)表示狀態s下的執行行動a獲得的獎勵值,θ表示策略函數的網絡參數,s′表示下一時刻的狀態,aθ表示參數化的策略函數;
定義每架無人機的獎勵值函數為:
其中,ri(s,a,b)表示在t時刻、環境狀態為s、無人機編隊采取行動a∈An、目標編隊采取行動b∈Bm的情況下,UAVi獲得的獎勵值,其中表征UAVi相對為其分配的目標的態勢優勢值,是懲罰項,用以約束UAVi與友機之間的距離;
基于式(13),對于n架無人機個體,有n個如式(14)所示的貝爾曼方程,其中的策略函數aθ擁有相同的參數θ:
其中,表示無人機UAVi在狀態s下的執行行動a的狀態-動作值函數,ri(s,a)表示無人機UAVi在狀態s下的執行行動a獲得的獎勵值;
步驟3-2:設計策略學習機制;
采用雙向循環神經網絡BRNN建立多無人機機動決策模型;
多無人機空戰機動決策模型由Actor網絡和Critic網絡組成,Actor網絡由各個無人機個體的Actor網絡通過BRNN連接而成,Critic網絡由各個無人機個體的Critic網絡通過BRNN連接而成;多無人機空戰機動決策模型中將單無人機決策模型中策略網絡Actor和Q網絡Critic中的隱含層設置成為BRNN的循環單元,再按照無人機的數量將BRNN展開;多無人機空戰機動決策模型的輸入為當前空戰態勢,輸出各個無人機的行動值;
定義UAVi的目標函數為表示個體獎勵值ri的累加的期望,表示在狀態轉移函數T下采用行動策略aθ得到的狀態分布,狀態分布在遍歷的馬爾可夫決策過程中為平穩分布,所以將n個無人機的目標函數記為J(θ):
根據多智能體確定性策略梯度定理,對于式(15)所述的n個無人機的目標函數J(θ),其策略網絡參數θ的梯度為
采用參數化的Critic函數Qξ(s,a)來估計式(16)中的狀態-行動值函數在訓練Critic時,采用平方和loss函數,計算參數化critic函數Qξ(s,a)的梯度如式(17)所示,其中ξ是Q網絡的參數:
基于式(16)和(17),采用隨機梯度下降法優化Actor和Critic網絡;在交互學習的過程中,通過試錯獲取的數據更新參數,完成協同空戰策略的學習優化;
步驟3-3:根據策略協調機制和策略學習機制,確定多無人機協同空戰機動決策模型的強化學習訓練過程如下:
步驟3-3-1:首先進行初始化:確定空戰雙方的兵力和態勢,設有n架無人機和m架目標進行空戰對抗,n≥m;隨機初始化Actor的在線網絡參數θ和Critic的在線網絡的參數ξ,然后將Actor和Critic在線網絡的參數分別賦給其相應目標網絡的參數,即θ′←θ,ξ′←ξ,θ′和ξ′分別是Actor和Critic目標網絡的參數;初始化經驗池R1,用以保存探交互得到的經驗數據;初始化一個隨機過程ε,用于實現行動值的探索;
步驟3-3-2:確定訓練的初始狀態,即確定空戰開始的雙方相對態勢;設定無人機編隊和目標編隊中每一架無人機的初始位置信息和速度信息,即確定每架無人機的(x,y,z,v,γ,ψ)信息,根據狀態空間的定義,計算得出空戰初始狀態s1;令t等于1;
步驟3-3-3:根據初始狀態重復進行多幕訓練,在每一單幕空戰仿真中執行如下操作:
首先根據當前空戰狀態st,基于目標分配方法計算出目標分配矩陣Xt;然后每一個UAVi根據狀態st和隨機過程ε生成行動值并執行,與此同時,目標編隊中的每一個Targeti執行行動執行完后狀態轉移至st+1,根據式(13)計算獲得獎勵值將一次轉移過程變量作為一條經驗數據存入經驗池R1中;在學習時,從經驗池R1中隨機采樣一批M條經驗數據計算各個無人機的目標Q值,即對于M條數據中的每一條,都有:
根據式(17)計算Critic的梯度估計值,有:
根據式(16)計算Actor的梯度估計值,有:
根據得到的梯度估計值△ξ和△θ,采用優化器對Actor和Critic的在線網絡參數進行更新;完成在線網絡優化后,采用軟更新方式更新目標網絡參數,即
其中κ∈(0,1);
步驟3-3-4:在單幕仿真結束后,如果仿真達到設定的最大幕數,則停止本次強化學習訓練,否則令t加1,重復執行步驟3-3-3。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西北工業大學,未經西北工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110318644.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種熱敏紙收納裝置及其收納方法
- 下一篇:一種硫酸生產廢水處理方法





