張超省, 王健, 張林, 王婭
(1.陸軍工程大學(xué) 訓(xùn)練基地, 江蘇 徐州 221004; 2.空軍勤務(wù)學(xué)院 基礎(chǔ)部, 江蘇 徐州 221200)
隨著導(dǎo)航技術(shù)、通信技術(shù)、控制技術(shù)和人工智能技術(shù)的發(fā)展,未來會(huì)有越來越多的無人機(jī)、無人車、無人艇等無人裝備走向戰(zhàn)場,擔(dān)負(fù)偵察、警戒、核生化檢測(cè)、彈藥補(bǔ)給、人員搶救、裝備搶修等任務(wù),甚至是成為主戰(zhàn)裝備中的一員。由多個(gè)無人裝備組成的多智能體系統(tǒng),可以替代戰(zhàn)士執(zhí)行作戰(zhàn)任務(wù),最大限度地減少人員傷亡[1]。對(duì)于投入戰(zhàn)場的多智能體系統(tǒng)而言,既要能夠充分發(fā)揮集群的規(guī)模效應(yīng),避免過多個(gè)體游離群體之外,還要能夠在盡量保持集群的前提下快速地穿越復(fù)雜障礙場。尤其是在地面戰(zhàn)場上,多智能體系統(tǒng)不僅僅要面臨阻絕墻、鐵絲網(wǎng)、三角錐、塹壕等傳統(tǒng)的障礙體,還需要繞過路徑上的掩體工事、武器裝備等形成的阻擋。因此集群避障技術(shù)是提高多智能體群體地面戰(zhàn)場適應(yīng)能力的關(guān)鍵。
對(duì)集群行為的研究起源于Reynolds等[2]對(duì)鳥群行為的計(jì)算模擬,提出群中個(gè)體應(yīng)遵循的3條基本規(guī)則,即避免碰撞、速度匹配和保持聚集。在Reynolds等的基礎(chǔ)上,Toner等[3]、Couzin等[4]和Vicsek等[5]先后開展了一系列卓有成效的研究工作,形成了3個(gè)經(jīng)典的群集動(dòng)力學(xué)模型,但這些工作均是在自由空間內(nèi)對(duì)集群行為的模擬。
在智能體避障規(guī)則方面,有以下具有代表性的研究成果。2004年,Tanner等[6]基于車輛周圍的球面鄰域中獲得的局部信息,提出了一系列非光滑控制律,使車輛能夠在靜態(tài)障礙物中集群達(dá)到目的地。2010年,Wang等[7]從逆最優(yōu)控制的角度出發(fā),構(gòu)造了一個(gè)非二次罰函數(shù)來實(shí)現(xiàn)集群的避障能力,并證明了一致算法的漸近穩(wěn)定性和最優(yōu)性。2010年,Yan等[8]針對(duì)多智能體系統(tǒng)中的目標(biāo)跟蹤和避障問題,提出了一種基于人工勢(shì)函數(shù)和行為規(guī)則的控制算法,解決了動(dòng)態(tài)環(huán)境下集群避障時(shí)無法有效跟蹤目標(biāo)的問題。2012年,Bai等[9]提出了一種將流量函數(shù)與人工勢(shì)場相結(jié)合的新框架,定義了一種具有可見性約束和層次關(guān)聯(lián)的動(dòng)態(tài)結(jié)構(gòu)以提高系統(tǒng)的性能。2015年,Burohman等[10]采用輸入輸出線性化方法控制集群避障,提出了一種非完整移動(dòng)機(jī)器人的群集算法,實(shí)現(xiàn)了狹窄通道的無碰撞通行。
在障礙體幾何模型方面,有以下具有代表性的研究成果。2006年,Olfati-Saber[11]通過引入兩種虛擬智能體(β-智能體和γ-智能體)來表示障礙體和目標(biāo)對(duì)智能體集群的作用,實(shí)現(xiàn)了多個(gè)障礙條件下的集群避障問題,成為集群避障領(lǐng)域的經(jīng)典模型;然而,該模型只用直線和外接圓模擬障礙體,不能模擬復(fù)雜的障礙體形狀。2011年,Ghorbanian等[12]把環(huán)境中的障礙物用橢圓形狀逼近和封閉,設(shè)計(jì)了分布式控制規(guī)則來實(shí)現(xiàn)多智能體群體避障運(yùn)動(dòng)。2012年,Hu等[13]采用圓錐形結(jié)構(gòu)模擬運(yùn)動(dòng)場中的三維障礙物,并引導(dǎo)智能體沿著錐面上最短的路徑通過障礙物。2017年,Qiu等[14]采用臨時(shí)目標(biāo)法,實(shí)現(xiàn)了多智能體在規(guī)則直角障礙體中的集群避障。
為便于研究,將地面戰(zhàn)場近似為二維平面,那么地面戰(zhàn)場上無人裝備集群躲避多個(gè)障礙體的問題便可以抽象為二維空間內(nèi)多智能體系統(tǒng)集群穿越復(fù)雜障礙場的問題。假設(shè)一組智能體集群從某地出發(fā)到目的地執(zhí)行任務(wù),必經(jīng)之路上存在一個(gè)由若干障礙體組成的復(fù)雜障礙場,如圖1所示,障礙區(qū)域中黑色多邊形表示障礙體原本的形狀,灰色圓形表示障礙體的最小外接圓。由圖1可以看出:障礙體之間原本存在比較大的間隙,能夠作為智能體集群的通道。然而,傳統(tǒng)人工勢(shì)場法多采用障礙體的最小外接圓(球)作為多邊形障礙體的邊界,那么原本存在的通道將變窄甚至消失。為了解決上述問題,本文設(shè)計(jì)了一套面向復(fù)雜障礙場的智能體集群避障模型及求解方法。
圖1 面向復(fù)雜障礙場的多智能體系統(tǒng)集群Fig.1 Flocking of multi-agent system in complex obstacle field
為了更清楚地闡述集群避障運(yùn)動(dòng)的建模過程,引入σ-范數(shù)、隆起函數(shù)、集群避障運(yùn)動(dòng)控制方程等概念。
為了確保向量z的范數(shù)‖z‖處處可微分,定義向量z的σ-范數(shù)為
(1)
式中:ε∈(0,1]。
為了構(gòu)建平滑勢(shì)函數(shù),采用如(2)式所示的隆起函數(shù):
(2)
式中:h為控制隆起位置的參數(shù),h∈(0,1)。
基于Olfati-Saber的算法3[11],改進(jìn)多邊形障礙體環(huán)境下的集群避障控制方程,采用(3)式計(jì)算第i個(gè)智能體的運(yùn)動(dòng):
(3)
將多智能體系統(tǒng)視作一個(gè)由M個(gè)智能體組成的集合V,為便于表示,第i個(gè)智能體Ai的外接圓記為B(CAi,RAi),其中,CAi、RAi分別表示智能體Ai的外接圓圓心(外心)和外接圓半徑(外徑)。
多智能體系統(tǒng)進(jìn)行集群運(yùn)動(dòng),智能體Ai的運(yùn)動(dòng)狀態(tài)為
(4)
式中:qi、pi、ui分別為智能體Ai的位置、速度和加速度,qi,pi,ui∈RD,D表示維度。為簡化分析,可以用智能體Ai外心位置CAi作為智能體Ai的位置。
由于智能體必然為實(shí)體,存在一定的體積。定義智能體Ai邊界與智能體Aj邊界的距離為
d(Ai,Aj)=‖CAi-CAj‖-RAi-RAj,
(5)
式中:‖·‖表示多維空間的歐幾里得范數(shù)。
當(dāng)智能體之間距離過大時(shí),智能體之間相互影響忽略不計(jì),定義智能體Ai鄰居的集合為
(6)
圖2給出了某個(gè)時(shí)刻智能體Ai周圍智能體的分布,淺色陰影圓形(虛線)表示智能體Ai的交互距離,深色陰影圓形(實(shí)線)表示智能體Ai的外接圓。根據(jù)(6)式,可以看出:智能體A1、A2、A5都是智能體Ai的鄰居,而智能體A3、A4都不是智能體Ai的鄰居。
圖2 智能體Ai的鄰域空間Fig.2 Neighborhood space of agent Ai
基于沖擊函數(shù)(2)式,定義智能體之間的空間鄰接矩陣A(q)=[aij(q)],其中元素為
(7)
定義智能體之間的功能函數(shù)為
(8)
智能體Ai的鄰居對(duì)其作用的方程為
(9)
(10)
圖3 障礙體Ok對(duì)智能體Ai的作用Fig.3 Interaction between agent Ai and obstacle Ok
步驟1智能體Ai外接圓邊界與多邊形障礙體Ok外接圓邊界之間的距離,通過(11)式求解:
(11)
步驟2多邊形障礙體Ok相對(duì)于智能體Ai是否激活,定義智能體Ai附近所有激活障礙體的集合為
(12)
(13)
(14)
P1PC·PCP2≥0,
(15)
步驟5假設(shè)激活邊為P1P2,進(jìn)一步求解智能體Ai外心CAi與障礙體Ok的激活邊P1P2的垂線,垂足為K,連線CAiK通過(16)式求出:
(16)
式中:CAiP1為智能體Ai外心到障礙體頂點(diǎn)P1之間的連線(矢量);Δ為連線CAiP1與連線P1P2之間的夾角θ的余弦值,可由(17)式求出:
(17)
步驟6多邊形障礙體Ok相對(duì)于智能體Ai是否排斥,通過(18)式判定:
(18)
步驟7當(dāng)智能體Ai處于障礙體Ok的排斥距離內(nèi),引入一種虛擬智能體來模擬障礙體對(duì)智能體的作用,并將這種虛擬智能體記為β-智能體。β-智能體的位置即為智能體Ai在障礙體Ok邊界上的直角投影(正投影),β-智能體的位置和速度由(19)式可得:
ik=K,ik=Ppi,
(19)
(20)
步驟8基于沖擊函數(shù)(2)式,定義智能體Ai與障礙體Ok之間的空間鄰接矩陣B(q)=[bik(q)],其中元素為
(21)
步驟9智能體Ai與障礙體Ok之間的作用函數(shù)為
(22)
步驟10智能體Ai臨近障礙體對(duì)智能體Ai的作用方程為
(23)
(24)
智能體的目標(biāo)可以是靜態(tài)的,也可以是動(dòng)態(tài)的,因此目標(biāo)Gγ可定義為
Gγ=(qγ,pγ),
(25)
式中:qγ、pγ分別表示目標(biāo)的位置和速度,當(dāng)pγ=0時(shí),目標(biāo)靜止不動(dòng)。
基于人工勢(shì)能函數(shù),目標(biāo)對(duì)于智能體Ai的引領(lǐng)作用可由(26)式直接給出:
(26)
通過采用多邊形表示障礙體,能夠解決傳統(tǒng)人工勢(shì)場方法采用最小外接圓(球)表示障礙體造成的通道變窄和堵塞問題。然而,多邊形的直邊可能會(huì)引起捕獲現(xiàn)象[11],如何逃離直邊捕獲是智能體集群避障模型必須要解決的另一個(gè)重要問題。
圖4 障礙體Ok直線邊P1P2對(duì)智能體Ai的捕獲現(xiàn)象Fig.4 Capturing phenomenon of edge P1P2 of obstacle Ok to agent Ai
1)求解智能體Ai外心CAi與目標(biāo)Gγ的連線CAiGγ與障礙體Ok排斥邊P1P2的交點(diǎn),參考(13)式,如果該交點(diǎn)同時(shí)位于線段CAiGγ和障礙體Ok排斥邊P1P2上,則該排斥邊為捕獲邊;
2)求解智能體Ai外心CAi與障礙體Ok排斥邊端點(diǎn)的距離,以排斥邊為P1P2為例,通過(27)式判定:
(27)
如果(27)式成立,則該排斥邊為捕獲邊。
如果排斥邊為捕獲邊,則將目標(biāo)設(shè)置為臨時(shí)目標(biāo)。臨時(shí)目標(biāo)根據(jù)智能體Ai、捕獲邊端點(diǎn)P1P2、目標(biāo)Gγ三者的位置確定,由智能體位置向排斥邊作垂線,當(dāng)垂足K位于排斥邊之內(nèi)時(shí),臨時(shí)目標(biāo)點(diǎn)通過(28)式求解:
(28)
式中:Ln為連線P1P2的法向量;Pn=P1P2/‖P1P2‖;Π=(‖CAiP1‖+‖P1Gγ‖)-(‖CAiP2‖+‖P2Gγ‖)。
當(dāng)垂足K位于排斥邊之外時(shí),臨時(shí)目標(biāo)點(diǎn)通過(29)式求解:
(29)
如果只考慮障礙物靜止的情況,此時(shí):
(30)
(4)式為位置、速度和加速度的數(shù)學(xué)關(guān)系,以連續(xù)導(dǎo)數(shù)的形式給出。仿真過程中,往往需要離散形式。因此,需要修改(4)式的形式,具體作法為:
1)通過(3)式可以獲得智能體Ai某時(shí)刻的加速度ui,實(shí)際上智能體加速能力不可能無限大,設(shè)智能體驅(qū)動(dòng)加速度最大值為umax,則應(yīng)作出以下判定:
‖ui‖>umax.
(31)
當(dāng)(31)式成立時(shí),說明計(jì)算獲得的加速度大于智能體最大加速度,則令
ui=umaxui/‖ui‖,
(32)
否則,不作改變。
2)通過(33)式計(jì)算智能體Ai某時(shí)刻的速度:
pi=p′i+u′iδt,
(33)
式中:δt為離散時(shí)間步長;p′i、u′i分別為智能體Ai在前一個(gè)時(shí)刻的速度和加速度。
同樣,智能體速度不可能無限大,設(shè)智能體速度最大值為pmax,則首先作出如(34)式判定:
‖pi‖>pmax.
(34)
當(dāng)(34)式成立時(shí),說明計(jì)算獲得的速度大于智能體最大速度,則令
pi=pmaxpi/‖pi‖,
(35)
否則,不作處理。
3)通過(36)式計(jì)算智能體Ai某時(shí)刻位置:
(36)
式中:q′i為智能體Ai在前一個(gè)時(shí)刻的位置。
關(guān)鍵參數(shù)選取規(guī)則為:
(37)
(38)
3)智能體之間、障礙體與智能體之間、目標(biāo)點(diǎn)與智能體之間的速度影響因子與距離影響因子大致滿足:
(39)
在該規(guī)則指導(dǎo)下,本文所提出的集群避障模型能夠完成集群避障要求,但由于離散化求解方法和多智能體系統(tǒng)固有的不確定性,構(gòu)形必然會(huì)暫時(shí)遭到破壞,因此上述規(guī)則僅能保證盡可能大的構(gòu)形保持率。
(40)
(41)
以某時(shí)刻智能體Ai為對(duì)象,上述集群避障運(yùn)動(dòng)建模和求解過程可以通過圖5所示的流程圖進(jìn)行。首先,根據(jù)智能體和障礙體的幾何屬性完成參數(shù)初始化,頂層虛線框所示;其次,分別計(jì)算其他智能體、障礙體和目標(biāo)點(diǎn)對(duì)智能體Ai的作用,中間層從左至右虛線框所示;最后,綜合所有作用力,離散化計(jì)算智能體的加速度、速度和位移,底層虛線框所示。
圖5 集群避障建模及求解流程圖Fig.5 Flow chart of flocking model and its solution
下面給出20個(gè)智能體穿越障礙場、抵達(dá)目標(biāo)的仿真結(jié)果。初始時(shí)刻,該組智能體外接圓半徑均為1.0 m,以[25 m,0 m]為起始位置、以4×5的陣型和2 m的間隔、沿x軸正向并關(guān)于x軸對(duì)稱分布,所有智能體的初始速度均為[0 m/s,0 m/s]。
復(fù)雜障礙場由2個(gè)三角形、2個(gè)四邊形和1個(gè)五邊形障礙體組成,其頂點(diǎn)坐標(biāo)位置可以表示為
F={[130 m,30 m;150 m,50 m;160 m,0 m],
[80 m,-60 m;110 m,-50 m;90 m,-30 m],
[130 m,-50 m;120 m,10 m;150 m,0 m;160 m,-25 m],
[90 m,-20 m;92 m,-21 m;94 m,21 m;89 m,20 m],
[90 m,40 m;110 m,20 m;130 m,40 m;
120 m,55 m;100 m,55 m]},
其中,每一行表示一個(gè)障礙體的頂點(diǎn)坐標(biāo)(x,y),各頂點(diǎn)以分號(hào)隔開,各障礙體均靜止不動(dòng)。模型中的參數(shù)如表1所示。
表1 模型參數(shù)
圖6 靜態(tài)目標(biāo)下多智能體系統(tǒng)集群避障Fig.6 Obstacle avoidance of multi-agent system when moving in the direction of static target
第1個(gè)任務(wù)是集群穿越障礙場,達(dá)到靜態(tài)目標(biāo)周邊。目標(biāo)狀態(tài)由Gγ=(qγ,pγ)確定,其中qγ=[220 m, 0 m],pγ=[0 m/s, 0 m/s]。第1個(gè)任務(wù)對(duì)應(yīng)的集群運(yùn)動(dòng)過程如圖6所示,其中黑色多邊形表示障礙體,紅色圓形表示智能體,紅色五角星表示目標(biāo)。為了更好地展示智能體集群在遇到障礙物時(shí)的分離與集合行為,坐標(biāo)范圍經(jīng)過人為設(shè)定。由圖6可以看出:初始時(shí),智能體相對(duì)密集地集中于出發(fā)點(diǎn),如圖6(a)所示;隨后,智能體之間保持期望距離并抵達(dá)條形障礙體附近,如圖6(b)所示;當(dāng)智能體進(jìn)入條形障礙體的排斥距離時(shí),由于(28)式和(29)式的作用,智能體分別選擇了兩個(gè)不同的臨時(shí)目標(biāo),開始分裂為兩組集群,如圖6(c)所示;下面一組智能體集群繼續(xù)分裂成兩組智能體集群通過四邊形障礙體,如圖6(d)所示;當(dāng)多數(shù)智能體通過后側(cè)三角形和四邊形障礙體之間時(shí),由于通道較窄,出現(xiàn)非常明顯的擠壓行為,智能體只能魚貫而出,如圖6(e)所示。通過圖6還可以看到:在避障時(shí),有少數(shù)智能體沒有與大多數(shù)智能體組成的集群連結(jié),然而,當(dāng)通過障礙體后,智能體都以相同速度朝目標(biāo)方向運(yùn)動(dòng)迅速形成集群,如圖6(f)、圖6(g)和圖6(h)所示。
第2個(gè)任務(wù)是集群穿越障礙場,智能體集群分成兩組實(shí)現(xiàn)兩個(gè)動(dòng)態(tài)目標(biāo)追蹤或攻擊。兩個(gè)目標(biāo)的狀態(tài)為
其中:A表示幅值,A=20 m;ω為角速度,ω=0.01π rad/s.
圖7 動(dòng)態(tài)目標(biāo)下智能體集群避障Fig.7 Obstacle avoidance of multi-agent system when moving in the direction of dynamic target
在其他參數(shù)保持不變的條件下,第2個(gè)任務(wù)對(duì)應(yīng)的集群運(yùn)動(dòng)過程,如圖7所示,其中紅色圓形和紅色星標(biāo)分別表示第1組智能體及其對(duì)應(yīng)目標(biāo),藍(lán)色圓形和藍(lán)色星標(biāo)分別表示第2組智能體及對(duì)應(yīng)目標(biāo)。由圖7可以看出:剛開始時(shí),所有智能體以一個(gè)集群以特定構(gòu)形到達(dá)障礙場附近,如圖7(a)所示;隨后,由于障礙體的排斥作用,集群開始分離,構(gòu)形遭到破壞,如圖7(b)所示;由于目標(biāo)牽引作用,當(dāng)大部分智能體越過障礙場后又開始逐步形成新的集群,并分別朝著各自對(duì)應(yīng)的目標(biāo)集群運(yùn)動(dòng),如圖7(c)和圖7(d)所示;當(dāng)兩個(gè)目標(biāo)交匯時(shí),兩組智能體集合在一起,如圖7(e)所示;當(dāng)兩個(gè)目標(biāo)重新分離時(shí),兩組智能體朝向各自的目標(biāo)離散,如圖7(f)所示;當(dāng)兩個(gè)目標(biāo)再次靠近又分離時(shí),兩組智能體再次集合之后又朝著各自的目標(biāo)離散。此處存在個(gè)別(紅色)智能體被脅迫到另一組(藍(lán)色)智能體集群中,如圖7(d)、圖7(f)和圖7(h)所示。不難得出結(jié)論:在兩個(gè)動(dòng)態(tài)目標(biāo)存在下,模型依然能夠?qū)Πl(fā)揮較好的支配作用。但是,兩組智能體離散時(shí)存在的脅迫現(xiàn)象還需要設(shè)計(jì)其他規(guī)則加以消除,比如不同目標(biāo)對(duì)應(yīng)智能體之間只存在排斥力不存在吸引力。更多細(xì)節(jié),將在后續(xù)研究中進(jìn)一步闡述。
本文首先針對(duì)地面戰(zhàn)場上存在的復(fù)雜障礙場,分析了傳統(tǒng)人工勢(shì)場法中最小外接圓(球)描述障礙體的不足,引入了多邊形的概念來描述復(fù)雜障礙體,以降低障礙場通道變窄和堵死的概率;其次,著重研究了多智能體系統(tǒng)集群避障過程中智能體與障礙體之間的相互作用,基于智能體外心與障礙體外心的距離確定障礙體是否處于激活狀態(tài),基于智能體外心與障礙體內(nèi)心的連線確定激活障礙體的激活邊,給出了作用力的表達(dá)式;再次,分析了直線型邊界的捕獲現(xiàn)象及其產(chǎn)生原因,提出采用臨時(shí)目標(biāo)的方式繞過捕獲邊從而克服了捕獲現(xiàn)象,介紹了離散化求解方法和模型中關(guān)鍵參數(shù)選取的規(guī)則;最后,給出了仿真分析結(jié)果,驗(yàn)證了不論目標(biāo)處于靜態(tài)或動(dòng)態(tài),本文避障模型都可以實(shí)現(xiàn)復(fù)雜障礙場下的集群避障控制。
實(shí)際上,多邊形(多面體)直邊(面)捕獲問題就是一種局部極小值點(diǎn)問題。由于直邊捕獲問題屬于多邊形障礙體建模的衍生問題,本文給出了逃離方法;其他類型的局部極小值問題,各種處理方法很多,比如分層控制、調(diào)參、改進(jìn)勢(shì)場函數(shù)等等,本文不再贅述。
同樣,通過仿真結(jié)果,可以了解到智能體集群的分離、結(jié)合和擠壓行為。障礙物的出現(xiàn)可能使智能體集群分離為更多的集群,從而失去相互聯(lián)系改變?cè)械木W(wǎng)絡(luò)拓?fù)?。因此,在解決智能體集群避障時(shí),必須解決在切換拓?fù)渚W(wǎng)絡(luò)中有限通信的集群決策問題,這是目前相當(dāng)有挑戰(zhàn)性的課題。