譚 浪 鞏慶海 王會(huì)霞
1.北京航天自動(dòng)控制研究所,北京100854 2.宇航智能控制技術(shù)國(guó)家級(jí)重點(diǎn)實(shí)驗(yàn)室,北京 100854
遠(yuǎn)距離非接觸式的精確打擊已成為現(xiàn)代軍事作戰(zhàn)的主要手段,為提高導(dǎo)彈作戰(zhàn)效能,導(dǎo)彈攻防對(duì)抗已成為現(xiàn)代軍事研究的主要問題。在導(dǎo)彈攻防對(duì)抗中,進(jìn)攻彈和攔截器具有相反的作戰(zhàn)目的:進(jìn)攻彈為逃逸者,為達(dá)成作戰(zhàn)目的需要盡量躲避攔截器,而攔截器為追捕者,需要使目標(biāo)處于殺傷或捕獲范圍之內(nèi),雙方構(gòu)成追逃博弈[1]。
目前,導(dǎo)彈攻防對(duì)抗的大多研究都是從經(jīng)典控制方法出發(fā),通過建立攻防雙方微分對(duì)策模型,設(shè)計(jì)制導(dǎo)律來提高導(dǎo)彈武器的作戰(zhàn)效能。例如,文獻(xiàn)[2]通過對(duì)比例導(dǎo)引進(jìn)行改進(jìn),使用卡爾曼濾波算法估計(jì)地方飛行信息,并使用姿態(tài)搜索算法以確定彈頭的機(jī)動(dòng)方向;文獻(xiàn)[3]通過建立追逃對(duì)策模型,使用配點(diǎn)法對(duì)其進(jìn)行求解,得到機(jī)動(dòng)策略。文獻(xiàn)[4]將導(dǎo)彈抽象為智能體,從多智能體系統(tǒng)的角度研究攻防對(duì)抗問題,但僅用以解決仿真中時(shí)空不一致的問題,并沒有從智能算法的角度研究導(dǎo)彈攻防對(duì)抗過程。
隨著人工智能技術(shù)的飛速發(fā)展,各國(guó)正致力于研究智能化程度更高的導(dǎo)彈和武器系統(tǒng)來替代現(xiàn)有的設(shè)計(jì)方案[5]。當(dāng)AlphaGo在圍棋領(lǐng)域擊敗人類頂尖選手時(shí),深度強(qiáng)化學(xué)習(xí)已經(jīng)成為備受學(xué)者們關(guān)注的研究熱點(diǎn)[6-7]。深度強(qiáng)化學(xué)習(xí)技術(shù)被認(rèn)為是最有可能實(shí)現(xiàn)通用人工智能計(jì)算的重要途徑之一,具有很強(qiáng)的通用性。目前深度強(qiáng)化學(xué)習(xí)在經(jīng)典控制領(lǐng)域的應(yīng)用是OpenAI公司使用深度Q網(wǎng)絡(luò)(Deep Q Network, DQN)算法在模擬環(huán)境gym下對(duì)倒立擺進(jìn)行了穩(wěn)定控制[8]。此外,在真實(shí)場(chǎng)景下的應(yīng)用是使用近端策略優(yōu)化(Proximal Policy Optimization, PPO)算法對(duì)機(jī)械臂控制,使其完成抓取木塊的操作[9]。
用三維空間中的導(dǎo)彈攻防問題抽象為二維平面中智能小車的追逃問題,在DDPG算法[10]的基礎(chǔ)上提出一種追逃博弈算法。該算法的回報(bào)函數(shù)采用PID控制的思想進(jìn)行設(shè)計(jì),并在Epuck小型移動(dòng)機(jī)器人上進(jìn)行了追逃博弈實(shí)驗(yàn)驗(yàn)證。算法以定位系統(tǒng)獲得的位置信息作為輸入,通過對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,輸出追捕者的控制指令,控制其最終成功地完成追捕任務(wù)。
一對(duì)一追逃博弈場(chǎng)景分為一個(gè)逃跑者和一個(gè)追捕者,它們具有相反的目的:逃跑者要躲避追蹤,而追捕者要捕獲逃跑者。
一對(duì)一追逃博弈模型如圖1所示:
追捕者與逃跑者的運(yùn)動(dòng)學(xué)模型為:
(1)
式中:i是指追捕者P和逃跑者E;(xi,yi)是智能小車的位置;θi是方向;ui是轉(zhuǎn)向角,ui∈[-uimax,uimax];vi是由轉(zhuǎn)向角控制的智能小車的速度;φi表示速度方向與視線角的偏差。
在圖1所示的追逃博弈模型中,設(shè)定追捕者應(yīng)快于逃跑者,即vpmax>vemax,但同時(shí)追捕者的機(jī)動(dòng)能力比逃跑者差,即upmax 馬爾科夫決策過程(Markov Decision Process , MDP)由一個(gè)五元組(S,A,T,R,γ)描述[11],其中:S為有限的狀態(tài)空間;A為有限的行為空間;T為狀態(tài)轉(zhuǎn)移函數(shù);R為回報(bào)函數(shù);γ為折扣因子。轉(zhuǎn)移函數(shù)表示在給定當(dāng)前狀態(tài)和行為下,轉(zhuǎn)移到下一狀態(tài)的概率分布: (2) 式中:s′表示下一時(shí)刻的可能狀態(tài)。 回報(bào)函數(shù)表示給定當(dāng)前行為和狀態(tài)下,在下一狀態(tài)得到的回報(bào)。馬爾科夫決策過程具有如下的馬爾科夫特性:智能體的下一時(shí)刻的狀態(tài)和回報(bào)僅取決于智能體在當(dāng)前時(shí)刻的狀態(tài)和行為。 在任一馬爾科夫決策過程中,智能體都存在一個(gè)確定的最優(yōu)策略,強(qiáng)化學(xué)習(xí)的目標(biāo)就是尋找給定的馬爾科夫決策過程中的最優(yōu)策略。 強(qiáng)化學(xué)習(xí)是智能體自主探索環(huán)境狀態(tài),采取行為作用于環(huán)境并從環(huán)境中獲得回報(bào)的過程。一般而言,強(qiáng)化學(xué)習(xí)問題是建立在馬爾科夫決策過程模型的基礎(chǔ)上。 圖2 強(qiáng)化學(xué)習(xí)框架 強(qiáng)化學(xué)習(xí)框架如圖2所示。智能體在當(dāng)前狀態(tài)s下,采取行為a,根據(jù)狀態(tài)轉(zhuǎn)移函數(shù)T,環(huán)境會(huì)轉(zhuǎn)移到下一狀態(tài)s′,同時(shí)環(huán)境會(huì)對(duì)智能體反饋一個(gè)獎(jiǎng)勵(lì)信號(hào),即回報(bào)r。智能體在下一狀態(tài)按照上述過程依次進(jìn)行。智能體的目標(biāo)是通過不斷地訓(xùn)練,獲得最大化的長(zhǎng)期回報(bào)。為評(píng)估智能體策略,定義狀態(tài)值函數(shù)Vπ(s)為:當(dāng)智能體從狀態(tài)s開始并隨后執(zhí)行策略π時(shí),在該策略下狀態(tài)的值。因此: (3) 式中:T為最終時(shí)刻;t為當(dāng)前時(shí)刻;rt+1為在t+1時(shí)刻得到的回報(bào)。 由圖2可知,環(huán)境反饋給智能體的回報(bào)r與狀態(tài)s和動(dòng)作a有關(guān),可用價(jià)值函數(shù)來描述之間的關(guān)系。定義行為值函數(shù)Qπ(s,a)為:當(dāng)智能體從狀態(tài)s選擇特定行為a并隨后執(zhí)行策略π而得到的預(yù)期回報(bào)。一個(gè)最優(yōu)策略π*將使得智能體在所有狀態(tài)下可獲得最大化的折扣未來回報(bào)。則在最優(yōu)策略下的行為值函數(shù)Q*(s,a)可重寫為一個(gè)貝爾曼最優(yōu)方程: (4) 對(duì)于圖1所示的智能小車追逃博弈場(chǎng)景而言,環(huán)境的狀態(tài)及智能體的動(dòng)作都是連續(xù)量。因此,使用深度學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò)構(gòu)造函數(shù)逼近器,得到近似的行為值函數(shù)。Q值神經(jīng)網(wǎng)絡(luò)定義為: Q(s,a)≈f(s,a,w) (5) 式中:w是指神經(jīng)網(wǎng)絡(luò)的參數(shù)。 以深度強(qiáng)化學(xué)習(xí)中的DDPG算法為基礎(chǔ),定義MDP狀態(tài)空間與行為空間,設(shè)計(jì)回報(bào)函數(shù),從而實(shí)現(xiàn)智能小車的控制算法,用以對(duì)追捕者進(jìn)行導(dǎo)航與控制,使其盡可能快地追上逃跑者。 通過使用定位系統(tǒng)實(shí)時(shí)獲得各智能小車的位置信息,以此為基礎(chǔ)構(gòu)造輸入神經(jīng)網(wǎng)絡(luò)的狀態(tài)量。對(duì)于圖1所示的追逃博弈場(chǎng)景,本文算法的目的是最小化追捕者和逃跑者之間的相對(duì)距離。因此,給出MDP狀態(tài)空間如下: S=[L,δ]T (6) 在本文第1節(jié)所設(shè)定的追逃博弈場(chǎng)景中,逃跑者的狀態(tài)可以是靜止、勻速直線運(yùn)動(dòng)或帶有機(jī)動(dòng)的運(yùn)動(dòng)(即角速度不為0)。追捕者的策略是由神經(jīng)網(wǎng)絡(luò)的輸出給定。因此,給出MDP動(dòng)作空間為up。更近一步,由式(1)可知,追捕者轉(zhuǎn)向角影響的是追捕者的角速度,因此,動(dòng)作空間為: (7) 對(duì)于追逃博弈場(chǎng)景而言,MDP轉(zhuǎn)移函數(shù)即為各智能小車的運(yùn)動(dòng)學(xué)方程,即式(1)。 追捕者的目的是成功捕獲逃跑者,由于實(shí)驗(yàn)場(chǎng)地的限制,追捕者不能越過邊界,否則認(rèn)為追捕任務(wù)失敗。因此,在最終時(shí)刻,如果追捕任務(wù)成功,則給予一個(gè)較大的正回報(bào),否則給予一個(gè)較大的負(fù)回報(bào)。對(duì)于在追捕任務(wù)過程中的回報(bào)函數(shù)的設(shè)計(jì),借鑒PID控制思想,即:如果追捕者的速度方向與視線相同,則追捕者一定能成功追捕逃跑者(因?yàn)樽凡墩咚俣却笥谔优苷?。因此,追捕任務(wù)過程中的回報(bào)定義為:kφp。綜上所述,MDP回報(bào)函數(shù)設(shè)計(jì)如下: (8) 式中:k是比例因子。 本文采取強(qiáng)化學(xué)習(xí)中的異策略(off-policy)學(xué)習(xí)方法,神經(jīng)網(wǎng)絡(luò)的架構(gòu)采用AC(Actor-Critic Algorithm)的方法,即使用Actor網(wǎng)絡(luò)得到行為策略,使用Critic網(wǎng)絡(luò)得到評(píng)估策略。Actor-Critic 網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。 由于定位系統(tǒng)得到的智能小車的位置信息是一個(gè)在時(shí)間上連續(xù)的序列,因此由狀態(tài)構(gòu)成的樣本之間并不具備獨(dú)立性。為解決這個(gè)問題,本文算法使用了經(jīng)驗(yàn)回放和獨(dú)立的目標(biāo)網(wǎng)絡(luò)。經(jīng)驗(yàn)回放即將樣本存儲(chǔ)在經(jīng)驗(yàn)池中,并在經(jīng)驗(yàn)池達(dá)到一定程度后隨機(jī)從中選取若干樣本進(jìn)行訓(xùn)練。使用獨(dú)立的目標(biāo)網(wǎng)絡(luò)即再使用一個(gè)與策略網(wǎng)絡(luò)結(jié)構(gòu)一樣的AC網(wǎng)絡(luò)。 圖3 Actor-Critic網(wǎng)絡(luò)結(jié)構(gòu) 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程實(shí)質(zhì)上是通過構(gòu)造一個(gè)代價(jià)函數(shù),對(duì)其進(jìn)行梯度下降,從而可得到最優(yōu)的神經(jīng)網(wǎng)絡(luò)參數(shù)。Actor網(wǎng)絡(luò)輸出的是智能體的行為策略,Critic網(wǎng)絡(luò)輸出該行為的評(píng)估。因此,Critic網(wǎng)絡(luò)的代價(jià)函數(shù)如下: Li=E[(yi-Q(si,ai|θQ))2] (9) 式中:yi=E[ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′)]。 Actor網(wǎng)絡(luò)的策略梯度為: (10) 目標(biāo)網(wǎng)絡(luò)采用延遲更新的方式,即一定時(shí)間后將目標(biāo)網(wǎng)絡(luò)參數(shù)替換為策略網(wǎng)絡(luò)的參數(shù)。 智能小車追逃博弈算法如表1所示。 本文采用的智能小車是由瑞士聯(lián)合科技院研制的Epuck小型移動(dòng)機(jī)器人,具體構(gòu)造如圖4所示。Epuck智能小車由DSPIC處理器驅(qū)動(dòng),車身一周覆蓋有8個(gè)紅外距離傳感器,可測(cè)量傳感器前方6cm的物體,并且集成了VGA彩色攝像頭和8個(gè)LED。此外,智能小車可配備擴(kuò)展板,通過WiFi與計(jì)算機(jī)和其他智能小車間通訊。本文對(duì)于智能小車的具體型號(hào)并不做嚴(yán)格要求,其僅作為本文算法驗(yàn)證的執(zhí)行機(jī)構(gòu)。 表1 追逃博弈算法 圖4 Epuck移動(dòng)機(jī)器人 小車的室內(nèi)定位系統(tǒng)采用的是運(yùn)動(dòng)捕捉系統(tǒng),定位精度不低于1mm。定位系統(tǒng)實(shí)時(shí)獲取智能小車的位置并傳輸?shù)缴衔粰C(jī),上位機(jī)通過計(jì)算得到狀態(tài)量,并將其輸入到神經(jīng)網(wǎng)絡(luò),經(jīng)訓(xùn)練得到追捕者小車的控制策略,然后將指令通過無線傳輸?shù)阶凡墩咝≤囈钥刂破溥M(jìn)行追捕任務(wù)。 本文算法程序基于Python語言進(jìn)行編程,以深度學(xué)習(xí)框架TensorFlow為基礎(chǔ),算法中的神經(jīng)網(wǎng)絡(luò)均采用全連接網(wǎng)絡(luò)的架構(gòu),網(wǎng)絡(luò)采用2個(gè)隱含層,分別有150和50個(gè)節(jié)點(diǎn),訓(xùn)練算法的minibach設(shè)置為16,經(jīng)驗(yàn)池大小為10000,學(xué)習(xí)率為0.0001,折扣因子為0.9,回報(bào)函數(shù)中的比例因子設(shè)置為2。其它實(shí)驗(yàn)參數(shù)如表2所示: 表2 實(shí)驗(yàn)參數(shù) 訓(xùn)練時(shí),逃跑者做勻速直線運(yùn)動(dòng),算法訓(xùn)練500次,記錄每次的累積回報(bào),結(jié)果如圖5所示。由圖5可知算法在訓(xùn)練約100次時(shí)開始收斂。圖6分別顯示了兩智能小車在訓(xùn)練前和算法收斂時(shí)的運(yùn)行軌跡圖,可以看出訓(xùn)練前追捕者小車處于沒有策略的運(yùn)動(dòng)狀態(tài),最終超出邊界而導(dǎo)致任務(wù)失敗;當(dāng)算法收斂后,追捕者小車能夠做出正確的決策,最終成功地捕獲逃跑者。 圖5 算法收斂趨勢(shì) 圖6 智能小車運(yùn)行軌跡 為了驗(yàn)證本文算法的適應(yīng)性,在評(píng)估時(shí)將小車的初始位姿進(jìn)行修改,使其在一定的范圍內(nèi)隨機(jī)分布,并進(jìn)行100次測(cè)試評(píng)估。圖7(a)顯示了這100次評(píng)估對(duì)的累積回報(bào)值,圖7(b)顯示了最后一次的智能小車運(yùn)行軌跡。由圖7(a)可以看出,這100次評(píng)估實(shí)驗(yàn)中,追捕者小車均能成功捕獲逃跑者小車。 此外,將逃跑者的運(yùn)動(dòng)狀態(tài)分別更改為靜止和隨機(jī)運(yùn)動(dòng),再次對(duì)算法進(jìn)行評(píng)估,實(shí)驗(yàn)結(jié)果分別如圖8和9所示。在這2種狀態(tài)的評(píng)估實(shí)驗(yàn)中,追捕者小車均能成功完成任務(wù),表明本文算法具有較強(qiáng)的適應(yīng)性。 圖7 算法評(píng)估結(jié)果 圖8 逃跑者靜止時(shí)小車運(yùn)行軌跡 圖9 逃跑者隨機(jī)機(jī)動(dòng)時(shí)小車運(yùn)行軌跡 使用訓(xùn)練好的模型對(duì)追捕者小車進(jìn)行控制,在室內(nèi)場(chǎng)地進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)中分別將逃跑者小車的狀態(tài)設(shè)置為靜止、勻速直線運(yùn)動(dòng)和隨機(jī)運(yùn)動(dòng),模型輸入追捕者小車的狀態(tài),輸出控制指令,經(jīng)WiFi傳輸給追捕者,控制追捕者運(yùn)動(dòng)。在這3種狀態(tài)的Epuck小車追逃博弈實(shí)驗(yàn)中,追捕者均能夠成功地捕獲逃跑者,與上文對(duì)算法評(píng)估中的3種仿真實(shí)驗(yàn)結(jié)果一致,表明算法能夠?qū)嶋H地用在對(duì)智能小車的導(dǎo)航控制中。 立足于三維空間中導(dǎo)彈的攻防對(duì)抗問題,將其抽象成二維平面的小車追逃博弈,提出了基于深度強(qiáng)化學(xué)習(xí)的追逃博弈算法。算法以DDPG算法為原型,設(shè)計(jì)針對(duì)智能體追逃的馬爾科夫決策過程中的狀態(tài)空間、動(dòng)作空間和回報(bào)函數(shù),并對(duì)算法進(jìn)行訓(xùn)練,收斂后的模型在數(shù)學(xué)仿真和實(shí)物實(shí)驗(yàn)中均成功地實(shí)現(xiàn)追捕任務(wù)。實(shí)驗(yàn)結(jié)果表明本文所提出的深度強(qiáng)化學(xué)習(xí)算法可以有效地實(shí)現(xiàn)對(duì)智能小車的導(dǎo)航與控制,具有較強(qiáng)的適應(yīng)性。后續(xù),可將智能小車的運(yùn)動(dòng)模型替換為導(dǎo)彈的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)模型,用以研究和仿真三維空間的導(dǎo)彈攻防對(duì)抗過程。2 馬爾科夫決策過程與強(qiáng)化學(xué)習(xí)
3 追逃博弈算法設(shè)計(jì)
4 實(shí)驗(yàn)驗(yàn)證
4.1 實(shí)驗(yàn)平臺(tái)
4.2 實(shí)驗(yàn)參數(shù)設(shè)置
4.3 實(shí)驗(yàn)結(jié)果分析
5 結(jié)論