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