費(fèi) 陳,鄭 晗,趙 亮
(武警士官學(xué)?;A(chǔ)部,杭州 311400)
隨著對(duì)危險(xiǎn)領(lǐng)域探索的逐漸深入,傳統(tǒng)有人駕駛飛機(jī)已經(jīng)無(wú)法滿(mǎn)足相關(guān)科學(xué)研究和工程應(yīng)用的需求,而無(wú)人機(jī)的出現(xiàn)解決了這樣的難題[1]。通常無(wú)人機(jī)是指能夠自主控制或由地面操作人員操控、可自行推進(jìn)飛行、能單次或循環(huán)使用的無(wú)人駕駛飛機(jī)[2-3]。隨著無(wú)人化、智能化和導(dǎo)航技術(shù)的不斷發(fā)展,無(wú)人機(jī)從最初的訓(xùn)練靶機(jī),逐漸發(fā)展成為具有自主決策、自主攻擊的偵察打擊一體化無(wú)人機(jī)[4]。
由于小型無(wú)人機(jī)單機(jī)能力有限,因此,多架無(wú)人機(jī)通過(guò)協(xié)同合作組成的無(wú)人機(jī)聯(lián)盟擁有廣闊的應(yīng)用前景[5-7],如何在滿(mǎn)足不同約束條件的前提下,在較短的時(shí)間內(nèi)盡可能將所有任務(wù)分配給無(wú)人機(jī)編隊(duì)聯(lián)盟,充分發(fā)揮無(wú)人機(jī)聯(lián)盟協(xié)同工作效能,以實(shí)現(xiàn)性能最優(yōu)化,是存在的無(wú)人機(jī)任務(wù)分配問(wèn)題[8-10]。
針對(duì)這類(lèi)問(wèn)題,劉暢、胡大偉等[11-12]提出將無(wú)人機(jī)群的任務(wù)分配問(wèn)題轉(zhuǎn)化為車(chē)輛路徑模型(VRP),該模型以美軍的捕食者與全球鷹為研究對(duì)象,將無(wú)人機(jī)視為車(chē)輛,偵察目標(biāo)視為顧客,采用禁忌搜索算法求解此問(wèn)題;Choi等[13]開(kāi)發(fā)出一個(gè)分散的任務(wù)分配框架,涉及一個(gè)基于市場(chǎng)的策略,通過(guò)協(xié)商的方法為無(wú)人機(jī)群分配任務(wù);Rasmussen等[14]使用樹(shù)搜索算法將任務(wù)分配給無(wú)人機(jī)群,該方法將問(wèn)題表示為決策樹(shù),并使用樹(shù)搜索算法來(lái)解決,同時(shí)還考慮了不確定情況下的任務(wù)分配;蔣碩等[15]提出一種改進(jìn)的階層分級(jí)粒子群優(yōu)化算法(HGIWPSO),根據(jù)實(shí)數(shù)創(chuàng)建粒子和實(shí)際分配的映射關(guān)系,從而使分配問(wèn)題得到解決;常松等[16]提出將無(wú)人機(jī)任務(wù)通過(guò)對(duì)改進(jìn)的合同網(wǎng)算法進(jìn)行分配,該方法通過(guò)優(yōu)化每個(gè)無(wú)人機(jī)的負(fù)載平衡,結(jié)合時(shí)間和外部的約束條件,解決任務(wù)分配不合理的問(wèn)題。綜上所述,無(wú)人機(jī)群任務(wù)分配的研究存在處理信息量大、可靠性低、信息交互不全、任務(wù)完成度低等問(wèn)題。
針對(duì)上述存在的局限性,人們又提出一種無(wú)人機(jī)聯(lián)盟目標(biāo)打擊分層框架[17-19],將多個(gè)無(wú)人機(jī)視為一個(gè)聯(lián)盟并對(duì)目標(biāo)進(jìn)行分類(lèi),形成任務(wù)簇,并將每個(gè)任務(wù)簇映射到無(wú)人機(jī)聯(lián)盟中,將復(fù)雜的目標(biāo)打擊任務(wù)分配問(wèn)題分為幾個(gè)不同層次的子問(wèn)題,通過(guò)解決每級(jí)的子問(wèn)題,進(jìn)而將復(fù)雜的問(wèn)題簡(jiǎn)單化,降低了計(jì)算復(fù)雜度,避免多個(gè)無(wú)人機(jī)執(zhí)行同一任務(wù),縮短目標(biāo)打擊任務(wù)分配時(shí)間,提高目標(biāo)打擊完成度。同時(shí)引入多智能體強(qiáng)化學(xué)習(xí)算法(MADDPG),從狀態(tài)空間、網(wǎng)絡(luò)架構(gòu)、動(dòng)作集合、獎(jiǎng)勵(lì)函數(shù)4個(gè)方面進(jìn)行設(shè)計(jì),將該模型與無(wú)人機(jī)任務(wù)分配相融合,而多無(wú)人機(jī)則被視作一個(gè)聯(lián)盟,聯(lián)盟中各無(wú)人機(jī)協(xié)同工作,根據(jù)無(wú)人機(jī)相互之間觀(guān)察互動(dòng)和反饋獎(jiǎng)勵(lì)調(diào)整自身策略,以便獎(jiǎng)勵(lì)最大化,從而獲得無(wú)人機(jī)聯(lián)盟完成目標(biāo)打擊的最優(yōu)策略,提升無(wú)人機(jī)目標(biāo)打擊的效率。
文中場(chǎng)景設(shè)置如下[20]:假設(shè)戰(zhàn)場(chǎng)上有數(shù)個(gè)打擊目標(biāo)和威脅源,目標(biāo)和威脅源位置均固定不變,每個(gè)目標(biāo)任務(wù)只需要一個(gè)無(wú)人機(jī)來(lái)進(jìn)行打擊,每個(gè)任務(wù)之間都相互獨(dú)立,無(wú)人機(jī)一旦進(jìn)入威脅源范圍內(nèi),將被導(dǎo)彈打中而無(wú)法完成任務(wù)。無(wú)人機(jī)聯(lián)盟隨機(jī)出現(xiàn)在戰(zhàn)場(chǎng)上,任務(wù)均勻分布在環(huán)境中,并按照距離最短原則分配給距離最近的無(wú)人機(jī)聯(lián)盟,無(wú)人機(jī)聯(lián)盟內(nèi)將任務(wù)進(jìn)一步進(jìn)行細(xì)分,確保每個(gè)無(wú)人機(jī)可以規(guī)避危險(xiǎn),順利完成任務(wù)。
圖1 場(chǎng)景設(shè)置
因?yàn)闊o(wú)人機(jī)任務(wù)分配具備高維空間性與多元性的特征[21-22],所以給出簡(jiǎn)化研究問(wèn)題的假定:將每個(gè)無(wú)人機(jī)看成是具備同樣特點(diǎn)的同質(zhì)性實(shí)體模型,在研究過(guò)程中,忽略無(wú)人機(jī)的外形和尺寸,并進(jìn)行定義:
(1)
式中:(xi,yi)為無(wú)人機(jī)的位置坐標(biāo)信息;vi為無(wú)人機(jī)的飛行速度;φi為無(wú)人機(jī)的偏航角。
將環(huán)境因素理想化[23],忽略自然環(huán)境因素對(duì)無(wú)人機(jī)的影響,重點(diǎn)考慮無(wú)人機(jī)的軍事威脅,軍事威脅主要是敵方導(dǎo)彈威脅。假設(shè)在二維空間環(huán)境中,敵方防空導(dǎo)彈的探測(cè)范圍為360°,相當(dāng)于一個(gè)以導(dǎo)彈位置為中心、導(dǎo)彈水平探測(cè)距離Rmax為半徑的圓,定義為:
(2)
因此,導(dǎo)彈威脅的數(shù)學(xué)模型為:
(3)
式中UR為無(wú)人機(jī)當(dāng)前位置與導(dǎo)彈位置的相對(duì)距離。
認(rèn)知心理學(xué)指出,生物智能體解決復(fù)雜問(wèn)題的能力依賴(lài)于層級(jí)化的認(rèn)知機(jī)制,即將復(fù)雜的問(wèn)題分解成更簡(jiǎn)單的子問(wèn)題[24]。這種分層方法能夠以零樣本的方式解決以前看不見(jiàn)的問(wèn)題,無(wú)需試錯(cuò)。如圖2所示,描繪了一只烏鴉如何解決由3個(gè)因果步驟組成的食物獲取的難題:它首先拿起一根棍子,然后用棍子從管道里面拖出一個(gè)石頭,最后用石頭來(lái)觸發(fā)機(jī)關(guān),激活一個(gè)機(jī)制釋放這個(gè)食物。
圖2 基于MADDPG算法的無(wú)人機(jī)任務(wù)分層框架
受靈長(zhǎng)類(lèi)動(dòng)物處理問(wèn)題機(jī)制啟發(fā),提出一種基于任務(wù)分層的無(wú)人機(jī)聯(lián)盟目標(biāo)打擊的任務(wù)分層框架,整個(gè)過(guò)程分為目標(biāo)聚類(lèi)、集群分配、任務(wù)目標(biāo)分配。
1)目標(biāo)聚類(lèi)。目標(biāo)聚類(lèi)的目的是將彼此接近的目標(biāo)歸為一組,它是簡(jiǎn)化任務(wù)分配問(wèn)題的關(guān)鍵和基本步驟,經(jīng)過(guò)這一步,NT目標(biāo)被劃分為M個(gè)簇,M等于無(wú)人機(jī)聯(lián)盟的數(shù)量,為了在無(wú)人機(jī)聯(lián)盟之間平均分配工作負(fù)載,聚類(lèi)算法必須平衡每個(gè)集群中的目標(biāo)數(shù)量。
2)集群分配。集群分配的目的是將M個(gè)集群分配給M個(gè)小無(wú)人機(jī)聯(lián)盟,通過(guò)強(qiáng)化學(xué)習(xí)算法,得出該級(jí)無(wú)人機(jī)目標(biāo)任務(wù)分配的最優(yōu)策略,即每個(gè)小無(wú)人機(jī)聯(lián)盟被分配一個(gè)任務(wù)集群。
3)任務(wù)目標(biāo)分配。在每個(gè)小無(wú)人機(jī)聯(lián)盟內(nèi),通過(guò)多智能體強(qiáng)化學(xué)習(xí)算法(MADDPG),將小無(wú)人機(jī)聯(lián)盟內(nèi)的每個(gè)無(wú)人機(jī)與目標(biāo)任務(wù)進(jìn)行交互,獲得這個(gè)小無(wú)人機(jī)聯(lián)盟完成目標(biāo)任務(wù)的最優(yōu)策略。小無(wú)人機(jī)聯(lián)盟中Leader獲得聯(lián)盟內(nèi)目標(biāo)任務(wù)分配的最優(yōu)策略并將任務(wù)分配給每個(gè)無(wú)人機(jī),確定攻擊順序。
其中,目標(biāo)聚類(lèi)和任務(wù)集群分配由無(wú)人機(jī)控制中心集中解決,而任務(wù)目標(biāo)分配由小無(wú)人機(jī)聯(lián)盟內(nèi)部解決。
MADDPG框架如圖3所示。
圖3 MADDPG算法結(jié)構(gòu)框架圖
其核心思想是Actor-Critic網(wǎng)絡(luò):一個(gè)行動(dòng)家網(wǎng)絡(luò)π和一個(gè)評(píng)論家網(wǎng)絡(luò)Q。π網(wǎng)絡(luò)根據(jù)獲取的狀態(tài)計(jì)算要執(zhí)行的動(dòng)作,而Q網(wǎng)絡(luò)評(píng)估行為網(wǎng)絡(luò)計(jì)算的動(dòng)作,以提高行為網(wǎng)絡(luò)的性能。使用經(jīng)驗(yàn)重放緩存區(qū)存儲(chǔ)一定數(shù)量的訓(xùn)練經(jīng)驗(yàn),Q網(wǎng)絡(luò)在更新網(wǎng)絡(luò)時(shí)隨機(jī)讀取,以打破訓(xùn)練數(shù)據(jù)中的相關(guān)性,使訓(xùn)練更加穩(wěn)定。在訓(xùn)練階段,π網(wǎng)絡(luò)只從自身中獲取觀(guān)察信息,而Q網(wǎng)絡(luò)則獲取其他主體的動(dòng)作和觀(guān)察等信息。在執(zhí)行階段,不涉及Q網(wǎng)絡(luò),只需要一個(gè)π網(wǎng)絡(luò),這意味著執(zhí)行是分散的。
考慮具有N個(gè)無(wú)人機(jī)的場(chǎng)景,π={π1,π2,…,πN},表示N個(gè)智能體的策略,θ={θ1,θ2,…,θN},表示策略參數(shù)[25],那么無(wú)人機(jī)ri的期望回報(bào)梯度為:
(4)
(5)
(6)
通過(guò)最小化無(wú)人機(jī)ri的策略梯度來(lái)更新參與者網(wǎng)絡(luò),可以寫(xiě)為:
(7)
式中:K為樣本的小批量大??;k為樣本的指數(shù)。
2.2.1 動(dòng)作設(shè)置
(8)
2.2.2 狀態(tài)設(shè)置
將每架無(wú)人機(jī)當(dāng)前的位置視為該架無(wú)人機(jī)的當(dāng)前狀態(tài),針對(duì)無(wú)人機(jī)UAVi在t時(shí)刻的狀態(tài)定義為:
St,UAVi=(SUAV1,SUAV2,…,SUAVi)=((vUAV1,x,vUAV1,y),(vUAV2,x,vUAV2,y),…,(vUAVi,x,vUAVi,y))
(9)
2.2.3 獎(jiǎng)勵(lì)函數(shù)設(shè)置
1)在威脅避開(kāi)區(qū)設(shè)定一個(gè)獎(jiǎng)勵(lì),當(dāng)無(wú)人機(jī)進(jìn)入威脅避開(kāi)區(qū)后,會(huì)被給予一個(gè)負(fù)獎(jiǎng)勵(lì)。即RN=-1,(DU 2)無(wú)人機(jī)飛行過(guò)程中,假如無(wú)人機(jī)離得太近,會(huì)相互碰撞,導(dǎo)致各個(gè)無(wú)人機(jī)之間產(chǎn)生威脅,因此,為了防止無(wú)人機(jī)之間發(fā)生機(jī)械碰撞,設(shè)置一個(gè)獎(jiǎng)勵(lì)RC,當(dāng)無(wú)人機(jī)之間距離低于安全性距離時(shí),給予獎(jiǎng)勵(lì)RC。即RC=-1,(DLmn 3)在訓(xùn)練開(kāi)始的時(shí)候,為了能精確引導(dǎo)無(wú)人機(jī)動(dòng)作挑選,使無(wú)人機(jī)的每一步都獲得獎(jiǎng)勵(lì),制定距離獎(jiǎng)勵(lì)RS,并在每一步都測(cè)算無(wú)人機(jī)和目標(biāo)的最近距離,將負(fù)距離做為獎(jiǎng)勵(lì)值,距離越近,獎(jiǎng)勵(lì)值越多。也就是說(shuō),RS=-dmin,其中,dmin是每個(gè)目標(biāo)和每個(gè)UAV之間的最小距離之和。最終無(wú)人機(jī)的獎(jiǎng)勵(lì)函數(shù)設(shè)置為: RZ=RN+RC+RS (10) 文中設(shè)計(jì)了一個(gè)10 km×10 km的模擬仿真地圖,初始化環(huán)境仿真結(jié)果如圖4所示。 圖4 初始環(huán)境 其中,(a)圖包括1個(gè)無(wú)人機(jī)聯(lián)盟(3架無(wú)人機(jī))的初始位置、5個(gè)威脅區(qū)、3個(gè)目標(biāo)的位置;(b)圖包括2個(gè)無(wú)人機(jī)聯(lián)盟(5架無(wú)人機(jī))的初始位置、6個(gè)威脅區(qū)、5個(gè)目標(biāo)的位置。 MADDPG算法模型采用確定性動(dòng)作策略,即a=πθ(s) 。最大回合數(shù)為8 000,輔助網(wǎng)絡(luò)的更新率為0.01,價(jià)值網(wǎng)絡(luò)的學(xué)習(xí)率為 0.01,策略網(wǎng)絡(luò)的學(xué)習(xí)率為0.001。 為了驗(yàn)證該策略的可行性,分別形成1個(gè)無(wú)人機(jī)聯(lián)盟(3架無(wú)人機(jī))和2個(gè)無(wú)人機(jī)聯(lián)盟(2架無(wú)人機(jī)和3架無(wú)人機(jī)),建立任務(wù)分層框架并通過(guò)MADDPG進(jìn)行訓(xùn)練,與任務(wù)不分層框架進(jìn)行對(duì)比,3架無(wú)人機(jī)各自回報(bào)值變化曲線(xiàn)如圖5所示。從圖中可以看出,隨著訓(xùn)練回合次數(shù)的增加,3架無(wú)人機(jī)各自回報(bào)值都逐漸增大,直至收斂。對(duì)比任務(wù)分層框架和任務(wù)不分層框架下MADDPG算法中每架無(wú)人機(jī)回報(bào)值變化曲線(xiàn),可以發(fā)現(xiàn),在任務(wù)分層框架下,每架無(wú)人機(jī)的回報(bào)值都比任務(wù)不分層框架下的回報(bào)值要大,說(shuō)明任務(wù)分層框架比不分層框架具有更強(qiáng)的穩(wěn)定性,每架無(wú)人機(jī)都能夠更加準(zhǔn)確的完成任務(wù),確保任務(wù)完成度更高,獲得更高的回報(bào)值。 3架無(wú)人機(jī)在任務(wù)不分層的情況下,收斂速度較快,這是因?yàn)?架無(wú)人機(jī)更傾向于找最容易完成的目標(biāo)去完成,雖然一定程度上能夠較快的完成任務(wù),但是很可能導(dǎo)致多個(gè)無(wú)人機(jī)執(zhí)行同一任務(wù),無(wú)法達(dá)到多無(wú)人機(jī)協(xié)作完成多個(gè)目標(biāo)任務(wù)的目的。 最終的整體回報(bào)值如圖5(d)所示,由圖可知,隨著訓(xùn)練回合次數(shù)的增多,獎(jiǎng)勵(lì)逐漸增大,且在訓(xùn)練回合數(shù)達(dá)到2 000后,兩種框架策略的獎(jiǎng)勵(lì)曲線(xiàn)趨于平緩,總體呈收斂趨勢(shì),但任務(wù)分層框架下的整體回報(bào)值明顯高于任務(wù)不分層框架下的整體回報(bào)值。由于訓(xùn)練過(guò)程中存在隨機(jī)噪聲,所以訓(xùn)練時(shí)無(wú)論是哪個(gè)時(shí)刻都存在振蕩現(xiàn)象。 5架無(wú)人機(jī)各自回報(bào)值變化曲線(xiàn)如圖6所示,從圖中可以看出,隨著訓(xùn)練回合次數(shù)的增加,5架無(wú)人機(jī)各自回報(bào)值都逐漸增大,直至收斂。對(duì)比任務(wù)分層框架和任務(wù)不分層框架下MADDPG算法中每架無(wú)人機(jī)回報(bào)值變化曲線(xiàn),可以發(fā)現(xiàn)在任務(wù)分層框架下,每架無(wú)人機(jī)的回報(bào)值都比任務(wù)不分層框架下的回報(bào)值大,說(shuō)明任務(wù)分層框架比不分層框架具有更強(qiáng)的穩(wěn)定性,每架無(wú)人機(jī)都能夠更加準(zhǔn)確的完成任務(wù),確保任務(wù)完成度更高,獲得更高的回報(bào)值。 最終的整體回報(bào)值如圖6(f)所示,其訓(xùn)練獎(jiǎng)勵(lì)變化曲線(xiàn)規(guī)律與3架無(wú)人機(jī)訓(xùn)練獎(jiǎng)勵(lì)變化曲線(xiàn)(圖5(d))大體相同。 圖5 3架無(wú)人機(jī)網(wǎng)絡(luò)參數(shù)變化 圖6 5架無(wú)人機(jī)網(wǎng)絡(luò)參數(shù)變化 在任務(wù)分層框架下,將MADDPG與DDPG、DQN算法進(jìn)行對(duì)比,對(duì)比結(jié)果如圖7所示。由圖可知,在5架無(wú)人機(jī)中,與DDPG、DQN相比,MADDPG算法收斂速度最快,且收斂過(guò)程波動(dòng)較少,收斂更加穩(wěn)定。 圖7 5架無(wú)人機(jī)任務(wù)分層-聯(lián)盟算法對(duì)比 3種不同算法的無(wú)人機(jī)飛行軌跡對(duì)比圖如圖8所示。由圖可知,對(duì)比3種算法,MADDPG 算法模型的飛行軌跡都進(jìn)入各自目標(biāo)區(qū)域,而且躲避了所有的威脅區(qū);在DDPG算法模型的飛行軌跡中,第四架無(wú)人機(jī)進(jìn)入威脅區(qū),第一和第三架無(wú)人機(jī)進(jìn)入同一目標(biāo)區(qū)域,其余兩架無(wú)人機(jī)都進(jìn)入各自的目標(biāo)區(qū)域內(nèi);DQN算法模型的飛行軌跡除了第三和第五架無(wú)人機(jī)進(jìn)入威脅區(qū)外,其余三架無(wú)人機(jī)都進(jìn)入各自的目標(biāo)區(qū)域內(nèi)。綜合分析3種算法的獎(jiǎng)勵(lì)曲線(xiàn)變化圖和飛行軌跡圖,可以得出結(jié)論: 在任務(wù)分層框架下,MADDPG 算法訓(xùn)練表現(xiàn)優(yōu)于 DDPG 算法和DQN算法。 圖8 無(wú)人機(jī)飛行軌跡對(duì)比 針對(duì)無(wú)人機(jī)群目標(biāo)打擊任務(wù)分配問(wèn)題,受靈長(zhǎng)類(lèi)動(dòng)物處理問(wèn)題機(jī)制啟發(fā),提出一種基于強(qiáng)化學(xué)習(xí)的無(wú)人機(jī)智能任務(wù)分配方法。該方法提出一種任務(wù)分層框架,將多個(gè)無(wú)人機(jī)視為一個(gè)聯(lián)盟并對(duì)目標(biāo)進(jìn)行分類(lèi),形成任務(wù)簇,并將每個(gè)任務(wù)簇映射到無(wú)人機(jī)聯(lián)盟中,通過(guò)MADDPG算法將任務(wù)簇內(nèi)的目標(biāo)與無(wú)人機(jī)聯(lián)盟內(nèi)的小無(wú)人機(jī)進(jìn)行合理配對(duì)并對(duì)目標(biāo)實(shí)施打擊,得到MADDPG算法的回報(bào)值和飛行軌跡,并與DDPG算法、DQN算法的回報(bào)值和飛行軌跡進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果表明,在小樣本任務(wù)分配中,與不分層框架相比,該方法可以提高目標(biāo)任務(wù)打擊完成度,提升目標(biāo)打擊的效率;在分層框架下,該方法在收斂速度、收斂穩(wěn)定性、任務(wù)完成度等方面都優(yōu)于其他兩種算法并具有更好的表現(xiàn)。3 實(shí)驗(yàn)結(jié)果分析
3.1 參數(shù)設(shè)置
3.2 結(jié)果分析
4 結(jié)論