相曉嘉,閆超,王菖,尹棟
國防科技大學(xué) 智能科學(xué)學(xué)院,長沙 410073
近年來,隨著傳感器技術(shù)、無線通信技術(shù)以及智能控制技術(shù)的不斷發(fā)展與進(jìn)步,無人機(jī)(Unmanned Aerial Vehicle,UAV)在軍事和民用領(lǐng)域得到了廣泛的應(yīng)用,并取得了顯著的成功[1]。但受限于平臺(tái)功能少、有效載荷輕、感知范圍小等固有缺陷,單架無人機(jī)在復(fù)雜環(huán)境下執(zhí)行多樣化任務(wù)仍面臨較大困難[2];而多架無人機(jī)組成協(xié)同編隊(duì)能夠有效彌補(bǔ)單機(jī)性能的不足,大幅提高系統(tǒng)的整體性能,在執(zhí)行復(fù)雜作戰(zhàn)任務(wù)時(shí)有著諸多優(yōu)勢[3],如區(qū)域覆蓋范圍廣、偵查和搜救成功率高等,作戰(zhàn)效能遠(yuǎn)遠(yuǎn)高于各自為戰(zhàn)的無人機(jī)。在可以預(yù)見的未來,隨著戰(zhàn)場環(huán)境和作戰(zhàn)任務(wù)的日趨復(fù)雜,無人機(jī)編隊(duì)將是執(zhí)行作戰(zhàn)任務(wù)的主要載體[4]。因此,無人機(jī)編隊(duì)協(xié)調(diào)控制技術(shù)業(yè)已成為無人機(jī)系統(tǒng)技術(shù)領(lǐng)域的一個(gè)研究熱點(diǎn)。
國內(nèi)外學(xué)者針對該問題進(jìn)行了廣泛的研究?,F(xiàn)有的解決方法,如模型預(yù)測控制[5]、一致性理論[6]等通常需要平臺(tái)和擾動(dòng)的精確模型進(jìn)行控制率設(shè)計(jì)。但是,這一模型通常具有復(fù)雜、時(shí)變、非線性的特點(diǎn),加之傳感器誤差、環(huán)境擾動(dòng)等隨機(jī)因素的影響,往往難以精確建模[7-8]。這嚴(yán)重限制了傳統(tǒng)分析方法的適用范圍。作為一種代替方法,應(yīng)用無模型強(qiáng)化學(xué)習(xí)方法解決上述矛盾得到了越來越多的關(guān)注。
強(qiáng)化學(xué)習(xí)[9-10](Reinforcement Learning,RL)是機(jī)器學(xué)習(xí)領(lǐng)域的一個(gè)重要分支,主要用于解決序貫決策問題。強(qiáng)化學(xué)習(xí)任務(wù)通??捎民R爾科夫決策過程(Markov Decision Process,MDP)來描述,其目標(biāo)是在與環(huán)境的交互過程中,根據(jù)環(huán)境狀態(tài)、動(dòng)作和獎(jiǎng)勵(lì)學(xué)習(xí)一個(gè)最佳策略,使智能體(Agent) 選擇的動(dòng)作能夠從環(huán)境中獲取最大的累積獎(jiǎng)勵(lì)。強(qiáng)化學(xué)習(xí)可以不依賴于環(huán)境模型,適用于未知環(huán)境中的決策控制問題,在機(jī)器人領(lǐng)域已取得了大量較為成功的應(yīng)用,如路徑規(guī)劃[11-12]、導(dǎo)航避障[13-14]等。
目前,已有研究人員將強(qiáng)化學(xué)習(xí)融入其編隊(duì)協(xié)調(diào)控制問題的解決方案中,并在仿真環(huán)境下對方案的可行性和有效性進(jìn)行了初步的驗(yàn)證。強(qiáng)化學(xué)習(xí)在協(xié)調(diào)控制中的應(yīng)用研究最早由Tomimasu等[15]開展,在該仿真研究中,Agent采用Q學(xué)習(xí)算法和勢場力方法學(xué)習(xí)聚集策略。不久之后,Morihiro等[16]基于Q學(xué)習(xí)算法提出了一種多智能體自組織群集行為控制框架。仿真試驗(yàn)表明,Agent在完成群集任務(wù)的同時(shí),也表現(xiàn)出了反捕食行為以躲避捕食者。近年來,La等[17-18]相繼發(fā)布多項(xiàng)有關(guān)集群協(xié)調(diào)控制的研究成果,該團(tuán)隊(duì)提出了一種將強(qiáng)化學(xué)習(xí)和群集控制相結(jié)合的混合系統(tǒng),并通過仿真和實(shí)驗(yàn)驗(yàn)證了系統(tǒng)的可擴(kuò)展性和有效性。該系統(tǒng)由低層集群控制器和高層RL模塊組成,這一結(jié)合方式使系統(tǒng)能在保持網(wǎng)絡(luò)拓?fù)浜瓦B通性的同時(shí)躲避捕食者?;旌舷到y(tǒng)中的RL模塊采用Q學(xué)習(xí)算法,并通過共享Q表的方式實(shí)現(xiàn)分布式合作學(xué)習(xí)。試驗(yàn)結(jié)果表明,該方式可加速學(xué)習(xí)過程,并能獲取更高的累積獎(jiǎng)勵(lì)。Wang等[19]基于深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法,提出一種無人機(jī)編隊(duì)協(xié)調(diào)控制算法,使無人機(jī)能夠在大規(guī)模復(fù)雜環(huán)境中以完全分散的方式聚集并執(zhí)行導(dǎo)航任務(wù)。
上述應(yīng)用均采用質(zhì)點(diǎn)Agent模型,所得控制方案僅適用于旋翼無人機(jī)。與旋翼無人機(jī)不同,由于固定翼無人機(jī)飛行動(dòng)力學(xué)的非完整約束,固定翼無人機(jī)編隊(duì)協(xié)調(diào)控制更加復(fù)雜,需要采用有別于旋翼機(jī)的控制策略與方法。此外,固定翼無人機(jī)更易受空速、側(cè)風(fēng)等環(huán)境擾動(dòng)的影響,在動(dòng)態(tài)不確定環(huán)境中學(xué)習(xí)到的策略會(huì)隨著環(huán)境的變化而變化,導(dǎo)致強(qiáng)化學(xué)習(xí)算法難以收斂。到目前為止,將強(qiáng)化學(xué)習(xí)算法應(yīng)用于固定翼無人機(jī)編隊(duì)協(xié)調(diào)控制中的研究成果依然較少。
Hung等[8,20]對該問題進(jìn)行了初步的研究:2015年,其在無模型強(qiáng)化學(xué)習(xí)的背景下,研究了小型固定翼無人機(jī)在非平穩(wěn)環(huán)境下的聚集問題[20];該研究采用變學(xué)習(xí)率Dyna-Q(λ)算法學(xué)習(xí)Leader-Follower拓?fù)湎碌膮f(xié)調(diào)控制策略;仿真結(jié)果表明,所提變學(xué)習(xí)率方法具有更快的收斂速度;此外,所提方法還通過學(xué)習(xí)環(huán)境模型、并用規(guī)劃的方式產(chǎn)生大量的模擬經(jīng)驗(yàn)提高采樣效率、加快學(xué)習(xí)過程。2017年,Hung和Givigi又在此基礎(chǔ)上進(jìn)一步提出了面向隨機(jī)環(huán)境的無人機(jī)群集Q學(xué)習(xí)方法[8];該研究以小型固定翼無人機(jī)為研究對象,基于無模型RL提出了固定翼無人機(jī)協(xié)調(diào)控制框架;在該框架中,Agent采用變學(xué)習(xí)速率Q(λ)算法在Leader-Follower拓?fù)渲袑W(xué)習(xí)群集策略,并對抗環(huán)境的隨機(jī)擾動(dòng);非平穩(wěn)環(huán)境中的仿真試驗(yàn)驗(yàn)證了算法的可行性。
上述基于強(qiáng)化學(xué)習(xí)的固定翼無人機(jī)編隊(duì)協(xié)調(diào)控制方法仍有一些問題尚未得到妥善解決:為解決維度災(zāi)難問題,Hung等[8,20]將狀態(tài)空間離散化以縮減狀態(tài)空間的維度。這種處理方式雖然降低了問題的求解難度,但卻未必十分合理。此外,Hung等[8,20]僅在數(shù)值仿真環(huán)境對算法進(jìn)行了初步的驗(yàn)證,所提算法的實(shí)用性和泛化性仍需進(jìn)一步驗(yàn)證。
本文在Hung等[8,20]的研究基礎(chǔ)上,聚焦動(dòng)態(tài)不確定環(huán)境下固定翼無人機(jī)編隊(duì)協(xié)調(diào)控制問題,基于深度強(qiáng)化學(xué)習(xí)算法構(gòu)建端到端協(xié)調(diào)控制框架,實(shí)現(xiàn)多架無人僚機(jī)自主跟隨長機(jī)組成編隊(duì)協(xié)同飛行。首先,將ε-greedy策略與模仿策略相結(jié)合,提出ε-imitation動(dòng)作選擇策略以更好地平衡探索和利用;然后,結(jié)合雙重Q學(xué)習(xí)和競爭架構(gòu)對深度Q網(wǎng)絡(luò)(Deep Q-Network,DQN)算法進(jìn)行改進(jìn),提出ID3QN(Imitative Dueling Double Deep Q-Network)協(xié)調(diào)控制算法以提高學(xué)習(xí)效率;最后,構(gòu)建高保真半實(shí)物仿真系統(tǒng)驗(yàn)證算法的有效性和可遷移性。
在強(qiáng)化學(xué)習(xí)中,智能體以試錯(cuò)的方式不斷地與環(huán)境進(jìn)行交互,旨在學(xué)習(xí)一個(gè)最佳策略,使得其從環(huán)境中獲取的累積獎(jiǎng)勵(lì)達(dá)到最大[21]。強(qiáng)化學(xué)習(xí)問題可用MDP框架形式化描述。通常情況下,MDP可用一個(gè)四元組(S,A,P(s,s′,a),R(s,s′,a))定義,其中S表示狀態(tài)空間;A表示動(dòng)作空間;P(s,s′,a)表示狀態(tài)轉(zhuǎn)移概率函數(shù)(模型),該模型定義了智能體執(zhí)行動(dòng)作a∈A后,環(huán)境狀態(tài)s∈S轉(zhuǎn)移到新狀態(tài)s′∈S的概率;R(s,s′,a)表示回報(bào)函數(shù),其含義為智能體執(zhí)行動(dòng)作a∈A后,環(huán)境狀態(tài)s∈S轉(zhuǎn)移到新狀態(tài)s′∈S所帶來的獎(jiǎng)勵(lì)。
在智能體與環(huán)境交互中的每一時(shí)間步t,智能體觀測環(huán)境狀態(tài)為st,進(jìn)而根據(jù)策略π(at|st)從動(dòng)作空間A中選擇動(dòng)作at。執(zhí)行動(dòng)作at后,環(huán)境狀態(tài)以P(st+1|st,at)的概率轉(zhuǎn)移到新狀態(tài)st+1,并將回報(bào)值rt反饋給智能體。智能體的目標(biāo)在于學(xué)習(xí)一個(gè)最優(yōu)策略π*:S→A,即狀態(tài)空間到動(dòng)作空間的映射,以最大化期望折扣回報(bào)Rt:
(1)
式中:T為終止時(shí)刻;γ為折扣因子,用于平衡未來回報(bào)對累積回報(bào)的影響,0≤γ≤1;rt表示t時(shí)刻的立即回報(bào)。
Q學(xué)習(xí)(Q-learning)算法是強(qiáng)化學(xué)習(xí)領(lǐng)域最為經(jīng)典且最為重要的算法之一,是由Watkins和Dayan[22]提出的一種無模型(model-free)異策略(off-policy)的強(qiáng)化學(xué)習(xí)算法。該算法定義了Q值函數(shù)(Q-value),并使用如式(2)和式(3)所示的更新規(guī)則迭代優(yōu)化Q值函數(shù):
Q(st,at)=Q(st,at)+αδt
(2)
(3)
式中:δt為TD(Temporal-Difference)誤差;st為當(dāng)前狀態(tài);at為當(dāng)前動(dòng)作;st+1為執(zhí)行at后的環(huán)境狀態(tài);rt+1為立即回報(bào)值;α為學(xué)習(xí)率,0<α<1。
Q值函數(shù)一旦確定,即可根據(jù)Q值函數(shù)確定最優(yōu)策略:智能體以貪婪策略選擇動(dòng)作,即在每一時(shí)間步選擇最大Q值定義的動(dòng)作。Q學(xué)習(xí)算法實(shí)現(xiàn)簡單、應(yīng)用廣泛,但依然面臨“維度災(zāi)難”的問題。該算法通常以表格的形式存儲(chǔ)Q值,并不適用于高維或連續(xù)狀態(tài)空間中的強(qiáng)化學(xué)習(xí)問題。
為解決“維度災(zāi)難”問題,利用深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)作為函數(shù)逼近器估計(jì)Q值成為一種替代方案。Mnih等[23]將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和經(jīng)驗(yàn)回放技術(shù)引入Q學(xué)習(xí)算法,提出DQN算法,在Atari游戲中達(dá)到了人類玩家的水平。較之于Q學(xué)習(xí)算法,DQN除了使用CNN作為函數(shù)逼近器并引入經(jīng)驗(yàn)回放技術(shù)提高訓(xùn)練效率外,還設(shè)置單獨(dú)的目標(biāo)網(wǎng)絡(luò)來產(chǎn)生目標(biāo)Q值,以提高算法的穩(wěn)定性[23]:
(4)
DQN通過最小化損失函數(shù)
(5)
即主網(wǎng)絡(luò)輸出的估計(jì)Q值與目標(biāo)網(wǎng)絡(luò)輸出的目標(biāo)Q值之差來實(shí)時(shí)更新主網(wǎng)絡(luò)參數(shù)θ。與主網(wǎng)絡(luò)實(shí)時(shí)更新參數(shù)不同,目標(biāo)網(wǎng)絡(luò)參數(shù)每隔若干時(shí)間步更新一次。具體而言,每隔N時(shí)間步,將主網(wǎng)絡(luò)參數(shù)復(fù)制給目標(biāo)網(wǎng)絡(luò),從而完成目標(biāo)網(wǎng)絡(luò)參數(shù)θ-的更新。
DQN使用單獨(dú)的目標(biāo)網(wǎng)絡(luò)產(chǎn)生Q值。盡管該技巧降低了預(yù)測Q值(主網(wǎng)絡(luò)輸出)與目標(biāo)Q值(目標(biāo)網(wǎng)絡(luò)輸出)之間的相關(guān)性,在一定程度上緩解神經(jīng)網(wǎng)絡(luò)近似值函數(shù)時(shí)出現(xiàn)的不穩(wěn)定問題,但Q值“過估計(jì)”[24]的問題仍然沒有得到解決。為更好地分析這一問題,將式(4)展開,有
(6)
顯然,DQN的max操作使用相同的值函數(shù)(同一套參數(shù)θ-)進(jìn)行動(dòng)作選擇和動(dòng)作評(píng)估。這極易導(dǎo)致過高地估計(jì)Q值。為解決這一問題,Van Hasselt等[25]提出了雙重DQN算法(Double DQN,DDQN)。該算法使用兩個(gè)不同的值函數(shù)(兩套參數(shù))解耦動(dòng)作選擇與策略評(píng)估。DDQN的目標(biāo)Q值可表示為
(7)
式中:θ為主網(wǎng)絡(luò)參數(shù),用于選擇最優(yōu)動(dòng)作;θ-為目標(biāo)網(wǎng)絡(luò)的參數(shù),用于評(píng)估該動(dòng)作的價(jià)值。
除目標(biāo)Q值的形式不同外,DDQN均與DQN保持一致。Atari游戲中的實(shí)驗(yàn)結(jié)果表明,DDQN能夠更精確地估計(jì)Q值,獲得更穩(wěn)定有效的策略[25]。
(8)
式中:V(s)為狀態(tài)值函數(shù);|A|為動(dòng)作空間A的維度。
競爭架構(gòu)可以簡便地融入DQN或DDQN算法中。實(shí)驗(yàn)結(jié)果表明,基于競爭架構(gòu)的DQN算法能夠獲得更好的結(jié)果[26]。
在想定的協(xié)調(diào)控制場景中,無人機(jī)編隊(duì)采用Leader-Follower拓?fù)?,即一架長機(jī)帶領(lǐng)若干架僚機(jī)組成編隊(duì)遂行任務(wù)。長機(jī)的控制策略由飛行員根據(jù)具體任務(wù)類型(跟蹤、偵察等)和戰(zhàn)場態(tài)勢確定。長機(jī)通過通信鏈路將自身位置與姿態(tài)信息廣播給僚機(jī),僚機(jī)需要根據(jù)機(jī)載傳感器感知到的自身狀態(tài)信息和接收到的長機(jī)狀態(tài)信息,實(shí)時(shí)選擇最佳的控制指令(如滾轉(zhuǎn)角)。假設(shè)僚機(jī)在不同固定高度層飛行,故不必考慮飛機(jī)之間的避碰問題[8,20],因此不同僚機(jī)可使用相同的控制策略。每一架僚機(jī)均配備有自駕儀,每隔1 s[8,20],控制策略根據(jù)當(dāng)前系統(tǒng)狀態(tài)輸出新的控制指令,并發(fā)送給自駕儀,自駕儀使用PID控制器完成控制指令的底層閉環(huán)控制。
目標(biāo)是讓僚機(jī)在無任何先驗(yàn)知識(shí)的情況下,學(xué)習(xí)一種自主跟隨長機(jī)編隊(duì)飛行的控制策略。該策略能夠根據(jù)獲取的自身及長機(jī)的狀態(tài)信息,確定當(dāng)前給定狀態(tài)的最佳滾轉(zhuǎn)角設(shè)定值(自駕儀據(jù)此設(shè)定值完成閉環(huán)控制),維持僚機(jī)與長機(jī)之間合理的位置關(guān)系(即僚機(jī)在以長機(jī)為中心的圓環(huán)內(nèi),如圖1所示),以實(shí)現(xiàn)Leader-Follower拓?fù)湎碌臒o人機(jī)編隊(duì)協(xié)調(diào)控制。
圖1 長機(jī)與僚機(jī)期望位置關(guān)系Fig.1 Positional relationship between leader and followers
試錯(cuò)學(xué)習(xí)是無模型強(qiáng)化學(xué)習(xí)重要的特征之一。由于無人機(jī)的特殊性,在真實(shí)環(huán)境中進(jìn)行試錯(cuò)是不現(xiàn)實(shí)的,且在高保真的仿真環(huán)境下進(jìn)行學(xué)習(xí)亦需要花費(fèi)大量的時(shí)間。為提高學(xué)習(xí)的效率,思路為根據(jù)真實(shí)飛機(jī)運(yùn)動(dòng)學(xué)的經(jīng)驗(yàn)特性,考慮環(huán)境擾動(dòng)建立無人機(jī)運(yùn)動(dòng)學(xué)數(shù)值模型,并以此為基礎(chǔ)應(yīng)用深度強(qiáng)化學(xué)習(xí)方法學(xué)習(xí)無人機(jī)編隊(duì)的協(xié)調(diào)控制策略,進(jìn)而將該策略應(yīng)用(遷移)到真實(shí)世界。
在真實(shí)世界,無人機(jī)運(yùn)動(dòng)學(xué)通常由六自由度模型描述。考慮到無人機(jī)保持定高飛行,該模型可簡化至四自由度。為了彌補(bǔ)簡化帶來的損失,同時(shí)考慮環(huán)境擾動(dòng)的影響,故而在滾轉(zhuǎn)、空速等各個(gè)子狀態(tài)引入隨機(jī)性[27],所得隨機(jī)無人機(jī)運(yùn)動(dòng)學(xué)模型為
(9)
由于隨機(jī)性的影響,無人機(jī)在同一初始狀態(tài)下執(zhí)行相同動(dòng)作會(huì)產(chǎn)生不同的終止?fàn)顟B(tài)。如圖2所示,初始時(shí)刻,無人機(jī)位于原點(diǎn)(x=0,y=0),并朝向+x方向(ψ=0),執(zhí)行同一控制指令后,無人機(jī)可能位于完全不同的位置。這說明所建運(yùn)動(dòng)學(xué)模型中引入的隨機(jī)項(xiàng)能夠模擬真實(shí)世界的隨機(jī)性。
圖2 隨機(jī)性對無人機(jī)狀態(tài)影響Fig.2 Collection of possible resulting UAV states due to stochasticity
在無模型強(qiáng)化學(xué)習(xí)的背景下,將無人機(jī)編隊(duì)協(xié)調(diào)控制問題建模為馬爾可夫決策過程。依次對該模型的3個(gè)要素,即狀態(tài)表示、動(dòng)作空間和回報(bào)函數(shù)進(jìn)行定義。
2.2.1 狀態(tài)表示
由式(9)可知,無人機(jī)的狀態(tài)可以通過四維數(shù)組ξ:=[x,y,ψ,φ]表示。在Leader-Follower拓?fù)湎碌木庩?duì)協(xié)調(diào)控制問題中,長機(jī)與僚機(jī)之間的相對關(guān)系(如距離、航向差等)對于控制策略的制定有著至關(guān)重要的影響。假定ξl:=[xl,yl,ψl,φl]代表長機(jī)狀態(tài),ξf:=[xf,yf,ψf,φf]代表僚機(jī)狀態(tài),若定義系統(tǒng)聯(lián)合狀態(tài)為s:=[s1,s2,s3,s4,s5,s6],則
(10)
需要指出的是,不同于文獻(xiàn)[8,20],本文沒有對狀態(tài)空間進(jìn)行離散化以簡化問題,而是直接在連續(xù)狀態(tài)空間中求解無人機(jī)編隊(duì)協(xié)調(diào)控制問題。
2.2.2 動(dòng)作空間
如前所述,無人機(jī)的操控通過改變滾轉(zhuǎn)角設(shè)定值實(shí)現(xiàn)??刂撇呗悦扛? s更新一次滾轉(zhuǎn)指令,間隔時(shí)間內(nèi)由自駕儀完成底層閉環(huán)控制??紤]到無人機(jī)的最大加速度,并避免滾轉(zhuǎn)角的劇烈變化影響無人機(jī)的安全飛行,定義滾轉(zhuǎn)動(dòng)作空間a∈A為
(11)
(12)
式中:a為選定的滾轉(zhuǎn)動(dòng)作;[-rbd,rbd]為無人機(jī)滾轉(zhuǎn)角的范圍。
2.2.3 回報(bào)函數(shù)
在強(qiáng)化學(xué)習(xí)中,設(shè)計(jì)合理的回報(bào)函數(shù)至關(guān)重要。參考文獻(xiàn)[28]設(shè)計(jì)的成本函數(shù),定義回報(bào)函數(shù)為
(13)
式中:r為立即回報(bào)值;d1和d2分別為圓環(huán)的內(nèi)半徑和外半徑(以長機(jī)為中心,見圖1);d為僚機(jī)到圓環(huán)的距離;ω為調(diào)整因子,用以調(diào)整d的權(quán)重;ρ為長機(jī)與僚機(jī)之間的距離。
圖3為長機(jī)與僚機(jī)相對位置關(guān)系對回報(bào)函數(shù)的影響??芍?dāng)僚機(jī)位于以長機(jī)為中心的圓環(huán)內(nèi)時(shí),回報(bào)函數(shù)值最高;在圓環(huán)外部,當(dāng)僚機(jī)靠近或遠(yuǎn)離長機(jī)時(shí),回報(bào)函數(shù)值降低。這與圖1所描述的場景想定是一致的。
圖3 長僚機(jī)相對位置與回報(bào)函數(shù)的關(guān)系Fig.3 Relation between position of follower relative to leader and reward function
DQN算法結(jié)合了深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的優(yōu)勢,能夠較好地處理高維連續(xù)狀態(tài)空間下的RL問題。因此,該算法在機(jī)器人領(lǐng)域得到了廣泛的應(yīng)用[29-30]。結(jié)合雙重Q學(xué)習(xí)和競爭網(wǎng)絡(luò),在DQN算法的基礎(chǔ)之上進(jìn)行,提出ID3QN算法,并應(yīng)用該算法解決連續(xù)狀態(tài)空間中無人機(jī)編隊(duì)的協(xié)調(diào)控制問題。
為提高訓(xùn)練階段D3QN的學(xué)習(xí)效率,將ε-greedy策略與模仿策略相結(jié)合,提出ε-imitation動(dòng)作選擇策略平衡探索與利用。所謂模仿策略,是指僚機(jī)模仿長機(jī)行為(滾轉(zhuǎn)指令)、參照長機(jī)的狀態(tài)信息選擇自身的滾轉(zhuǎn)指令。ε-imitation動(dòng)作選擇策略的主要實(shí)現(xiàn)步驟見算法1。
該策略降低了初始階段僚機(jī)的盲目性,減少了無效探索的次數(shù),增加了經(jīng)驗(yàn)池中正樣本的數(shù)量,有助于訓(xùn)練效率的提升。
為準(zhǔn)確地估計(jì)Q函數(shù),構(gòu)建如圖4所示的D3QN網(wǎng)絡(luò)模型。該網(wǎng)絡(luò)以系統(tǒng)聯(lián)合狀態(tài)為輸入,輸出為所有有效動(dòng)作的Q值。上述D3QN由兩個(gè)子網(wǎng)絡(luò)組成:多層感知機(jī)和競爭網(wǎng)絡(luò)。多層感知機(jī)包含3層全連接層(Fully-Connected,F(xiàn)C),隱含節(jié)點(diǎn)數(shù)分別為64、256和128,均使用ReLU激活函數(shù)[31]。競爭網(wǎng)絡(luò)包含兩個(gè)支路:狀態(tài)值函數(shù)支路和優(yōu)勢函數(shù)支路。狀態(tài)值函數(shù)支路和優(yōu)勢函數(shù)支路均包含兩層全連接層,兩支路第1層全連接層的隱含節(jié)點(diǎn)數(shù)均為64,亦使用ReLU激活函數(shù)[31]。狀態(tài)值函數(shù)支路第2層全連接層的網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)為1,輸出值為當(dāng)前狀態(tài)的值函數(shù);而優(yōu)勢函數(shù)支路第2層全連接層的網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)為3,輸出值表示動(dòng)作空間中3個(gè)待選動(dòng)作的優(yōu)勢函數(shù)。D3QN(Dueling Double Deep Q-Network)輸出層的輸出為當(dāng)前狀態(tài)下各個(gè)待選動(dòng)作的Q值,其值可通過“聚合”兩支路的輸出值得出。“聚合”操作的計(jì)算公式由式(8)定義。
圖4 D3QN網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Network structure for D3QN
采用ID3QN算法實(shí)現(xiàn)固定翼無人機(jī)編隊(duì)協(xié)調(diào)控制,訓(xùn)練過程如圖5所示。僚機(jī)被映射為RL中的智能體,智能體在與環(huán)境的不斷交互中學(xué)習(xí)控制策略,更新網(wǎng)絡(luò)參數(shù)。僚機(jī)獲取長機(jī)的狀態(tài)信息及自身的狀態(tài)信息,組成聯(lián)合系統(tǒng)狀態(tài)s輸入到D3QN網(wǎng)絡(luò)中,ε-imitation動(dòng)作選擇策略根據(jù)D3QN的輸出選取僚機(jī)的滾轉(zhuǎn)動(dòng)作a;分別將長機(jī)(長機(jī)的滾轉(zhuǎn)動(dòng)作隨機(jī)產(chǎn)生以增加系統(tǒng)的隨機(jī)性)和僚機(jī)的滾轉(zhuǎn)指令輸入隨機(jī)無人機(jī)運(yùn)動(dòng)學(xué)模型,得到長機(jī)和僚機(jī)下一時(shí)刻的狀態(tài);回報(bào)函數(shù)值r和下一時(shí)刻系統(tǒng)狀態(tài)s′亦可隨之得出。交互過程中所產(chǎn)生的元組數(shù)據(jù)(s,a,r,s′)均被保持到經(jīng)驗(yàn)池中。在每一時(shí)間步,從經(jīng)驗(yàn)池中進(jìn)行隨機(jī)采樣,批次更新D3QN的網(wǎng)絡(luò)參數(shù)。當(dāng)每回合的時(shí)間步達(dá)到一定步數(shù),結(jié)束該回合,重新開始下一回合的學(xué)習(xí)?;贗D3QN的協(xié)調(diào)控制算法的主要實(shí)現(xiàn)步驟見算法2。
圖5 ID3QN協(xié)調(diào)控制算法訓(xùn)練框圖Fig.5 Block diagram of ID3QN coordination control algorithm
算法2 ID3QN算法輸入:單回合最大時(shí)間步Ns;最大訓(xùn)練回合數(shù)Nmax1: 初始化經(jīng)驗(yàn)池D(最大容量為N);隨機(jī)初始化D3QN主網(wǎng)絡(luò)參數(shù)θ;初始化目標(biāo)網(wǎng)絡(luò)參數(shù)θ-←θ2: repeat (for每一回合)3: 隨機(jī)初始化系統(tǒng)狀態(tài)s←ξl,ξf,φld ;t=14: whilet ≤ Ns do5: 根據(jù)ε-imitation動(dòng)作選擇策略(算法1)選取僚機(jī)滾轉(zhuǎn)動(dòng)作a6: 由式(12)計(jì)算僚機(jī)滾轉(zhuǎn)角設(shè)定值φfd7: 將控制指令φfd應(yīng)用到無人機(jī)運(yùn)動(dòng)學(xué)模型(式(9))中,生成僚機(jī)下一時(shí)刻狀態(tài)ξ'f8: 觀測下一時(shí)刻長機(jī)的狀態(tài)ξ'l和滾轉(zhuǎn)角設(shè)定值φ'ld9: 由式(10)構(gòu)建系統(tǒng)狀態(tài)s'←(ξ'l,ξ'f,φ'ld)10: 根據(jù)式(13)計(jì)算立即回報(bào)r11: 將狀態(tài)轉(zhuǎn)移數(shù)據(jù)元組(s, a, r, s')保存到經(jīng)驗(yàn)池D中12: 若經(jīng)驗(yàn)池溢出,即D>N,則刪除D中最早的經(jīng)驗(yàn)數(shù)據(jù)13: 從經(jīng)驗(yàn)池D中隨機(jī)抽取Nb個(gè)樣本(sj,aj,rj,sj +1)(j = 1, 2, …, Nb)14: 計(jì)算每一元組數(shù)據(jù)的目標(biāo)Q值:yj=rj+γQ(sj+1,argmaxa' Q(sj+1,a';θ);θ-)15: 根據(jù)損失函數(shù)更新主網(wǎng)絡(luò)參數(shù)θ:L=1Nb∑jyj-Q(sj,aj;θ)216: 朝向主網(wǎng)絡(luò)更新目標(biāo)網(wǎng)絡(luò)參數(shù)θ-:θ-←τ θ+(1-τ)θ-(τ為軟更新率)17: s←s';[ξl,ξf,φld]←[ξ'l,ξ'f,φ'ld];t←t+118: end while19:until最大訓(xùn)練回合數(shù)
在Python環(huán)境中基于TensorFlow框架構(gòu)建D3QN網(wǎng)絡(luò)。D3QN的網(wǎng)絡(luò)參數(shù)均使用Adam優(yōu)化算法進(jìn)行更新,batch size(Nb)設(shè)為32。共進(jìn)行50 000回合的訓(xùn)練,每回合的仿真時(shí)間為30 s, 即最大訓(xùn)練回合數(shù)Nmax=50 000,每回合的最大時(shí)間步Ns= 30。需要指出的是,在正式訓(xùn)練前進(jìn)行200回合的預(yù)訓(xùn)練,用于收集經(jīng)驗(yàn)數(shù)據(jù)以進(jìn)行批次訓(xùn)練。在訓(xùn)練過程中,探索率ε在10 000 回合內(nèi)從初始值1.0線性衰減到最小值0.1; D3QN主網(wǎng)絡(luò)參數(shù)的學(xué)習(xí)率α與目標(biāo)網(wǎng)絡(luò)的更新率τ從初始值(0.010, 0.001 0)指數(shù)衰減到最小值(0.001, 0.000 1),衰減頻率為1 000回合,衰減率為0.9,即每隔1 000回合衰減為原來的0.9倍。 訓(xùn)練過程中所需參數(shù)的經(jīng)驗(yàn)值詳見表1。
表1 ID3QN參數(shù)設(shè)置Table 1 Parameter settings for ID3QN
4.2.1 訓(xùn)練結(jié)果分析
為對策略進(jìn)行有效的評(píng)價(jià)分析,使用單位回合內(nèi)(如Ne回合)每一時(shí)間步的平均回報(bào)GAve作為度量標(biāo)準(zhǔn)來評(píng)價(jià)策略的優(yōu)劣,其定義為
(14)
式中:r為立即回報(bào),由式(13)確定。
為驗(yàn)證提出的ID3QN協(xié)調(diào)控制算法的可行性和有效性,分別使用DDQN、D3QN和ID3QN算法進(jìn)行對比實(shí)驗(yàn)。其中,D3QN使用ε-greedy動(dòng)作選擇策略,其他流程與ID3QN完全相同;DDQN與D3QN算法流程完全相同,二者唯一的區(qū)別在于網(wǎng)絡(luò)結(jié)構(gòu)的不同:D3QN多層感知機(jī)分為兩個(gè)支路分別估計(jì)狀態(tài)值函數(shù)和優(yōu)勢函數(shù),而后通過式(8)定義的“聚合”操作產(chǎn)生Q值,而DDQN僅構(gòu)造單個(gè)支路的全連接層直接近似Q函數(shù)。為保證對比實(shí)驗(yàn)的公平性,上述3種算法均使用相同的深度網(wǎng)絡(luò)結(jié)構(gòu)(見圖4,DDQN沒有進(jìn)行拆分操作,僅有1個(gè)支路)和參數(shù)設(shè)置(見表1)。 在整個(gè)訓(xùn)練過程中,每隔100回合(即Ne=100) 記錄一次平均回報(bào)GAve的值,上述3種算法的學(xué)習(xí)曲線如圖6所示。
由圖6可知,在訓(xùn)練初期,3種算法的回報(bào)曲線均快速上升;在大約10 000回合的訓(xùn)練后,3種算法獲取的平均回報(bào)逐漸趨于穩(wěn)定。DDQN與D3QN的回報(bào)曲線幾乎重合,這意味著兩種算法具有大體相當(dāng)?shù)男阅?;而在?xùn)練初期,D3QN的回報(bào)曲線增長速度略高于DDQN,這表明競爭網(wǎng)絡(luò)可以更有效地學(xué)習(xí)Q函數(shù)。與以上兩種算法相比,ID3QN算法無論是在初始階段還是在收斂階段都能夠獲取最高的平均回報(bào);這意味著在ε-imitation動(dòng)作選擇策略的引導(dǎo)下,ID3QN算法能夠更快更有效地學(xué)習(xí)最佳策略。
圖6 3種算法的學(xué)習(xí)曲線Fig.6 Learning curves of three algorithms
4.2.2 測試結(jié)果分析
完成4.2.1節(jié)的訓(xùn)練過程后,對訓(xùn)練后的協(xié)調(diào)控制策略進(jìn)行測試分析。測試實(shí)驗(yàn)中,兩架僚機(jī)與一架長機(jī)組成編隊(duì)。每隔1 s,長機(jī)隨機(jī)選擇滾轉(zhuǎn)動(dòng)作,而僚機(jī)根據(jù)訓(xùn)練后D3QN網(wǎng)絡(luò)的輸出選擇最大Q值所對應(yīng)的滾轉(zhuǎn)動(dòng)作。實(shí)驗(yàn)中,最大時(shí)間步(Ns)設(shè)置為120,即仿真時(shí)間為2 min。編隊(duì)的飛行軌跡見圖7,飛行過程中立即回報(bào)值r、僚機(jī)與長機(jī)之間的距離ρ和航向差Δψ的變化曲線情況見圖8。
圖7 數(shù)值仿真中ID3QN策略的測試結(jié)果Fig.7 Testing results of ID3QN policy in numerical simulation
圖8 數(shù)值仿真中ID3QN策略的性能曲線Fig.8 Performance curves of ID3QN policy in numerical simulation
圖7直觀地展示了ID3QN協(xié)調(diào)控制策略的效果。無論是在前期和后期的轉(zhuǎn)彎階段,還是在中期的平直飛行階段,兩架僚機(jī)均能較好地跟隨長機(jī)飛行。值得注意的是,在55 s左右,兩架僚機(jī)均位于長機(jī)前方且距長機(jī)較遠(yuǎn)。在之后的十多秒內(nèi),兩架僚機(jī)通過大滾轉(zhuǎn)角機(jī)動(dòng)實(shí)現(xiàn)了繞圈飛行(見圖7紫色方框內(nèi))。這是因?yàn)闈L轉(zhuǎn)角是僚機(jī)唯一的控制量,兩架僚機(jī)只能通過盤旋來縮小與長機(jī)之間的距離。在之后的飛行中,僚機(jī)可以維持與長機(jī)之間的距離在70 m上下,航向差大致在±25°的范圍之內(nèi)。
除以上的定性評(píng)價(jià)外,繼續(xù)進(jìn)行定量測試以進(jìn)一步分析所得協(xié)調(diào)控制器的有效性。在定量測試實(shí)驗(yàn)中,4架僚機(jī)分別使用3.1節(jié)提出的模仿策略和4.2.1節(jié)訓(xùn)練得到的DDQN、D3QN和ID3QN 3種控制策略跟隨長機(jī)協(xié)同飛行。實(shí)驗(yàn)共進(jìn)行100回合,每回合的仿真時(shí)間(Ns)設(shè)為120 s。在每回合的實(shí)驗(yàn)中,長機(jī)的初始狀態(tài)和滾轉(zhuǎn)指令隨機(jī)產(chǎn)生。為保證測試實(shí)驗(yàn)的公平性,4架僚機(jī)的初始狀態(tài)隨機(jī)產(chǎn)生并保持一致。4種策略的測試結(jié)果見表2。
由表2可知,3種基于DQN的深度強(qiáng)化學(xué)習(xí)算法(即DDQN、D3QN和ID3QN)獲得了遠(yuǎn)高于模仿策略的平均回報(bào);同時(shí),3種算法所得平均回報(bào)的方差遠(yuǎn)低于模仿策略。這意味著基于DQN的無人機(jī)編隊(duì)協(xié)調(diào)控制策略具有良好的可行性和穩(wěn)定性。大體來看,3種策略所獲取的平均回報(bào)相差不大,ID3QN所得平均回報(bào)略高。與D3QN和DDQN相比,ID3QN策略的方差最低,這意味ID3QN具有更好的魯棒性。上述結(jié)果表明,提出的ID3QN算法的性能優(yōu)于D3QN和DDQN算法。
表2 測試階段4種策略性能對比
為展示所提ID3QN協(xié)調(diào)控制算法的泛化能力和應(yīng)用價(jià)值,基于X-Plane 10飛行仿真器建立高保真半實(shí)物仿真系統(tǒng)進(jìn)行硬件在環(huán)實(shí)驗(yàn),驗(yàn)證所得策略的實(shí)用性。
4.3.1 半實(shí)物仿真系統(tǒng)
如圖9所示,搭建的高保真半實(shí)物仿真系統(tǒng)由地面控制站、飛行仿真器、自動(dòng)駕駛儀和機(jī)載處理器組成:
圖9 高保真半實(shí)物仿真系統(tǒng)Fig.9 High-fidelity semi-physical simulation system
1) 使用課題組開發(fā)的多機(jī)控制站SuperStation作為地面控制站,完成對多架無人機(jī)的控制,如模式切換、航線規(guī)劃等。
2) 使用商業(yè)飛行模擬軟件X-Plane 10作為飛行仿真器,X-Plane 10能夠模擬風(fēng)速變化、天氣變化等環(huán)境擾動(dòng)。
3) 選擇PIXHAWK作為自動(dòng)駕駛儀的硬件平臺(tái)。
4) 使用英偉達(dá)Jetson TX2作為機(jī)載處理器。
長機(jī)和僚機(jī)共享一個(gè)地面控制站,即地面站可以同時(shí)監(jiān)控長機(jī)和僚機(jī)。二者的機(jī)載處理器通過RJ45網(wǎng)線連接,模擬機(jī)間無線通信鏈路。
協(xié)調(diào)控制軟件架構(gòu)如圖10所示,選用PX4開源飛控作為PIXHAWK自動(dòng)駕駛儀的軟件棧。ID3QN協(xié)調(diào)控制策略運(yùn)行在TX2上,TX2上安裝有Ubuntu 14.04操作系統(tǒng)和機(jī)器人操作系統(tǒng)(Robot Operating System,ROS)。TX2與PIXHAWK/PX4通過MavLink協(xié)議連接。使用以下節(jié)點(diǎn)實(shí)現(xiàn)無人機(jī)編隊(duì)的協(xié)調(diào)控制:
圖10 協(xié)調(diào)控制軟件架構(gòu)Fig.10 Software architecture for coordination control
1) Communicator節(jié)點(diǎn):通過UDP協(xié)議接收長機(jī)狀態(tài)信息。
2) Flocking Commander節(jié)點(diǎn):基于ID3QN算法完成上層協(xié)調(diào)控制。
3) Controller節(jié)點(diǎn):通過PID控制器完成底層閉環(huán)控制。
4) MAVROS節(jié)點(diǎn):通過MavLink協(xié)議同PX4建立連接獲取自身狀態(tài)信息。
4.3.2 實(shí)驗(yàn)結(jié)果分析
在半實(shí)物仿真實(shí)驗(yàn)中,一架僚機(jī)直接使用數(shù)值仿真環(huán)境中訓(xùn)練得到的ID3QN協(xié)調(diào)控制策略完成跟隨長機(jī)飛行的任務(wù)。長機(jī)采用隨機(jī)策略生成滾轉(zhuǎn)指令,僚機(jī)根據(jù)訓(xùn)練后的ID3QN策略每隔1 s更新一次滾轉(zhuǎn)指令,完成協(xié)調(diào)控制。二者的控制策略分別獨(dú)立運(yùn)行在各自的機(jī)載處理器上,二者的機(jī)載處理器通過網(wǎng)線連接,長機(jī)通過UDP協(xié)議將自身狀態(tài)信息發(fā)送給僚機(jī)。半實(shí)物仿真實(shí)驗(yàn)流程如下:
1) 在MANUAL模式下使用地面站控制長機(jī)與僚機(jī)起飛。
2) 使用地面站控制飛機(jī)切入MISSION模式,兩機(jī)按照預(yù)設(shè)航線飛行,并保持一定距離。
3) 使用地面站控制僚機(jī)切入OFFBOARD模式,僚機(jī)根據(jù)ID3QN策略完成跟隨飛行任務(wù)。在每一時(shí)間步,F(xiàn)locking Commander節(jié)點(diǎn)根據(jù)ID3QN策略更新滾轉(zhuǎn)指令,決策過程如下:① 從Communicator節(jié)點(diǎn)獲取長機(jī)狀態(tài)(即位置、姿態(tài)和速度)信息,而后將其與從MAVROS節(jié)點(diǎn)獲取的自身狀態(tài)相結(jié)合,構(gòu)建系統(tǒng)狀態(tài);② 載入數(shù)值仿真環(huán)境中訓(xùn)練得到的D3QN網(wǎng)絡(luò)模型參數(shù);③ 以 系統(tǒng)狀態(tài)為輸入,D3QN網(wǎng)絡(luò)輸出滾轉(zhuǎn)指令,進(jìn)而生成滾轉(zhuǎn)角設(shè)定值;④ 向Controller節(jié)點(diǎn)發(fā)布滾轉(zhuǎn)角設(shè)定值,該節(jié)點(diǎn)據(jù)此通過PID控制器完成底層閉環(huán)控制。
4) 一段時(shí)間后,使用地面站控制飛機(jī)切入RETURN模式,實(shí)驗(yàn)結(jié)束。
硬件在環(huán)仿真飛行實(shí)驗(yàn)共持續(xù)120 s,長機(jī)的滾轉(zhuǎn)角設(shè)定值在-10°~10°之間隨機(jī)產(chǎn)生,飛行速度設(shè)置為10 m/s。實(shí)驗(yàn)中長僚機(jī)的飛行軌跡、航向角和滾轉(zhuǎn)角的變化情況見圖11,飛行過程中的立即回報(bào)值r、長僚機(jī)之間的距離ρ和航向差Δψ見圖12。在初始時(shí)刻,僚機(jī)與長機(jī)之間的距離高達(dá)110 m,且僚機(jī)位于長機(jī)的前方。在隨后20多秒的時(shí)間內(nèi),僚機(jī)通過盤旋飛行成功將兩機(jī)之間的距離縮短到75 m之內(nèi)。這是因?yàn)闈L轉(zhuǎn)角是僚機(jī)唯一的控制量,僚機(jī)只能通過盤旋縮小其與長機(jī)之間的距離。在之后的飛行中,無論長機(jī)平直飛行還是機(jī)動(dòng)轉(zhuǎn)彎,僚機(jī)均能及時(shí)做出反應(yīng),穩(wěn)定地跟隨長機(jī)飛行。需要指出的是,訓(xùn)練得到的控制策略在用于半實(shí)物仿真環(huán)境下的仿真飛行實(shí)驗(yàn)時(shí)并沒有進(jìn)行任何的參數(shù)調(diào)整。上述結(jié)果充分表明,所提ID3QN算法訓(xùn)練得到的協(xié)調(diào)控制策略可直接遷移到半實(shí)物仿真環(huán)境中,具有較強(qiáng)的適應(yīng)性及良好的實(shí)用性。
圖11 硬件在環(huán)實(shí)驗(yàn)結(jié)果Fig.11 Results of hardware-in-loop simulation
圖12 硬件在環(huán)實(shí)驗(yàn)中ID3QN策略的性能曲線Fig.12 Performance curves of ID3QN policy in hardware-in-loop simulation
聚焦動(dòng)態(tài)不確定環(huán)境下的固定翼無人機(jī)編隊(duì)協(xié)調(diào)控制問題,基于深度強(qiáng)化學(xué)習(xí)提出了無人機(jī)編隊(duì)協(xié)調(diào)控制方法。首先在強(qiáng)化學(xué)習(xí)背景下對無人機(jī)協(xié)調(diào)控制問題進(jìn)行了形式化描述,建立了協(xié)調(diào)控制MDP模型。進(jìn)而將ε-greedy策略與模仿策略相結(jié)合,提出了ε-imitation動(dòng)作選擇策略,并將其引入DQN算法,提出了ID3QN算法以提高算法的學(xué)習(xí)效率。數(shù)組仿真環(huán)境下的訓(xùn)練結(jié)果和測試結(jié)果明:在ε-imitation動(dòng)作選擇策略的引導(dǎo)下,ID3QN算法能夠更快更有效地學(xué)習(xí)最佳策略。最后,構(gòu)建高保真半實(shí)物仿真系統(tǒng)驗(yàn)證了算法的有效性和可遷移性。硬件在環(huán)飛行仿真實(shí)驗(yàn)顯示,數(shù)值仿真環(huán)境下訓(xùn)練得到的控制策略無需任何參數(shù)調(diào)整即可直接遷移到半實(shí)物仿真系統(tǒng)中。這一結(jié)果表明,提出的ID3QN協(xié)調(diào)控制算法具有較強(qiáng)的適應(yīng)性及良好的實(shí)用性。