田寶國,吳尚燁
(海軍航空大學, 山東 煙臺 264001)
自然界存在著大量的群體,比如蜂群、鳥群、魚群、蟻群,這些群體的個體擁有的智能相對簡單,但通過群體協作卻能讓整個種群很好地適應自然界的各種復雜情況[1],近年來,隨著各種具有相對簡單功能的機器面世,如無人機、無人車、仿生魚等智能化群體在農業(yè)[2]、物流[3]、軍事[4]等領域有了重要作用,因此將具有簡單智能個體集合成多智能體系統,研究多智能體系統群體運動的協作方式和效能在對提高機器群體共同完成任務有重要意義。
多智能體集群運動是當前多智能體系統的研究重點之一,其中多智能體集群避障問題在多智能體集群運動中具有基礎的研究意義,如:群體跟蹤、群體編隊、群體覆蓋等,只要涉及到群體運動的問題,都要考慮到避障問題,然而在自然環(huán)境中,障礙物復雜多變,需要設計合理簡潔的適應性避障算法。文獻[5]提出了速度障礙法,通過個體和障礙的運動速度計算個體運動的安全區(qū)域,從而判斷個體是否需要采取避障措施。文獻[6]將其運用于大規(guī)模個體的情況,并體現出較好的避障效能。Tanner[7]、Olfati[8]、Murray[9]等提出了基于一致性與人工勢能函數相結合的群體控制算法,并且討論仿真了在有障礙時的集群運動情況。文獻[10]提出了基于人工勢場和極限環(huán)方法改進群體編隊避障算法。李皎潔[11]基于Olfati-Saber等提出的人工勢能框架,系統研究了部分智能體具有全局信息時群體避障的算法。文獻[12]基于勢能函數和行為規(guī)則設計了智能群體在滿足避障能力的同時能有效追蹤目標的群體控制方法。為簡化群體控制,Sakai[13]提出不區(qū)分相鄰智能體與障礙物的群體算法,簡化了算法設計時需要用到的勢能函數,仿真結果表明群體在有虛擬領導的情況下能有效避開障礙物。
上述論文的工作多數探討的是關于凸形障礙物的避障方法,部分雖然探討了凹形障礙物的避障方法,但這些方法都需部分智能體具有障礙物的中心點,或最大半徑等障礙物的幾何信息或者全局障礙信息。但在很多實際情況中,障礙物的幾何信息難以得到。為簡化智能體的信息需求,本文針對部分簡單凹形障礙設計了備用領導者更換機制,能在智能群體陷入凹形勢能陷阱的時候根據自身群體具備的信息生成只影響新的領導者智能體的虛擬障礙,通過新領導者帶領群體繞過凹形障礙。
在二維平面中運動的群體可用N+2個智能體描述,其中一個智能體為當前領導者,一個智能體為備用領導者,剩余N個智能體跟隨當前領導者。將群體中每個個體抽象成質點,每個智能體質點的運動方程滿足如下動力學方程:
(1)
式(1)中:xi(t)∈R2代表第i個智能體的二維位置向量;vi(t)∈R2代表第i個智能體的速度向量;ui(t)∈R2代表其控制量。為描述方便,令xl(t)=xn+1(t)表示領導者的位置坐標,xsl(t)=xn+2(t)表示備用領導者的位置坐標。
根據olfaite的群體算法框架[8],定義單個智能體鄰居集,從而描述每個智能體的影響源,并定義智能體的鄰居集合如下:在t時刻每個智能體的探測半徑為r,其探測到的其他智能體(包括領導者和備用領導者)集合為:
Ni(t)={j|‖xi(t)-xj(t)‖≤r,j≠i}
(2)
障礙物在智能體探測范圍之內時,將會產生該智能體對應的β智能體,其位置為障礙物表面距離智能體最近的點,其坐標可表述為:
(3)
對應探測到的障礙智能體集合為:
(4)
式(4)中,No為障礙智能體個數。
為確保函數處處可微分,令參數ε>0,定義智能體之間的距離范數為:
(5)
為使群體運動模型更為簡潔,本文根據文獻[13]只考慮智能體之間排斥力的思想設計群體控制算法。定義所有種類智能體之間的排斥函數為:
φ(Z)=ρh(z/df)(σ1(z-df)-1)
(6)
(7)
由此可定義每對智能體之間的排斥勢能為:
(8)
本文定義3種智能體,領導者能探測到運動方向信息,領導跟隨者智能體朝預定方向運動。跟隨者智能體具有領導者狀態(tài)信息,跟隨領導者運動,并且能探測到一定范圍內其他智能體信息和障礙信息。備用領導者智能體與領導者智能體保持相對位置,在領導者陷入凹形障礙產生的局部勢能陷阱時,成為新領導者,之前的領導者成為備用領導者,新的領導者根據之前領導者的位置產生虛擬障礙,同時根據探測到的運動方向和實際障礙帶領群體離開局部勢能陷阱。
令第i個跟隨者智能體的控制輸入為uf,i,領導者的控制輸入為ul,備用領導者的控制輸入為usl,分別定義其具體控制輸入形式如下。
1) 跟隨者智能體的控制輸入
(9)
2) 領導者智能體的控制輸入
(10)
3) 備用領導者智能體的控制輸入
(11)
式(11)中,第一項表示備用領導者受到障礙物的排斥力。第二項表示備用領導者與領導者之間的排斥力。第三項確保備用領導者與領導者保持相對位置,其中xp為領導者和備用領導者期望相對位置向量。最后一項使備用領導者與領導者保持速度一致。
當領導者遇到障礙,并且陷入凹形障礙的局部勢能陷阱時,備用領導者變換成為新的領導者,通過生成只有新的領導者能探測到的虛擬障礙填補凹形勢能陷阱區(qū)域,使新領導者繞過舊領導者進入的勢能陷阱區(qū),同時其他智能體,由于探測不到虛擬障礙,它們將跟隨新領導者從之前凹形勢能陷阱區(qū)域撤出并繞過實際的凹形障礙。
智能體控制輸入可根據勢能函數求導,如下表述:
(12)
(13)
考慮到領導者一直以常數vr(t)作為運動參考方向,可定義一個虛擬參考點xr(t),其中xr(t)=xl(t),vr(t)為常數。
定義跟隨者智能體和領導者相對虛擬參考點的總能量函數為:
(vi(t)-vr(t))Τ(vi(t)-vr(t))]+Ul,o+
(14)
式(14)中:
對于滿足上述運動方程的智能體組成的系統,在沒有遇到障礙物且系統能量有限Qf(t0)=C0的情況下,對t0時刻以后的系統可以有以下結論:
結論(2)系統中跟隨者智能體與領導者智能體的速度將收斂到同一速度值。
證明:
當智能體沒有遇到障礙物時Ui,o=0,Ul,o=0,同時另備用智能體與群體具有相對較遠的距離,此時可不考慮其對跟隨者智能體的影響,即Ui,sl=0。
此時,令
(15)
(16)
由對稱性可知
(17)
能量函數對時間求導數得到:
(18)
由式(18)得式(19)與式(20),有:
(19)
(20)
式(19)、式(20)相加除以2可得:
(21)
(22)
因此智能體系統函數Qf(t)是一個隨時間單調遞減的系統,令初始系統能量為Qf(t0),則對于任意時刻t>t0,Qf(t)≤Qf(t0)成立。
由式(16)可知:
(23)
可得到:
(24)
同理得到
令:
(25)
(26)
下面對基于變換領導者機制的避障算法進行仿真驗證。對凹形障礙情況下,22個智能體構成的系統在二維平面內運動,其中包括1個領導者智能體、1個備用領導者智能體及20個跟隨者智能體。令單位長度為1 m。
初始時,領導者坐標為[0,0],跟隨者和備用領導者位于[-20,20]×[-20,20]的空間內,速度隨機分布在[-5,5]×[-5,5]的區(qū)間內,令‖vr‖=10 m/s,vr=[10,0]。智能體之間探測半徑和探測障礙物范圍半徑相等,即r=r′=6,智能體之間和智能體與β智能體之間排斥力最大作用距離為d=4,σ范數中ε=0.5,函數ρh(z)中h=0.9。生成的虛擬障礙物半徑長度為εsl||xl(t)-xsl(t)||,其中εsl=0.95。考慮到系統內作用力大小跟系統整體參考速度vr有關,所以設計各智能體控制輸入的參數分別為:
以下描述為在該狀態(tài)下,仿真8 000步的結果,其中一步代表0.01 s。初始狀態(tài)圖如圖1所示,在二維平面上,智能體由圓點表示,運動方向及大小用紅色箭頭表示。圖2表示智能體最終狀態(tài),可明顯看到其速度方向保持一致,并且能夠形成統一行動的群體。兩圖中橫縱坐標單位為米。
圖1 初始智能體狀態(tài)示意圖
圖2 最終狀智能體狀態(tài)示意圖
圖3為多智能體避障路線圖,由圖3可看到跟隨智能體在領導者的帶領下能夠順利繞過局部勢能陷阱實現避障功能。圖4為單獨畫出領導者和備用領導者智能體的避障路線,由圖4可知,其互換了兩次領導權,最初的備用領導者在陷入新的勢能陷阱后,被再次變換領導位置,從而使群體最終順利繞過障礙。
圖3 避障路線
圖4 領導者和備用領導者路線
圖5、圖6為智能體在X軸和Y軸方向的速度曲線,由圖5、圖6可知,在第2 000步到4 500步時速度變化較為劇烈,處于避障過程,之后速度收斂到同一數值,表明智能群體繞過障礙物后,智能體系統逐漸達到穩(wěn)定狀態(tài)。
圖5 X軸方向速度曲線
圖6表示智能個體之間最短距離的變化圖,在2 000~5 000 步,最短距離變化最為劇烈,但最小距離都大于0.5,表明系統內部智能體之間具有較好的避碰性能,滿足群體避障算法的基本要求。
圖6 Y軸方向速度曲線
本文針對凹形障礙易使智能體陷入局部最小勢能陷阱和避障信息簡化的問題,設計了基于領導者互換和虛擬障礙機制的多智能體避障算法,該算法不需要智能體事先知道障礙物的幾何信息或全局障礙信息,就能實現對凹形障礙物的群體避障功能,通過理論分析該算法的穩(wěn)定性,仿真驗證該算法能夠有效避開簡單凹形障礙。