李偉科,岳洪偉,王宏民,楊 勇,趙 敏,鄧輔秦,,?
(1. 五邑大學(xué) 智能制造學(xué)部, 廣東 江門 529020;2. 深圳市人工智能與機(jī)器人研究院, 廣東 深圳 518116;3. 深圳市杉川機(jī)器人有限公司, 廣東 深圳 518006;4.中電科普天科技股份有限公司研發(fā)中心,廣東 廣州 510310)
隨著計(jì)算機(jī)技術(shù)、控制理論和人工智能理論的不斷發(fā)展與成熟,模塊化自重構(gòu)機(jī)器人(MSRR)系統(tǒng)的研究近年來已經(jīng)成為一個(gè)熱點(diǎn)。MSRR系統(tǒng)有多個(gè)相同的物理模塊,可以自由地相對(duì)移動(dòng),相互連接或者斷開。這些模塊通過改變它們的相對(duì)位置和連接,重新排列成不同形態(tài)的機(jī)器人。MSRR通過避開不同的環(huán)境障礙物,以滿足不同的任務(wù)要求。因此,MSRR系統(tǒng)在通用性、魯棒性和低成本方面要優(yōu)于傳統(tǒng)的固定形態(tài)的機(jī)器人。這種系統(tǒng)特別適用于工作環(huán)境大、操作任務(wù)復(fù)雜的場(chǎng)合,如緊急搜索、救援、核電站維修等領(lǐng)域。在這些場(chǎng)景中,MSRR必須在短時(shí)間內(nèi)到達(dá)目標(biāo)點(diǎn),形成任務(wù)所需的隊(duì)形。因此,文中討論的問題是MSRR如何避開障礙物,在短時(shí)間內(nèi)到達(dá)指定的目標(biāo)點(diǎn)(即路徑規(guī)劃),以形成指定的隊(duì)形?;诓煌娜蝿?wù)需求,MSRR可以進(jìn)一步形成任務(wù)所需的形態(tài)解決復(fù)雜未知的任務(wù)。MSRR在形成指定的隊(duì)形前,需要規(guī)劃前往指定目標(biāo)點(diǎn)的最優(yōu)路徑。文獻(xiàn)[12]提出了一種基于網(wǎng)格的滑動(dòng)立方體自重構(gòu)機(jī)器人,并提出了一種基于Cellular Automata的自重構(gòu)算法來控制機(jī)器人避開障礙物。文獻(xiàn)[13]受強(qiáng)化學(xué)習(xí)算法的啟發(fā),提出一種用于滑動(dòng)立方體的Million Module March的算法。然而,由于這些算法是在具有滑動(dòng)立方體形狀的模塊化機(jī)器人中實(shí)現(xiàn)的,它們受到滑動(dòng)立方體物理形狀的限制,只能避開立方體模塊大小的障礙物。
文獻(xiàn)[3]將MSRR從一種形態(tài)轉(zhuǎn)換為最終形態(tài)的動(dòng)作序列定義為自重構(gòu)(SR)過程。在自重構(gòu)問題(SRP)中,研究者使用馬爾科夫決策過程(MDP)來規(guī)劃兩個(gè)模塊單元之間的路徑,使偏離目標(biāo)位置的模塊單元能夠移動(dòng)到其目標(biāo)點(diǎn)。然而,基于MDP算法規(guī)劃的路徑很容易相交,導(dǎo)致機(jī)器人之間發(fā)生碰撞、鎖死和失去連接。
在強(qiáng)化學(xué)習(xí)中,智能體是通過與環(huán)境的不斷交互和獎(jiǎng)勵(lì)信號(hào)的反饋學(xué)習(xí)策略的。文獻(xiàn)[13]受到強(qiáng)化學(xué)習(xí)的啟發(fā),提出一種Million Module March的算法,使智能體避開障礙物,并形成指定隊(duì)形。文獻(xiàn)[17]將SRP建模為強(qiáng)化學(xué)習(xí)問題,成功地將Q-learning算法應(yīng)用在智能體中,并讓智能體學(xué)習(xí)如何自主在相鄰模塊之間形成指定的直線(Line)、連接模塊網(wǎng)格(Mass)和模塊形成的環(huán)路 (Ring)三種形狀。由于傳統(tǒng)的Q-learning算法在訓(xùn)練的初始階段缺乏對(duì)周圍環(huán)境的先驗(yàn)知識(shí),智能體會(huì)隨機(jī)選擇動(dòng)作,造成迭代次數(shù)的浪費(fèi)和算法收斂速度的緩慢。為了緩解這些問題,文獻(xiàn)[19]提出基于知識(shí)共享的Q-learning策略來實(shí)現(xiàn)不同智能體之間的信息交互。文獻(xiàn)[20]進(jìn)一步提出了一種基于環(huán)境知識(shí)共享的群體Q-learning算法(SQL-SIE)來加速算法的收斂。然而,上述算法在MSRR進(jìn)行隊(duì)形轉(zhuǎn)換時(shí)需要進(jìn)行二次訓(xùn)練,以形成不同的隊(duì)形形狀。此外,上述算法在訓(xùn)練智能體從起始點(diǎn)前往目標(biāo)點(diǎn)時(shí),并沒有合適的獎(jiǎng)勵(lì)引導(dǎo)智能體向有利于前往目標(biāo)點(diǎn)的方向移動(dòng),這會(huì)導(dǎo)致算法的迭代次數(shù)增大,算法難以收斂。為了解決以上問題,文中提出一個(gè)兩階段的強(qiáng)化學(xué)習(xí)算法來解決MSRR的編隊(duì)控制問題。在第一階段,利用基于群體和知識(shí)共享的Q-learning訓(xùn)練所有機(jī)器人前往二維離散地圖的中心點(diǎn),以獲得一個(gè)包含全局地圖信息的最優(yōu)共享Q表。在這個(gè)階段中,文中引入曼哈頓距離作為獎(jiǎng)賞值,引導(dǎo)智能體更快向目標(biāo)點(diǎn)的方向移動(dòng),以減小迭代次數(shù),加快算法的收斂速度。在第二階段,機(jī)器人根據(jù)第一階段獲得的最優(yōu)共享Q表和當(dāng)前所處的位置,找到前往指定目標(biāo)點(diǎn)的最優(yōu)路徑。
文中算法的貢獻(xiàn)如下:
(1)該算法在第一階段是訓(xùn)練四周的機(jī)器人前往地圖的中心點(diǎn),所以獲得的最優(yōu)共享Q表包含的地圖信息比較全面,智能體可以根據(jù)這個(gè)最優(yōu)共享Q表和當(dāng)前所處的位置,找到前往地圖任意一點(diǎn)最優(yōu)路徑。
(2)該算法在MSRR進(jìn)行多次隊(duì)形轉(zhuǎn)換時(shí),不需要多次訓(xùn)練,節(jié)省大量的運(yùn)行時(shí)間,算法的收斂速度快。
(3)該算法引入了曼哈頓距離作為獎(jiǎng)賞值,引導(dǎo)智能體向有利于目標(biāo)點(diǎn)的方向移動(dòng),以減小迭代次數(shù),加快算法的收斂速度。
文中考慮的MSRR系統(tǒng)如圖1所示,這是一種小型的球形機(jī)器人,內(nèi)部有兩個(gè)在塑料防水殼內(nèi)表面上滾動(dòng)的電機(jī),使機(jī)器人可以移動(dòng)。
圖1 MSRR系統(tǒng)
文中在數(shù)學(xué)上將MSRR建模成智能體,因此將MSRR的編隊(duì)控制問題看作是多智能體編隊(duì)控制問題。這種問題主要分為兩種:第一種是每個(gè)智能體移動(dòng)到各自指定的目標(biāo)點(diǎn)以形成指定的隊(duì)形。第二種是每個(gè)智能體保持初始隊(duì)形向目標(biāo)點(diǎn)移動(dòng)。文中要解決的是第一種編隊(duì)控制問題。智能體需要到達(dá)指定的目標(biāo)點(diǎn),不能占據(jù)其他智能體的目標(biāo)點(diǎn)。如果智能體的下一步動(dòng)作會(huì)占據(jù)障礙物或者其他智能體的位置,它將保持當(dāng)前位置不變。如果智能體到達(dá)指定的目標(biāo)點(diǎn),它將不再繼續(xù)移動(dòng)。
編隊(duì)控制問題是指智能體從各自的起點(diǎn)出發(fā),需要避開隨機(jī)產(chǎn)生的障礙物,在短時(shí)間內(nèi)到達(dá)最終目標(biāo)點(diǎn),并形成指定的隊(duì)形。智能體的起始點(diǎn)隨機(jī)設(shè)置在地圖的四周,而目標(biāo)區(qū)域則是位于地圖的中間區(qū)域。
在文中,多智能體編隊(duì)控制問題是一個(gè)具有馬爾科夫性質(zhì)的連續(xù)決策問題,因此把它建模成一個(gè)強(qiáng)化學(xué)習(xí)問題。文中將二維離散網(wǎng)格左下角的點(diǎn)作為原點(diǎn),記為(,),每個(gè)智能體∈{,,…,}獲取當(dāng)前坐標(biāo)(,)作為當(dāng)前狀態(tài)。當(dāng)智能體在戶外時(shí),通過GPS定位技術(shù)獲得其他智能體的相對(duì)位置。
在文中,將智能體在二維網(wǎng)格地圖里的動(dòng)作空間集合設(shè)置為{,,,},其中表示向上(,+1),表示向下(,-1),表示向左(-1,),表示向右(+1,)。
在強(qiáng)化學(xué)習(xí)算法中,智能體可以不斷地與周圍環(huán)境進(jìn)行試錯(cuò)交互,使長期累積獎(jiǎng)勵(lì)最大化,并將環(huán)境的反饋?zhàn)鳛檩斎?。在整個(gè)強(qiáng)化學(xué)習(xí)與周圍環(huán)境的持續(xù)交互過程中,智能體的正確行為受到獎(jiǎng)勵(lì),錯(cuò)誤行為受到懲罰。強(qiáng)化學(xué)習(xí)的目的是獲得一個(gè)最優(yōu)策略,使智能體可以根據(jù)策略和當(dāng)前環(huán)境選擇一個(gè)最優(yōu)的行動(dòng),使累積回報(bào)最大化。
累積回報(bào)表示為每一時(shí)刻回報(bào)的總和,表示為:
(1)
表示智能體的內(nèi)部狀態(tài),表示通過執(zhí)行動(dòng)作之后獲得的獎(jiǎng)勵(lì),∈(0,1]表示折扣因子。
Q-learning是一種經(jīng)典的基于表的強(qiáng)化學(xué)習(xí)算法。它將狀態(tài)和動(dòng)作映射到一個(gè)動(dòng)作值函數(shù)中去存儲(chǔ)值,然后根據(jù)值選擇動(dòng)作以獲得最大獎(jiǎng)勵(lì)。動(dòng)作值為(,),即在某一個(gè)時(shí)刻環(huán)境狀態(tài)∈下,智能體通過執(zhí)行動(dòng)作∈能夠獲得的最大獎(jiǎng)賞值。在Q-learning算法中,每個(gè)智能體通過下式來更新其值:
(,)=(1-)(,)+[+max(+1,)]
(2)
∈(0,1]表示學(xué)習(xí)率。
在強(qiáng)化學(xué)習(xí)中,智能體是通過試錯(cuò)的方式學(xué)習(xí)策略的,因此獲得最優(yōu)策略需要花費(fèi)大量的計(jì)算時(shí)間,特別是對(duì)于復(fù)雜的學(xué)習(xí)問題。遺傳算法、粒子群優(yōu)化算法、蟻群算法等基于群體的算法可以在廣闊的求解空間下快速找到多模態(tài)函數(shù)的全局最優(yōu)解。因此,文中致力于結(jié)合基于群體的算法和強(qiáng)化學(xué)習(xí)的算法,能夠快速獲得復(fù)雜學(xué)習(xí)問題的最優(yōu)解。
通常,強(qiáng)化學(xué)習(xí)目標(biāo)是尋找最優(yōu)策略滿足下式:
=argmax()
(3)
(4)
為了設(shè)計(jì)更合理的獎(jiǎng)懲機(jī)制以有效引導(dǎo)智能體到達(dá)各自指定的目標(biāo)點(diǎn),以形成不同的隊(duì)形,進(jìn)而能夠形成不同的形態(tài)來解決不同復(fù)雜的任務(wù)。文中引入曼哈頓距離,將作為獎(jiǎng)賞值,獎(jiǎng)勵(lì)下一步動(dòng)作能夠離指定目標(biāo)點(diǎn)更近的智能體,如下式:
(5)
到達(dá)各自指定目標(biāo)點(diǎn)的智能體將不再移動(dòng),并且會(huì)獲得100的獎(jiǎng)賞值。
Q-learning是一種無模型的強(qiáng)化學(xué)習(xí)算法,通過環(huán)境的反饋為智能體的狀態(tài)和行為構(gòu)造一個(gè)獎(jiǎng)勵(lì)值。在獎(jiǎng)懲機(jī)制的作用下,正確行為的Q值增大,錯(cuò)誤行為的Q值減小,使智能體的行為趨于最優(yōu)。因此,每個(gè)智能體可以選擇從起點(diǎn)到目標(biāo)點(diǎn)的最優(yōu)路徑。然而,傳統(tǒng)的Q-learning算法仍然存在以下缺點(diǎn):
(1)存儲(chǔ)空間要求大;
(2)訓(xùn)練時(shí)間太長;
(3)收斂到最優(yōu)解的速度很慢。
在本文的算法中,不同智能體之間可以交換它們獲得的周圍環(huán)境信息,即知識(shí)共享。為了緩解上述的問題,文獻(xiàn)[19]提出了基于知識(shí)共享的Q-learning策略來實(shí)現(xiàn)學(xué)習(xí)不同智能體之間進(jìn)行信息交互。文獻(xiàn)[20]進(jìn)一步提出了一種基于環(huán)境知識(shí)共享的群體Q-learning算法(SQL-SIE)來加速算法的收斂。然而,在智能體進(jìn)行多次隊(duì)形轉(zhuǎn)換的場(chǎng)景中使用這種算法時(shí),需要經(jīng)過多次訓(xùn)練,才能讓智能體學(xué)到形成不同隊(duì)形的策略,這會(huì)耗費(fèi)大量的運(yùn)行時(shí)間。為了緩解這種問題,受群體強(qiáng)化學(xué)習(xí)算法和知識(shí)共享算法的啟發(fā),本文提出一種兩階段強(qiáng)化學(xué)習(xí)算法。
在現(xiàn)實(shí)世界中,人們傾向于將一個(gè)復(fù)雜的任務(wù)分解成幾個(gè)簡(jiǎn)單的子任務(wù),以不同的方式解決它們,然后將它們有機(jī)地組合在一起。在解決了這些簡(jiǎn)單的子任務(wù)之后,更容易將獲得的知識(shí)構(gòu)件轉(zhuǎn)移到其他復(fù)雜的問題上。文獻(xiàn)[20]將仿真環(huán)境分解為基礎(chǔ)區(qū)域和目標(biāo)區(qū)域,還將訓(xùn)練過程分解為兩個(gè)階段,以此加快算法的收斂速度。受上述工作的啟發(fā),本文將仿真環(huán)境分解為基礎(chǔ)區(qū)域和目標(biāo)區(qū)域,將每個(gè)智能體看作一個(gè)獨(dú)立的個(gè)體,并行執(zhí)行訓(xùn)練,同時(shí)將算法的訓(xùn)練過程分解為如下兩個(gè)階段:
(1)利用基于群體和知識(shí)共享的Q-learning訓(xùn)練所有智能體前往網(wǎng)格地圖的中心點(diǎn),以獲得一個(gè)包含全局地圖信息的最優(yōu)共享Q表;
(2)智能體根據(jù)這個(gè)最優(yōu)共享Q表和當(dāng)前所處的位置,通過避開障礙物,尋找前往指定目標(biāo)點(diǎn)的最優(yōu)路徑,形成指定的隊(duì)形,進(jìn)而能夠形成不同的形態(tài)來解決不同復(fù)雜的任務(wù)。
基于以上兩階段強(qiáng)化學(xué)習(xí)算法的訓(xùn)練過程,智能體可以將獲取到的周圍環(huán)境信息進(jìn)行融合,形成一個(gè)最優(yōu)共享Q表。通過這個(gè)最優(yōu)共享Q表,智能體能夠及時(shí)更新它們自身的學(xué)習(xí)策略,選擇更優(yōu)的下一步動(dòng)作。因此,在一些復(fù)雜的學(xué)習(xí)環(huán)境中,智能體通過知識(shí)共享算法快速獲取周圍環(huán)境信息以獲得最優(yōu)策略。
本文將文獻(xiàn)[20]中的SQL-SIE算法作為一個(gè)基準(zhǔn)算法,通過兩個(gè)數(shù)值實(shí)驗(yàn)來驗(yàn)證文中算法的性能。第一個(gè)實(shí)驗(yàn)是使用文中算法和SQL-SIE算法分別訓(xùn)練12、16和20個(gè)智能體自主尋找從起始點(diǎn)到指定目標(biāo)點(diǎn)的無碰撞路徑,以形成矩形的隊(duì)形,并統(tǒng)計(jì)所有智能體總的探索步數(shù)。第二個(gè)實(shí)驗(yàn)是使用文中算法和SQL-SIE算法分別訓(xùn)練12、16和20個(gè)智能體從矩形隊(duì)形轉(zhuǎn)換為十字隊(duì)形,并統(tǒng)計(jì)整個(gè)程序的運(yùn)行時(shí)間。
在以下數(shù)值實(shí)驗(yàn)中,仿真環(huán)境是一個(gè)二維離散網(wǎng)格地圖,地圖四周隨機(jī)出現(xiàn)的智能體的數(shù)量為,對(duì)應(yīng)著出現(xiàn)在目標(biāo)區(qū)域的目標(biāo)點(diǎn)數(shù)量為。文中所有的實(shí)驗(yàn)都是在臺(tái)式機(jī)上完成的,配置為Intel i9-9900K CPU和內(nèi)存為16GB,以MATLAB2019b編寫代碼。
為了測(cè)試文中提出算法的性能,隨機(jī)設(shè)置占網(wǎng)格地圖面積20%的障礙物,仿真環(huán)境如圖2所示。藍(lán)色圓圈是智能體,粉色正方形是隨機(jī)生成且不占據(jù)智能體位置的障礙物,目標(biāo)區(qū)域是黑色菱形圍成的區(qū)域。
圖2 二維離散網(wǎng)格仿真環(huán)境
實(shí)驗(yàn)中所有算法用到的參數(shù)如表1所示。的初始值為1。每次迭代更新之后,的值則變?yōu)楫?dāng)前值的0.5%,以加快貪心策略的實(shí)施。只有當(dāng)所有的智能體都到達(dá)各自指定的目標(biāo)點(diǎn)時(shí),一次迭代更新才算成功完成。在每次迭代更新中,當(dāng)智能體的探索步數(shù)超過2000,且不是所有的智能體都達(dá)到各自指定的目標(biāo)點(diǎn)時(shí),則當(dāng)前迭代更新被認(rèn)為是失敗的。文中所有數(shù)值實(shí)驗(yàn)的迭代次數(shù)的上限是3500,將最后一個(gè)智能體到達(dá)目標(biāo)點(diǎn)的探索步數(shù)作為衡量完成編隊(duì)控制任務(wù)的指標(biāo)。學(xué)習(xí)率表示智能體對(duì)新知識(shí)的接受程度,折現(xiàn)因子表示未來獎(jiǎng)勵(lì)的重要程度。
表1 相關(guān)參數(shù)
在這個(gè)實(shí)驗(yàn)中,多智能體編隊(duì)控制任務(wù)是按照預(yù)先設(shè)定的規(guī)則,自主尋找從起始點(diǎn)到指定目標(biāo)點(diǎn)的一組無碰撞路徑,以形成矩形的隊(duì)形。為了使文中的算法研究更具意義和通用性,在網(wǎng)格地圖的目標(biāo)區(qū)域內(nèi)也設(shè)置隨機(jī)障礙物,同時(shí)分別訓(xùn)練12、16和20個(gè)智能體來完成編隊(duì)控制任務(wù),并統(tǒng)計(jì)所有智能體總的探索步數(shù)。在本實(shí)驗(yàn)中,文中算法的訓(xùn)練過程如下所示:
(1)多智能體隨機(jī)地出現(xiàn)在二維網(wǎng)格地圖四周;
(2)使用兩階段強(qiáng)化學(xué)習(xí)算法訓(xùn)練多智能體,通過避開障礙物,到達(dá)地圖的中心點(diǎn),生成最優(yōu)共享Q表;
(3)基于這個(gè)最優(yōu)共享Q表,智能體從中心點(diǎn)出發(fā),到達(dá)各自指定的目標(biāo)點(diǎn),以形成矩形隊(duì)形。
圖3~圖5是將50×50網(wǎng)格地圖獲得的數(shù)據(jù),經(jīng)過平滑處理后的結(jié)果(連續(xù)50個(gè)數(shù)取均值),文中算法的收斂速度比SQL-SIE算法快,智能體總的探索步數(shù)更少。
圖3 訓(xùn)練12個(gè)智能體的編隊(duì)控制結(jié)果對(duì)比
圖4 訓(xùn)練16個(gè)智能體的編隊(duì)控制結(jié)果對(duì)比
圖5 訓(xùn)練20個(gè)智能體的編隊(duì)控制結(jié)果對(duì)比
在基于群體的強(qiáng)化學(xué)習(xí)和知識(shí)共享算法的作用下,本文算法融合所有智能體周圍的環(huán)境信息,將環(huán)境信息存儲(chǔ)為一個(gè)共享的Q表,并將共享的Q表傳遞給每個(gè)智能體。智能體得到這個(gè)共享Q表之后,及時(shí)更新自己的Q表?;诟潞蟮腝表,智能體根據(jù)當(dāng)前所處的環(huán)境位置以獲得更好的下一步行動(dòng)和更大的獎(jiǎng)勵(lì)值,加快算法的收斂速度。此外,由于本文算法的第一階段是訓(xùn)練分布在地圖四周的智能體移動(dòng)到地圖的中心,因此智能體獲得比SQL-SIE算法更全面的地圖信息。通過上述過程,智能體得到最優(yōu)的共享Q表,得到從地圖上任意一點(diǎn)移動(dòng)到另一點(diǎn)的最優(yōu)路徑。
當(dāng)在50×50和100×100的網(wǎng)格地圖上使用文中算法分別訓(xùn)練12、16和20個(gè)智能體時(shí),所有智能體在3000迭代次數(shù)后都能獲得到達(dá)各自指定目標(biāo)點(diǎn)的最優(yōu)路徑。然而,使用SQL-SIE算法訓(xùn)練同樣的智能體在100×100的網(wǎng)格地圖中獲得前往指定目標(biāo)點(diǎn)的最優(yōu)策略時(shí),超過一半的智能體不能到達(dá)各自指定的目標(biāo)點(diǎn)。根本原因是實(shí)驗(yàn)環(huán)境是一個(gè)有限大小的二維離散網(wǎng)格圖,智能體必須避開路上的障礙物,而且在該算法的障礙物設(shè)定中,先到達(dá)各自指定目標(biāo)點(diǎn)的智能體被其他未到達(dá)的智能體視為障礙物,其他智能體要避開這些障礙物。因此,一些智能體在前往其指定目標(biāo)點(diǎn)的途中會(huì)受到上述兩種障礙物的阻礙而導(dǎo)致智能體無法繼續(xù)移動(dòng)。而本文算法是先訓(xùn)練智能體到達(dá)地圖的中心點(diǎn),則不會(huì)出現(xiàn)以上的情形。此外,在SQL-SIE算法的獎(jiǎng)勵(lì)設(shè)置中,只有當(dāng)智能體碰到障礙物或到達(dá)目標(biāo)區(qū)域時(shí),智能體才能獲得獎(jiǎng)勵(lì)。然而,從起始點(diǎn)到目標(biāo)點(diǎn),沒有適當(dāng)?shù)莫?jiǎng)勵(lì)引導(dǎo)智能體向有利于到達(dá)目標(biāo)點(diǎn)的方向移動(dòng),導(dǎo)致了出現(xiàn)稀疏獎(jiǎng)勵(lì)的問題,容易出現(xiàn)在障礙物附近來回走動(dòng)的現(xiàn)象,使得算法難以收斂到穩(wěn)定狀態(tài)。為了解決上述問題,本文算法將式(2)獎(jiǎng)勵(lì)給下一步動(dòng)作距離各自指定目標(biāo)點(diǎn)更近的智能體。這個(gè)獎(jiǎng)懲機(jī)制能夠引導(dǎo)智能體以最小的探索步數(shù)移動(dòng)到各自指定的目標(biāo)點(diǎn),加快算法的收斂速度。
規(guī)定智能體在每個(gè)迭代次數(shù)中的最大探索步數(shù)為2000,如果智能體在當(dāng)前迭代次數(shù)中花費(fèi)超過2000探索步數(shù)都無法到達(dá)其指定的目標(biāo)點(diǎn),2000就作為該智能體到達(dá)目標(biāo)點(diǎn)的最大探索步數(shù)。如表2所示,與SQL-SIE算法相比,在50×50的網(wǎng)格地圖中,本文算法訓(xùn)練智能體到達(dá)指定目標(biāo)點(diǎn)所需要的總的探索步數(shù)要少將近50%。
表2 50×50網(wǎng)格環(huán)境總的探索步數(shù)
在有限大小的二維網(wǎng)格環(huán)境和有限迭代次數(shù)的情況下,隨著智能體數(shù)量的增加,本文算法的優(yōu)勢(shì)更加突出。這是因?yàn)殡S著智能體數(shù)量的增加,智能體通過知識(shí)共享可以更快、更全面地獲取全局信息。事實(shí)上,使用文中算法訓(xùn)練智能體可以得到去往目標(biāo)點(diǎn)的最優(yōu)路徑,而使用SQL-SIE算法訓(xùn)練則不能得到最優(yōu)路徑。此外,如表3所示,在100×100的網(wǎng)格地圖中,當(dāng)使用SQL-SIE算法訓(xùn)練智能體時(shí),由于存在稀疏獎(jiǎng)勵(lì)的問題,超過一半的智能體不能到達(dá)指定的目標(biāo)點(diǎn)。因此,當(dāng)使用文中算法訓(xùn)練智能體移動(dòng)到各自的目標(biāo)點(diǎn)時(shí),得到總的探索步數(shù)將遠(yuǎn)小于使用SQL-SIE算法得出總的探索步數(shù),并且隨著智能體數(shù)量的增加,這個(gè)差距會(huì)變得更加顯著。
表3 100×100網(wǎng)格環(huán)境總的探索步數(shù)
為了驗(yàn)證本文算法在多智能體進(jìn)行隊(duì)形轉(zhuǎn)換的性能要優(yōu)于SQL-SIE算法,文中設(shè)計(jì)這個(gè)實(shí)驗(yàn)分別訓(xùn)練12、16和20個(gè)智能體來完成隊(duì)形轉(zhuǎn)換的任務(wù),并統(tǒng)計(jì)從矩形隊(duì)形轉(zhuǎn)換到十字隊(duì)形所需要的運(yùn)行時(shí)間。本文算法的訓(xùn)練過程如下:
(1)訓(xùn)練網(wǎng)格地圖四周的智能體通過避開障礙物,到達(dá)網(wǎng)格地圖的中心點(diǎn),并生成最優(yōu)共享Q表;
(2)智能體根據(jù)上述的最優(yōu)共享Q表,從中心點(diǎn)移動(dòng)到各自指定的目標(biāo)點(diǎn),形成矩形隊(duì)形;
(3)繼續(xù)沿用上述的最優(yōu)共享Q表,智能體從矩形隊(duì)形上的目標(biāo)點(diǎn)繼續(xù)移動(dòng)到另一組指定的目標(biāo)點(diǎn),形成十字隊(duì)形。
同時(shí),本實(shí)驗(yàn)使用SQL-SIE算法來完成編隊(duì)轉(zhuǎn)換任務(wù)。該任務(wù)的訓(xùn)練過程主要分為兩個(gè)階段:第一階段是訓(xùn)練智能體從地圖的四邊移動(dòng)到地圖的中心區(qū)域形成矩形隊(duì)形。第二階段是訓(xùn)練智能體從矩形隊(duì)形轉(zhuǎn)換為十字隊(duì)形。統(tǒng)計(jì)上述兩種算法中所有智能體完成隊(duì)形轉(zhuǎn)換任務(wù)所需的運(yùn)行時(shí)間。
如表4所示,在50×50的網(wǎng)格地圖中,使用文中算法完成隊(duì)形轉(zhuǎn)換任務(wù)的運(yùn)行時(shí)間比使用SQL-SIE算法快將近5倍。因?yàn)槲闹兴惴ǖ牡谝浑A段是訓(xùn)練分布在地圖周圍的智能體,使其移動(dòng)到地圖的中心,因此智能體可以獲得比SQL-SIE算法更全面的地圖信息,從而獲得最優(yōu)的Q表。此外,智能體經(jīng)過第一階段的訓(xùn)練后,可以得到全地圖的環(huán)境信息融合而成的Q表,因此可以減少智能體的隨機(jī)試錯(cuò)次數(shù),從而加快算法的收斂速度。通過使用這個(gè)最優(yōu)Q表,智能體可以得到從地圖上任意一點(diǎn)移動(dòng)到另一點(diǎn)的最優(yōu)路徑。智能體在轉(zhuǎn)換隊(duì)形時(shí)不需要再進(jìn)行訓(xùn)練,只需要根據(jù)Q表和當(dāng)前所處的位置執(zhí)行下一步動(dòng)作。因此,當(dāng)智能體從矩形隊(duì)形轉(zhuǎn)換為十字隊(duì)形時(shí),只需要根據(jù)Q表和當(dāng)前所處的位置移動(dòng)到十字隊(duì)形上各自指定的目標(biāo)點(diǎn),即可快速完成隊(duì)形轉(zhuǎn)換任務(wù)。
表4 50×50網(wǎng)格環(huán)境運(yùn)行時(shí)間(s)
如表5所示,在100×100網(wǎng)格地圖中,使用SQL-SIE算法不能分別訓(xùn)練12、16和20個(gè)智能體形成矩形隊(duì)形,更不能完成隊(duì)形轉(zhuǎn)換任務(wù),因此本文將100×100網(wǎng)格地圖下使用SQL-SIE算法訓(xùn)練智能體完成隊(duì)形轉(zhuǎn)換任務(wù)的運(yùn)行時(shí)間表示為無窮大。
表5 100×100網(wǎng)格環(huán)境運(yùn)行時(shí)間(s)
將模塊化機(jī)器人編隊(duì)控制建模成一個(gè)多智能體強(qiáng)化學(xué)習(xí)問題進(jìn)行研究。本文研究每個(gè)智能體都學(xué)習(xí)一種最優(yōu)的策略,通過避開障礙物,在最短的時(shí)間內(nèi)移動(dòng)到目標(biāo)點(diǎn)和形成特定的隊(duì)形,以完成編隊(duì)控制任務(wù)。本文還研究將多智能體從矩形隊(duì)形轉(zhuǎn)換成十字隊(duì)形的編隊(duì)控制問題。在基于群體和知識(shí)共享的基礎(chǔ)上,提出了兩階段強(qiáng)化學(xué)習(xí)算法。在第一階段,使用基于群體的強(qiáng)化學(xué)習(xí)算法和知識(shí)共享的算法訓(xùn)練智能體避開隨機(jī)產(chǎn)生的障礙物,尋找到達(dá)中心點(diǎn)的最優(yōu)路徑。由于這個(gè)階段是訓(xùn)練地圖四周的智能體從起始點(diǎn)前往中心點(diǎn),為了能夠減小稀疏獎(jiǎng)勵(lì)的影響,設(shè)計(jì)適當(dāng)?shù)莫?jiǎng)勵(lì)引導(dǎo)智能體向有利于到達(dá)中心點(diǎn)的方向移動(dòng),從而減少算法迭代次數(shù),提高算法的收斂速度,文中引入了曼哈頓距離作為獎(jiǎng)賞值。因此通過這個(gè)階段能夠獲得較為全面的地圖信息,即能得到地圖上任意一點(diǎn)移動(dòng)到另一點(diǎn)的最優(yōu)路徑。在第二階段,利用第一階段獲得的最優(yōu)共享Q表,訓(xùn)練智能體從中心點(diǎn)移動(dòng)到各自指定的目標(biāo)點(diǎn),完成編隊(duì)任務(wù)。在這個(gè)階段中,當(dāng)智能體進(jìn)行多次隊(duì)形轉(zhuǎn)換時(shí),不需要多次訓(xùn)練,只需根據(jù)最優(yōu)共享Q表和所處位置,移動(dòng)到各自指定目標(biāo)點(diǎn)。實(shí)驗(yàn)結(jié)果表明,該算法具有較好的性能。主要表現(xiàn)在算法收斂速度較快,智能體實(shí)現(xiàn)隊(duì)形轉(zhuǎn)換任務(wù)需要的時(shí)間較短,具有良好的實(shí)用性。