羅家祥,關(guān)振峰,劉海明,蔡 鶴,高煥麗,黃 杰
(華南理工大學(xué)自動化科學(xué)與工程學(xué)院,廣東廣州 510640)
近年來,集群運動研究受到各領(lǐng)域研究者的廣泛關(guān)注,探索集群中個體的運動模型是集群運動研究的核心問題.自然界廣泛存在大量單個個體通過局部相互作用自行聚集成特定形狀的例子[1].例如鳥群可以通過與相鄰個體交互形成編隊[2].受此啟發(fā),基于個體運動規(guī)則的機器人編隊研究成為集群運動研究的熱點[3].
機器人編隊任務(wù)是指機器人個體在僅存在局部交互的條件下整個群體能夠形成并維持給定隊形[4–5].機器人編隊設(shè)計方法主要有:領(lǐng)航–跟隨法[6–8]、基于行為法[9–10]、虛擬結(jié)構(gòu)法[11–12].其中領(lǐng)航–跟隨法通過設(shè)置領(lǐng)航者,讓跟隨者跟隨領(lǐng)航者以形成隊形,例如:Du等[13]提出了一種基于有限時間觀測器的分布式領(lǐng)航–跟隨控制策略,該策略首先利用能在有限時間內(nèi)收斂的觀測器估計領(lǐng)航者有限時間內(nèi)的狀態(tài),并基于上述估計設(shè)計能在有限時間內(nèi)跟隨領(lǐng)航者狀態(tài)的有限時間控制器,該方法能夠很好的實現(xiàn)對領(lǐng)航者將來位置的估計和跟蹤.雖然領(lǐng)航–跟隨法在實現(xiàn)上最簡單但是需要確定固定領(lǐng)航者;基于行為法對機器人各種狀態(tài)分別確定行為,例如:Xu等[14]提出了基于分類的初始編隊位置搜索方式來實現(xiàn)初始編隊的形成,接著通過基于行為法進行編隊移動和避障等操作,但是該方法需要一個主控單元來完成初始編隊的計算任務(wù)無法以分布式控制的方式完成整個編隊任務(wù);虛擬結(jié)構(gòu)法將所有成員視為一個剛性結(jié)構(gòu)體以剛體形狀作為編隊形狀,其優(yōu)點是能夠嚴(yán)格保持隊形,但是靈活性不足并且還存在計算量大、對通訊要求嚴(yán)格等問題,例如:Fu等[15]提出了機器人通過與虛擬領(lǐng)導(dǎo)者和相鄰兩個機器人保持一定距離以形成編隊.除上述方法外還有Elkilany等[16]提出了一種優(yōu)化勢場法,該方法隊形是通過保持與相鄰個體的特定距離來形成特定隊形的,還加入了人工神經(jīng)網(wǎng)絡(luò)在線優(yōu)化勢能參數(shù)以解決傳統(tǒng)勢場法問題,最終成功完成避障、編隊保持、追蹤目標(biāo)3個任務(wù).
以上方法通常假設(shè)通信能力不受限,個體可獲得其他個體的所有信息,能夠?qū)崿F(xiàn)有領(lǐng)導(dǎo)者的編隊控制.但在實際情況下,隨著群體數(shù)量的增加,通訊負載將會增大,有領(lǐng)導(dǎo)者的編隊控制可能會因為通信能力不足而無法快速形成隊形.如,文獻[15]通過機器人參考相鄰兩機器人和虛擬領(lǐng)導(dǎo)者的位置和方位形成線形編隊,可快速收斂到一條曲線上,但在通信受限條件下,由于個體無法獲得全局信息便無法構(gòu)造虛擬領(lǐng)導(dǎo)者,機器人只能根據(jù)相鄰機器人狀態(tài)調(diào)整位置,這樣導(dǎo)致其最后收斂到設(shè)定線形的時間長;文獻[16]提出機器人利用與相鄰機器人保持一定距離和方位的規(guī)則來形成編隊,只有當(dāng)每個機器人個體都跟隨同一個方向上距離最近的相鄰機器人才能形成線形編隊,這就需要從跟隨隊首的機器人個體開始,依次調(diào)整,這種調(diào)整方式速度慢,機器人個體調(diào)整路徑大,能量消耗大.
本文針對通訊能力受限的線形編隊問題,在文獻[15–16]的基礎(chǔ)上,提出了基于位置預(yù)測的無領(lǐng)導(dǎo)者線形編隊算法,具體方法是:機器人個體在從初始位置開始大幅調(diào)整時,向相鄰兩機器人個體的中點移動,當(dāng)機器人個體調(diào)整到近線形狀態(tài)后,機器人個體根據(jù)當(dāng)前速度預(yù)測調(diào)整方向,結(jié)合相鄰兩機器人個體相對位置選擇跟隨機器人個體,最終實現(xiàn)線形編隊.同時,算法充分考慮了防碰撞機制和避障機制,使得群體可在有障礙物條件下完成編隊.對比文獻[15],本文不需要構(gòu)建虛擬領(lǐng)導(dǎo)者,可根據(jù)機器人個體狀態(tài)選擇跟隨對象;對比文獻[16],本文在隊形調(diào)整初始階段利用了相鄰兩體的中心快速調(diào)整,而不是在所有時刻單一跟隨某個機器人個體.本文所提出方法能夠在通信受限條件下快速形成編隊.
設(shè)本文總共有k1個移動機器人形成編隊,所有移動機器人集合R={ri|i=1,2,···,k1},pi[t]=(xi[t]yi[t])T為移動機器人ri在t時刻的位置,pi[t]∈R2,vi[t]=(vxi[t]vyi[t])T為移動機器人ri在t時刻的設(shè)定速度,則移動機器人ri的運動學(xué)模型如下所示:
其中:設(shè)機器人移動的最大速度vmax,并使得式(1)中的vi[t]滿足‖vi[t]‖2≤vmax,該模型假設(shè)移動機器人每一時刻移動機器人的速度都為設(shè)定速度.
本節(jié)通過絕對的世界坐標(biāo)系來建立期望速度坐標(biāo)系以及編隊坐標(biāo)系兩個相對坐標(biāo)系.移動機器人ri和rj之間的向量在世界坐標(biāo)系中表示為:pji[t]=pj[t]?pi[t].另有k2個固定圓形障礙物,所有障礙物集合O={om|m=1,2,···,k2},om的圓心在世界坐標(biāo)系中的坐標(biāo)為pom[t]∈R2,移動機器人ri和障礙物om之間的向量在世界坐標(biāo)系中表示為:pomi[t]=pom[t]?pi[t].
上述坐標(biāo)系設(shè)置如圖1所示.
圖1 坐標(biāo)系設(shè)置Fig.1 Coordinate system setting
世界坐標(biāo)系下的相對向量可以根據(jù)下式轉(zhuǎn)化為編隊坐標(biāo)系下的相對向量:
同理,世界坐標(biāo)系下的相對向量轉(zhuǎn)化方式為
本文算法任務(wù)為使得隨機初始位置的機器人形成編隊,并以vlw的速度行進.
對于隊中狀態(tài)的移動機器人來說,距離期望位置為其兩個相關(guān)聯(lián)機器人rij1與rij2之間連線的中點,并且平行四邊形對角線相互平分,那么rm與期望位置的偏差如下式所示:
其中:pji1[t]=pij1[t]?pi[t],pji2[t]=pij2[t]?pi[t].
對于隊首狀態(tài)的移動機器人來說,期望位置偏差與rij2和隊形方向有關(guān),將與期望位置的偏差分為與隊形方向同方向的δyhi[t]和與隊形方向垂直方向的δxhi[t].
其中dl為給定機器人之間的距離.
同理,對于隊尾狀態(tài)的移動機器人來說,期望位置偏差與rij1和隊形方向有關(guān),將與期望位置的偏差分為與隊形方向同方向的δyti[t]和與隊形方向垂直方向的δxti[t]:
而編隊任務(wù)的目標(biāo)是控制移動機器人ri使得δfmi,δxhi,δyhi,δxti,δyti趨近于0,若上述5個偏差最終都變?yōu)?,那么整個機器人編隊會最終變?yōu)樵O(shè)定線形編隊,并且相鄰機器人之間的距離也會變?yōu)樵O(shè)定值.
本文設(shè)計算法中移動機器人有以下3種行為:
1) 位置預(yù)測;
2) 編隊行進;
3) 避障.
以上3種行為的優(yōu)先級由上而下逐漸升高.
其中,編隊行進行為的目的是使機器人群體在以給定速度前進時逐漸形成線形編隊.位置預(yù)測是在機器人形成編隊時根據(jù)自身速度信息以及相鄰機器人信息調(diào)整自身編隊策略以達到快速形成線形編隊目的的行為.避障行為是為了避免機器人在行進過程中撞上障礙物.由于位置預(yù)測行為表現(xiàn)在編隊行進過程中,不直接影響速度,因此設(shè)計編隊行進以及避障兩種行為下ri的給定速度如式(9).
其中:vlw[t]為給定的群體期望速度;vsi[t]為防碰撞期望速度;voi[t],vfi[t]分別為避障期望速度分量、編隊期望速度分量.其中vfi[t],vsi[t],voi[t]將分別在下文討論.
本文所采取的編隊方式與文獻[16]所采取的勢場法方法類似,都是根據(jù)周圍機器人位置對自己有力的作用,并通過力所產(chǎn)生的勢場來形成編隊.但是,本文的前提條件更加嚴(yán)格,機器人只能獲取其相鄰最近機器人rij1和rij2的信息,無法獲得所有機器人個體的信息,且整個群體是無領(lǐng)導(dǎo)者的,因此單個機器人個體既無法通過群體信息來確認自己需要到達的位置,也無法通過與領(lǐng)導(dǎo)者保持特定的相對位置來形成編隊.單個機器人個體只能通過相鄰機器人個體的位置信息以及自身速度信息來自行決策,文獻[16]中采取的單邊跟隨方法,即只與rij1或rij2保持特定角度與距離;文獻[15]中采取的雙邊跟隨方法,該方法充分利用所有相鄰機器人位置信息,即以rij1和rij2的中點為期望位置,通過相互作用不斷調(diào)整機器人個體位置最終形成線形.
上述兩種方法各有優(yōu)缺點:單邊跟隨的方法能夠使群體比較快地收斂到直線編隊,但是其調(diào)整過程可能會因為跟隨對象同時在調(diào)整導(dǎo)致能量消耗增加;而雙邊跟隨的方法由于同時參考更多信息能夠減少能量消耗,但由于同時參考的信息過多導(dǎo)致在群體以及形成線之后調(diào)整到設(shè)定的角度和間距的耗時過長.
針對上述兩種方法的優(yōu)缺點,本文的編隊形成方法結(jié)合單邊跟隨和雙邊跟隨策略,通過預(yù)測機制調(diào)整其采取策略,在需要大幅調(diào)整時采取雙邊跟隨策略,而在已經(jīng)調(diào)整成為線形的時候預(yù)測其所處位置,并以期望位置的鄰居信息為參考使用單邊跟隨的方法,減少編隊形成消耗的時間.
編隊期望速度分量是使移動機器人群體趨向于形成設(shè)定的線形.編隊期望速度分量定義如下:
其中:Rip≠?表示隊中狀態(tài),Rif=?表示隊首狀態(tài),Rib=?表示隊尾狀態(tài).該式表示當(dāng)ri為隊中狀態(tài)時編隊期望速度取vfmi[t],為隊首狀態(tài)時編隊期望速度取vfhi[t],為隊尾狀態(tài)時編隊期望速度取vfti[t].
3.1.1 隊中狀態(tài)編隊行進與位置預(yù)測
由于位置預(yù)測行為是在隊中狀態(tài)編隊行進時通過切換跟隨策略來達到更快形成給定隊形目的的行為,因此在本小節(jié)中同時介紹隊中狀態(tài)編隊行進與位置預(yù)測.
編隊行進行為需要將某個機器人ri與其關(guān)聯(lián)機器人rij1和rij2的相對位置pji1[t]和pji2[t]分別分解為ppji1[t]和pvji1[t]以及ppji2[t]和pvji2[t].以pji2[t]為例,分解如圖2所示.
圖2 pji2[t]分解示意圖Fig.2 Decomposition diagram of pji2[t]
以ppji2[t]和pvji2[t]為例,其具體計算公式如下:
基于上述分量分解結(jié)果,vfmi[t]設(shè)計如下:
其中:C5為常數(shù),ksd1和ksd2為取值為0或1的參數(shù),該參數(shù)由位置預(yù)測行為確定,且不采取位置預(yù)測行為時ksd1和ksd2都為1.采取位置預(yù)測行為時由于ksd1和ksd2只能取0和1,其影響的是期望隊形方向水平方向的分量,在隊形形成過程中,若該參數(shù)為0表示機器人個體不使用該方向關(guān)聯(lián)機器人的位置信息,反之,若該參數(shù)為1表示機器人個體將該方向關(guān)聯(lián)機器人的位置信息納入考慮.
位置預(yù)測行為是將機器人可以獲得的自身速度信息,以及關(guān)聯(lián)機器人信息綜合起來判斷機器人處在期望隊形方向的左側(cè)還是右側(cè),接著根據(jù)關(guān)聯(lián)機器人在機器人個體的左邊或者右邊決定跟隨關(guān)系.
上文已經(jīng)假設(shè)能夠通過傳感器獲取關(guān)聯(lián)機器人的位置信息,算法還需要機器人當(dāng)前速度信息,為防止由于誤差或者突然調(diào)整導(dǎo)致速度信息波動較大,采取一定時間段內(nèi)的速度進行加權(quán)平均,并計算這一時間段之內(nèi)速度的方差,該方差能夠反映這一段時間內(nèi)速度的變化情況,據(jù)此能判斷機器人是否正在大幅調(diào)整,便能將其作為機器人位置的預(yù)測依據(jù).隊形調(diào)整平均速度和方差的表達式如下:
其中kt表示采取的時間段長度,即求平均的時刻的個數(shù).
3.1.2 隊首–隊尾狀態(tài)編隊行進
由前文可知,當(dāng)移動機器人ri處在隊首–隊尾狀態(tài)時,僅有一個與其相關(guān)聯(lián)的機器人rij2(rij1).由于本文需要控制一條直線的角度和長度,于是就需要控制每個相鄰移動機器人相對位置向量角度θl和距離dl.而這角度和距離就只需要處在隊首–隊尾狀態(tài)的機器人來控制,最終形成本文所設(shè)定的隊形.
該狀態(tài)的編隊期望速度設(shè)計如下:
其中C6和C7為常數(shù).
編隊期望速度是通過將設(shè)定角度θl和相對距離dl轉(zhuǎn)化為坐標(biāo)系x′o′y′,再通過坐標(biāo)系的x′軸和y′軸的值來控制的.
vfti[t]為處在rh移動機器人ri的編隊期望速度與vfhi[t]類似.
為了防止碰撞,本文采取了防碰撞機制使機器人與機器人或者機器人與障礙之間距離小于一個安全值時產(chǎn)生一個反向的斥力,將機器人推離即將撞上的物體;而為了讓機器人提前躲避障礙物本文設(shè)計了避障行為的控制方式,使得機器人在進入障礙物的避障距離后能夠提前動作繞開障礙物.
上述的防碰撞和避障分別是在即將撞上物體和以及感知到障礙物時采取的避免碰撞的措施,因此其作用的時間不同.防碰撞需要在移動機器人移動的任何時候起作用,而避障作為一種提前躲避障礙物的行為,只需要在移動機器人進入到障礙物的避障范圍內(nèi)后才會起作用.
對于移動機器人ri來說,當(dāng)其檢測到機器人rj與其相對距離小于dsr時,其防碰撞期望速度vsi[t]是背離rj的,且距離越近該速度大小越大,反之,若沒有其他機器人進入安全距離,則其該項的防碰撞期望速度為零,防碰撞期望速度vsi[t]設(shè)計如下:
其中C1和C2為常數(shù).
假設(shè)障礙物相互之間存在空隙.當(dāng)移動機器人檢測到其與任意一個障礙物之間的距離小于避障距離do時,移動機器人為了避開障礙物便會采取避障機制.在避障過程中,移動機器人會在保持給定期望速度的基礎(chǔ)上,根據(jù)與障礙物的相對位置加上一個與期望速度垂直的避障速度分量.
式中:C3為常數(shù),domi[t]=‖pomi[t]‖2表示移動機器人ri與障礙物om之間的距離.
voi[t]在時為0是由于此時對于移動機器人前進方向來說障礙物位于后方,若機器人保持移動方向便不可能與障礙物產(chǎn)生碰撞,并且該分量也會對機器人避開后續(xù)障礙物產(chǎn)生影響,因此此時無需施加避障分量,但若此時切換至編隊行為,便可能使得機器人產(chǎn)生與前進方向的合速度,有與障礙物產(chǎn)生碰撞的風(fēng)險,綜合上述原因,在時使得voi[t]為0可以有效避開障礙物,且保持避障行為繼續(xù)前進直至機器人與障礙物間的距離大于do.
本文參考文獻[17]所采用的方法來進行穩(wěn)定性分析.
下面將分別對上文所描述的隊中編隊行進以及隊首–隊尾編隊行進來進行穩(wěn)定性分析.
本文算法在最后接近穩(wěn)定狀態(tài)時采取雙邊跟隨策略,因此,只需要考慮雙邊跟隨算法的穩(wěn)定性即可.
由于只考慮編隊穩(wěn)定性,因此編隊行進行為的編隊期望速度穩(wěn)定,隊中狀態(tài)的編隊期望速度如式(13)所示,將其轉(zhuǎn)化為標(biāo)量
當(dāng)δfmi[t]→0時,每個點都和相關(guān)聯(lián)的兩個點位于同一條直線上,并且該點平分關(guān)聯(lián)兩點相連所形成的線段,此時能夠形成穩(wěn)定編隊,偏差如下式表示:
根據(jù)式(25)–(26)可得rm的編隊偏差為
取Lyapunov函數(shù)可得V(δfmi[t])為
易得V(δfmi[t])正定,且V(0)=0,并且,有
易求得當(dāng)(|1?2C5T|?1)<0時ΔV(δfmi[t])負定,此時0 由于隊中編隊行進行為穩(wěn)定,那么所有隊中狀態(tài)機器人最終都會與相關(guān)聯(lián)的rij1和rij2處于同一條直線上. 用同樣的方法對隊首和隊尾狀態(tài)編隊行進行為進行穩(wěn)定性分析.由于隊首和隊尾狀態(tài)編隊期望速度vfhi[t]和vfti[t]幾乎相同,因此只需若vfhi[t]穩(wěn)定,便可推出vfti[t]穩(wěn)定. 由于編隊期望速度vfhi[t]是由ppji2[t],pvji2[t]兩個相互垂直的分量計算的,因此,將期望位置偏差也分為與ppji2[t]同方向的δyhi[t]和與pvji2[t]同方向的δxhi[t].根據(jù)前文所述易得 此處δxhi[t]和δyhi[t]都取絕對值是由于其速度分量都是朝著使δ的值減小的方向的所以只需要考慮距離的標(biāo)量,所以位置偏差只為正值. 可將式(19)分解為相互垂直的兩個向量vpji2[t]和vvji2[t] 易得,在0 隊首和隊尾編隊行進行為穩(wěn)定會使得隊首和隊尾狀態(tài)機器人分別與關(guān)聯(lián)機器人形成直線,并且直線的角度和兩機器人之間的間距滿足編隊設(shè)定值. 用Python進行算法仿真,參數(shù)設(shè)置如表1所示,給定值如表2所示. 表1 參數(shù)設(shè)置Table 1 Parameter setting 表2 給定值Table 2 Given value 為了分別展示算法的避障能力和在無障礙環(huán)境中編隊組織能力,下面所展示的仿真實驗分別設(shè)置了有障礙少量機器人(圖3)和無障礙大量機器人(圖4–6)的兩種場景.其中,圖4–6所用的參數(shù)均相同,機器人的生成采用相同的隨機種子,這樣使得機器人生成位置也相同,圖4采用本文算法,圖5采用文獻[16]中使用的單邊跟隨算法,下文簡稱單邊跟隨算法,圖6采用另一種可行算法雙邊跟隨算法. 圖3 有障礙環(huán)境下8個移動機器人編隊行進仿真Fig.3 Simulation of 8 mobile robots formation in obstacle environment 圖4 無障礙物環(huán)境下50個移動機器人本文算法仿真Fig.4 This paper algorithm simulation of 50 mobile robots in obstacle free environment 圖5 無障礙物環(huán)境下50個移動機器人單邊跟隨算法仿真Fig.5 Simulation of one side following algorithm for 50 mobile robots in obstacle free environment 圖6 無障礙物環(huán)境下50個移動機器人雙邊跟隨算法仿真Fig.6 Simulation of two side following algorithm for 50 mobile robots in obstacle free environment 圖3(a)–(e)展示了有障礙環(huán)境下8移動機器人整個編隊行進過程,圖3(f)為整個過程的軌跡圖,能夠更加清晰地看到每個機器人個體的移動軌跡.圖中每個小五角星代表一個移動機器人,圓代表障礙物,且障礙物周圍有代表避障的圓環(huán),圓環(huán)以障礙物為圓心,do為半徑,若是移動機器人進入環(huán)便會進行避障. 接下來是圖3中各圖展示的具體內(nèi)容. 圖3(a)中的移動機器人的位置是隨機初始化的. 圖3(b)在20步時原本雜亂無章的移動機器人在編隊行進算法的控制下已經(jīng)能夠初步形成線形編隊,并且編隊的角度和距離以及形狀在不斷趨近于設(shè)定值. 圖3(c)–(d)中展示的都是避障過程,可以看到移動機器人在進入圓環(huán)的范圍內(nèi)后便開始主動分裂隊形,以此避開最前面的障礙物,在避開最前面的障礙物后便不受到最前面障礙物的作用,但是由于偏后的兩個障礙物作用,機器人隊形再次分裂,最終成功避開了所有障礙物. 圖3(e)展示了機器人編隊在避開障礙物后再次切換至編隊行進行為,根據(jù)此時周圍環(huán)境信息來建立相互聯(lián)系,并且最終重新形成設(shè)定隊形. 圖3(f)展示了整個過程機器人編隊的軌跡,一開始從隨機分布的狀態(tài)集合成線形,接著遇到障礙物便開始避障,最后離開障礙物范圍,重新組織隊形.可以看到,整個過程中未發(fā)生碰撞,并且整個系統(tǒng)在遇到障礙物后可以看作系統(tǒng)受到外界擾動,擾動破壞了系統(tǒng)的穩(wěn)定性但是在擾動結(jié)束后系統(tǒng)便再次趨于穩(wěn)定. 圖4–6中的(a)–(d)分別展示了相同時刻無障礙環(huán)境下50個移動機器人編隊行進過程,以方便對比,并且設(shè)定. 圖4–6的圖(a)中可以看出3種算法都應(yīng)用在相同初始位置的群機器人上. 3種算法的圖(b)可以看出本文算法與雙邊跟隨算法形成的形狀基本相同,這是由于本文算法設(shè)計使得機器人群體在大幅調(diào)整時采取雙邊跟隨策略,此時對比單邊跟隨算法發(fā)現(xiàn)若采用最小二乘法擬合單邊跟隨算法,其方差相較于本文算法和雙邊跟隨算法更大. 圖(c)中50步到100步的過程中本文算法通過位置預(yù)測行為采取單邊跟隨算法,此時雙邊跟隨仍然在其50步的基礎(chǔ)上調(diào)整,但是調(diào)整較慢,而單邊跟隨算法由于一直處在大幅調(diào)整狀態(tài)下此時方差仍然很大,而本文算法的隊形已經(jīng)基本形成. 圖(d)中在220步時,本文算法與單邊跟隨算法已經(jīng)形成設(shè)定的編隊,而雙邊跟隨算法還未完全收斂到直線. 從上述3個仿真實驗可以看出3種算法的優(yōu)劣,首先是單邊跟隨算法,由于其只參考一個方向上的關(guān)聯(lián)機器人,其在最開始的時候方差收斂的最慢,并且由于其跟隨的機器人也處于調(diào)整狀態(tài),其能量消耗也會最大,其優(yōu)勢在于能夠快速形成給定編隊.雙邊跟隨算法的優(yōu)勢在于其能夠充分利用所有關(guān)聯(lián)機器人信息,最開始的時候收斂地快,但由于該方法未考慮給定隊形設(shè)置導(dǎo)致該方法形成給定編隊需要的時間非常長,需要長時間的調(diào)整. 兩種方法優(yōu)缺點產(chǎn)生原因如下:由于假設(shè)機器人無法獲得全局信息和所有機器人的位置信息,只能獲得臨近機器人的信息和給定隊形信息,由于無法獲取自身處于隊形中的什么位置,單邊跟隨算法只參考一個方向相鄰機器人位置和給定隊形信息導(dǎo)致算法調(diào)整會出現(xiàn)朝著形成隊形相反的方向調(diào)整的情況,而雙邊跟隨算法雖然未知全局信息,但是通過兩個方向相鄰機器人位置可以緩解朝著形成隊形相反的方向調(diào)整的情況,但是無法同時考慮隊形信息導(dǎo)致其調(diào)整到給定隊形的時間過長. 本文算法通過加入位置預(yù)測行為結(jié)合單邊跟隨和雙邊跟隨算法的優(yōu)點,在最開始的的時候能夠采取雙邊跟隨的策略快速收斂,并且計算此時的速度作為位置預(yù)測的在其收斂速度下降,機器人趨于穩(wěn)定之后通過預(yù)測其在隊形中的位置,朝形成隊形的參考機器人方向移動,最終也能夠快速形成給定編隊,并且消耗能量大大小于單邊跟隨算法. 為比較算法性能,從形成直線的時間和能量消耗方面來進行對比分析.下面將一種群體期望隊形方向llw和群體期望速度vlw不同仿真機器人數(shù)量(分別為50個、100個、150個、200個)作為一組仿真實驗. 5.3.1 單組仿真結(jié)果 圖7–8為用最小二乘法對機器人形成曲線擬合的結(jié)果,圖9為隨著迭代次數(shù)的增加總能量消耗曲線.子圖(a)–(d)分別代表50,100,150,200個機器人進行仿真的情況,圖中橫軸為迭代次數(shù),在機器人個數(shù)較少為50或100時設(shè)定最大迭代次數(shù)為500,而當(dāng)個數(shù)為150或200時設(shè)定最大迭代次數(shù)為1000.圖7為其擬合得到的斜率的弧度值,圖8為每個點距離擬合得到直線的方差.此處同樣設(shè)定和vlw=(5 0)T.圖9表示從0時刻開始所有機器人速度求平均之后平方的累加,即,其中圖7中的曲線越快收斂到1.04720,圖8中的曲線越快收斂到0表示算法形成設(shè)定編隊的速度越快,而圖9中曲線越小表示算法消耗能量越小. 圖7 最小二乘法擬合機器人編隊的斜率(rad)變化曲線Fig.7 The least square method is used to fit the slope(rad)curve of robot formation 圖8 最小二乘法擬合機器人編隊的方差變化曲線Fig.8 Fitting variance curve of robot formation with least square method 圖9 能量消耗曲線Fig.9 Energy consumption curve 結(jié)合圖7–8分析發(fā)現(xiàn):雙邊跟隨算法斜率調(diào)整比較平滑,但其最終到收斂需要的時間非常長,甚至在達到最大迭代次數(shù)依然未收斂,而對比單邊跟隨算法斜率調(diào)整波動較大,但其最終能夠收斂到設(shè)定值,而本文算法結(jié)合了兩者的優(yōu)點,在開始的時候與雙邊跟隨算法相同平滑收斂,而后采取位置預(yù)測行為,快速收斂到設(shè)定值,波動也比單邊跟隨算法小,這是由于機器人群體首先收斂到了比較近的位置,并且根據(jù)預(yù)測位置有選擇地跟隨對形成設(shè)定編隊有利的關(guān)聯(lián)機器人,這樣本文算法能夠結(jié)合單邊跟隨和雙邊跟隨兩種算法的優(yōu)點,在收斂時間方面本文算法大大優(yōu)于收斂緩慢的雙邊跟隨算法. 分析圖9的能量消耗可以看出,由于本文算法是在采取雙邊跟隨算法后進行預(yù)測,其能量消耗相較于雙邊跟隨算法有所增加,但增加的較少,而單邊跟隨算法由于需要經(jīng)過大幅調(diào)整過程,其能量消耗多于雙邊跟隨算法和本文算法.因此,在能量消耗方面本文算法大大優(yōu)于單邊跟隨算法. 5.3.2 多組仿真結(jié)果 為保證算法的魯棒性,又分別對多組設(shè)定值進行了仿真,得到的結(jié)果曲線與圖7–9類似.得到的結(jié)果統(tǒng)計如圖10–12所示. 圖10 斜率收斂誤差棒Fig.10 Slope convergence error bar 圖10–12中以誤差棒的形式綜合統(tǒng)計結(jié)果,誤差棒中間的點表示多組數(shù)據(jù)的平均值,誤差棒最上方的短線表示多組數(shù)據(jù)中的最大值,誤差棒最下方的短線表示多組數(shù)據(jù)的最小值,圖中橫軸都為機器人個數(shù)(50個、100個、150 個、200個).圖10的縱軸為斜率收斂至與設(shè)定值相差1?以內(nèi)的迭代步長,圖11的縱軸為方差收斂到0.005以內(nèi)時的迭代步長,圖12的縱軸為最大迭代步長時機器人群的能量消耗.由于雙邊跟隨算法直到最大迭代步長都未收斂,圖10–11中未畫出其收斂步長,其步長遠大于最大迭代步長. 圖11 方差收斂誤差棒Fig.11 Variance convergence error bar 通過圖10與圖11分析對比本文算法與單邊跟隨算法,本文算法的收斂時間小于單邊跟隨算法和雙邊跟隨算法,圖12可以明顯看出本文算法能量明顯小于單邊跟隨算法.本文算法在收斂時間和能量消耗上均優(yōu)于單邊跟隨算法. 圖12 能量消耗誤差棒Fig.12 Energy consumption error bar 本文提出了一種對通訊依賴不強的分布式多機器人線形編隊控制算法,該算法能夠在無法獲取全局信息的前提下,設(shè)計了通訊受限條件下的機器人編隊以及避障算法,使得機器人個體能夠從初始隨機位置出發(fā)形成設(shè)定編隊,在編隊行進的過程中避開障礙物,且在脫離障礙物范圍后能夠恢復(fù)線形編隊.5 仿真實驗
5.1 有障礙條件下的仿真與分析
5.2 無障礙條件下的仿真與分析
5.3 隊形評估和能量消耗分析
6 結(jié)論