畢文豪,段曉波
西北工業(yè)大學(xué),陜西 西安 710072
近年來(lái),隨著信息工程、控制理論、人工智能等技術(shù)的不斷發(fā)展,無(wú)人機(jī)(UAV)在軍事領(lǐng)域的應(yīng)用越來(lái)越廣泛。目前,軍用無(wú)人機(jī)可以完成對(duì)地偵察、對(duì)地打擊、無(wú)人貨運(yùn)等戰(zhàn)術(shù)功能。同時(shí),無(wú)人僚機(jī)、無(wú)人機(jī)編隊(duì)協(xié)同作戰(zhàn)和無(wú)人機(jī)集群作戰(zhàn)等更高層次作戰(zhàn)功能也在不斷發(fā)展中。為了更好地完成上述任務(wù),無(wú)人機(jī)需要具有根據(jù)戰(zhàn)場(chǎng)環(huán)境和任務(wù)需求進(jìn)行自主航路規(guī)劃的能力。
航路規(guī)劃是指在環(huán)境約束、飛行性能約束等約束條件下,尋找無(wú)人機(jī)從起始點(diǎn)到目標(biāo)點(diǎn)、滿足特定任務(wù)指標(biāo)的飛行航路。航路規(guī)劃可以幫助無(wú)人機(jī)在面對(duì)不同任務(wù)功能時(shí),以最小的損失(如時(shí)間、受損程度等)完成相應(yīng)的作戰(zhàn)任務(wù),其中主要需要考慮三個(gè)方面:(1)面向地形約束,考慮地形變化產(chǎn)生的碰撞威脅;(2)在飛機(jī)性能、燃油量和武器性能等約束下規(guī)劃合理的飛行航路;(3)降低作戰(zhàn)環(huán)境中無(wú)人機(jī)遇到不確定風(fēng)險(xiǎn)的可能性,如敵方雷達(dá)、防空導(dǎo)彈等戰(zhàn)場(chǎng)威脅,提高飛行器安全冗余和作戰(zhàn)效能[1]。
目前,航路規(guī)劃主要包含三種方法:一是基于幾何模型搜索的方法,如A*算法[2-3]、Dijkstra算法[4]等;二是基于虛擬勢(shì)場(chǎng)的方法,如人工勢(shì)場(chǎng)法[5]等;三是基于優(yōu)化算法的方法,如蟻群算法[6]、遺傳算法[7]、粒子群算法[8]、灰狼算法[9]等。
近年來(lái),人工智能技術(shù)的快速發(fā)展為無(wú)人機(jī)航路規(guī)劃技術(shù)的研究提供了新的思路。參考文獻(xiàn)[10]提出了一種基于Layered PER-DDQN的無(wú)人機(jī)航路規(guī)劃算法,通過戰(zhàn)場(chǎng)環(huán)境分層將航路規(guī)劃問題分解為地形規(guī)避問題和威脅躲避問題,有效解決了無(wú)人機(jī)在戰(zhàn)場(chǎng)環(huán)境中的航路規(guī)劃問題。參考文獻(xiàn)[11]提出了一種基于REL-DDPG 的無(wú)人機(jī)航路規(guī)劃算法,有效解決了復(fù)雜三維地形環(huán)境下的航路規(guī)劃問題。
本文利用不同深度強(qiáng)化學(xué)習(xí)算法的優(yōu)勢(shì),結(jié)合目標(biāo)網(wǎng)絡(luò)模型、競(jìng)爭(zhēng)網(wǎng)絡(luò)模型和優(yōu)先級(jí)經(jīng)驗(yàn)重現(xiàn)策略構(gòu)建PER-D3QN模型,并將其應(yīng)用于解決戰(zhàn)場(chǎng)環(huán)境下無(wú)人機(jī)航路規(guī)劃問題。搭建了包含戰(zhàn)場(chǎng)三維地形和戰(zhàn)場(chǎng)威脅的戰(zhàn)場(chǎng)環(huán)境模型,通過與Double DQN、DQN 和A*算法的仿真結(jié)果對(duì)比,驗(yàn)證本文算法具有較好的收斂性、穩(wěn)定性、適用性和實(shí)時(shí)性。
戰(zhàn)場(chǎng)環(huán)境建模是利用數(shù)學(xué)建模的方法對(duì)無(wú)人機(jī)作戰(zhàn)場(chǎng)景進(jìn)行抽象化表述。對(duì)于戰(zhàn)場(chǎng)環(huán)境下無(wú)人機(jī)航路規(guī)劃問題,需要考慮戰(zhàn)場(chǎng)三維地形和戰(zhàn)場(chǎng)威脅。
本文利用數(shù)字高程模型(DEM)描述戰(zhàn)場(chǎng)三維地形,該方法利用有限數(shù)量的地形高程數(shù)據(jù)對(duì)地面的地形構(gòu)造進(jìn)行數(shù)字化模擬,可表示為{Vi=(xi,yi,zi)|i=1, 2, …,n, (xi,yi)∈D} ,其中,(xi,yi)∈D表示平面坐標(biāo),zi表示(xi,yi)位置的高程信息。
數(shù)字高程模型可以通過簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)地形信息的表示,但由于數(shù)據(jù)總量和數(shù)據(jù)密度受數(shù)據(jù)來(lái)源的限制,無(wú)法獲取地形上每一點(diǎn)的具體數(shù)據(jù)。本文采用雙線性內(nèi)插法[12]來(lái)解決這一問題,即根據(jù)待采樣點(diǎn)與高程數(shù)據(jù)庫(kù)中已有相鄰點(diǎn)之間的距離確定相應(yīng)權(quán)值,計(jì)算出待采樣點(diǎn)的高度值,如圖1所示。待采樣點(diǎn)p的高程信息計(jì)算公式為
圖1 數(shù)字高程模型雙線性內(nèi)插法示意圖Fig.1 Bilinear interpolation for DEM
zp=(l-u)(m-v)za+(l-u)vzb+uvzc+u(m-v)zd(1)
其中,za,zb,zc,zd表示相鄰點(diǎn)的高程數(shù)據(jù)。
在戰(zhàn)場(chǎng)環(huán)境中,戰(zhàn)場(chǎng)威脅是無(wú)人機(jī)航路規(guī)劃中的重要約束之一,主要包括雷達(dá)探測(cè)、防空導(dǎo)彈、防空高炮等。無(wú)人機(jī)在執(zhí)行航路規(guī)劃時(shí),需要對(duì)戰(zhàn)場(chǎng)威脅區(qū)域進(jìn)行規(guī)避,在自身不受損傷的前提下完成指定的任務(wù)。本文以防空武器所處位置為圓心,依據(jù)防空武器作戰(zhàn)半徑設(shè)定圓形威脅區(qū)。
強(qiáng)化學(xué)習(xí)是一種基于馬爾可夫決策過程框架,使用狀態(tài)、動(dòng)作和收益定義智能體與環(huán)境之間的交互過程,通過智能體在環(huán)境中不斷探索、試錯(cuò)的方式進(jìn)行學(xué)習(xí),根據(jù)環(huán)境對(duì)當(dāng)前狀態(tài)下所選取動(dòng)作的反饋收益調(diào)整探索策略的機(jī)器學(xué)習(xí)方法。
深度強(qiáng)化學(xué)習(xí)(DQN)在強(qiáng)化學(xué)習(xí)的基礎(chǔ)上,通過構(gòu)建深度神經(jīng)網(wǎng)絡(luò)(DNN)表征智能體的動(dòng)作價(jià)值函數(shù)。動(dòng)作價(jià)值函數(shù)表示為Q(st,at|θ),其中,st和at表示t時(shí)刻智能體的狀態(tài)和動(dòng)作,θ表示網(wǎng)絡(luò)參數(shù)。DQN 算法通過最小化損失函數(shù)L(θ)的方式更新網(wǎng)絡(luò)參數(shù)θ,使得網(wǎng)絡(luò)Q(st,at|θ)的輸出不斷逼近最優(yōu)動(dòng)作價(jià)值。損失函數(shù)L(θ)的定義為
式中,y為網(wǎng)絡(luò)更新的目標(biāo)值;γ∈[0,1]為折扣系數(shù);Rt+1為收益函數(shù)。
在DQN算法中,智能體的動(dòng)作價(jià)值函數(shù)網(wǎng)絡(luò)在更新過程中存在由于訓(xùn)練樣本相關(guān)性強(qiáng)導(dǎo)致的過擬合問題和網(wǎng)絡(luò)更新參數(shù)相關(guān)聯(lián)導(dǎo)致的網(wǎng)絡(luò)優(yōu)化不穩(wěn)定問題。針對(duì)上述問題,相關(guān)研究人員提出了Double DQN、Dueling DQN等方法。
Double DQN[13]在DQN 算法的基礎(chǔ)上引入目標(biāo)網(wǎng)絡(luò)Q(st,at|θ-)解決過擬合問題。Double DQN首先利用預(yù)測(cè)網(wǎng)絡(luò)Q(st,at|θ)選取最大價(jià)值的動(dòng)作,然后利用目標(biāo)函數(shù)計(jì)算該動(dòng)作對(duì)應(yīng)的價(jià)值,并與收益函數(shù)共同構(gòu)成目標(biāo)更新值y',其表達(dá)式為
Dueling DQN[14]將競(jìng)爭(zhēng)網(wǎng)絡(luò)模型引入DQN 算法中,通過將動(dòng)作價(jià)值函數(shù)分解為狀態(tài)價(jià)值函數(shù)和動(dòng)作優(yōu)勢(shì)函數(shù),提高對(duì)最優(yōu)策略的學(xué)習(xí)效率。競(jìng)爭(zhēng)網(wǎng)絡(luò)的表達(dá)式為
式中,V(st|θ,α)為狀態(tài)價(jià)值函數(shù),A(st,at|θ,β)為動(dòng)作優(yōu)勢(shì)函數(shù),α和β為對(duì)應(yīng)網(wǎng)絡(luò)的參數(shù)。
此外,相關(guān)研究人員提出在DQN算法中加入經(jīng)驗(yàn)重現(xiàn)策略,將智能體與環(huán)境交互得到的樣本數(shù)據(jù)存儲(chǔ)至經(jīng)驗(yàn)重現(xiàn)池,當(dāng)進(jìn)行網(wǎng)絡(luò)更新時(shí),從經(jīng)驗(yàn)重現(xiàn)池隨機(jī)提取小批量的樣本數(shù)據(jù)進(jìn)行訓(xùn)練,消除樣本之間的關(guān)聯(lián)性,從而提升算法的收斂效果和穩(wěn)定性。
優(yōu)先級(jí)經(jīng)驗(yàn)重現(xiàn)(PER)[15]是指在經(jīng)驗(yàn)重現(xiàn)策略的基礎(chǔ)上,根據(jù)經(jīng)驗(yàn)重現(xiàn)池中數(shù)據(jù)樣本的優(yōu)先級(jí)進(jìn)行采樣學(xué)習(xí),從而提升網(wǎng)絡(luò)的訓(xùn)練效率。在網(wǎng)絡(luò)訓(xùn)練過程中,目標(biāo)值與預(yù)測(cè)值之間的誤差越大,預(yù)測(cè)網(wǎng)絡(luò)對(duì)該狀態(tài)的預(yù)測(cè)精度越低,則其學(xué)習(xí)的優(yōu)先級(jí)越高。定義第i組數(shù)據(jù)樣本的優(yōu)先度為
PER-D3QN 算法是一種結(jié)合Double DQN、Dueling DQN 和優(yōu)先級(jí)重現(xiàn)策略的深度強(qiáng)化學(xué)習(xí)算法。該方法聯(lián)合了上述方法的優(yōu)勢(shì),有效地提高了復(fù)雜環(huán)境下智能體的學(xué)習(xí)效率和準(zhǔn)確性。
本文利用PER-D3QN算法解決無(wú)人機(jī)航路規(guī)劃問題,構(gòu)建如圖2所示的算法模型。本文所提算法旨在讓無(wú)人機(jī)能夠根據(jù)當(dāng)前在戰(zhàn)場(chǎng)環(huán)境中的所處狀態(tài)st,利用PERD3QN 算法選擇飛行動(dòng)作at并獲得相應(yīng)收益Rt+1,實(shí)現(xiàn)無(wú)人機(jī)在戰(zhàn)場(chǎng)環(huán)境中的全局航路規(guī)劃。
圖2 基于PER-D3QN的無(wú)人機(jī)航路規(guī)劃算法網(wǎng)絡(luò)模型Fig.2 Network model of UAV path planning method based on PER-D3QN
2.3.1 狀態(tài)空間
在戰(zhàn)場(chǎng)環(huán)境下,無(wú)人機(jī)的狀態(tài)空間包含地形環(huán)境狀態(tài)、威脅區(qū)域狀態(tài)和與目標(biāo)點(diǎn)的相對(duì)狀態(tài)。
地形環(huán)境狀態(tài)用于描述無(wú)人機(jī)當(dāng)前時(shí)刻與其周圍地形環(huán)境的相對(duì)位置關(guān)系,其表達(dá)式為
威脅區(qū)域狀態(tài)用于表示無(wú)人機(jī)當(dāng)前時(shí)刻與戰(zhàn)場(chǎng)威脅區(qū)域的相對(duì)位置關(guān)系,如圖3所示,其表達(dá)式為
圖3 威脅區(qū)域狀態(tài)示意圖Fig.3 Diagram of threat area state
式中,R表示威脅區(qū)感知半徑。
無(wú)人機(jī)與目標(biāo)點(diǎn)的相對(duì)狀態(tài)用于引導(dǎo)無(wú)人機(jī)飛向目標(biāo)位置,其表達(dá)式為
式中,φt和γt分別為無(wú)人機(jī)所處位置與目標(biāo)點(diǎn)的航向角度差和俯仰角度差,如圖4所示。
圖4 無(wú)人機(jī)與目標(biāo)點(diǎn)相對(duì)狀態(tài)示意圖Fig.4 Diagram of the relative state of the UAV and the target point
根據(jù)以上三個(gè)狀態(tài)即可得到無(wú)人機(jī)在t時(shí)刻的狀態(tài)矢量,即
2.3.2 動(dòng)作空間
綜上可見,除個(gè)別BITs“保護(hù)與安全”條款相對(duì)較理想、較適合目前和未來(lái)中國(guó)防范在發(fā)展中國(guó)家投資的安全風(fēng)險(xiǎn)外,與多發(fā)展中國(guó)家的BITs“保護(hù)與安全”條款空泛和模糊,總體上未能超越國(guó)際習(xí)慣法最低待遇標(biāo)準(zhǔn),其國(guó)際法效果是,中國(guó)難以主張東道國(guó)對(duì)安全風(fēng)險(xiǎn)損害承擔(dān)國(guó)家責(zé)任,不能為中國(guó)投資者及其投資和人員提供充分有效的保護(hù)與安全。
動(dòng)作空間是無(wú)人機(jī)可采取的行為集合,本文采用的動(dòng)作空間共包含9個(gè)離散動(dòng)作,分別為向右下方飛行a1、向下方飛行a2、向左下方飛行a3、向右方飛行a4、向前方飛行a5、向左方飛行a6、向右上方飛行a7、向上方飛行a8和向左上方飛行a9,如圖5 所示。無(wú)人機(jī)可根據(jù)當(dāng)前狀態(tài)從上述離散動(dòng)作中進(jìn)行選擇。動(dòng)作空間A可表示為
圖5 動(dòng)作空間示意圖Fig.5 Diagram of action space
2.3.3 收益函數(shù)
針對(duì)無(wú)人機(jī)規(guī)劃問題的特點(diǎn),從任務(wù)完成、地形避障、威脅區(qū)域躲避、飛行高度控制、飛行引導(dǎo)等角度設(shè)計(jì)深度強(qiáng)化學(xué)習(xí)的收益函數(shù)。
(1) 任務(wù)完成收益函數(shù)
無(wú)人機(jī)航路規(guī)劃的首要目標(biāo)是規(guī)劃出從初始點(diǎn)到目標(biāo)點(diǎn)的飛行航路,當(dāng)無(wú)人機(jī)完成航路規(guī)劃時(shí)給予其正向獎(jiǎng)勵(lì),表達(dá)式為
式中,kM為無(wú)人機(jī)抵達(dá)目標(biāo)點(diǎn)給予后的激勵(lì)值,sTarget為無(wú)人機(jī)抵達(dá)目標(biāo)點(diǎn)時(shí)的期望狀態(tài)。
(2) 地形避障收益函數(shù)
無(wú)人機(jī)在飛行過程中需要及時(shí)躲避地形障礙,當(dāng)無(wú)人機(jī)與地面發(fā)生碰撞時(shí)給予懲罰反饋,表達(dá)式為
式中,kG表示懲罰反饋;zt表示無(wú)人機(jī)當(dāng)前時(shí)刻飛行高度;hsafe表示無(wú)人機(jī)與地面的安全距離;zt,G表示無(wú)人機(jī)所處位置的地形高度。
(3)威脅區(qū)域躲避收益函數(shù)
在戰(zhàn)場(chǎng)環(huán)境下,無(wú)人機(jī)需要盡量避免進(jìn)入敵方防空武器的威脅區(qū),根據(jù)進(jìn)入威脅區(qū)的距離設(shè)計(jì)反饋函數(shù),表達(dá)式為
式中,kL>0 為飛行引導(dǎo)獎(jiǎng)勵(lì)系數(shù),Distance(st,sTarget)為無(wú)人機(jī)當(dāng)前位置與目標(biāo)位置的距離,sigmoid(·)用于調(diào)整數(shù)值區(qū)間,其表達(dá)式為sigmoid(x) =(1 + e-x)-1。
綜合以上收益函數(shù),得到總收益函數(shù),即
式中,γM,γG,γT,γH和γL分別為任務(wù)完成收益函數(shù)、地形避障收益函數(shù)、威脅區(qū)域躲避收益函數(shù)、飛行高度控制收益函數(shù)和飛行引導(dǎo)收益函數(shù)的權(quán)重系數(shù)。
本文在Python 編程環(huán)境中利用PyTorch 框架構(gòu)建PERD3QN 網(wǎng)絡(luò),用于算法訓(xùn)練和測(cè)試的計(jì)算機(jī)配置為Intel i7-12700H CPU,NVIDIA RTX 3060 GPU,32GB運(yùn)行內(nèi)存。
為驗(yàn)證本文算法的可行性和有效性,使用Double DQN、DQN 和傳統(tǒng)A*算法進(jìn)行對(duì)比試驗(yàn)。試驗(yàn)在隨機(jī)生成的100幅戰(zhàn)場(chǎng)環(huán)境地圖中進(jìn)行,其中,訓(xùn)練過程使用80幅戰(zhàn)場(chǎng)環(huán)境地圖,測(cè)試過程使用20 幅戰(zhàn)場(chǎng)環(huán)境地圖。A*算法只在測(cè)試過程的戰(zhàn)場(chǎng)環(huán)境地圖中進(jìn)行仿真。PER-D3QN、Double DQN和DQN在訓(xùn)練過程中的學(xué)習(xí)曲線如圖6所示。
圖6 PER-D3QN,Double DQN和DQN的學(xué)習(xí)曲線Fig.6 Reward curve for PER-D3QN, Double DQN and DQN
在訓(xùn)練過程中,智能體采用PER-D3QN、Double DQN和DQN算法各進(jìn)行了30000回合的探索與學(xué)習(xí)。圖6展示了智能體在訓(xùn)練過程中獲得的平均收益,其中,PER-D3QN在訓(xùn)練至7500回合后達(dá)到收斂狀態(tài),收斂效果優(yōu)于Double DQN和DQN。
為驗(yàn)證智能體訓(xùn)練過程的有效性,對(duì)訓(xùn)練好的算法模型進(jìn)行測(cè)試。在測(cè)試過程中,對(duì)20幅戰(zhàn)場(chǎng)環(huán)境地圖各隨機(jī)生成50 組起始點(diǎn)和目標(biāo)點(diǎn),共構(gòu)建1000 個(gè)仿真場(chǎng)景。將PER-D3QN、Double DQN、DQN和A*算法在上述仿真場(chǎng)景中進(jìn)行測(cè)試,對(duì)航路規(guī)劃成功率、平均航程和算法平均計(jì)算時(shí)間進(jìn)行計(jì)算和統(tǒng)計(jì)。
航路規(guī)劃成功率是指測(cè)試過程中成功完成航路規(guī)劃的次數(shù)與總測(cè)試次數(shù)的比值,其計(jì)算公式為
式中,Ns表示成功完成航路規(guī)劃的次數(shù);Na表示總測(cè)試次數(shù)。
平均航程和平均計(jì)算時(shí)間在4種算法均成功完成航路規(guī)劃的仿真場(chǎng)景中計(jì)算并統(tǒng)計(jì)。平均航程是指各算法規(guī)劃得到的飛行航路航程的平均值,其計(jì)算公式為
式中,Lave為平均航程;Nv指飛行航路的個(gè)數(shù);Mi為第i條飛行航路的節(jié)點(diǎn)數(shù)量;si,j為第i條飛行航路的第j個(gè)航路節(jié)點(diǎn)。
平均計(jì)算時(shí)間是指算法運(yùn)行所消耗時(shí)間的平均值,其計(jì)算公式為
式中,Tave為平均計(jì)算時(shí)間;tc,i為規(guī)劃第i條飛行航路的計(jì)算耗時(shí)。
測(cè)試過程的統(tǒng)計(jì)結(jié)果見表1,得到的部分航路規(guī)劃結(jié)果如圖7所示。
表1 算法測(cè)試結(jié)果統(tǒng)計(jì)Table 1 Method test result statistics
圖7 戰(zhàn)場(chǎng)環(huán)境下PER-D3QN,Double DQN,DQN和A*算法航路規(guī)劃結(jié)果Fig.7 Results of path planning based on PER-D3QN, Double DQN, DQN and A* in battlefield environment
由表1可以看出:在成功率和平均航程上,傳統(tǒng)A*算法的成功率為100%且平均航程最短,可在任一仿真場(chǎng)景中實(shí)現(xiàn)航路規(guī)劃;PER-D3QN算法的成功率和平均航程稍遜于A*算法,但優(yōu)于Double DQN 和DQN 算法,具有較好的穩(wěn)定性,可勝任絕大部分仿真場(chǎng)景。在平均計(jì)算時(shí)間上,PER-D3QN 算法相較其他三種算法具有較大優(yōu)勢(shì),可在較短時(shí)間內(nèi)完成航路規(guī)劃任務(wù),更符合無(wú)人機(jī)作戰(zhàn)的實(shí)時(shí)性需求,具有更好的適用性。
仿真結(jié)果表明,本文所提出的基于PER-D3QN的無(wú)人機(jī)航路規(guī)劃算法,相較于Double DQN和DQN,在訓(xùn)練過程和測(cè)試過程中均具有較好的表現(xiàn);相較于傳統(tǒng)A*算法,雖在航路規(guī)劃成功率和平均航程上稍有劣勢(shì),但在平均計(jì)算時(shí)間上具有較大優(yōu)勢(shì)。
為解決無(wú)人機(jī)在戰(zhàn)場(chǎng)環(huán)境下的航路規(guī)劃問題,本文提出了基于PER-D3QN 的無(wú)人機(jī)航路規(guī)劃算法。構(gòu)建了包含戰(zhàn)場(chǎng)三維地形和戰(zhàn)場(chǎng)威脅的戰(zhàn)場(chǎng)環(huán)境模型。通過設(shè)計(jì)網(wǎng)絡(luò)模型、狀態(tài)空間、動(dòng)作空間和收益函數(shù)實(shí)現(xiàn)無(wú)人機(jī)航路規(guī)劃算法。在仿真驗(yàn)證中,驗(yàn)證了所提算法相較于Double DQN和DQN具有更好的收斂性、穩(wěn)定性和適用性,相較于傳統(tǒng)A*算法具有較好的實(shí)時(shí)性。在下一步研究中,應(yīng)考慮多無(wú)人機(jī)協(xié)同作戰(zhàn)的任務(wù)場(chǎng)景,基于多智能體深度強(qiáng)化學(xué)習(xí)方法研究復(fù)雜戰(zhàn)場(chǎng)環(huán)境下多無(wú)人機(jī)協(xié)同航路規(guī)劃問題,以進(jìn)一步提升無(wú)人機(jī)作戰(zhàn)效能。