曾毓凌 郝宇清 于 穎 王青云
(北京航空航天大學(xué)航空科學(xué)與工程學(xué)院,北京 100191)
21 世紀(jì)以來(lái),隨著半導(dǎo)體技術(shù)、車(chē)輛技術(shù)、控制科學(xué)、人工智能和通信技術(shù)的不斷發(fā)展,無(wú)人機(jī)和無(wú)人車(chē)等新穎的運(yùn)載設(shè)備逐漸從最初的創(chuàng)意設(shè)計(jì)變成了我們?nèi)粘I钪械囊徊糠?隨著工業(yè)發(fā)展中不斷升級(jí)的制造需求和對(duì)更先進(jìn)的生產(chǎn)力需求,無(wú)人車(chē)和無(wú)人機(jī)等工具也從一個(gè)傳統(tǒng)的運(yùn)載體向智能體的方向發(fā)展,其智能化程度正在飛快發(fā)展.然而,由于現(xiàn)代工程的復(fù)雜性和多樣性,許多任務(wù)很難通過(guò)單個(gè)智能體完成,如大型設(shè)備的搬運(yùn)和組裝、大規(guī)模搜索與識(shí)別、復(fù)雜礦洞的數(shù)字建模,以及多樣性的軍事作戰(zhàn)任務(wù)等.在許多這樣的場(chǎng)景中,多智能體的協(xié)作往往能比進(jìn)行單一智能體的功能擴(kuò)充帶來(lái)更好的效果,例如節(jié)省復(fù)雜系統(tǒng)的研發(fā)成本,減少對(duì)硬件和軟件復(fù)雜性的要求[1].一個(gè)典型的例子就是在空戰(zhàn)中不同種類飛機(jī)的配合,其協(xié)同作戰(zhàn)效率和能力遠(yuǎn)大于將所有功能集成于單一飛機(jī)[2].
關(guān)于多智能體協(xié)同控制問(wèn)題,目前主要的研究方向有一致性控制[3-4]、編隊(duì)控制[5]和編隊(duì)-合圍控制[6]等.多智能體協(xié)同控制的控制器設(shè)計(jì)方法目前主要有領(lǐng)導(dǎo)-跟隨法[7-8]、虛擬結(jié)構(gòu)法[9]、基于行為法[10]及基于一致性理論的方法[11-12]等.但現(xiàn)有的控制器設(shè)計(jì)方法大多是基于精確的線性模型,不能很好地刻畫(huà)地面輪式車(chē)輛等運(yùn)載體的動(dòng)力學(xué)行為.無(wú)人車(chē)的動(dòng)力學(xué)行為具有較強(qiáng)的非線性,且存在非完整約束和欠驅(qū)動(dòng)問(wèn)題,傳統(tǒng)的基于線性系統(tǒng)理論設(shè)計(jì)的控制器有時(shí)候在實(shí)際無(wú)人車(chē)控制中效果欠佳.況且,當(dāng)模型具有不確定性時(shí)基于精確模型的控制方法魯棒性較差.而機(jī)器學(xué)習(xí)的方法具有強(qiáng)大的擬合能力,對(duì)模型的要求度低,已廣泛應(yīng)用在各種力學(xué)問(wèn)題當(dāng)中[13].相較于基于精確模型設(shè)計(jì)控制器的方法,強(qiáng)化學(xué)習(xí)的基本思路不再是人為地利用多智能體的精確模型設(shè)計(jì)各種形式的控制器,而是利用機(jī)器學(xué)習(xí)的方法建立高維狀態(tài)空間到動(dòng)作空間的映射,相當(dāng)于一個(gè)黑箱控制器模型,是一種較為新穎的控制器設(shè)計(jì)方式[14].結(jié)合了深度神經(jīng)網(wǎng)絡(luò)的深度強(qiáng)化學(xué)習(xí)在特征表示方面具有非常強(qiáng)大的能力,該能力在構(gòu)建狀態(tài)-動(dòng)作映射時(shí)發(fā)揮了重要作用,在非線性動(dòng)力學(xué)與控制問(wèn)題以及欠驅(qū)動(dòng)控制問(wèn)題中具有較好的應(yīng)用價(jià)值[15].況且,模型的訓(xùn)練只需要智能體的輸入輸出數(shù)據(jù),而不需要系統(tǒng)的精確模型,本質(zhì)上是一種數(shù)據(jù)驅(qū)動(dòng)的無(wú)模型控制方法,在模型參數(shù)未知、模型存在擾動(dòng)和攝動(dòng)時(shí)仍然可以學(xué)習(xí)到控制器[16].傳統(tǒng)的基于模型的控制方法與基于深度強(qiáng)化學(xué)習(xí)的控制方法的優(yōu)缺點(diǎn)對(duì)比如表1 所示.
表1 兩種控制方法對(duì)比Table 1 Comparison of two control methods
Bae 等[17]結(jié)合CNN 卷積神經(jīng)網(wǎng)絡(luò)和強(qiáng)化學(xué)習(xí)算法解決了多機(jī)器人的路徑規(guī)劃問(wèn)題.Zhu 等[18]利用MADDPG 算法解決多機(jī)器人運(yùn)動(dòng)避障問(wèn)題,并加入了優(yōu)先經(jīng)驗(yàn)回放機(jī)制來(lái)更好地利用強(qiáng)化學(xué)習(xí)隨機(jī)動(dòng)作儲(chǔ)存的經(jīng)驗(yàn)數(shù)據(jù),但其使用的是質(zhì)點(diǎn)運(yùn)動(dòng)學(xué)模型,并不能很好地刻畫(huà)真實(shí)的多智能體運(yùn)動(dòng).Hung等[19]利用Q-learning 的強(qiáng)化學(xué)習(xí)算法,結(jié)合無(wú)人機(jī)運(yùn)動(dòng)學(xué)模型,解決了領(lǐng)導(dǎo)-跟隨問(wèn)題.李波等[20]利用MADDPG 算法解決無(wú)人機(jī)群在威脅區(qū)域中的“避險(xiǎn)”飛行問(wèn)題.張海峰等[21]針對(duì)非線性多智能體控制問(wèn)題,利用HJB 方程來(lái)設(shè)計(jì)控制律,并利用強(qiáng)化學(xué)習(xí)的方法來(lái)求解HJB 方程進(jìn)而得到最優(yōu)控制器.趙啟等[22]利用D3QN 深度強(qiáng)化學(xué)習(xí)算法和無(wú)人機(jī)運(yùn)動(dòng)學(xué)模型來(lái)研究長(zhǎng)機(jī)-僚機(jī)編隊(duì)的橫向距離保持問(wèn)題,后續(xù)又采用DDQN 深度強(qiáng)化學(xué)習(xí)算法研究長(zhǎng)機(jī)-僚機(jī)編隊(duì)中的橫向距離保持和縱向速度跟蹤問(wèn)題[23].馬曉帆[24]主要研究了商用車(chē)隊(duì)的編隊(duì)道路運(yùn)行問(wèn)題,構(gòu)建了六自由度商用車(chē)動(dòng)力學(xué)模型,利用TD3 算法來(lái)實(shí)現(xiàn)車(chē)隊(duì)的縱向編隊(duì)運(yùn)行.相曉嘉等[25]提出了ID3QN 算法來(lái)研究固定翼無(wú)人機(jī)的定高長(zhǎng)機(jī)-僚機(jī)編隊(duì)問(wèn)題,ID3QN 算法是在D3QN 的基礎(chǔ)上增加“模仿”行為,旨在幫助僚機(jī)更快速地取得跟蹤長(zhǎng)機(jī)效果較好的經(jīng)驗(yàn)數(shù)據(jù).以上文獻(xiàn)主要基于運(yùn)動(dòng)學(xué)模型進(jìn)行控制器設(shè)計(jì),但實(shí)際的動(dòng)力學(xué)系統(tǒng)往往是二階系統(tǒng),由于慣性的存在,速度控制必然存在一定時(shí)延,力控制是最直接而準(zhǔn)確的控制方式,在實(shí)際工程問(wèn)題中具有更好的應(yīng)用價(jià)值.
本文旨在利用深度強(qiáng)化學(xué)習(xí)技術(shù)設(shè)計(jì)多無(wú)人車(chē)系統(tǒng)的編隊(duì)控制器,使多無(wú)人車(chē)系統(tǒng)形成指定的期望隊(duì)形,并對(duì)控制器進(jìn)行策略優(yōu)化.本文的創(chuàng)新點(diǎn)包括以下三個(gè)方面.第一,基于DDQN 深度強(qiáng)化學(xué)習(xí)算法,結(jié)合一致性理論和伴隨位形的思想設(shè)計(jì)多無(wú)人車(chē)系統(tǒng)的編隊(duì)控制器,該控制器在無(wú)精確模型只有運(yùn)動(dòng)數(shù)據(jù)時(shí)也可以實(shí)現(xiàn)編隊(duì)控制任務(wù),降低了對(duì)模型的依賴性,相比傳統(tǒng)的基于模型設(shè)計(jì)的控制器,本文給出的控制器魯棒性更強(qiáng);第二,相較于目前大多數(shù)文獻(xiàn)基于運(yùn)動(dòng)學(xué)模型設(shè)計(jì)控制器,本文直接基于動(dòng)力學(xué)模型設(shè)計(jì)力控制器,更具有實(shí)際意義;第三,本文創(chuàng)新性地提出了編隊(duì)起始階段的等候與啟動(dòng)條件,進(jìn)行了策略優(yōu)化,仿真顯示優(yōu)化后的策略有效節(jié)省了編隊(duì)所需的能量.
常見(jiàn)的車(chē)輛動(dòng)力學(xué)模型有阿克曼轉(zhuǎn)向模型[24]、麥克納姆輪轉(zhuǎn)向模型[26]和后輪差動(dòng)轉(zhuǎn)向[27]等.后輪差動(dòng)轉(zhuǎn)向的車(chē)輛硬件與結(jié)構(gòu)更加簡(jiǎn)單,常用于小型輪式機(jī)器人等.本文擬采用后輪差動(dòng)轉(zhuǎn)向的剛體無(wú)人車(chē)動(dòng)力學(xué)模型.
考慮后輪差動(dòng)轉(zhuǎn)向的無(wú)人車(chē)模型,其左右兩側(cè)后輪由兩個(gè)電機(jī)獨(dú)立驅(qū)動(dòng),兩側(cè)的前輪僅用于支撐車(chē)輛和配合運(yùn)動(dòng),不產(chǎn)生控制作用[28].無(wú)人車(chē)相對(duì)慣性坐標(biāo)系定義的位形坐標(biāo)為 η=(x,y,θ)T,代表了無(wú)人車(chē)的質(zhì)心位置以及車(chē)頭朝向,無(wú)人車(chē)的幾何模型如圖1 所示,各參數(shù)如表2 所示.
圖1 無(wú)人車(chē)幾何模型Fig.1 Unmanned vehicle geometric model
表2 無(wú)人車(chē)幾何參數(shù)Table 2 Unmanned vehicle geometric parameter
無(wú)人車(chē)的動(dòng)力學(xué)方程為[29]
需要注意的是,該無(wú)人車(chē)動(dòng)力學(xué)模型僅僅用于運(yùn)動(dòng)的仿真和運(yùn)動(dòng)數(shù)據(jù)的獲取,在控制器的設(shè)計(jì)與訓(xùn)練中并不需要該動(dòng)力學(xué)模型.
考慮含有N+1 個(gè)無(wú)人車(chē)的多無(wú)人車(chē)系統(tǒng),其中包含1 個(gè)領(lǐng)導(dǎo)者無(wú)人車(chē)和N個(gè)跟隨者無(wú)人車(chē),其狀態(tài)由位形坐標(biāo)與速度變量表示.無(wú)人車(chē)的位形坐標(biāo)記作xi=(xi,yi,θi),i=1,2,···,N;其速度變量記作vi=(vi,ωi),i=1,2,···,N.其中第0 號(hào)無(wú)人車(chē)為領(lǐng)導(dǎo)者,第1 至N號(hào)無(wú)人車(chē)為跟隨者.
編隊(duì)控制問(wèn)題的控制目標(biāo)是使得多無(wú)人車(chē)系統(tǒng)形成期望的隊(duì)形,如下式所示
為了實(shí)現(xiàn)多無(wú)人車(chē)系統(tǒng)的編隊(duì)控制,可以先從單領(lǐng)導(dǎo)者單跟隨者問(wèn)題出發(fā),再利用樹(shù)狀通訊擴(kuò)展到多無(wú)人車(chē)系統(tǒng)的編隊(duì)控制問(wèn)題.首先考慮單個(gè)跟隨者和領(lǐng)導(dǎo)者的編隊(duì)控制,領(lǐng)導(dǎo)者狀態(tài)表示為xl=(xl,yl,θl) 和vl=(vl,ωl),跟隨者的狀態(tài)表示為xf=(xf,yf,θf(wàn))和vf=(vf,ωf) .任務(wù)目標(biāo)為設(shè)計(jì)合適的控制器,使得跟隨者的狀態(tài)與跟隨者的狀態(tài)之差等于期望的相對(duì)位形d,即
觀察上式,可以構(gòu)造領(lǐng)導(dǎo)者的伴隨位形 (xl-d),稱之為伴隨領(lǐng)導(dǎo)者.若跟隨者實(shí)現(xiàn)對(duì)伴隨領(lǐng)導(dǎo)者的一致性跟蹤,則等價(jià)于實(shí)現(xiàn)了對(duì)領(lǐng)導(dǎo)者的編隊(duì)控制.因此,可利用構(gòu)造伴隨領(lǐng)導(dǎo)者的方法將編隊(duì)控制問(wèn)題轉(zhuǎn)化為一致性問(wèn)題.伴隨領(lǐng)導(dǎo)者的幾何示意圖如圖2 所示.
圖2 伴隨領(lǐng)導(dǎo)者Fig.2 Accompanying leader
強(qiáng)化學(xué)習(xí)技術(shù)作為機(jī)器學(xué)習(xí)的一個(gè)分支,憑借其在解決復(fù)雜的序列決策問(wèn)題中的優(yōu)異表現(xiàn),在控制工程領(lǐng)域和多智能體協(xié)同領(lǐng)域得到了廣泛的應(yīng)用[1].其基本思想是在無(wú)經(jīng)驗(yàn)的情況下通過(guò)智能體與環(huán)境的交互,獲取反饋并積累經(jīng)驗(yàn),然后優(yōu)化智能體的決策模型,其基本思想如圖3 所示.
圖3 強(qiáng)化學(xué)習(xí)基本思想Fig.3 Reinforcement learning basic idea
DDQN 算法是一種經(jīng)典的深度強(qiáng)化學(xué)習(xí)算法,全稱為double deepQnetwork learning,旨在利用深度學(xué)習(xí)的思想構(gòu)建深度神經(jīng)網(wǎng)絡(luò)來(lái)建立從智能體狀態(tài)st到價(jià)值函數(shù)Q(st,at) 的映射,其中st代表當(dāng)前時(shí)刻的狀態(tài),at代表智能體做出的動(dòng)作,rt代表智能體在本次交互中獲得的獎(jiǎng)勵(lì)[30].該算法的特點(diǎn)是構(gòu)建了價(jià)值網(wǎng)絡(luò)與目標(biāo)網(wǎng)絡(luò)兩個(gè)神經(jīng)網(wǎng)絡(luò),在訓(xùn)練時(shí)可以有效避免因自舉現(xiàn)象產(chǎn)生的價(jià)值函數(shù)高估問(wèn)題,具有較好的穩(wěn)定性,且其原理和架構(gòu)的復(fù)雜程度不高,對(duì)硬件的要求低,便于無(wú)人車(chē)系統(tǒng)部署.
強(qiáng)化學(xué)習(xí)的最終目標(biāo)是學(xué)習(xí)到最優(yōu)策略π*(a|s),使得期望折扣獎(jiǎng)勵(lì)R最大,期望折扣獎(jiǎng)勵(lì)定義為
其中,γ 為折扣因子,代表未來(lái)的獎(jiǎng)勵(lì)折算到當(dāng)前時(shí)刻的比例,rt為即時(shí)獎(jiǎng)勵(lì),T為終止時(shí)刻.獎(jiǎng)勵(lì)函數(shù)r(s,a)通常根據(jù)具體任務(wù)來(lái)進(jìn)行設(shè)計(jì),便于針對(duì)性地進(jìn)行優(yōu)化,例如在多無(wú)人車(chē)一致性控制任務(wù)中加入位形誤差、速度誤差等變量.
準(zhǔn)確的價(jià)值函數(shù)Q*(s,a) 代表的是神經(jīng)網(wǎng)絡(luò)在狀態(tài)s下執(zhí)行動(dòng)作a所能獲得的期望折扣獎(jiǎng)勵(lì)的期望值,其表達(dá)式為[13]
在學(xué)習(xí)到了準(zhǔn)確的價(jià)值函數(shù)后,便可以在不同狀態(tài)下評(píng)估最優(yōu)動(dòng)作并進(jìn)行控制.
為了實(shí)現(xiàn)利用DDQN 算法建立控制器實(shí)現(xiàn)控制目標(biāo)的任務(wù),需要設(shè)計(jì)合適的狀態(tài)空間和動(dòng)作空間,在經(jīng)過(guò)多輪測(cè)試后,選取局部坐標(biāo)相比于慣性系下的全局坐標(biāo)能使網(wǎng)絡(luò)學(xué)習(xí)到更準(zhǔn)確的特征,控制效果會(huì)有明顯的進(jìn)步,由于是設(shè)計(jì)跟隨者的控制器,故設(shè)計(jì)狀態(tài)空間時(shí)需要將領(lǐng)導(dǎo)者與跟隨者的全局坐標(biāo)轉(zhuǎn)化為在跟隨者坐標(biāo)系下建立的相對(duì)坐標(biāo),幾何示意圖如圖4 所示.
圖4 狀態(tài)空間Fig.4 State space
狀態(tài)空間定義為
其中,e1和e2為跟隨者坐標(biāo)系下的縱向距離誤差和橫向距離誤差,vf為跟隨者的運(yùn)動(dòng)速度,vl1和vl2為領(lǐng)導(dǎo)者的運(yùn)動(dòng)速度在跟隨者坐標(biāo)系下的縱向和橫向分量,ωf和ωl為跟隨者和領(lǐng)導(dǎo)者的角速度.各個(gè)局部坐標(biāo)變量與慣性坐標(biāo)系下的變量轉(zhuǎn)換關(guān)系為
考慮到DDQN 算法輸出神經(jīng)元數(shù)量有限,需要將動(dòng)作空間進(jìn)行離散化,才能使輸出層的各個(gè)神經(jīng)元輸出價(jià)值函數(shù)Q(s,a)[31].本文基于無(wú)人車(chē)系統(tǒng)動(dòng)力學(xué)模型來(lái)設(shè)計(jì)控制器,控制輸入為左右側(cè)后輪的轉(zhuǎn)矩,需要對(duì)驅(qū)動(dòng)力矩進(jìn)行控制來(lái)改變運(yùn)動(dòng)狀態(tài).其轉(zhuǎn)矩的和值控制無(wú)人車(chē)縱向的加減速,其轉(zhuǎn)矩的差值控制無(wú)人車(chē)沿豎直方向的角加速度.考慮到縱向加減速可分為加速、減速和保持速度3 個(gè)動(dòng)作,轉(zhuǎn)動(dòng)增大角速度、減小角速度和保持角速度3 個(gè)動(dòng)作,兩個(gè)維度耦合后可以得到9 種動(dòng)作,因此取動(dòng)作空間為9 種典型動(dòng)作構(gòu)成的集合.
為了使網(wǎng)絡(luò)學(xué)習(xí)到符合實(shí)際物理意義的價(jià)值函數(shù)Q(s,a),需要針對(duì)控制目標(biāo)設(shè)計(jì)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù),顯然一致性控制問(wèn)題下,位形誤差與速度誤差越小,系統(tǒng)的狀態(tài)越佳,因此設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù)為
其中,相對(duì)距離與相對(duì)速度的計(jì)算方法如下
該獎(jiǎng)勵(lì)函數(shù)的具體含義是: 相對(duì)距離越小,狀態(tài)越接近一致,具有更高的價(jià)值,所以獎(jiǎng)勵(lì)與相對(duì)距離呈負(fù)相關(guān),不同區(qū)間的不同梯度有助于模型在誤差較小時(shí)提高敏感性,避免在誤差較小的區(qū)間內(nèi)因?yàn)楠?jiǎng)勵(lì)函數(shù)的值變化較小而學(xué)習(xí)效果不佳.在本任務(wù)中,取ed=0.01 m 為收斂閾值,認(rèn)為距離誤差小于該閾值時(shí)實(shí)現(xiàn)了一致性跟蹤,故距離獎(jiǎng)勵(lì)的最大值定義在ed<0.01 m 的情況.將相對(duì)速度引入較小的負(fù)獎(jiǎng)勵(lì)可以使模型的過(guò)渡階段盡量平滑,避免出現(xiàn)過(guò)大的速度差值.
基于以上的狀態(tài)與動(dòng)作空間、獎(jiǎng)勵(lì)函數(shù)以及無(wú)人車(chē)剛體動(dòng)力學(xué)模型,便可以構(gòu)建基于DDQN 算法的一致性控制器訓(xùn)練環(huán)境和運(yùn)動(dòng)仿真環(huán)境,如圖5 所示.
圖5 控制訓(xùn)練環(huán)境Fig.5 Controller training environment
在每一個(gè)控制周期內(nèi),無(wú)人車(chē)將狀態(tài)變量輸入神經(jīng)網(wǎng)絡(luò)并得到價(jià)值函數(shù)輸出,然后利用動(dòng)作選擇策略來(lái)決定跟隨者的控制量,訓(xùn)練時(shí)常采用帶有一定隨機(jī)性的動(dòng)作選擇策略來(lái)使得網(wǎng)絡(luò)探索更多的動(dòng)作.動(dòng)作選擇完成后,環(huán)境將更新領(lǐng)導(dǎo)者與跟隨者的下一狀態(tài),并計(jì)算該次控制得到的獎(jiǎng)勵(lì)函數(shù),然后將經(jīng)驗(yàn)數(shù)據(jù)即環(huán)境交互得到的四元組(st,at,rt,st+1)存入經(jīng)驗(yàn)記憶庫(kù),再?gòu)慕?jīng)驗(yàn)庫(kù)中采樣并更新網(wǎng)絡(luò).
為了在網(wǎng)絡(luò)訓(xùn)練時(shí)模擬到更全面更復(fù)雜的環(huán)境來(lái)指導(dǎo)神經(jīng)網(wǎng)絡(luò)的更新,避免網(wǎng)絡(luò)陷入局部最優(yōu),在設(shè)計(jì)訓(xùn)練場(chǎng)景時(shí)需要充分增加隨機(jī)性,避免因?yàn)檐壽E和場(chǎng)景的單一導(dǎo)致網(wǎng)絡(luò)過(guò)擬合,泛化性差.因此考慮如圖6 所示的4 種典型運(yùn)動(dòng),分別為勻速直線運(yùn)動(dòng)、加減速、左轉(zhuǎn)和右轉(zhuǎn).
圖6 4 種典型運(yùn)動(dòng)軌跡Fig.6 Four typical trajectories
在每一輪訓(xùn)練開(kāi)始前,環(huán)境會(huì)生成 40 s 的領(lǐng)導(dǎo)者運(yùn)動(dòng)軌跡,其中每 4 s 為一段.每一輪訓(xùn)練共由10 段軌跡拼接而成,每一段軌跡都為上述4 種典型軌跡之一,且為均勻抽樣,以實(shí)現(xiàn)訓(xùn)練過(guò)程的領(lǐng)導(dǎo)者軌跡多樣性.
在訓(xùn)練中,領(lǐng)導(dǎo)者無(wú)人車(chē)的起始位形和速度為(xl0,yl0,θl0,vl0,ωl0)=(0,0,0,0.2,0).跟隨者的起始位置在以領(lǐng)導(dǎo)者起始位置為中心,以 6 m 為邊長(zhǎng)的正方形內(nèi)隨機(jī)生成,起始姿態(tài)角,按照均勻分布隨機(jī)選取.
神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)及參數(shù)如圖7 和表3 所示.
圖7 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.7 Neural network framework
表3 神經(jīng)網(wǎng)絡(luò)參數(shù)Table 3 Neural network parameters
基于以上的訓(xùn)練環(huán)境,設(shè)置網(wǎng)絡(luò)訓(xùn)練的總輪次為10 000 輪,初始學(xué)習(xí)率為0.000 1,記憶庫(kù)總?cè)萘緿為 218,每次更新網(wǎng)絡(luò)的采樣數(shù)量為256,折扣因子γ為0.95,訓(xùn)練結(jié)果如圖8 所示.
圖8 訓(xùn)練結(jié)果Fig.8 Training result
可以看到,隨著網(wǎng)絡(luò)的訓(xùn)練,每輪次所獲得的獎(jiǎng)勵(lì)函數(shù)和值在不斷增大,網(wǎng)絡(luò)訓(xùn)練后期獎(jiǎng)勵(lì)函數(shù)和值趨于收斂.由于網(wǎng)絡(luò)訓(xùn)練時(shí)模型決策因?yàn)橛休^小的探索率會(huì)存在動(dòng)作的隨機(jī)選擇,并且每個(gè)輪次的領(lǐng)導(dǎo)者軌跡與起始位置不同,因此會(huì)造成獎(jiǎng)勵(lì)函數(shù)和值的波動(dòng),可用滑動(dòng)窗口平均值觀察網(wǎng)絡(luò)的收斂性,圖中取窗口大小k=5和k=30 兩組參數(shù)進(jìn)行繪圖,可以觀察到網(wǎng)絡(luò)在訓(xùn)練后期收斂于較高的獎(jiǎng)勵(lì)值,模型趨于收斂.然后,將動(dòng)作選擇策略的隨機(jī)性消除,按照價(jià)值最大策略進(jìn)行控制,對(duì)模型進(jìn)行驗(yàn)證,控制器結(jié)構(gòu)圖如圖9 所示.
圖9 控制器結(jié)構(gòu)Fig.9 Controller framework
進(jìn)行100 輪驗(yàn)證,結(jié)果如圖10 所示.
圖10 驗(yàn)證結(jié)果Fig.10 Test result
同樣使用滑動(dòng)窗口平均法觀察驗(yàn)證過(guò)程的獎(jiǎng)勵(lì)函數(shù),可以觀察到模型的表現(xiàn)較為穩(wěn)定,曲線有所波動(dòng)的原因與領(lǐng)導(dǎo)者軌跡的隨機(jī)性和初始位置的隨機(jī)性有關(guān).經(jīng)驗(yàn)證,該網(wǎng)絡(luò)可以在訓(xùn)練場(chǎng)景下實(shí)現(xiàn)跟隨者狀態(tài)對(duì)領(lǐng)導(dǎo)者狀態(tài)的跟蹤.
考慮由5 臺(tái)無(wú)人車(chē)組成的多無(wú)人車(chē)系統(tǒng),通訊方式為樹(shù)狀拓?fù)?如圖11 所示.其中,0 號(hào)無(wú)人車(chē)為領(lǐng)導(dǎo)者,其他為跟隨者,其中1 號(hào)和3 號(hào)無(wú)人車(chē)都與領(lǐng)導(dǎo)者進(jìn)行通訊,可以獲取領(lǐng)導(dǎo)者的運(yùn)動(dòng)狀態(tài),但2 號(hào)和4 號(hào)無(wú)人車(chē)只能分別與1 號(hào)和3 號(hào)無(wú)人車(chē)進(jìn)行通訊,獲取對(duì)應(yīng)無(wú)人車(chē)的狀態(tài),而不能得到領(lǐng)導(dǎo)者的運(yùn)動(dòng)狀態(tài),以模擬分布式通訊的場(chǎng)景.領(lǐng)導(dǎo)者按照期望軌跡進(jìn)行運(yùn)動(dòng),跟隨者在控制器的控制下運(yùn)動(dòng).
圖11 通訊拓?fù)銯ig.11 Communication topology
各無(wú)人車(chē)的物理參數(shù)如表4 所示.
表4 無(wú)人車(chē)物理參數(shù)Table 4 Unmanned vehicle physical parameter
無(wú)人車(chē)的初始位形為
無(wú)人車(chē)的期望隊(duì)形為五邊形,具體的隊(duì)形參數(shù)為
引入期望隊(duì)形的信號(hào)后,便可將一致性控制器轉(zhuǎn)化為編隊(duì)控制器,控制器的結(jié)構(gòu)圖如圖12 所示.
圖12 編隊(duì)控制器結(jié)構(gòu)Fig.12 Formation controller framework
設(shè)置期望隊(duì)形為五邊形,領(lǐng)導(dǎo)者運(yùn)動(dòng)軌跡覆蓋加減速、左右轉(zhuǎn)等情況,所有跟隨者初始時(shí)刻靜止,進(jìn)行運(yùn)動(dòng)仿真,結(jié)果如圖13 和圖14 所示.
圖13 無(wú)人車(chē)軌跡Fig.13 Unmanned vehicle trajectory
圖14 編隊(duì)誤差曲線Fig.14 Formation error
根據(jù)運(yùn)動(dòng)軌跡和誤差曲線可以觀察到,多無(wú)人車(chē)系統(tǒng)在該控制器的控制下成功實(shí)現(xiàn)了期望的編隊(duì)運(yùn)動(dòng).
為了充分驗(yàn)證控制器的有效性,需要針對(duì)不同的期望隊(duì)形開(kāi)展運(yùn)動(dòng)仿真實(shí)驗(yàn),圖15 和圖16 為不同期望隊(duì)形的運(yùn)動(dòng)仿真結(jié)果,其中圖15(a)和圖16(a)為五邊形隊(duì)形,圖15(b)和圖16(b)為平行隊(duì)形,圖15(c)和圖16(c)為合圍四邊形隊(duì)形.領(lǐng)導(dǎo)者運(yùn)動(dòng)軌跡也包含了左右轉(zhuǎn)、加減速等典型運(yùn)動(dòng)情況.通過(guò)運(yùn)動(dòng)軌跡和誤差曲線可以看到,不同期望隊(duì)形下,控制器均能驅(qū)動(dòng)多無(wú)人車(chē)系統(tǒng)快速實(shí)現(xiàn)編隊(duì)并保持隊(duì)形穩(wěn)定運(yùn)動(dòng).
圖15 多隊(duì)形測(cè)試軌跡Fig.15 Multiple formation testing trajectory
圖16 多隊(duì)形測(cè)試誤差曲線Fig.16 Error plot of multiple formation testing
在現(xiàn)實(shí)場(chǎng)景中,往往由于地形等原因,多無(wú)人車(chē)編隊(duì)需要在運(yùn)動(dòng)過(guò)程中進(jìn)行隊(duì)形切換,因此需要驗(yàn)證控制器在運(yùn)動(dòng)過(guò)程中變換隊(duì)形的能力.圖17 和圖18 為隊(duì)形切換的運(yùn)動(dòng)仿真結(jié)果,多無(wú)人車(chē)系統(tǒng)在運(yùn)行過(guò)程中由于遇到障礙需要收緊隊(duì)形,通過(guò)后恢復(fù)原隊(duì)形.運(yùn)動(dòng)軌跡和誤差曲線顯示多無(wú)人車(chē)系統(tǒng)能夠在控制器的驅(qū)動(dòng)下,在運(yùn)動(dòng)過(guò)程中期望隊(duì)形發(fā)生變化時(shí)快速轉(zhuǎn)換為新目標(biāo)隊(duì)形,驗(yàn)證了在運(yùn)動(dòng)過(guò)程中的隊(duì)形切換能力.
圖17 隊(duì)形切換測(cè)試軌跡Fig.17 Formation switching test trajectory
圖18 隊(duì)形切換測(cè)試誤差曲線Fig.18 Formation switching test error plot
上文中的運(yùn)動(dòng)仿真證明了編隊(duì)控制器的有效性,但通過(guò)對(duì)多無(wú)人車(chē)系統(tǒng)運(yùn)動(dòng)軌跡的觀察可以發(fā)現(xiàn),在編隊(duì)控制的多隊(duì)形實(shí)驗(yàn)中,當(dāng)無(wú)人車(chē)起始位形為平行排布時(shí),五邊形編隊(duì)任務(wù)中存在一定的反向運(yùn)動(dòng)現(xiàn)象,即運(yùn)動(dòng)過(guò)程中跟隨者與領(lǐng)導(dǎo)者的速度方向夾角出現(xiàn)鈍角,即vf·vl<0,圖19 為第4 s 時(shí)刻的無(wú)人車(chē)狀態(tài).
圖19 反向運(yùn)動(dòng)時(shí)刻Fig.19 Reverse movement moment
造成該現(xiàn)象的原因是在起始位形下根據(jù)領(lǐng)導(dǎo)者計(jì)算各個(gè)跟隨者的伴隨領(lǐng)導(dǎo)者時(shí),跟隨者對(duì)伴隨者的縱向跟蹤誤差為負(fù),也就是兩者之間的距離誤差在跟隨者的速度方向投影為負(fù),導(dǎo)致跟隨者需要向領(lǐng)導(dǎo)者速度方向的反方向運(yùn)動(dòng)才能對(duì)伴隨領(lǐng)導(dǎo)者實(shí)現(xiàn)跟蹤,故存在“反向運(yùn)動(dòng)”現(xiàn)象,由于需要進(jìn)行更多的轉(zhuǎn)向和加減速動(dòng)作,該現(xiàn)象會(huì)增大控制過(guò)程中消耗的能量.
考慮單領(lǐng)導(dǎo)者-單跟隨者的編隊(duì)控制起始階段狀態(tài).考慮 θf(wàn)0=θl0且e1<0,vl0≥0,vf0=0 的初始情況,如圖20 所示.
圖20 反向運(yùn)動(dòng)典型狀態(tài)Fig.20 Reverse movement typical condition
顯然,該初始情況與上述五邊形編隊(duì)的所有跟隨者的情況相同,是典型的易引起反向運(yùn)動(dòng)的起始條件.然而顯而易見(jiàn)的是,該情況下若跟隨者保持靜止等候,在短時(shí)間內(nèi)也會(huì)由于領(lǐng)導(dǎo)者的自身運(yùn)動(dòng)而使得編隊(duì)誤差減小,而不消耗任何能量,這是因?yàn)閑1<0,vl1-vf>0,兩者縱向的相對(duì)速度與位置誤差異號(hào),故縱向位置誤差的大小將在一定時(shí)間內(nèi)自行減小.由于考慮 θf(wàn)0=θl0的初始情況,在起始時(shí)刻臨近的短時(shí)間內(nèi)橫向誤差e2基本不變,為簡(jiǎn)化模型暫不考慮橫向的誤差狀態(tài).
為了消除反向運(yùn)動(dòng)情況,現(xiàn)基于領(lǐng)導(dǎo)者與跟隨者的縱向狀態(tài)量定義單個(gè)無(wú)人車(chē)的等候條件與啟動(dòng)條件,等候條件為
其物理含義為,縱向距離誤差與速度誤差符號(hào)相反,具有自發(fā)消除誤差的趨勢(shì),因此跟隨者保持靜止不動(dòng)仍然能使得編隊(duì)誤差減小.
定義啟動(dòng)條件為
其物理含義為,縱向距離誤差與速度誤差符號(hào)相同,位置誤差的絕對(duì)值將趨于增大,因此必須引入編隊(duì)控制器的作用來(lái)驅(qū)動(dòng)各個(gè)無(wú)人車(chē)達(dá)成期望隊(duì)形.
各個(gè)無(wú)人車(chē)從初始時(shí)刻開(kāi)始,在每個(gè)時(shí)間差分內(nèi)都要進(jìn)行等候條件與啟動(dòng)調(diào)節(jié)的判斷,若滿足等候條件則不進(jìn)行控制,保持初始狀態(tài);若滿足啟動(dòng)條件,則由DDQN 編隊(duì)控制器持續(xù)進(jìn)行控制.需要注意的是,由于以上分析都是基于 θf(wàn)0=θl0的運(yùn)動(dòng)初始階段,該動(dòng)作策略僅用于運(yùn)動(dòng)初始階段的能量?jī)?yōu)化,每個(gè)無(wú)人車(chē)一旦在某時(shí)刻達(dá)到啟動(dòng)條件,在后續(xù)時(shí)刻就不再進(jìn)行條件判斷,而是由編隊(duì)控制器驅(qū)動(dòng)無(wú)人車(chē)以實(shí)現(xiàn)控制目標(biāo).
為了驗(yàn)證該策略的作用,采用五邊形編隊(duì)進(jìn)行運(yùn)動(dòng)仿真以對(duì)比分析.運(yùn)動(dòng)仿真結(jié)果如圖21 和圖22所示.
圖21 運(yùn)動(dòng)軌跡對(duì)比圖Fig.21 Trajectory comparison
圖22 誤差曲線對(duì)比圖Fig.22 Error-curve comparison
其中,圖21(a)和圖22(a)分別為優(yōu)化前的運(yùn)動(dòng)軌跡與誤差曲線,圖21(b)和圖22(b)為優(yōu)化后結(jié)果.經(jīng)計(jì)算,加入該策略后,運(yùn)動(dòng)過(guò)程中所消耗的能量減少了19.93%,有效驗(yàn)證了該策略節(jié)約能量的作用,并且通過(guò)對(duì)運(yùn)動(dòng)軌跡的觀察可以發(fā)現(xiàn)該策略消除了反向運(yùn)動(dòng)現(xiàn)象.但值得注意的是,由誤差曲線的對(duì)比可知,能量?jī)?yōu)化伴隨著收斂時(shí)間增大的代價(jià),這是由于等候的過(guò)程實(shí)際上消耗了一定的時(shí)間.雖然該策略可以在節(jié)省一部分能量的情況下完成編隊(duì)任務(wù),但因?yàn)槠湓O(shè)計(jì)原理而必然伴隨著收斂時(shí)間延長(zhǎng).
本文基于DDQN 深度強(qiáng)化學(xué)習(xí)算法,結(jié)合一致性理論與伴隨領(lǐng)導(dǎo)者設(shè)計(jì)了多無(wú)人車(chē)系統(tǒng)的編隊(duì)控制器.首先,進(jìn)行了編隊(duì)問(wèn)題簡(jiǎn)化,將編隊(duì)控制問(wèn)題轉(zhuǎn)化為對(duì)伴隨領(lǐng)導(dǎo)者的一致性跟蹤問(wèn)題,然后簡(jiǎn)化為單領(lǐng)導(dǎo)者-單跟隨者問(wèn)題,并對(duì)該問(wèn)題設(shè)計(jì)了基于跟隨者局部坐標(biāo)系的7 維狀態(tài)空間、9 維動(dòng)作空間和基于距離誤差和速度誤差的獎(jiǎng)勵(lì)函數(shù).然后搭建了DDQN 網(wǎng)絡(luò)的訓(xùn)練環(huán)境,設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)架構(gòu)參數(shù)后,引入初始位置和領(lǐng)導(dǎo)者訓(xùn)練軌跡的隨機(jī)性進(jìn)行網(wǎng)絡(luò)訓(xùn)練.訓(xùn)練完成后利用運(yùn)動(dòng)仿真驗(yàn)證了控制器的有效性,并針對(duì)運(yùn)動(dòng)中所存在的反向運(yùn)動(dòng)現(xiàn)象,從編隊(duì)控制器中的動(dòng)作選擇策略層面提出了編隊(duì)控制器起始階段策略優(yōu)化方法.在運(yùn)動(dòng)初始時(shí),定義了等候條件與啟動(dòng)條件,對(duì)部分無(wú)人車(chē)進(jìn)行延遲啟動(dòng),仿真驗(yàn)證了該策略具有一定的能量節(jié)約作用,但可能會(huì)增加收斂時(shí)間.