樊 力,雷 斌,蔣 林
(武漢科技大學(xué)機(jī)械工程及自動(dòng)化學(xué)院,武漢 430081)
近年來(lái),多智能體系統(tǒng)因其在各個(gè)領(lǐng)域的巨大潛力,而成為了一個(gè)重要的研究熱點(diǎn)。其應(yīng)用領(lǐng)域主要包括無(wú)人機(jī)[1-3],移動(dòng)機(jī)器人[4-5],航天器[6-7]等。
編隊(duì)控制是多智能體領(lǐng)域的一個(gè)重點(diǎn)問(wèn)題,針對(duì)該問(wèn)題研究者提出了很多想法。DU等[8]通過(guò)引入自適應(yīng)輸出反饋解決了時(shí)變分布式編隊(duì)控制問(wèn)題。HAN等[9]將相對(duì)定位策略引入基于Laplacian的編隊(duì)控制方法中,提出了一種主從式編隊(duì)控制算法。LIU等[10]研究了一種無(wú)需智能體間通信的主從式編隊(duì)控制方法。伍友利等[11]解決了傳統(tǒng)Flocking集群算法必須獲取鄰居智能體速度信息而導(dǎo)致通信網(wǎng)絡(luò)負(fù)擔(dān)過(guò)大的問(wèn)題。LI等[12]針對(duì)異構(gòu)非線性多智能體系統(tǒng),提出一種分布式控制算法來(lái)解決系統(tǒng)的編隊(duì)控制問(wèn)題。
雖然上述文獻(xiàn)提出的算法都具有良好的編隊(duì)控制性能,但它們考慮的都是理想通信下的編隊(duì)問(wèn)題。王祥科等[13]指出感知約束下的編隊(duì)控制問(wèn)題是多智能體系統(tǒng)實(shí)際應(yīng)用必須解決的問(wèn)題,包括感知距離約束、感知方向約束、帶有感知延時(shí)和噪音的編隊(duì)控制問(wèn)題等。LOPEZ等[14]考慮了具有視覺(jué)約束的多智能體系統(tǒng)編隊(duì)控制。SONG等[15]考慮了通信距離有限的多智能體系統(tǒng)的環(huán)形編隊(duì)形成問(wèn)題。HU等[16]考慮了具有外部干擾和有限通信資源的航天器編隊(duì)協(xié)調(diào)控制問(wèn)題。LIU等[17]將角色切換策略應(yīng)用于具有通信限制的多智能體系統(tǒng)編隊(duì)跟蹤控制問(wèn)題。WANG等[18]考慮智能體速度和角速度約束下的編隊(duì)控制問(wèn)題,并對(duì)完全剛性編隊(duì)、半完全剛性編隊(duì)和柔性編隊(duì)的運(yùn)動(dòng)性能進(jìn)行了分析。
上述文獻(xiàn)針對(duì)感知受限的智能體編隊(duì)控制問(wèn)題進(jìn)行了詳細(xì)的研究,但是他們的控制律都是建立在無(wú)障礙環(huán)境下的,對(duì)于障礙物環(huán)境下的編隊(duì)控制算法并沒(méi)有進(jìn)行研究,特別是障礙物切斷智能體之間通信的情況。因此,針對(duì)感知約束下的編隊(duì)問(wèn)題,本文考慮了通信距離受限條件下的多智能體系統(tǒng)的編隊(duì)避障,通過(guò)設(shè)置協(xié)議切換控制器,有效地解決了智能體近距通信時(shí)易被障礙物切斷通信而無(wú)法維持編隊(duì)的問(wèn)題。并且,所提的算法相比于使用集中式控制,有效地降低了系統(tǒng)的通信量,提高了系統(tǒng)的魯棒性。
智能體之間的信息交互可以用有向圖或者無(wú)向圖來(lái)建模。假設(shè)一個(gè)由n個(gè)智能體組成的系統(tǒng),可以用G=(V,E)表示有向圖,其中V={1,2,3,…,n}為非空節(jié)點(diǎn)集,E?V×V被稱為邊集。有向圖邊集中的邊(i,j)表示信息從智能體i流向智能體j,對(duì)于邊(i,j),i是父節(jié)點(diǎn),j是子節(jié)點(diǎn)。無(wú)向圖中的邊(i,j)是不排序的,即邊(i,j)表示信息可以在智能體i和智能體j之間相互流動(dòng)。如果邊(i,j)∈E,那么節(jié)點(diǎn)i稱為節(jié)點(diǎn)j的一個(gè)鄰居。一個(gè)有向圖G=(V,E)的鄰接矩陣An=[aij]∈Rn×n定義如下:當(dāng)(j,i)∈E時(shí),aij是一個(gè)正權(quán)值;當(dāng)(j,i)?E時(shí),aij=0。如果一個(gè)有向圖G至少有一個(gè)節(jié)點(diǎn)存在一條有向路徑通往其他所有節(jié)點(diǎn),那么稱有向圖G含有一個(gè)有向生成樹。
考慮如下一階系統(tǒng):
(1)
式中,xi∈R和ui∈R分別表示第i個(gè)智能體的狀態(tài)信息量和控制輸入量。將智能體n作為系統(tǒng)的領(lǐng)導(dǎo)者,其他智能體作為跟隨者。針對(duì)一階系統(tǒng)(1),REN等[19]分別提出了基于領(lǐng)導(dǎo)-跟隨模型的分布式控制協(xié)議和集中式控制協(xié)議,其中分布式控制協(xié)議的算式為:
(2)
引理1:采用一致性式(2),當(dāng)t→∞時(shí),xi(t)-xj(t)→Δij(t)的充分必要條件是有向圖G至少含有一個(gè)有向生成樹[19]。
REN等[19]提出了基于領(lǐng)導(dǎo)-跟隨模型的集中式控制協(xié)議的算式為:
(3)
引理2:采用一致性式(3),當(dāng)t→∞時(shí),xi(t)-xj(t)→Δij(t)的充分必要條件是對(duì)于任意i=1,2,…,n-1,都有ain≡1[19]。
一致性式(3)形成一致性的條件是ain≡1,這表明系統(tǒng)中每個(gè)跟隨者均要接收到領(lǐng)導(dǎo)者信息,所以該算法屬于集中式控制。
雖然采用式(2)或式(3)能夠使智能體系統(tǒng)形成編隊(duì),但這兩種算法都沒(méi)有考慮智能體通信距離的限制,這顯然與實(shí)際的智能體不相符。針對(duì)這種情況,本文考慮了通信距離受限條件下分布式協(xié)議與集中式協(xié)議的控制算法。首先,針對(duì)分布式控制式(2),本文模擬紅外通信方式,紅外通信具有能耗低的優(yōu)點(diǎn),但同時(shí)其通信距離相對(duì)于wifi通信較小。
如圖1所示,智能體系統(tǒng)由1個(gè)領(lǐng)導(dǎo)者智能體與4個(gè)跟隨者智能體組成,每個(gè)智能體上都有一圈紅外通信環(huán)。當(dāng)兩個(gè)智能體的紅外通信環(huán)相交時(shí),表明這兩個(gè)智能體可以進(jìn)行信息交互,否則,這兩個(gè)智能體不能進(jìn)行信息交互。圖中的紅外通信線表示相鄰的兩個(gè)智能體正在進(jìn)行信息交互。此時(shí),智能體系統(tǒng)的通信拓?fù)涫莿?dòng)態(tài)的,式(2)中鄰接矩陣An的第(i,j)項(xiàng)有如下定義:
(4)
式中,dij表示智能體i和智能體j之間的距離;rh表示紅外通信環(huán)半徑。
針對(duì)集中式控制式(3),本文模擬紅外加wifi的通信方式。相比于紅外通信,wifi的通信距離更遠(yuǎn),但同時(shí)wifi通信的能耗會(huì)更高。
由于集中式控制式(3)形成一致性的條件是所有跟隨者均能接收領(lǐng)導(dǎo)者的信息,所以除了采用紅外通信外,還需要通信范圍更大的wifi通信來(lái)保證所有跟隨者能夠在足夠大的范圍內(nèi)接收到領(lǐng)導(dǎo)者信息。如圖2所示,領(lǐng)導(dǎo)者上有wifi信號(hào)發(fā)射器,所有跟隨者上都裝有wifi接收器,wifi通信環(huán)表示wifi信號(hào)的覆蓋范圍,在wifi通信環(huán)內(nèi)的跟隨者均能夠接收到領(lǐng)導(dǎo)者傳遞的信息。此時(shí)式(3)將改為如下定義:
(5)
式中,aij的值由式(4)定義;bi的值有如下定義:
(6)
式中,diL為智能體i與領(lǐng)導(dǎo)者智能體的距離;rw為wifi通信環(huán)的半徑。當(dāng)bi=1時(shí),表示智能體i處于領(lǐng)導(dǎo)者智能體的wifi覆蓋范圍內(nèi),智能體i能夠接收到領(lǐng)導(dǎo)者信息;當(dāng)bi=0時(shí),表示智能體i不在領(lǐng)導(dǎo)者智能體的wifi覆蓋范圍內(nèi),智能體i不能接收到領(lǐng)導(dǎo)者信息。
圖1 模擬紅外通信方式 圖2 模擬紅外加wifi通信方式
本文選取的引力場(chǎng)勢(shì)能函數(shù)為:
(7)
式中,p為智能體的位置;pg為目標(biāo)點(diǎn)的位置;p-pg為智能體和目標(biāo)點(diǎn)之間的相對(duì)距離;katt>0為引力增益系數(shù)。目標(biāo)點(diǎn)對(duì)智能體的引力由引力勢(shì)能函數(shù)求負(fù)梯度所得:
Fatt(p)=-▽Uatt(p)=-katt(p-pg)
(8)
選取的斥力場(chǎng)勢(shì)能函數(shù)為:
(9)
式中,po為障礙物的位置;p-po為智能體和障礙物之間的相對(duì)距離;rf為斥力場(chǎng)范圍半徑;krep為斥力增益系數(shù)。障礙物對(duì)智能體的斥力由斥力場(chǎng)勢(shì)能函數(shù)求負(fù)梯度所得:
(10)
在合力場(chǎng)中,智能體受到的合力為:
(11)
式中,m為影響智能體i的斥力場(chǎng)個(gè)數(shù)。將人工勢(shì)場(chǎng)函數(shù)引入分布式控制式(2),得到領(lǐng)導(dǎo)者和跟隨者的編隊(duì)避障控制算法:
(12)
式中,uN為領(lǐng)導(dǎo)者的控制輸入量;ui(i=1,2,…,n-1)為跟隨者的控制輸入量。
將人工勢(shì)場(chǎng)函數(shù)引入集中式控制式(5),得到領(lǐng)導(dǎo)者和跟隨者的編隊(duì)避障控制算法:
(13)
在障礙物環(huán)境中,當(dāng)單獨(dú)采用分布式編隊(duì)避障式(12)時(shí),由于通信距離較短,智能體系統(tǒng)的編隊(duì)隊(duì)形會(huì)被障礙物打散,造成智能體之間的通信中斷,進(jìn)而無(wú)法維持編隊(duì)隊(duì)形,而采用集中式控制就可以克服這一問(wèn)題。當(dāng)單獨(dú)采用集中式編隊(duì)避障式(13)時(shí),雖然可以克服障礙物切斷智能體通信的問(wèn)題,但是采用集中式控制會(huì)使智能體系統(tǒng)的通信量增加,消耗的能量也會(huì)增加。為了解決這個(gè)問(wèn)題,本文提出了切換協(xié)議策略,既可以解決障礙物打斷智能體通信的問(wèn)題,又可以使系統(tǒng)以較低的通信量維持編隊(duì),這一點(diǎn)會(huì)在第2節(jié)的仿真實(shí)驗(yàn)中進(jìn)行驗(yàn)證。
首先,智能體i與是否處于障礙物o的斥力場(chǎng)內(nèi)的標(biāo)志量定義如下:
(14)
式中,dio(t)為t時(shí)刻智能體i與障礙物o之間的距離;rf為斥力場(chǎng)范圍半徑。當(dāng)kio(t)=0時(shí),表示t時(shí)刻智能體i不處于障礙物o的斥力場(chǎng)內(nèi);當(dāng)kio(t)=1時(shí),表示t時(shí)刻智能體i處于障礙物o的斥力場(chǎng)內(nèi)。然后,智能體系統(tǒng)的協(xié)議切換控制器定義如下:
(15)
式中,m為障礙物的數(shù)量。當(dāng)λ(t)=1時(shí),表示t時(shí)刻智能體系統(tǒng)中沒(méi)有智能體處于斥力場(chǎng)內(nèi),此時(shí)采用分布式編隊(duì)避障式(12);當(dāng)λ(t)=2時(shí),表示t時(shí)刻至少有一個(gè)智能體處于障礙物斥力場(chǎng)內(nèi),此時(shí)采用集中式編隊(duì)避障式(13)。
雖然采用協(xié)議切換控制器式(15)能使智能體系統(tǒng)以較低的通信量維持編隊(duì),但是其控制存在震蕩現(xiàn)象。如實(shí)驗(yàn)3圖10a所示,當(dāng)智能體系統(tǒng)在多障礙物環(huán)境中進(jìn)行避障時(shí),系統(tǒng)會(huì)在短時(shí)間內(nèi)頻繁地切換控制協(xié)議,從而引起震蕩現(xiàn)象。震蕩現(xiàn)象可能會(huì)引起系統(tǒng)的控制紊亂,并且短時(shí)間內(nèi)頻繁地切換控制協(xié)議也會(huì)使系統(tǒng)的通信量出現(xiàn)震蕩,如圖10b和圖10c所示,對(duì)智能體系統(tǒng)的魯棒性有一定影響。
為了解決這個(gè)問(wèn)題,本文在協(xié)議切換控制器式(15)的基礎(chǔ)上,提出了引入延遲時(shí)間的協(xié)議切換控制策略,其主要思想是在智能體系統(tǒng)離開(kāi)斥力場(chǎng)后的一段時(shí)間內(nèi)繼續(xù)使用集中式 (13),使智能體系統(tǒng)在短時(shí)間內(nèi)再次進(jìn)入斥力場(chǎng)后不用切換協(xié)議而直接進(jìn)行避障,保證智能體系統(tǒng)不會(huì)發(fā)生震蕩現(xiàn)象。首先,對(duì)智能體系統(tǒng)離開(kāi)斥力場(chǎng)的時(shí)刻進(jìn)行如下定義:
(16)
引入延遲時(shí)間的協(xié)議切換控制器為:
(17)
式中,td為切換協(xié)議的延遲時(shí)間。
為了更直觀地體現(xiàn)系統(tǒng)通信量,本文對(duì)系統(tǒng)通信量進(jìn)行了如下設(shè)定。首先,對(duì)于分布式編隊(duì)避障算法,定義系統(tǒng)的總通信量為:
(18)
式中,aij由式(4)定義,系統(tǒng)中領(lǐng)導(dǎo)者的通信量為:
(19)
然后,對(duì)于集中式編隊(duì)避障算法,定義系統(tǒng)的總通信量為:
(20)
式中,aij由式(4)定義;bi由式(6)定義,系統(tǒng)中領(lǐng)導(dǎo)者的通信量為:
(21)
本文采用的仿真平臺(tái)是MATLAB,實(shí)驗(yàn)的部分參數(shù)如表1所示。
表1 算法參數(shù)
實(shí)驗(yàn)1:本實(shí)驗(yàn)采用分布式編隊(duì)避障式(12)進(jìn)行避障實(shí)驗(yàn)。選取的目標(biāo)點(diǎn)為(10,10),智能體的起始坐標(biāo)為[(-5,-2) (-6,0) (-2,-3) (-3,-5) (-7,-5)],單位為m,其中(-7,-5)為領(lǐng)導(dǎo)者的起始坐標(biāo),其余的為跟隨者的起始坐標(biāo)。跟隨者與領(lǐng)導(dǎo)者之間的期望偏差為[(-1.5,1.5) (-1.5,1.5) (-3,1.5) (-3,-1.5)],障礙物的位置分別為[(1,3.5) (-2,4) (4,3)]。智能體的關(guān)鍵時(shí)刻位置和軌跡圖分別如圖3和圖4所示。
(a) t=0 s (b) t=17 s
圖4 智能體的運(yùn)動(dòng)軌跡
可以看出,當(dāng)t=17 s時(shí),智能體系統(tǒng)進(jìn)入障礙物斥力場(chǎng)中,此時(shí)智能體系統(tǒng)已經(jīng)形成預(yù)定的編隊(duì)隊(duì)形;當(dāng)t=28 s時(shí),智能體避障結(jié)束,但此時(shí)智能體的編隊(duì)隊(duì)形已經(jīng)被障礙物破壞,有兩個(gè)跟隨者與領(lǐng)導(dǎo)者之間的通信被中斷;當(dāng)t=37.9 s時(shí),領(lǐng)導(dǎo)者到達(dá)目標(biāo)點(diǎn),通信中斷的兩個(gè)跟隨者未能達(dá)到目標(biāo)點(diǎn)。
由圖4可知,跟隨者3和跟隨者4被障礙物阻攔而無(wú)法和領(lǐng)導(dǎo)者進(jìn)行通信,智能體系統(tǒng)無(wú)法維持編隊(duì)。
實(shí)驗(yàn)2:本實(shí)驗(yàn)采用集中式編隊(duì)避障式(13)進(jìn)行避障實(shí)驗(yàn)。目標(biāo)點(diǎn)的位置、智能體的初始坐標(biāo)、智能體的期望編隊(duì)隊(duì)形以及障礙物的位置和實(shí)驗(yàn)1一致,智能體的關(guān)鍵時(shí)刻位置和軌跡圖分別如圖5和圖6所示。
(a) t=0 s (b) t=17 s
圖6 智能體的運(yùn)動(dòng)軌跡
由圖5可知,當(dāng)t=17 s時(shí),智能體進(jìn)入障礙物斥力場(chǎng)內(nèi);當(dāng)t=28 s時(shí),智能體離開(kāi)障礙物斥力場(chǎng),此時(shí),智能體系統(tǒng)依然維持編隊(duì)隊(duì)形,說(shuō)明采用該算法可以克服障礙物切斷智能體通信的問(wèn)題。
由圖6可知,采用集中式編隊(duì)避障算法可以使智能體避開(kāi)障礙物并維持編隊(duì)到達(dá)目標(biāo)點(diǎn)。
系統(tǒng)的通信量如圖7所示,由圖7可知,系統(tǒng)的平均總通信量Ct=10.076 5,領(lǐng)導(dǎo)者的平均通信量Cl=5.960 4。
(a) 總通信量(b) 領(lǐng)導(dǎo)者通信量
實(shí)驗(yàn)3:本實(shí)驗(yàn)采用切換協(xié)議策略式(15)進(jìn)行避障實(shí)驗(yàn)。目標(biāo)點(diǎn)的位置、智能體的初始坐標(biāo)、智能體的期望編隊(duì)隊(duì)形以及障礙物的位置和實(shí)驗(yàn)1一致,智能體的關(guān)鍵時(shí)刻位置和軌跡圖分別如圖8和圖9所示。
(a) t=0 s (b) t=17 s
圖9 智能體的運(yùn)動(dòng)軌跡
由圖8可知,當(dāng)t=0 s時(shí),智能體系統(tǒng)未檢測(cè)到障礙物,此時(shí)采用分布式編隊(duì)避障式(12),通信方式為紅外通信;當(dāng)t=17 s時(shí),智能體系統(tǒng)進(jìn)入障礙物斥力場(chǎng)內(nèi),此時(shí)切換到集中式編隊(duì)避障式 (13),通信方式為紅外加wifi通信;當(dāng)t=28 s時(shí),智能體系統(tǒng)離開(kāi)障礙物斥力場(chǎng)范圍,此時(shí)協(xié)議又切換回分布式編隊(duì)避障算法,并且系統(tǒng)維持預(yù)定的編隊(duì)隊(duì)形;當(dāng)t=37.9 s時(shí),系統(tǒng)到達(dá)目標(biāo)點(diǎn)。
由圖9可知,當(dāng)采用切換協(xié)議策略時(shí),智能體系統(tǒng)能夠避開(kāi)障礙物并且維持編隊(duì)到達(dá)目標(biāo)點(diǎn)。
系統(tǒng)的協(xié)議切換圖如圖10a所示,當(dāng)λ=1時(shí),采用分布式編隊(duì)避障算法;當(dāng)λ=2時(shí),采用集中式編隊(duì)避障算法。由圖10b和10c可知,采用切換協(xié)議策略時(shí),系統(tǒng)的平均總通信量Ct=6.854 9,領(lǐng)導(dǎo)者的平均通信量Cl=2.770 4。
(a) 協(xié)議切換圖
與實(shí)驗(yàn)2相比,系統(tǒng)總通信量降低了32%,領(lǐng)導(dǎo)者的通信量降低了53.5%,表明切換協(xié)議策略能夠有效地降低智能體系統(tǒng)的通信量。
雖然采用協(xié)議切換控制器式(15)進(jìn)行控制可以使智能體系統(tǒng)以較低的通信量維持編隊(duì),但是其控制存在震蕩問(wèn)題,如圖10所示。震蕩現(xiàn)象會(huì)影響智能體系統(tǒng)的魯棒性,是增強(qiáng)系統(tǒng)穩(wěn)定性必須解決的問(wèn)題。
實(shí)驗(yàn)4:本實(shí)驗(yàn)針對(duì)實(shí)驗(yàn)3中智能體控制出現(xiàn)震蕩的問(wèn)題,采用引入延遲時(shí)間的協(xié)議切換控制器式(17)來(lái)解決。目標(biāo)點(diǎn)的位置、智能體的初始坐標(biāo)、智能體的期望編隊(duì)隊(duì)形以及障礙物的位置和實(shí)驗(yàn)1一致,切換協(xié)議的延遲時(shí)間td=0.2 s。系統(tǒng)的協(xié)議切換圖和通信量如圖11所示。
(a) 協(xié)議切換圖
由圖11可知,采用引入延遲時(shí)間的協(xié)議切換控制器式(17)可以有效地解決震蕩問(wèn)題,并且系統(tǒng)的總通信量和領(lǐng)導(dǎo)者的通信量分別僅增加了1.5%和3.8%,表明采用該策略可以在極小影響通信量的情況下解決震蕩問(wèn)題,提高系統(tǒng)的魯棒性。
為了研究切換協(xié)議的延遲時(shí)間td對(duì)智能體系統(tǒng)性能的影響,本文進(jìn)行了多組對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。
表2 延遲時(shí)間對(duì)智能體系統(tǒng)性能的影響
由表2可知,當(dāng)td=0.1 s時(shí),采用切換策略式(17)不能解決震蕩問(wèn)題;當(dāng)td≥0.2 s時(shí),可以解決震蕩問(wèn)題,并且當(dāng)td=0.2 s時(shí),既可以解決震蕩問(wèn)題,又可以使系統(tǒng)通信量的增加最小。
本文討論了通信距離受限條件下的多智能體系統(tǒng)編隊(duì)維持問(wèn)題,主要有兩個(gè)方面的考慮。首先,引入通信距離限制,針對(duì)分布式算法和集中式算法分別模擬紅外通信方式和紅外加wifi通信方式;然后,設(shè)計(jì)協(xié)議切換控制器,根據(jù)智能體是否在障礙物斥力場(chǎng)內(nèi)使集中式控制和分布式控制交替作用。仿真結(jié)果表明,本文提出的切換協(xié)議控制策略與單獨(dú)使用集中式編隊(duì)避障算法相比,有效地降低了系統(tǒng)的通信量,提高了系統(tǒng)的魯棒性。但本文的研究還存在局限性,主要體現(xiàn)在兩個(gè)方面。第一個(gè)方面,本文考慮智能體通信受限時(shí)只考慮的智能體之間的距離,沒(méi)有考慮智能體的通信方向;第二個(gè)方面,本文的研究目前還處于仿真階段,針對(duì)算法在實(shí)體機(jī)器人上的實(shí)現(xiàn)還有一段距離,還需要繼續(xù)進(jìn)行研究。