徐 博,王朝陽(yáng)
(哈爾濱工程大學(xué)智能科學(xué)與工程學(xué)院,哈爾濱 150001)
近年來(lái),隨著傳感器、控制算法理論等關(guān)鍵技術(shù)的發(fā)展,無(wú)人系統(tǒng)在長(zhǎng)航時(shí)、小型化等多個(gè)方向取得了突破性進(jìn)展。微小型無(wú)人智能體組成的無(wú)人集群系統(tǒng)已經(jīng)成為國(guó)內(nèi)外專家學(xué)者共同關(guān)注的熱點(diǎn)課題[1-2]。
微小型無(wú)人智能體組成的無(wú)人集群在執(zhí)行任務(wù)過(guò)程中具有高度動(dòng)態(tài)性、不確定性、強(qiáng)對(duì)抗性等特點(diǎn),因此如何提高無(wú)人集群的自主性和適應(yīng)性是無(wú)人集群技術(shù)面臨的關(guān)鍵問(wèn)題[3]。針對(duì)無(wú)人集群控制問(wèn)題,目前常用的方式主要包括集中式和分布式。集中式控制是指通過(guò)一個(gè)中央控制器對(duì)整個(gè)集群進(jìn)行統(tǒng)一調(diào)配與控制。這種方式可以獲得全局最優(yōu)狀態(tài),但這種控制方法不僅計(jì)算量大,而且對(duì)大型無(wú)人集群計(jì)算資源要求苛刻,當(dāng)一個(gè)環(huán)節(jié)出現(xiàn)延遲,編隊(duì)容錯(cuò)率便會(huì)降低[4-5]。分布式控制不存在中心控制器,集群內(nèi)的個(gè)體都是獨(dú)立的,通過(guò)信息之間的交互可以達(dá)到控制目的。與集中式控制相比,分布式控制盡管很難保證全局的最優(yōu),但它具有模塊化、可擴(kuò)展等優(yōu)點(diǎn)[6-9]。針對(duì)集群避障、保持、路徑規(guī)劃等問(wèn)題,國(guó)內(nèi)外學(xué)者針對(duì)人工勢(shì)場(chǎng)法、虛擬結(jié)構(gòu)法、圖論法等進(jìn)行了深入研究,但這些方法控制器分析大多依賴于現(xiàn)代控制理論,通過(guò)微分方程和差分方程描述數(shù)學(xué)模型,對(duì)參數(shù)的依賴性過(guò)大。當(dāng)其應(yīng)用于超過(guò)一定數(shù)量的無(wú)人集群時(shí),參數(shù)所造成的復(fù)雜程度也隨之增加。
針對(duì)集群編隊(duì)保持問(wèn)題,文獻(xiàn)[10]通過(guò)跟隨者與領(lǐng)航者的預(yù)定隊(duì)形跟蹤參考軌跡,實(shí)現(xiàn)了集群弱通信條件下的隊(duì)形保持。文獻(xiàn)[11-12]結(jié)合模糊邏輯系統(tǒng)和滑??刂?,保持水下無(wú)人集群的編隊(duì)形狀。針對(duì)集群避障的問(wèn)題,文獻(xiàn)[13]提出了一種預(yù)測(cè)制導(dǎo)避障算法,研究了當(dāng)只有一部分智能體具有障礙物動(dòng)態(tài)信息或每個(gè)智能體具有局部交互時(shí)多智能體系統(tǒng)的協(xié)調(diào)避障算法,實(shí)現(xiàn)了交互弱條件下的協(xié)調(diào)避障。此外,國(guó)內(nèi)外研究人員在自組織協(xié)同控制方面也開展了一些研究。這種方式?jīng)]有固定的通信路線,個(gè)體與個(gè)體之間的相對(duì)運(yùn)動(dòng)可以使得通信發(fā)生改變。文獻(xiàn)[14]針對(duì)無(wú)人機(jī)集群編隊(duì)系統(tǒng),提出了一種基于個(gè)體間相對(duì)行為的路徑規(guī)劃方法。
自然界中生物可以通過(guò)單體簡(jiǎn)單的個(gè)體行為表現(xiàn)出集群的復(fù)雜行為,如鳥群、魚群、蟻群躲避敵害,共同覓食[15]。通過(guò)簡(jiǎn)單行為得到的集群控制效果可以使得系統(tǒng)穩(wěn)定性提高和算法計(jì)算量降低。因此,仿生集群的研究引起了世界范圍內(nèi)的廣泛關(guān)注。生物集群的研究最早開始于20世紀(jì)80年代,Reynolds 提出了分離、聚集、速度一致3 個(gè)基本法則。
Vicsek 等[16]在研究過(guò)程中,發(fā)現(xiàn)生物群體具有聚集行為和磁鐵特性,即鳥的飛行速度向量如同磁聚一樣具有自適應(yīng)性。但簡(jiǎn)單的模型模仿生物集群的思維模式與實(shí)際生物集群的行為相差很多。因此,針對(duì)基礎(chǔ)Vicsek 模型,眾多學(xué)者相繼進(jìn)行了改進(jìn)。吳渝等[17]在模型基礎(chǔ)上引入了速度加權(quán)均值調(diào)整集群運(yùn)動(dòng)過(guò)程中的問(wèn)題。但上述模型沒有考慮到個(gè)體之間距離所帶來(lái)影響,因此文獻(xiàn)[18]提出了WAR-Vicsek 模型,重點(diǎn)考慮了相鄰個(gè)體之間距離所帶來(lái)的影響,降低了系統(tǒng)收斂效率。文獻(xiàn)[19]在此基礎(chǔ)上考慮到集群中個(gè)體的體積,提出了IV-Vicsek 模型,降低了集群成員在運(yùn)動(dòng)過(guò)程中碰撞概率。文獻(xiàn)[20]引入了集群內(nèi)個(gè)體體力模型,并且個(gè)體體積越大,相對(duì)影響力越高,使得模型更加貼近復(fù)雜網(wǎng)絡(luò)模型,提升整體收斂速度。
考慮到個(gè)體組成的集群擁擠程度對(duì)狀態(tài)的影響以及無(wú)人集群運(yùn)動(dòng)過(guò)程中遇到的邊界問(wèn)題,本文在上述基礎(chǔ)上,提出了MRF-Vicsek 模型。首先,建立多域感知范圍模型并通過(guò)改進(jìn)后的生物行為法則使得集群運(yùn)動(dòng)更貼近生物集群行為,并得到自由空間初速度相同條件下的狀態(tài)更新函數(shù)。再通過(guò)集群擁擠程度和集群規(guī)模建立模糊規(guī)則,對(duì)上述狀態(tài)更新進(jìn)行優(yōu)化,得到初速度隨機(jī)條件下自由空間狀態(tài)更新算法。最后,通過(guò)對(duì)規(guī)則空間的區(qū)域劃分以及生物行為準(zhǔn)則,得到在規(guī)則空間條件下初始狀態(tài)隨機(jī)的狀態(tài)更新方程,達(dá)到集群收斂更類似復(fù)雜網(wǎng)絡(luò)模型的目的。
傳統(tǒng)Vicsek 模型已經(jīng)具備了仿生集群運(yùn)動(dòng)的部分特征,由N個(gè)運(yùn)動(dòng)體組成的離散系統(tǒng)用集合表示,每個(gè)個(gè)體的初始位置和速度都是隨機(jī)的,在狀態(tài)更新時(shí)受到一個(gè)高斯白噪聲干擾。IV-Vicsek 模型在傳統(tǒng)的Vicsek 模型中增加了避碰區(qū)域,其系統(tǒng)權(quán)重大小受到個(gè)體之間的距離影響。
本文在IV-Vicsek 模型基礎(chǔ)上考慮了個(gè)體與個(gè)體之間是如何相互影響以及邊界對(duì)集群運(yùn)動(dòng)的影響,可以使得集群在隨機(jī)初始速度狀態(tài)下在規(guī)則空間內(nèi)運(yùn)動(dòng)。本文將個(gè)體i的感知區(qū)域分為避碰層、保持層、內(nèi)聚層和連通層。每層存在的其他個(gè)體的數(shù)量和距離對(duì)該個(gè)體狀態(tài)的影響各不相同,通過(guò)分配各區(qū)域權(quán)重,使得模型更加貼進(jìn)生物集群運(yùn)動(dòng)。
如圖1所示,(r1,r2,R1,R2)分別為避碰層、保持層、內(nèi)聚層和連通層的感知半徑,其他個(gè)體對(duì)中心個(gè)體的影響隨著區(qū)域的不同而改變。為更加貼近生物集群在規(guī)則空間內(nèi)運(yùn)動(dòng)行為,在模型中加入了規(guī)則邊界,如圖2所示,在L1,L2構(gòu)成的規(guī)則邊界(H,H1,H2,H3)中,邊界對(duì)個(gè)體的影響依次增加。當(dāng)個(gè)體i處于不同的區(qū)域時(shí),通過(guò)不同的控制方法對(duì)其進(jìn)行控制。
圖1 個(gè)體感知區(qū)域示意圖Fig.1 Individual perception area
圖2 規(guī)則空間邊界示意圖Fig.2 Regular space boundary diagram
生物集群行為研究與大型無(wú)人集群的組網(wǎng)有很多相似之處,生物集群的行為主要滿足以下3個(gè)性質(zhì)。
(1)分離性。在生物集群中,生物體之間存在安全距離,使得生物體之間碰撞與沖突減少。
(2)一致性。生物集群在穩(wěn)定運(yùn)動(dòng)過(guò)程中,生物體之間保持相對(duì)一致的狀態(tài),使得集群的狀態(tài)穩(wěn)定。
(3)聚集性。當(dāng)存在生物體落單時(shí),通過(guò)吸引其他生物體形成一個(gè)緊密的生物集群。
本文在原有性質(zhì)的基礎(chǔ)上,增加了3 條狀態(tài)約束規(guī)則。
(1)在生物集群運(yùn)動(dòng)過(guò)程中,生物體之間的距離越接近一定值,生物體之間的狀態(tài)一致性更高。
(2)當(dāng)生物集群運(yùn)動(dòng)過(guò)至邊界時(shí),距離邊界最近的生物體狀態(tài)改變,不受距離邊界遠(yuǎn)的生物體影響。
(3)當(dāng)生物體之間的距離達(dá)到一定值時(shí),該生物體將適當(dāng)擴(kuò)大感知距離。
定義影響個(gè)體i的運(yùn)動(dòng)狀態(tài)集合由個(gè)體自身當(dāng)前時(shí)刻位置為中心的4 個(gè)感知區(qū)域內(nèi)所有個(gè)體組成。由N個(gè)運(yùn)動(dòng)體組成的仿生集群K中,設(shè)為當(dāng)前時(shí)刻個(gè)體狀態(tài),為個(gè)體向量之間的歐氏距離,因此t時(shí)刻個(gè)體i在避碰層、保持層、內(nèi)聚層和連通層的相鄰個(gè)體集合為:
設(shè)無(wú)人集群所有個(gè)體初始速度為V,當(dāng)集群在H范圍內(nèi)運(yùn)動(dòng)中未觸及邊界影響范圍時(shí),個(gè)體i在t時(shí)刻的狀態(tài)受避碰層、保持層、內(nèi)聚層和連通層的個(gè)體影響。因此,個(gè)體i在t+1 時(shí)刻的位置更新為:
式中,α,β,ε分別為避碰層因子、保持層因子、內(nèi)聚層因子。分別為避碰層、保持層和內(nèi)聚層的個(gè)體數(shù)量。為使得個(gè)體i與保持層狀態(tài)更為一致,保持層因子應(yīng)大于另外兩個(gè)。
在實(shí)際生物集群運(yùn)動(dòng)中,集群內(nèi)各成員的初始位置和初始速度都是隨機(jī)的。并且在運(yùn)動(dòng)過(guò)程中,當(dāng)個(gè)體之間的距離小于一定值時(shí),個(gè)體之間的相對(duì)狀態(tài)會(huì)迅速改變。例如,速度降低或運(yùn)動(dòng)方向改變,這種狀態(tài)的改變有一定范圍。當(dāng)個(gè)體i在t時(shí)刻感知范圍內(nèi)避碰層的個(gè)體對(duì)其造成影響時(shí),該個(gè)體會(huì)改變其運(yùn)動(dòng)狀態(tài),以達(dá)到保持距離的目的。
如圖3所示,避碰層的個(gè)體傾向于散開,以保持個(gè)體之間距離;一致層是集群理想的運(yùn)動(dòng)狀態(tài)層,處于該層的個(gè)體更傾向于狀態(tài)保持;而內(nèi)聚層的個(gè)體動(dòng)作更傾向于向一致層靠攏。
圖3 集群簡(jiǎn)單行為示意圖Fig.3 Cluster simple behavior
當(dāng)個(gè)體i遠(yuǎn)離集群時(shí),即感知范圍連通層內(nèi)無(wú)其他個(gè)體,此時(shí)依據(jù)生物行為規(guī)則,該個(gè)體的速度將處于隨機(jī)狀態(tài),其狀態(tài)更新為:
當(dāng)個(gè)體的初始狀態(tài)為隨機(jī)狀態(tài)時(shí),即集群內(nèi)各成員初始速度在(a,b)上隨機(jī)分布,初始角度在(0,2π)上隨機(jī)分布。為使得集群內(nèi)個(gè)體狀態(tài)更貼近生物行為,本文將集群期望速度和個(gè)體鄰域集合內(nèi)個(gè)體加權(quán)后的速度之差作為當(dāng)前時(shí)刻速度的誤差,從而更好地調(diào)節(jié)集群速度。設(shè)集群的期望速度為Ve?(a,b),其狀態(tài)更新為:
生物集群內(nèi)個(gè)體之間的影響難以用公式準(zhǔn)確表示,本文通過(guò)引入模糊規(guī)則優(yōu)化這種情況。模糊控制是基于模糊邏輯將人類經(jīng)驗(yàn)轉(zhuǎn)化為控制邏輯。其中,包括模糊化、模糊集、模糊推理和解模糊4 個(gè)模塊。根據(jù)MRFC-Vicsek 模型個(gè)體狀態(tài)控制結(jié)構(gòu),為下一時(shí)刻輸出,為當(dāng)前時(shí)刻輸入,α,β,ε,u為當(dāng)前時(shí)刻控制器參數(shù)。則當(dāng)前速度更新為式(10),角度更新為:
設(shè)模糊狀態(tài)更新輸入變量為集群大小M1和擁擠程度M2(避碰層數(shù)量),輸出變量為感知范圍避碰層、保持層和內(nèi)聚層的因子α,β,ε。取值范圍見表1。
表1 模糊輸入輸出論域Table 1 Fuzzy input and output domain
采用高斯隸屬函數(shù)進(jìn)行模糊化:
式中,x為模糊變量,另外是參數(shù)模糊語(yǔ)言變量集合為“擁擠(C)”“正常(N)”“稀疏(S)”“較高(G)”“穩(wěn)定(W)”和“較?。╔)”。
模糊規(guī)則依據(jù)如下:
(1)α,β,ε的意義是個(gè)體感知范圍內(nèi)不同層所占權(quán)重,參數(shù)越大,該層的個(gè)體狀態(tài)對(duì)其中心個(gè)體的影響作用越大。
(2)u的意義是個(gè)體狀態(tài)的改變意愿,當(dāng)感知范圍內(nèi)避碰成員增加時(shí),個(gè)體改變狀態(tài)的意愿更為強(qiáng)烈。
通過(guò)模糊邏輯和模糊語(yǔ)言,將上述依據(jù)轉(zhuǎn)化為模糊控制規(guī)則,見表2~5。
表2 α 模糊規(guī)則Table 2 Fuzzy ruleα
表3 β 模糊規(guī)則Table 3 Fuzzy rule β
表4 ε 模糊規(guī)則Table 4 Fuzzy rule ε
表5 u 模糊規(guī)則Table 5 Fuzzy rule u
最后,通過(guò)重心法對(duì)其進(jìn)行解模糊,得到α,β,ε,u。
一般生物集群在自由空間內(nèi)運(yùn)動(dòng)時(shí),集群內(nèi)個(gè)體只需考慮自身感知范圍內(nèi)成員即可,不需要考慮外界環(huán)境條件。
在無(wú)人集群的實(shí)際應(yīng)用場(chǎng)景中,許多集群無(wú)法在空間內(nèi)自由運(yùn)動(dòng),活動(dòng)范圍受限,類似池塘中的魚群。但這些集群在運(yùn)動(dòng)過(guò)程中遇見邊界時(shí),距離邊界最近的個(gè)體會(huì)率先進(jìn)行減速和轉(zhuǎn)彎,而處于集群距離較遠(yuǎn)的成員,會(huì)提前進(jìn)行狀態(tài)改變。邊界對(duì)于集群的影響在2.1 節(jié)已經(jīng)闡述。因此,本文提出了MRFC-Vicsek 模型實(shí)現(xiàn)規(guī)則空間下集群的控制,其框圖如圖4所示。
圖4 規(guī)則空間下集群狀態(tài)更新整體框圖Fig.4 Overall block diagram of cluster state update in rule space
如圖4所示,運(yùn)動(dòng)個(gè)體通過(guò)模糊多權(quán)重狀態(tài)優(yōu)化將其感知范圍不同區(qū)域內(nèi)成員狀態(tài)整合至下一刻的輸入,得到自由空間集群運(yùn)動(dòng)狀態(tài)更新方法。在此基礎(chǔ)上,引入規(guī)則邊界影響范圍,當(dāng)個(gè)體運(yùn)動(dòng)到一定范圍時(shí),將受到外界環(huán)境的影響。此刻的運(yùn)動(dòng)個(gè)體在速度和方向上受到邊界影響的權(quán)重大于集群對(duì)其的影響。邊界對(duì)該個(gè)體的影響是根據(jù)個(gè)體所在的集群時(shí)刻調(diào)整,進(jìn)而影響該個(gè)體相鄰個(gè)體,達(dá)到在規(guī)則空間下集群運(yùn)動(dòng)更貼近生物行為準(zhǔn)則的目的。
通過(guò)這種方法,可以使得集群在規(guī)則空間內(nèi)的運(yùn)動(dòng)行為與實(shí)際生物集群行為更加接近,在遇到外界突發(fā)情況時(shí),可以通過(guò)降速與轉(zhuǎn)向達(dá)到集群穩(wěn)定的目的。
本文將邊界影響范圍劃分為H1,H2,H3,其中H1對(duì)集群影響最弱,H3受到橫向邊界和縱向邊界影響,對(duì)集群影響最強(qiáng)。
當(dāng)個(gè)體運(yùn)動(dòng)至H1H2H3 區(qū)域內(nèi),邊界對(duì)個(gè)體的影響為:
式中,d1,d2,d3分別為區(qū)域H1,H2,H3的安全距離。因此,當(dāng)個(gè)體運(yùn)動(dòng)至區(qū)域Hn時(shí),其速度狀態(tài)更新公式為:
鄰域個(gè)體分布指數(shù)為:
為驗(yàn)證本文所提出的MRFC-Vicsek 模型對(duì)集群的控制性能,本節(jié)進(jìn)行了仿真實(shí)驗(yàn)。設(shè)置初始化參數(shù),迭代運(yùn)動(dòng)時(shí)間T=1000 s,集群總數(shù)N為200、400、800,噪聲大小δ?(-0.2,0.2),感知范圍避碰層半徑r1 =0.3 m,r2 =0.5 m,R1 =0.8 m,R2=1.2 m,規(guī)則區(qū)域邊界長(zhǎng)度L1=L2 =10 m。速度的模值大小和方向分別在(-0.2,0.2),(0,2 π)上隨機(jī)分布。如圖5所示,集群初始狀態(tài)為隨機(jī)狀態(tài)。
圖5 初始狀態(tài)Fig.5 Initial state
通過(guò)仿真得到集群在1000s 過(guò)程中的數(shù)據(jù),其過(guò)程如圖6~8所示。
圖6 集群個(gè)數(shù)200 過(guò)程圖Fig.6 Number of clusters 200 processes
圖6~8 中,(a)、(b)、(c)、(d)分別對(duì)應(yīng)初始時(shí)刻、400s、800s、1000s 的集群分布情況。由于空間是規(guī)則的,因此集群運(yùn)動(dòng)最終會(huì)收斂為一個(gè)或幾個(gè)集群。當(dāng)遇見邊界后,集群最外側(cè)開始改變狀態(tài),同時(shí)影響著集群內(nèi)側(cè)的個(gè)體有改變狀態(tài)的趨勢(shì),通過(guò)個(gè)體的簡(jiǎn)單的減速與轉(zhuǎn)向,使得整個(gè)集群完成穩(wěn)定的避開邊界,達(dá)到了在規(guī)則空間下集群仿生運(yùn)動(dòng)的目的。通過(guò)圖6~8 的比較,可以看出當(dāng)集群的數(shù)量增多,形成集群的時(shí)間節(jié)點(diǎn)越靠后。當(dāng)集群在200~400 時(shí),集群的收斂效果更好,但還需進(jìn)一步驗(yàn)證。其速度和速度序參量如圖9 和圖10所示。
圖7 集群個(gè)數(shù)400 過(guò)程圖Fig.7 Number of clusters 400 processes
圖9 集群內(nèi)所有個(gè)體速度Fig.9 Speed of all individuals in the cluster
圖10 不同個(gè)數(shù)集群速度序參量Fig.10 Cluster speed order parameter
可以看出,當(dāng)集群的復(fù)雜度隨著數(shù)量的增加而增加時(shí),遇見邊界時(shí)速度更不穩(wěn)定;當(dāng)數(shù)量達(dá)到800 時(shí),速度很難穩(wěn)定;當(dāng)集群數(shù)量為200時(shí),集群的速度收斂時(shí)間最短,遇見邊界時(shí)速度更穩(wěn)定。
圖8 集群個(gè)數(shù)800 過(guò)程圖Fig.8 Number of clusters 800 processes
圖11、圖12 展示了規(guī)則空間下不同集群數(shù)量的個(gè)體認(rèn)可度與個(gè)體鄰域分布指數(shù),可以看出集群在遇到邊界時(shí),集群的一致性與個(gè)體之間的穩(wěn)定性受到比較大的影響。當(dāng)集群數(shù)量較少時(shí),集群的收斂性較快,可以很早地達(dá)到相對(duì)穩(wěn)定;當(dāng)遇到邊界時(shí),可以很快調(diào)整至相對(duì)穩(wěn)定狀態(tài);當(dāng)集群數(shù)量增加時(shí),集群遇到邊界時(shí),調(diào)整能力降低。
圖11 不同個(gè)數(shù)集群個(gè)體認(rèn)可度Fig.11 Cluster individual recognition
根據(jù)約束后仿生集群的行為準(zhǔn)備,本文建立了多智能體與規(guī)則空間的多區(qū)域模型,再通過(guò)模糊規(guī)則解出不同區(qū)域所對(duì)應(yīng)的權(quán)重,同時(shí)將不同的權(quán)重與邊界影響區(qū)域結(jié)合,最后得到了規(guī)則空間集群控制方法。仿真結(jié)果表明,該方法可以實(shí)現(xiàn)規(guī)則空間下的集群控制,行為方式與生物集群相似,這為自組織協(xié)同控制避障與執(zhí)行任務(wù)提供了思路。但本文方法也存在不足,當(dāng)集群數(shù)量增加時(shí),集群更為擁擠,該算法的收斂速度與穩(wěn)定程度會(huì)下降,如何在集群數(shù)量增加時(shí)保證控制算法的穩(wěn)定性是一個(gè)值得繼續(xù)深入研究的問(wèn)題。