1. Reynold Boid 模型
Boid 模型是 Reynold 在1986 年建立的一個用來模擬羣體行爲的空間模型,是首次針對蜂擁運動提出的著名模型。在該模型中定義了三個基本規則:
i)分離(Separation),即每個個體受到其鄰域內的其他個體的排斥力的矢量和,以避免和附近的智能體碰撞。
ii)聚合(Cohesion),即每個個體受到其鄰域內的其他個體的吸引力的矢量和,以保持整個團隊的緊湊。
iii)速度匹配(Alignment),即讓每個個體與其鄰域內的其他個體的平均速度保持一致,最終使整個團隊的速度趨於一致。
在此三條規則的基礎上,諸多學者對蜂擁運動展開了深入研究。
2. Vicsek 模型
2.1 參考文獻
Vicsek, Tamás, et al. “Novel type of phase transition in a system of self-driven particles.” Physical review letters 75.6 (1995): 1226.
2.2 模型定義
在 Vicsek 模型對中,羣體中的個體可以與其周圍半徑爲r內的其他個體相互作用,在仿真開始時,個體位置和速度隨機分佈,並且每個個體運動速度均爲v且一直保持不變,每一步的仿真時間爲Δt,則個體的位置更新可以表示爲:
xi(t+1)=xi(t)+vi(t)Δt
角度的更新可以表示爲:
θi(t+1)=⟨θ)⟩r+Δθ
其中⟨θ(t)⟩r表示在個體i通信範圍r內羣體中個體的平均速度(包含個體i)。平均方向角由arctan[⟨sin(θ(t))⟩r/⟨cos(θ(t))⟩r]。其中Δθ表示噪音,是以均勻概率隨機從[−η/2,η/2]中取得的。同時還有三個隨機參數:η、ρ和v,其中v是粒子在兩次相鄰步長之間個體運動的距離。
3. Cucker-Smale 模型
3.1 參考文獻
Cucker, Felipe, and Steve Smale. “Emergent behavior in flocks.” IEEE Transactions on automatic control 52.5 (2007): 852-862.
3.2 模型定義
Cucker-Smale 模型與上面的 Vicsek 模型相似,但是該模型提供了詳細的收斂性證明。在該模型中位置更新函數如下:
xi(t+1)=xi(t)+vi(t)Δt
使用速度更新函數代替 Vicsek 模型中的角度更新函數
vi(t+1)−vi(t)=j=1∑kaij(vj(t)−vi(t))
其中aij是與個體i和個體i位置相關的函數
aij=η∥xi−xj∥2
η(y)是遞減函數
η(y)=(σ2+y)βK
3. Couzin模型
3.1 參考文獻
Couzin, Iain D. , et al. “Collective Memory and Spatial Sorting in Animal Groups.” Journal of Theoretical Biology 218.1(2002):1-11.
3.2 模型定義
個體在原點中心處,並將其周圍空間劃分爲三個區域:zor = 排斥區,zoo = 速度匹配區,zoa = 吸引區。同時改模型還考慮個體的“盲區”,其位於個體背後,即個體只能感知α範圍內的信息。
3.3 控制規律
該模型控制分爲三個階段分別對應於zor,zoo和zoa 三個區域。其中優先級最高的爲zor。
1)當個體i視野內的zor區域內有個體時,(忽略背後360-α範圍內的個體),其受到zor區域內個體的排斥,則下一時刻的速度可以表示爲:
dr(t+τ)=−j=i∑nr∣rij(t)∣rij(t)
其中rij=cj−ci∣cj−ci,ci和cj分別表示個體i和j的位置矢量,nr表示位於個體i的zor區域內的其他個體的數量。
2)當個體i視野內的zor區域內沒有其他個體時,即nr=0,這時個體對zoo和zoa 區域中的個體做出反應。
do(t+τ)=−j=i∑no∣vj(t)∣vj(t)
da(t+τ)=−j=i∑na∣rij(t)∣rij(t)
其中no和na分別爲位於個體i的zoo和zoa 區域中的個體的數量,vj表示個體j的速度矢量。
最終下一時刻個體i的期望速度di(t+τ)定義爲:
1)若zor區域內有其他個體,即nr=0,則
di(t+τ)=dr(t+τ)
2)若zor區域內沒有其他個體,即nr=0,則:
- 若zoo區域內有其他個體,zoa區域內沒有,即no=0且na=0,則
di(t+τ)=do(t+τ)
- 若zoa區域內有其他個體,zoo區域內沒有,即na=0且no=0,則
di(t+τ)=da(t+τ)
- 若zoo區域和內zoa曲雲均有其他個體,即no=0且na=0,則
di(t+τ)=21[do(t+τ)+da(t+τ)]
確定下一時刻的期望速度di(t+τ)後,個體i在下一時刻從當前速度vi(t)向速度di(t+τ)轉動角度θ,得到下一時刻速度vi(t+τ),這裏的θ應該小於最大轉動角度θτ。至此,該模型建立完畢。
4. Gábor Vásárhelyi模型
4.1 參考文獻
Vásárhelyi Gábor, et al. “Optimized flocking of autonomous drones in confined environments.” Science Robotics 3.20(2018):eaat3536-.
4.2 模型定義
一個可調的自推植絨模型
4.2.1 排斥速度 Repulsion
當個體i與其周圍的個體j的距離小於距離閾值r0rep時,個體j對個體i產生排斥速度項。個體i周圍r0rep距離內沒有其他個體時,該項爲0。則排斥速度項定義如下:
vijrep={prep⋅(r0rep−rij)⋅rijri−rj0if rij<r0repotherwise
其中vijrep爲個體i收到個體j的影響產生的速度項,prep爲排斥速度項的增益係數(線性增益)。
如下圖所示,左邊藍色斜線爲vijrep在參數r=10、p=1、v=10時的的排斥速度項。
因此,個體i最終排斥速度項定義如下:
virep=j=i∑vijrep
4.2.2 速度對齊項 Velocity alignment term
以往的工作通常使用冪律函數,使個體與羣體內其他個體的速度差在空間中漸近衰減爲零。這些模型在較低速度範圍內的某些特定條件下可以正常工作。速度對齊項也必須充當阻尼介質,以減少由於對例如斥力的延遲和噪聲導致的自激振盪現象。它必須是局部的,但同時還必須具有可擴展性,以適應較大的速度(因爲可能存在較大的速度差異)。最後一個條件意味着如果限制了代理的加速度,則應在速度差較大時應該放寬制動距離,以避免碰撞。
因此文中使用理想的制動曲線,即空間中平滑的速度衰減函數D(.):在高速時保持恆定加速度,在低速時保持指數速度,其定義如下:
D(r,a,p)=⎩⎨⎧0rp2ar−a2/p2if r≤0if 0<rp<a/potherwise
其中,r是代理與預期停止點之間的距離,a是首選加速度,p是線性增益,p還確定了減速的兩個階段之間的交叉點。
速度對齊項的基本原理是禁止給定距離上的兩個代理在此距離之外的速度差大於此理想制動曲線所允許的值,因此在其他基於瞬時力的方程式中用作運動規劃項,該項定義如下:
vijfrictmax=max(vfrict,D(rij−r0frict,africt,pfrict))
vijfrict={cfrict(vij−vijfrictmax)⋅vijvi−vj0if vij>vijfrictmaxotherwise
在上面的等式中,Cfrict是速度對準誤差減小的線性係數;vfrict是速度鬆弛,以允許一定量的速度差,而與代理之間的距離無關,r0frict是代理i與個體j相關且還沒有到達個體j所在位置的停止點的距離。pfrict和africt是線性增益和對齊的加速度參數,並且vij=∣vi−vj∣是代理i和i之間的速度差值。 爲代理i計算的相對於其他代理的總速度對齊項(與排斥項類類似)似,其定義爲:
vifrict=j=i∑vijfrict
4.2.3 牆壁和障礙物的作用 Interaction with walls and obstacles
文章使用競技臺對羣體進行吸引和約束,並替代了傳統羣體對羣體的吸引力。羣體中的個體朝着競技場飛行,進入競技場後個體受到競技場牆壁的排斥力,以確保個體在競技場內運動。
visshillmax=D(ris,r0shill,ashill,pshill)
vijwall=vijfrict(C−1)={(vis−visshillmax)⋅visvi−vs0if vis>visshallmaxotherwise(9)
其中不允許壁的速度鬆弛,因此將誤差比例項(Cshill)保持爲1,以實現最強的牆壁對齊。在上面的等式中,s是指分別爲所有牆多邊形邊緣定義的代理; ris=∣ri−rs∣,其中rs是牆壁代理的位置,位於任意形狀的凸壁多邊形的邊緣,且相對於代理i的最近點;vis=∣vi−vs∣,其中vs是競技場代理的速度,垂直於競技場指向內部,幅度爲vshill。
可以使用相同的概念來避免在競技場內出現凸形障礙物,但是與上文針對競技場所描述的不同,這裏代理需要遠離障礙物而不是向其內移動。另一個區別是,所有競技場的牆壁會在其內部生成一個分離的代理,但障礙物卻是在障礙物靠近個體i的表面生成一個代理。因此,對於每個智能體i和障礙物s,我們都可以定義速度分量障礙,其類似於方程式 9,使用與競技場相同的參數。
4.2.4 自推進項 Self-propelling term
該項保證個體i可以一直保持在運動狀態,與實際速度方向vi相同,其大小爲固定值vflock。
4.2.5 最終速度
最終個體i的期望速度綜合上述各項,其定義爲:
v~id=∣vi∣vivflock+virep+vifrict+s∑viswall+s∑visobstacle
除此之外,最終速度仍需滿足約束條件,即,引入速度限制vmax如果超出極限,則減小其大小:
vid=∣∣v~id∣∣v~id⋅min{∣∣v~id∣∣,vmax}