本發(fā)明涉及多智能體協(xié)同規(guī)劃,具體涉及一種基于智能體強(qiáng)化學(xué)習(xí)的無(wú)人機(jī)群動(dòng)態(tài)協(xié)同控制方法及系統(tǒng)。
背景技術(shù):
1、隨著智能體設(shè)備(例如無(wú)人機(jī)、無(wú)人車(chē)、無(wú)人船等)的不斷發(fā)展,各種異構(gòu)智能體已經(jīng)具備在不同環(huán)境下開(kāi)展指定工作的能力。通過(guò)智能體的輔助能夠極大程度的減少人力消耗、增進(jìn)人身安全。智能體具備強(qiáng)大的信息獲取能力。目前,單個(gè)無(wú)人機(jī)控制技術(shù)的發(fā)展已經(jīng)較為完備,但多無(wú)人機(jī)集群編隊(duì)的協(xié)同控制技術(shù)研究仍具有很大的發(fā)展空間。無(wú)人機(jī)編隊(duì)控制技術(shù)能夠快速高效完成如戰(zhàn)場(chǎng)環(huán)境探索、森林火災(zāi)救援、災(zāi)后人員搜尋等復(fù)雜耦合任務(wù),但其存在協(xié)同能力差、控制策略難以適應(yīng)動(dòng)態(tài)變化復(fù)雜環(huán)境的問(wèn)題,導(dǎo)致多智能體控制技術(shù)在實(shí)際應(yīng)用中難以普及。因此,如何使智能體相互之間做到數(shù)據(jù)共享,并協(xié)同配合完成工作任務(wù)是當(dāng)下多智能體協(xié)同規(guī)劃領(lǐng)域亟需解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有技術(shù)存在的無(wú)人機(jī)群在完成復(fù)雜現(xiàn)實(shí)任務(wù)時(shí)難以收斂或收斂所需計(jì)算資源過(guò)多的問(wèn)題,提供一種基于智能體強(qiáng)化學(xué)習(xí)的無(wú)人機(jī)群動(dòng)態(tài)協(xié)同控制方法,包括以下步驟:
2、步驟1,根據(jù)無(wú)人機(jī)的飛行任務(wù),設(shè)定無(wú)人機(jī)、障礙物、目標(biāo)三者的物理屬性;
3、步驟2,設(shè)定無(wú)人機(jī)、目標(biāo)的運(yùn)動(dòng)學(xué)方程,建立速度、加速度和運(yùn)動(dòng)方向之間的關(guān)聯(lián)性,設(shè)置約束條件以符合物理世界動(dòng)作規(guī)則;
4、步驟3,將無(wú)人機(jī)所需開(kāi)展的協(xié)同任務(wù)分解為多個(gè)子任務(wù),并將子任務(wù)建模為馬爾可夫決策過(guò)程,利用多評(píng)論家結(jié)構(gòu)深度確定性策略梯度mcddpg算法對(duì)無(wú)人機(jī)群進(jìn)行動(dòng)態(tài)協(xié)同控制,完成無(wú)人機(jī)群的協(xié)同任務(wù);
5、步驟3.1,將無(wú)人機(jī)獲取環(huán)境狀態(tài)信息輸入到動(dòng)作策略網(wǎng)絡(luò)中,動(dòng)作策略網(wǎng)絡(luò)輸出每個(gè)無(wú)人機(jī)在當(dāng)前時(shí)刻的環(huán)境下應(yīng)該采取的動(dòng)作;
6、步驟3.2,利用評(píng)論家模塊對(duì)當(dāng)前動(dòng)作進(jìn)行評(píng)估,采用動(dòng)態(tài)難度優(yōu)先級(jí)算法對(duì)不同評(píng)論家模塊的權(quán)重進(jìn)行最優(yōu)分配;
7、步驟3.3,根據(jù)評(píng)論家模塊的評(píng)估值,利用深度確定性策略梯度算法對(duì)動(dòng)作策略網(wǎng)絡(luò)進(jìn)行優(yōu)化;
8、步驟3.4,將訓(xùn)練好的動(dòng)作策略網(wǎng)絡(luò)部署在每個(gè)無(wú)人機(jī)上,指導(dǎo)無(wú)人機(jī)完成協(xié)同任務(wù)。
9、進(jìn)一步地,所述步驟1中飛行任務(wù)為無(wú)人機(jī)從起始點(diǎn)出發(fā)追蹤動(dòng)態(tài)目標(biāo),多個(gè)無(wú)人機(jī)對(duì)目標(biāo)形成協(xié)同包圍陣型,并在追蹤過(guò)程避免無(wú)人機(jī)碰撞障礙物,以及無(wú)人機(jī)之間相互碰撞;
10、無(wú)人機(jī)的物理屬性表示如下:
11、
12、式中,uav為無(wú)人機(jī)的狀態(tài)空間;為無(wú)人機(jī)集合,n1為無(wú)人機(jī)的數(shù)量;為第n1個(gè)無(wú)人機(jī)的屬性;為第n1個(gè)無(wú)人機(jī)的坐標(biāo)值;rs為無(wú)人機(jī)的安全飛行半徑;vs為無(wú)人機(jī)的速度;as為無(wú)人機(jī)的加速度;cs表示無(wú)人機(jī)之間能否通信;θs為無(wú)人機(jī)的航向角。
13、障礙物的物理屬性表示如下:
14、
15、式中,obs為障礙物的狀態(tài)空間;為障礙物集合,n2為障礙物的數(shù)量;為第n2個(gè)障礙物的屬性;為第n2個(gè)障礙物的坐標(biāo)值;rc為障礙物的半徑。
16、移動(dòng)目標(biāo)的物理屬性表示如下:
17、
18、式中,tar為移動(dòng)目標(biāo)的狀態(tài)空間;為移動(dòng)目標(biāo)集合,n3為移動(dòng)目標(biāo)的數(shù)量;為第n3個(gè)移動(dòng)目標(biāo)的屬性,包括目標(biāo)坐標(biāo)目標(biāo)碰撞半徑rt、目標(biāo)速度vt、目標(biāo)加速度at、目標(biāo)偏轉(zhuǎn)角θt。
19、進(jìn)一步地,所述步驟2中無(wú)人機(jī)、移動(dòng)目標(biāo)的運(yùn)動(dòng)學(xué)方程為:
20、
21、式中,表示無(wú)人機(jī)或者移動(dòng)目標(biāo)t時(shí)刻在x、y方向上的速度分量,由t時(shí)刻無(wú)人機(jī)或者移動(dòng)目標(biāo)的速度v(t)、加速度a(t)的矢量值在航向角θ上的分量決定;x(t)、y(t)為無(wú)人機(jī)或者移動(dòng)目標(biāo)在二維平面直角坐標(biāo)系下的坐標(biāo)分量。
22、定義無(wú)人機(jī)、移動(dòng)目標(biāo)屬性的約束條件為:
23、
24、式中,v表示無(wú)人機(jī)或者移動(dòng)目標(biāo)的速度,vmin表示無(wú)人機(jī)或者移動(dòng)目標(biāo)的速度最小值,vmax表示無(wú)人機(jī)或者移動(dòng)目標(biāo)的速度最大值,a表示無(wú)人機(jī)或者移動(dòng)目標(biāo)的加速度,amin表示無(wú)人機(jī)或者移動(dòng)目標(biāo)的加速度最小值,amax表示無(wú)人機(jī)或者移動(dòng)目標(biāo)的加速度最大值,(x,y)表示無(wú)人機(jī)或者移動(dòng)目標(biāo)的位置,(xmin,xmax)表示無(wú)人機(jī)或者移動(dòng)目標(biāo)在x軸上的移動(dòng)范圍,(ymin,ymax)表示無(wú)人機(jī)或者移動(dòng)目標(biāo)在y軸上的移動(dòng)范圍。
25、進(jìn)一步地,所述步驟3.1中無(wú)人機(jī)將獲取的環(huán)境信息、目標(biāo)信息和自身狀態(tài)信息一起輸入到動(dòng)作策略網(wǎng)絡(luò)中,動(dòng)作策略網(wǎng)絡(luò)輸出每個(gè)無(wú)人機(jī)在當(dāng)前時(shí)刻的環(huán)境下應(yīng)該采取的動(dòng)作,包括速度v,加速度a和方向角θ。環(huán)境信息包括障礙物的位置和半徑,以及其它無(wú)人機(jī)的位置、速度、加速度和方向角。目標(biāo)信息包括目標(biāo)的位置、碰撞半徑、速度、加速度和偏轉(zhuǎn)角。無(wú)人機(jī)自身狀態(tài)信息包括無(wú)人機(jī)的位置、速度、加速度和方向角。動(dòng)作策略網(wǎng)絡(luò)采用多層感知器神經(jīng)網(wǎng)絡(luò)。
26、進(jìn)一步地,所述步驟3.2中評(píng)論家模塊共有兩個(gè),第一個(gè)評(píng)論家模塊由多層感知器為基礎(chǔ)的深度神經(jīng)網(wǎng)絡(luò)架構(gòu)組成,包含3個(gè)全連接層,通過(guò)將無(wú)人機(jī)的狀態(tài)信息和動(dòng)作信息轉(zhuǎn)化成1維向量,輸入到多層感知器深度神經(jīng)網(wǎng)絡(luò)中,在全連接層、激活函數(shù)構(gòu)成的網(wǎng)絡(luò)結(jié)構(gòu)下,輸出當(dāng)前動(dòng)作的評(píng)估值;其中,狀態(tài)信息由無(wú)人機(jī)自身狀態(tài)信息、環(huán)境信息以及目標(biāo)信息構(gòu)成,無(wú)人機(jī)自身狀態(tài)信息包括無(wú)人機(jī)的位置、速度、加速度和方向角,環(huán)境信息包括障礙物的位置和半徑,以及其它無(wú)人機(jī)的位置、速度、加速度和方向角,目標(biāo)信息包括目標(biāo)的位置、碰撞半徑、速度、加速度和偏轉(zhuǎn)角,動(dòng)作信息為動(dòng)作策略網(wǎng)絡(luò)輸出的無(wú)人機(jī)的速度、加速度和航向角。
27、第二個(gè)評(píng)論家模塊為引力場(chǎng)模型,該模型是一個(gè)數(shù)學(xué)模型,表達(dá)式為:qf(s′,a′)=-f(s′)[1-cos(χ)],式中,qf(s′,a′)為引力場(chǎng)模型對(duì)當(dāng)前無(wú)人機(jī)在獲取的狀態(tài)信息s′下采取的動(dòng)作決策a′的評(píng)估值,f(s′)為當(dāng)前態(tài)信息s′下目標(biāo)對(duì)無(wú)人機(jī)的吸引力以及障礙物對(duì)無(wú)人機(jī)的排斥力形成的合力,χ為加速度方向和合力f之間的方向夾角;當(dāng)無(wú)人機(jī)的加速度方向和合力方向一致時(shí),χ=0,此時(shí)評(píng)估值qf(s′,a′)=0,當(dāng)前狀態(tài)下該動(dòng)作決策將獲得高獎(jiǎng)勵(lì)值,反之,χ≠0,對(duì)應(yīng)的評(píng)估值qf(s′,a′)<0,則該動(dòng)作決策將獲得低獎(jiǎng)勵(lì)值。
28、根據(jù)評(píng)論家模塊的評(píng)估值和無(wú)人機(jī)獲得的獎(jiǎng)勵(lì)值的差值的比重動(dòng)態(tài)調(diào)整評(píng)論家模塊的權(quán)重,各評(píng)論家模塊的權(quán)重β1、β2計(jì)算公式為:
29、
30、
31、yi=ri+γ1q′(si′+1,μ′(si′+1|θ′)|w′)?(10)
32、式中,n為無(wú)人機(jī)的數(shù)量,l1表示由深度神經(jīng)網(wǎng)絡(luò)構(gòu)成的第一個(gè)評(píng)論家模塊對(duì)無(wú)人機(jī)群評(píng)估值與獎(jiǎng)勵(lì)值間的誤差值,yi表示第i個(gè)無(wú)人機(jī)在當(dāng)前動(dòng)作下得到的獎(jiǎng)勵(lì)值,q1(si′,ai′|w)表示第一個(gè)評(píng)論家模塊對(duì)第i個(gè)無(wú)人機(jī)在獲取的狀態(tài)信息si′下采取的動(dòng)作ai′的評(píng)估值,w是第一個(gè)評(píng)論家模塊神經(jīng)網(wǎng)絡(luò)中的參數(shù)權(quán)重,l2表示由引力場(chǎng)模型組成的第二個(gè)評(píng)論家模塊對(duì)無(wú)人機(jī)群當(dāng)前動(dòng)作加速度方向與合力方向匹配度的評(píng)估值,q2(si′,ai′)是第二個(gè)評(píng)論家模塊對(duì)第i個(gè)無(wú)人機(jī)在獲取的狀態(tài)信息si′下采取的動(dòng)作ai′的評(píng)估值,γ1表示距離折扣因子,q′(si′+1,μ′(si′+1|θ′)|w′)表示兩個(gè)評(píng)論家模塊整體對(duì)當(dāng)前動(dòng)作在下一時(shí)刻獲得的獎(jiǎng)勵(lì)情況的評(píng)估結(jié)果,si′+1表示下一時(shí)刻的狀態(tài)信息,μ′(si′+1|θ′)表示下一時(shí)刻的動(dòng)作策略網(wǎng)絡(luò),θ′表示下一時(shí)刻的動(dòng)作策略網(wǎng)絡(luò)中的網(wǎng)絡(luò)參數(shù),w′表示下一時(shí)刻第一個(gè)評(píng)論家模塊的網(wǎng)絡(luò)參數(shù),ri為第i個(gè)無(wú)人機(jī)在當(dāng)前動(dòng)作下獲得的實(shí)際獎(jiǎng)勵(lì)值,具體計(jì)算公式如下:
33、ri=r1i+r2i+r3i+r4i?(11)
34、r2i=-0.1×steps?(12)
35、r3i=0.1×di?(13)
36、式中,r1i為第i個(gè)無(wú)人機(jī)完成目標(biāo)的協(xié)同包圍任務(wù)獲得的獎(jiǎng)勵(lì)值;r2i為第i個(gè)無(wú)人機(jī)未完成目標(biāo)的協(xié)同包圍任務(wù)獲得的懲罰值,steps是指任務(wù)執(zhí)行所用動(dòng)作總次數(shù);r3i為第i個(gè)無(wú)人機(jī)向目標(biāo)移動(dòng)時(shí)獲得的獎(jiǎng)勵(lì)值,di表示第i個(gè)無(wú)人機(jī)向目標(biāo)點(diǎn)移動(dòng)的距離;若行駛過(guò)程中第i個(gè)無(wú)人機(jī)與障礙物發(fā)生碰撞,或與其他無(wú)人機(jī)發(fā)生碰撞,或與環(huán)境邊界發(fā)生碰撞,則獎(jiǎng)勵(lì)值r4i=-1,否則r4i=0。
37、進(jìn)一步地,所述步驟3.3中通過(guò)多評(píng)論家模塊對(duì)動(dòng)作策略網(wǎng)絡(luò)的動(dòng)作選擇共同進(jìn)行評(píng)估,并根據(jù)評(píng)估函數(shù),利用深度確定性策略梯度算法對(duì)動(dòng)作策略網(wǎng)絡(luò)進(jìn)行優(yōu)化,評(píng)估函數(shù)計(jì)算方式為:
38、q=β1q1+β2q2?(14)
39、β1+β2=1?(15)
40、式中,q表示當(dāng)前無(wú)人機(jī)動(dòng)作的評(píng)估值,q1、q2分別為第一個(gè)、第二個(gè)評(píng)論家模塊對(duì)當(dāng)前無(wú)人機(jī)動(dòng)作的評(píng)估值,β1、β2分別為第一個(gè)、第二個(gè)評(píng)論家模塊的權(quán)重。
41、深度確定性策略梯度下降函數(shù)為:
42、
43、式中,為目標(biāo)函數(shù)j(μθ)的梯度值;β1、β2分別為第一個(gè)、第二個(gè)評(píng)論家模塊的權(quán)重;為根據(jù)評(píng)估函數(shù)定義得到的第一個(gè)評(píng)論家模塊的目標(biāo)函數(shù);為當(dāng)前環(huán)境信息、目標(biāo)信息和無(wú)人機(jī)自身狀態(tài)信息輸入到動(dòng)作策略網(wǎng)絡(luò)時(shí),動(dòng)作策略網(wǎng)絡(luò)輸出動(dòng)作的動(dòng)作梯度;為當(dāng)前動(dòng)作和環(huán)境信息、目標(biāo)信息、無(wú)人機(jī)自身狀態(tài)信息輸入到由多層感知器構(gòu)成的第一個(gè)評(píng)論家模塊中得到的動(dòng)作評(píng)估值和獎(jiǎng)勵(lì)值之間的誤差梯度變化,用來(lái)對(duì)當(dāng)前動(dòng)作進(jìn)行指導(dǎo);為根據(jù)評(píng)估函數(shù)定義得到的第二個(gè)評(píng)論家模塊的目標(biāo)函數(shù);為當(dāng)前動(dòng)作加速度方向和合力方向之間的誤差梯度。
44、假設(shè)當(dāng)前動(dòng)作導(dǎo)致梯度升高,說(shuō)明該動(dòng)作在當(dāng)前環(huán)境情況下不可取,反之則可??;通過(guò)的變化更新策略網(wǎng)絡(luò)參數(shù),最終目標(biāo)是使得目標(biāo)函數(shù)j(μθ)在更新過(guò)程中的梯度▽?duì)萰(μθ)為0,即通過(guò)策略梯度優(yōu)化目標(biāo)函數(shù)來(lái)改進(jìn)動(dòng)作策略。
45、本發(fā)明還提供一種基于智能體強(qiáng)化學(xué)習(xí)的無(wú)人機(jī)群動(dòng)態(tài)協(xié)同控制系統(tǒng),用于實(shí)現(xiàn)如上所述的一種基于智能體強(qiáng)化學(xué)習(xí)的無(wú)人機(jī)群動(dòng)態(tài)協(xié)同控制方法。
46、而且,包括處理器和存儲(chǔ)器,存儲(chǔ)器用于存儲(chǔ)程序指令,處理器用于調(diào)用存儲(chǔ)器中的存儲(chǔ)指令執(zhí)行如上所述的一種基于智能體強(qiáng)化學(xué)習(xí)的無(wú)人機(jī)群動(dòng)態(tài)協(xié)同控制方法。
47、或者,包括可讀存儲(chǔ)介質(zhì),所述可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序執(zhí)行時(shí),實(shí)現(xiàn)如上所述的一種基于智能體強(qiáng)化學(xué)習(xí)的無(wú)人機(jī)群動(dòng)態(tài)協(xié)同控制方法。
48、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn):
49、1)針對(duì)多智能體系統(tǒng)的動(dòng)作策略網(wǎng)絡(luò)在初期動(dòng)作隨機(jī)的問(wèn)題,提出一種多評(píng)論家架構(gòu)的深度確定性策略梯度算法,用來(lái)共同優(yōu)化并求解最優(yōu)動(dòng)作策略網(wǎng)絡(luò);
50、2)對(duì)多個(gè)評(píng)論家模塊在訓(xùn)練過(guò)程中的權(quán)重分配優(yōu)化問(wèn)題,采用動(dòng)態(tài)難度優(yōu)先級(jí)算法,實(shí)現(xiàn)對(duì)各個(gè)模塊權(quán)重值的動(dòng)態(tài)分配;
51、3)本發(fā)明提出的方法提升了無(wú)人機(jī)群完成耦合任務(wù)的能力,增強(qiáng)了無(wú)人機(jī)針對(duì)動(dòng)態(tài)變化環(huán)境的協(xié)同能力,提升了多無(wú)人機(jī)系統(tǒng)的收斂性和魯棒性。