摘 要: 針對(duì)當(dāng)前基于中央控制策略解決無(wú)人艇(unmanned surface vehicle, USV)過(guò)復(fù)雜障礙場(chǎng)智能化程度不足的問(wèn)題,提出一種基于局部感知的USV集群自主決策通過(guò)復(fù)雜障礙場(chǎng)方法。所提方法采用自組織協(xié)同思想,利用USV的局部感知能力獲取周邊水域的有效信息,將自組隊(duì)形和自主避障決策權(quán)交由USV執(zhí)行,促使集群自組織通過(guò)復(fù)雜障礙場(chǎng)并達(dá)成無(wú)序到有序的隊(duì)形演化。仿真結(jié)果表明,采用所提方法的集群過(guò)復(fù)雜障礙場(chǎng)過(guò)程明顯優(yōu)于基于人工勢(shì)場(chǎng)的同類方法。所提方法可在確保生存率前提下自組織實(shí)時(shí)集群自組隊(duì)形、自主避障和自適應(yīng)航行,對(duì)提升集群適應(yīng)能力具有重要意義。
關(guān)鍵詞: 無(wú)人艇集群; 局部感知; 復(fù)雜障礙場(chǎng); 自組隊(duì)形; 安全規(guī)避
中圖分類號(hào): TP 24
文獻(xiàn)標(biāo)志碼: A
DOI:10.12305/j.issn.1001-506X.2024.08.30
Formation control of unmanned surface vehicle swarm in dense environment
based on local perception
LIU Hao1,2, ZHANG Yunfei1,*, ZHAO Jicheng1
(1. Yunzhou Intelligent Technology Co., Ltd., Zhuhai 519082, China;
2. Shenzhen Research Institute, Yunzhou Innovation Technology Co., Ltd., Shenzhen 518106, China)
Abstract: Aiming at the current problem of insufficient intelligence for unmanned surface vehicle (USV) in solving the problem of dense environment crossing based on the central control strategy, a method of autonomous decision-making of USV swarms dense environment crossing based on local perception is proposed. The proposed method adopts the idea of self-organizing collaboration, uses the local perception ability of the USV to obtain effective information of the surrounding waters, and hands over the self-organizing formation and autonomous obstacle avoidance decision-making power to the USV to promote the swarm self-organization cross the dense environment and achieve the formation evolution from disorder to order. Simulation results show that the process of swarm dense environment crossing using this method is obviously better than similar methods based on artificial potential field. The proposed method can self-organize real-time swarm self-organizing formation, autonomous obstacle avoidance, and adaptive navigation under the premise of ensuring survival rate, which is of great significance for improving swarm adaptability.
Keywords: unmanned surface vehicle (USV) swarm; local perception; dense environment; self-organized formation; safe avoidance
0 引 言
以無(wú)人艇、無(wú)人機(jī)、無(wú)人潛航器為代表的無(wú)人集群協(xié)同運(yùn)動(dòng)模型[1]是當(dāng)今多智能體無(wú)人系統(tǒng)發(fā)展的高階形態(tài),相比于常規(guī)的有人-無(wú)人協(xié)同系統(tǒng),無(wú)人集群呈現(xiàn)出數(shù)量規(guī)模大、人工干預(yù)少、協(xié)同等級(jí)高、高度智能化等顯著特征[2]。隨著海洋領(lǐng)域研究的深化拓展,無(wú)人艇集群在海洋勘探、區(qū)域巡邏、環(huán)境數(shù)據(jù)采集等協(xié)同任務(wù)中,能夠有效降低人工執(zhí)行成本,提升任務(wù)執(zhí)行效率,作為無(wú)人集群自組織行為控制的研究對(duì)象具備較高的應(yīng)用價(jià)值。
自組織無(wú)人艇集群是無(wú)人集群控制的高階形態(tài)[3],區(qū)別于基于中央控制模式,集群內(nèi)各艇通過(guò)對(duì)周邊水域環(huán)境的局部感知獲取障礙信息,基于有限數(shù)據(jù)通信獲取周邊無(wú)人艇交互信息,以此為基礎(chǔ)實(shí)施有限數(shù)據(jù)條件下的自主決策,使無(wú)人艇集群最大限度模擬魚(yú)群等生物群落,實(shí)施集群運(yùn)動(dòng)、自組隊(duì)形以及通過(guò)復(fù)雜障礙場(chǎng)等高階集群行為。在自組織行動(dòng)過(guò)程中,集群內(nèi)各艇保持獨(dú)立決策能力,并通過(guò)整體行為共同完成復(fù)雜任務(wù),因此自組織無(wú)人艇集群屬于集群涌現(xiàn)式智能[4]。對(duì)集群行為的研究起源于Reynolds等[5]對(duì)鳥(niǎo)群行為的相關(guān)研究和計(jì)算機(jī)仿真,Reynolds等首次提出了群體行為“聚集-分離-對(duì)齊”基礎(chǔ)規(guī)則;在Reynolds等的研究基礎(chǔ)上,Toner等[6-8]均為集群行為研究貢獻(xiàn)了一系列卓有成效的工作,構(gòu)建出無(wú)人集群動(dòng)力學(xué)模型,但上述模型均為自由空間的集群行為仿真,對(duì)復(fù)雜障礙場(chǎng)通行和局部感知決策涉獵不深。
復(fù)雜障礙場(chǎng)通行問(wèn)題是無(wú)人集群應(yīng)用中的基礎(chǔ)問(wèn)題,對(duì)于投入應(yīng)用的多智能體系統(tǒng)而言,其既要能夠充分發(fā)揮集群的規(guī)模效應(yīng),又要在最小化交互控制約束下確保集群快速穿越復(fù)雜障礙場(chǎng),特別是在水域條件動(dòng)態(tài)多變的情況下,集群通過(guò)復(fù)雜障礙場(chǎng)的成功率是提升多智能體系統(tǒng)應(yīng)用能力的關(guān)鍵指標(biāo)[9]。為了便于研究,將水域場(chǎng)景近似描述為二維平面,進(jìn)而將無(wú)人艇集群通過(guò)復(fù)雜障礙場(chǎng)問(wèn)題抽象為二維空間內(nèi)多智能體集群穿越多障礙網(wǎng)格問(wèn)題。
國(guó)內(nèi)外許多學(xué)者對(duì)集群協(xié)同通過(guò)復(fù)雜障礙場(chǎng)問(wèn)題進(jìn)行了廣泛而深入的分析,同類研究大致可劃分為:以規(guī)則化行為為研究對(duì)象的集群控制算法,如Reynolds等模擬鳥(niǎo)群飛行行為構(gòu)建的Boids模型[5],Kwong等[10]構(gòu)建的復(fù)雜行為集群控制模型,Wang等[11]提出的移動(dòng)自治智能群體控制模型,Cucker等[12]基于鄰接矩陣的集群相對(duì)速度模型,Cavagna等[13]建立的歐椋鳥(niǎo)集群運(yùn)動(dòng)模型,Hereford等[14]結(jié)合粒子群算法提出的改進(jìn)Boids模型等。上述算法的優(yōu)點(diǎn)在于規(guī)則執(zhí)行簡(jiǎn)單,算法效率高且易于工程應(yīng)用,缺點(diǎn)在于難以適應(yīng)現(xiàn)實(shí)環(huán)境中的高復(fù)雜性和集群行為的多樣不確定性,簡(jiǎn)單規(guī)則難以解決大規(guī)模集群的生存問(wèn)題。以空間力學(xué)約束為研究對(duì)象的集群控制算法,相關(guān)算法以人工勢(shì)場(chǎng)算法為代表[15],通過(guò)引入人工勢(shì)場(chǎng)實(shí)現(xiàn)無(wú)人集群的行為控制(來(lái)自目標(biāo)的定向力和來(lái)自感知范圍內(nèi)其他智能體或障礙的斥力),如Fiorini等[16]提出的速度障礙規(guī)則人工勢(shì)場(chǎng)模型,Santos等[17]提出的虛擬群組規(guī)則人工勢(shì)場(chǎng)模型,Woods等[18]提出的相對(duì)速度規(guī)則人工勢(shì)場(chǎng)模型,Harder[19]提出的通用無(wú)人機(jī)集群控制模型,郭褚冰等[20]提出的vicesk集群控制模型等。上述算法的優(yōu)點(diǎn)在于能夠應(yīng)對(duì)復(fù)雜多變的障礙環(huán)境,智能體行為易于計(jì)算和預(yù)測(cè),缺點(diǎn)則是對(duì)空間中異常點(diǎn)位置的處理困難(如引力、斥力合力為0的局部抖動(dòng)點(diǎn)),單個(gè)智能體難以做出符合自身生存利益的個(gè)性化決策;以啟發(fā)式優(yōu)化為研究對(duì)象的集群控制算法,包括遺傳算法[21]、粒子群優(yōu)化算法[22]、蟻群算法[23]等,此類算法的優(yōu)點(diǎn)在于集群行為經(jīng)過(guò)全局優(yōu)化,能夠獲得最佳避障和通行效果,缺點(diǎn)則是中央控制和啟發(fā)式預(yù)優(yōu)化消耗了額外的計(jì)算資源,時(shí)效性和動(dòng)態(tài)環(huán)境適應(yīng)性較差。
本文在先前研究基礎(chǔ)上,提出一種基于無(wú)人艇局部感知功能的集群通過(guò)復(fù)雜障礙場(chǎng)方法,區(qū)別于人工勢(shì)場(chǎng)法和啟發(fā)式優(yōu)化方法,本文方法立足于無(wú)人艇自身的局部感知功能,模擬生物群體的避障、組隊(duì)和通行行為,將決策權(quán)分發(fā)到各艇單獨(dú)執(zhí)行,避免了引力斥力造成的局部抖動(dòng)和啟發(fā)優(yōu)化造成的中央控制限制。在控制模式上,本文采用自組織協(xié)同思想,利用無(wú)人艇從其鄰居節(jié)點(diǎn)和周邊環(huán)境中獲取有價(jià)值信息;在行為模式上,本文利用避障和組隊(duì)的簡(jiǎn)單規(guī)則實(shí)現(xiàn)集群宏觀層面的自組隊(duì)形、安全規(guī)避和通過(guò)復(fù)雜障礙場(chǎng);在調(diào)控模式上,本文設(shè)計(jì)了3級(jí)架構(gòu)分別調(diào)控?zé)o人艇的航向、航速和目標(biāo)參數(shù),通過(guò)實(shí)時(shí)調(diào)控達(dá)成集群宏觀層面的適應(yīng)優(yōu)化。
1 無(wú)人艇集群控制模型
設(shè)集群規(guī)模為n,其中智能體i和j的相對(duì)速度為vi、vj,集群自適應(yīng)組隊(duì)和調(diào)整過(guò)程為各智能體通過(guò)改變相對(duì)速度和位置實(shí)現(xiàn)集群層面的隊(duì)形穩(wěn)定,在經(jīng)過(guò)一段時(shí)間Δt后,集群內(nèi)各智能體的運(yùn)動(dòng)方向保持一致,速度相同[24],即滿足:
1.1 基礎(chǔ)規(guī)則
(1) 集群中不存在固定領(lǐng)導(dǎo)者角色的無(wú)人艇,中心艇和追隨艇可自由切換,不存在硬件差異;
(2) 集群內(nèi)各艇在任務(wù)執(zhí)行過(guò)程中只接收指揮中樞傳遞的目標(biāo)信息,無(wú)需接收其他指令;
(3) 無(wú)人艇存在航速上限;
(4) 無(wú)人艇存在最少控制條件限制,在最少指揮控制參與情況下,完成集群通過(guò)復(fù)雜障礙場(chǎng)的動(dòng)作;
(5) 無(wú)人艇存在通信范圍限制,即只能在固定通信范圍內(nèi)與周邊艇保持?jǐn)?shù)據(jù)傳輸,模擬復(fù)雜障礙場(chǎng)的受限通信約束;
(6) 集群內(nèi)各艇不應(yīng)觸碰任務(wù)區(qū)域邊界和障礙物,不能兩艇相撞,最大限度提升生存率。
1.2 航向規(guī)則
不同于無(wú)人機(jī)控制規(guī)則,無(wú)人艇在水域中游走的航向受限于水流阻力,難以在短時(shí)間內(nèi)實(shí)現(xiàn)航向大幅改變,因此在航向控制中,應(yīng)引入慣性航向因變量(艏向),實(shí)時(shí)航向受上一時(shí)刻的艏向限制,在控制上限內(nèi)改變并向?qū)崟r(shí)航向靠攏。設(shè)無(wú)人艇當(dāng)前的艏向?yàn)閒0,目標(biāo)方向?yàn)閒t,則轉(zhuǎn)向夾角α的計(jì)算公式為
設(shè)中心艇的航向?yàn)閒c,則無(wú)人艇航向f的計(jì)算公式為
1.3 航速規(guī)則
無(wú)人艇航速受限于額定航速、洋流速度、風(fēng)向風(fēng)速等多種因素,相較于無(wú)人機(jī)的航速控制更為復(fù)雜,本文主要考慮無(wú)人艇的轉(zhuǎn)彎慣性作用、目標(biāo)靠攏減速、自組隊(duì)形增速3種情況。設(shè)無(wú)人艇的規(guī)定航速為v0,則受限于轉(zhuǎn)向夾角α限制,無(wú)人艇的慣性航速vg的計(jì)算公式為
設(shè)無(wú)人艇距行進(jìn)目標(biāo)的距離為dt,則無(wú)人艇的減速航速vd的計(jì)算公式為
設(shè)中心艇的實(shí)時(shí)航速為vc,則無(wú)人艇的組隊(duì)航速vf的計(jì)算公式為
1.4 位移規(guī)則
無(wú)人艇的應(yīng)用場(chǎng)景主要為寬闊海域或復(fù)雜地形水域,受限于各類環(huán)境因素,無(wú)人艇的實(shí)時(shí)位置與期望位置之間難以保持完全對(duì)應(yīng),導(dǎo)致無(wú)人艇在行駛過(guò)程中產(chǎn)生隨機(jī)偏差,隨機(jī)偏差一定存在且不受控制,因此為了擬合真實(shí)水域環(huán)境,有必要引入隨機(jī)漂移變量。設(shè)每個(gè)步長(zhǎng)的隨機(jī)位移參數(shù)為φ(-5≤φ≤5),無(wú)人艇當(dāng)前時(shí)刻的位置坐標(biāo)為(x0,y0),實(shí)時(shí)航速(即為組隊(duì)航速)為vf,實(shí)時(shí)航向?yàn)閒,則下一步長(zhǎng)時(shí)刻的位置坐標(biāo)(x′,y′)的計(jì)算公式為
1.5 基礎(chǔ)規(guī)則避免“抖動(dòng)”問(wèn)題的原理
“抖動(dòng)”問(wèn)題來(lái)源于人工勢(shì)場(chǎng)類算法的固有弊端,當(dāng)無(wú)人集群以目標(biāo)為引力源,以周邊障礙(含無(wú)人艇)為斥力源,自主向目標(biāo)游走時(shí),設(shè)某時(shí)刻第i艇的實(shí)時(shí)航速為vi,到達(dá)位置設(shè)為pi(xi,yi),考慮到引力源的單一性和斥力源的多樣性,在大范圍集群游走過(guò)程中,存在某個(gè)時(shí)刻,引力、斥力合力為0,vi=0而未到達(dá)目標(biāo)地域pm(xm,ym)的可能:
在上述情況中,pi向目標(biāo)靠近,則斥力大于引力,導(dǎo)致vilt;0;pi向障礙靠近,則引力大于斥力,導(dǎo)致vigt;0,造成無(wú)人艇的小范圍內(nèi)“抖動(dòng)”效果。本算法避免“抖動(dòng)”問(wèn)題發(fā)生的原理為:各艇基于局部感知,只獲取周邊水域內(nèi)障礙、無(wú)人艇和目標(biāo)信息,由于無(wú)人艇處于運(yùn)動(dòng)過(guò)程中,各時(shí)刻獲取的周邊障礙狀態(tài)均處于動(dòng)態(tài)變化中,導(dǎo)致航速、航向發(fā)生相應(yīng)變化,由于局部感知的存在和游走避障算法特性,導(dǎo)致:
即對(duì)于任意vi=0時(shí)的無(wú)人艇,其必然到達(dá)目標(biāo)區(qū)域。
2 集群過(guò)復(fù)雜障礙場(chǎng)方法
過(guò)復(fù)雜障礙場(chǎng)方法主要由3部分構(gòu)成,分別為細(xì)菌游走避障算法、自組隊(duì)形算法、三級(jí)控制器架構(gòu)。細(xì)菌游走避障算法的核心思路是不走“回頭路”,雖然在順時(shí)針或逆時(shí)針游走過(guò)程中可能走“繞圈路”,但因?yàn)橐恢毕蛭粗赜蛱剿?,只要水域?qū)儆谶B通狀態(tài),在有限時(shí)間內(nèi)均能抵達(dá)目標(biāo)位置。自組隊(duì)形算法的核心思路是賦予各艇自主選擇行進(jìn)目標(biāo)的權(quán)力,通過(guò)頻繁引導(dǎo)無(wú)人艇向中心艇靠攏,并向周邊第三近無(wú)人艇等距游走,實(shí)現(xiàn)“蜂窩式”隊(duì)形自組織生成。兩種算法的融合使用,確保了集群內(nèi)各艇在自組隊(duì)形和規(guī)避障礙之間達(dá)成行動(dòng)平衡,生成滿足上述算法約束的行進(jìn)軌跡。然后,由三級(jí)控制器架構(gòu)執(zhí)行復(fù)雜障礙場(chǎng)通行過(guò)程,分別調(diào)用細(xì)菌游走避障算法和自組隊(duì)形算法計(jì)算無(wú)人艇的實(shí)時(shí)行進(jìn)方向和行進(jìn)目標(biāo),再利用位置和方向輸入量計(jì)算實(shí)時(shí)行進(jìn)速度,實(shí)現(xiàn)對(duì)集群的運(yùn)動(dòng)控制。算法的整體執(zhí)行流程如表1所示。
總體算法流程圖如圖1所示。
2.1 細(xì)菌游走避障算法
細(xì)菌游走避障算法的原理可歸納如下:自然界中的帶鞭毛細(xì)菌可通過(guò)旋轉(zhuǎn)自身鞭毛實(shí)現(xiàn)對(duì)障礙物的繞行,這類繞行動(dòng)作的原則為:一是不走回頭路;二是以局部態(tài)勢(shì)為目標(biāo)規(guī)劃避障路線;三是始終與障礙保持“等距”?;诖嗽瓌t,引入等距區(qū)域概念,在障礙物的周邊“九宮格”區(qū)域產(chǎn)生“等距區(qū)”,以方格軌跡單元(square grid trajectory cell, SGTC)表示;SGTC的特性為閉包狀態(tài),即無(wú)論障礙物為何種形狀,只要無(wú)人艇沿SGTC中心行進(jìn),在一定時(shí)間后均可繞過(guò)障礙;完成繞行的先決條件為不能走“回頭路”。SGTC繞行避障示意圖如圖2所示。
算法預(yù)先條件:
(1) 無(wú)人艇所在的水域網(wǎng)格會(huì)顯示“占用”,無(wú)人艇在游走過(guò)程中,會(huì)持續(xù)占用各網(wǎng)格,進(jìn)而可在網(wǎng)格結(jié)構(gòu)體中查詢到是否被占用,被哪艘無(wú)人艇占用;
(2) 每個(gè)網(wǎng)格增加檢索項(xiàng)關(guān)鍵詞,用網(wǎng)格坐標(biāo)序號(hào)制作檢索關(guān)鍵詞;
(3) 無(wú)人艇結(jié)構(gòu)體新增“來(lái)自網(wǎng)格”,無(wú)人艇在游走過(guò)程中,用“來(lái)自網(wǎng)格”存儲(chǔ)上一個(gè)途徑的水域網(wǎng)格,確保在避障過(guò)程中無(wú)人艇不走“回頭路”,只對(duì)前方未知水域探索游走。
在設(shè)計(jì)上述預(yù)先條件基礎(chǔ)上,設(shè)計(jì)細(xì)菌游走避障算法如下所示。
步驟 1 輸入當(dāng)前無(wú)人艇編號(hào);
步驟 2 獲取無(wú)人艇所在網(wǎng)格;
步驟 3 轉(zhuǎn)子算法:判斷網(wǎng)格是否屬于SGTC。若不是,則直接向預(yù)定目標(biāo)行進(jìn);
步驟 4 若網(wǎng)格屬于SGTC,則獲取備選避障目標(biāo),具體包含:
步驟 4.1 獲取無(wú)人艇的來(lái)自網(wǎng)格檢索項(xiàng);
步驟 4.2 采集無(wú)人艇所在網(wǎng)格的上、下、左、右網(wǎng)格,采用轉(zhuǎn)子算法判斷網(wǎng)格是否屬于SGTC;若是,且該網(wǎng)格不是“來(lái)自網(wǎng)格”(無(wú)人艇上一時(shí)刻所在網(wǎng)格),則將其存入備選避障目標(biāo)集合;
步驟 4.3 若網(wǎng)格不屬于SGTC,則重復(fù)步驟2~步驟4,直至采集完成;
步驟 5 判斷是否向目標(biāo)行進(jìn),具體包含:
步驟 5.1 沿?zé)o人艇當(dāng)前位置向目標(biāo)方向行進(jìn)150 m,獲取模擬行進(jìn)目標(biāo)網(wǎng)格;
步驟 5.2 判斷該網(wǎng)格屬性是否為水域。若不是,則轉(zhuǎn)步驟6;
步驟 5.3 若網(wǎng)格屬性為水域,則采用轉(zhuǎn)子算法,判斷該網(wǎng)格是否屬于SGTC;若不是,則向目標(biāo)行進(jìn),否則轉(zhuǎn)至步驟6;
步驟 6 向備選避障目標(biāo)行進(jìn),具體包含:
步驟 6.1 計(jì)算備選目標(biāo)集合中到達(dá)各網(wǎng)格的旋轉(zhuǎn)角度;
步驟 6.2 選取最小旋轉(zhuǎn)角度對(duì)應(yīng)的備選目標(biāo)網(wǎng)格;
步驟 6.3 選取最小旋轉(zhuǎn)角度網(wǎng)格,無(wú)人艇向該網(wǎng)格行進(jìn);
步驟 7 重復(fù)步驟2~步驟7,直至無(wú)人艇到達(dá)預(yù)定目標(biāo)。
細(xì)菌游走避障算法的流程圖如圖3所示。
其中,子算法判斷網(wǎng)格是否屬于SGTC的執(zhí)行原理可描述如下:首先判斷網(wǎng)格屬性,若為障礙則輸出1(該網(wǎng)格不屬于SGTC);而后采集該網(wǎng)格的周邊網(wǎng)格,生成九宮格網(wǎng)格集合;最后遍歷九宮格網(wǎng)格集合,若存在網(wǎng)格屬性為障礙或被其他無(wú)人艇占用,則輸出true(該網(wǎng)格屬于SGTC),否則輸出1。為了防止采集過(guò)程中的“超界”數(shù)據(jù)溢出問(wèn)題,以規(guī)則形式約束采集流程,采集九宮格網(wǎng)格集合的示例如圖4所示。
2.2 自組隊(duì)形算法
在細(xì)菌游走避障算法執(zhí)行的基礎(chǔ)上,通過(guò)頻繁變換各追隨艇“目標(biāo)”變量,達(dá)成隊(duì)形的自組織生成。算法原理可歸納為:在集群組建隊(duì)形過(guò)程中,各艇之間的距離處于動(dòng)態(tài)變化中,通過(guò)計(jì)算各艇周邊3艘近距離艇的“隊(duì)形間距”,即可產(chǎn)生當(dāng)前時(shí)刻的“自組隊(duì)形行進(jìn)目標(biāo)”,進(jìn)而可控制無(wú)人艇向該目標(biāo)行進(jìn);通過(guò)頻繁調(diào)節(jié)各艇的自組隊(duì)形行進(jìn)目標(biāo),即可在有限時(shí)間內(nèi)產(chǎn)生蜂巢型的穩(wěn)定隊(duì)形結(jié)構(gòu)。自組隊(duì)形生成過(guò)程如圖5所示。其中,無(wú)人艇獲取“自組隊(duì)形行進(jìn)目標(biāo)”生成示例如圖6所示。
算法執(zhí)行流程包括如下7個(gè)步驟。
步驟 1 輸入無(wú)人艇序號(hào),設(shè)其當(dāng)前位置為(x0,y0);
步驟 2 設(shè)置無(wú)人艇的自組隊(duì)形間距,設(shè)為df,默認(rèn)df為1 000;
步驟 3 若該艇與中心艇的距離超過(guò)2倍自組隊(duì)形間距,則返回中心艇目標(biāo)位置,代表以中心艇為目標(biāo)行進(jìn);
步驟 4 若集群內(nèi)艇數(shù)小于3,則返回中心艇目標(biāo)位置;
步驟 5 計(jì)算與該艇最近的附近無(wú)人艇的相對(duì)直線距離,進(jìn)而獲取距離最近的3艘無(wú)人艇的位置,設(shè)為(x1,y1)、(x2,y2)、(x3,y3);
步驟 6 計(jì)算自組隊(duì)形行進(jìn)目標(biāo),具體包含:
步驟 6.1 計(jì)算附近3艇的反向方向,即從附近艇到該艇的方向,設(shè)為f1、f2、f3;以f1為例,計(jì)算公式如下所示:
f2、f3以此類推。
步驟 6.2 計(jì)算備選行進(jìn)目標(biāo),即以附近艇為出發(fā)點(diǎn),沿反向方向延伸自組隊(duì)形間距,確定3個(gè)備選行進(jìn)目標(biāo)(xt1,yt1)、(xt2,yt2)、(xt3,yt3);以(xt1,yt1)為例,計(jì)算公式如下所示:
(xt2,yt2)、(xt3,yt3)以此類推。
步驟 6.3 計(jì)算輸入艇與備選行進(jìn)目標(biāo)之間的距離,設(shè)為dt1、dt2、dt3,選取最遠(yuǎn)距離對(duì)應(yīng)的目標(biāo)作為自組隊(duì)形行進(jìn)目標(biāo)(xt0,yt0);
步驟 7 輸出自組隊(duì)形行進(jìn)目標(biāo)(xt0,yt0)。
自組隊(duì)形算法流程圖如圖7所示。
2.3 三級(jí)控制器架構(gòu)
三級(jí)控制器架構(gòu)的原理可歸納為:無(wú)人艇的控制變量可簡(jiǎn)化為行進(jìn)速度(標(biāo)量無(wú)方向)、行進(jìn)方向(艏向)、行進(jìn)目標(biāo)位置(航向)。3個(gè)控制變量共同作用,促使無(wú)人艇產(chǎn)生帶有慣性轉(zhuǎn)向的行進(jìn)動(dòng)作,考慮到自組隊(duì)形和避障控制的作用,本文做出原創(chuàng)設(shè)計(jì),將行進(jìn)方向賦予細(xì)菌游走避障算法,即由細(xì)菌游走避障算法生成無(wú)人艇的實(shí)時(shí)行進(jìn)方向。將行進(jìn)目標(biāo)位置賦予自組隊(duì)形算法,即由自組隊(duì)形算法生成無(wú)人艇的實(shí)時(shí)行進(jìn)目標(biāo)。由無(wú)人艇根據(jù)當(dāng)前位置、目標(biāo)位置、行進(jìn)方向共同計(jì)算當(dāng)前時(shí)刻的行進(jìn)速度,進(jìn)而實(shí)現(xiàn)對(duì)無(wú)人艇的航行動(dòng)作三級(jí)控制。在三級(jí)控制架構(gòu)下,指控中心可通過(guò)控制中心艇的行進(jìn)目標(biāo),間接控制各追隨艇的行進(jìn)目標(biāo),產(chǎn)生集群按隊(duì)形游走軌跡和復(fù)雜障礙場(chǎng)通行軌跡。在細(xì)菌游走避障算法和自組隊(duì)形算法的設(shè)計(jì)基礎(chǔ)上,通過(guò)設(shè)計(jì)中心艇-追隨艇的控制流程,實(shí)現(xiàn)集群通過(guò)復(fù)雜障礙場(chǎng)并組建、恢復(fù)隊(duì)形的軌跡規(guī)劃。主要工作包含:設(shè)計(jì)中心艇的控制器、設(shè)置各艇的實(shí)時(shí)航速控制器。執(zhí)行流程包括如下7個(gè)步驟。
步驟 1 輸入集群內(nèi)的艇數(shù)、航速、自組隊(duì)形間距;
步驟 2 循環(huán)遍歷各艇,控制各艇行進(jìn)目標(biāo),具體包含:
步驟 2.1 若判斷無(wú)人艇為中心艇,則賦予指控中心控制目標(biāo),即以人工控制方式指揮中心艇行進(jìn);
步驟 2.2 若判斷無(wú)人艇不是中心艇,則調(diào)用自組隊(duì)形算法,賦予各追隨艇自組隊(duì)形的行進(jìn)目標(biāo);
步驟 3 控制各艇行進(jìn)方向,具體包含:
步驟 3.1 調(diào)用細(xì)菌游走避障算法,賦予集群內(nèi)各艇實(shí)時(shí)的避障行進(jìn)方向,實(shí)現(xiàn)在向目標(biāo)行進(jìn)過(guò)程中生成實(shí)時(shí)避障行進(jìn)方向;
步驟 3.2 根據(jù)式(2)計(jì)算實(shí)時(shí)避障行進(jìn)方向和上一時(shí)刻方向的夾角;
步驟 3.3 進(jìn)行判斷,若αgt;180°,則依據(jù)式(3)順時(shí)針旋轉(zhuǎn)無(wú)人艇的艏向;
步驟 3.4 若α≤180°,逆時(shí)針旋轉(zhuǎn)無(wú)人艇的艏向;
步驟 4 控制各艇的實(shí)時(shí)航速,具體包含:
步驟 4.1 切換規(guī)定航速的單位進(jìn)制,由“節(jié)”切換為“m/s”;
步驟 4.2 依據(jù)式(4)計(jì)算慣性航速;
步驟 4.3 依據(jù)式(5)計(jì)算減速航速;
步驟 4.4 依據(jù)式(6)賦予各艇組隊(duì)航速;
步驟 5 依據(jù)式(7)更新當(dāng)前艇位置;
步驟 6 更新當(dāng)前艇的來(lái)自網(wǎng)格和占據(jù)網(wǎng)格,用于細(xì)菌游走避障算法;
步驟 7 重復(fù)步驟2~步驟6,直至集群任務(wù)結(jié)束。
3 仿真實(shí)驗(yàn)及分析
為驗(yàn)證本文方法在集群過(guò)復(fù)雜障礙場(chǎng)過(guò)程中的有效性,開(kāi)展了10艇規(guī)模分布控制架構(gòu)下的無(wú)人艇集群全流程數(shù)值仿真,過(guò)復(fù)雜障礙場(chǎng)階段劃分如圖8所示。中心艇與其他9艘追隨艇構(gòu)成分布式星型組網(wǎng)通信結(jié)構(gòu),通信原則如下:① 指控中心可直接控制中心艇,實(shí)時(shí)向其發(fā)送目標(biāo)位置,接收中心艇反饋的集群實(shí)時(shí)軌跡數(shù)據(jù);② 中心艇與各追隨艇之間建立星型通信,追隨艇獲取中心艇轉(zhuǎn)發(fā)的目標(biāo)位置,中心艇獲取各追隨艇發(fā)送的實(shí)時(shí)軌跡數(shù)據(jù)并定期將數(shù)據(jù)轉(zhuǎn)發(fā)至指控中心;③ 指控中心與各追隨艇之間無(wú)直接通信,不能直接指揮追隨艇行動(dòng);④ 集群內(nèi)各艇根據(jù)自身感知設(shè)備采集周邊水域環(huán)境數(shù)據(jù),自主完成避障游走,無(wú)需指控中心干預(yù)。為了驗(yàn)證集群過(guò)復(fù)雜障礙場(chǎng)過(guò)程的有效性,本文將過(guò)復(fù)雜障礙場(chǎng)過(guò)程劃分為3個(gè)階段,分別如下:① 從集群組隊(duì)完成開(kāi)始向復(fù)雜障礙場(chǎng)行進(jìn),到集群感知到復(fù)雜障礙場(chǎng)存在,命名為組隊(duì)行進(jìn)階段(階段1);② 從集群感知到復(fù)雜障礙場(chǎng)存在,到集群全部通過(guò)復(fù)雜障礙場(chǎng),命名為過(guò)復(fù)雜障礙場(chǎng)階段(階段2);③ 從集群全部通過(guò)復(fù)雜障礙場(chǎng),到集群再次組隊(duì)完成,命名為隊(duì)形恢復(fù)階段(階段3)。由上述定義可知,集群自組隊(duì)形行進(jìn)執(zhí)行各類過(guò)復(fù)雜障礙場(chǎng)任務(wù)的過(guò)程,均可拆分為階段1~階段3的往復(fù)循環(huán)過(guò)程。控制參數(shù)包括:自組隊(duì)形間距(用于配置自組隊(duì)形中任意相鄰兩艇的距離)、隊(duì)形保持閾值(用于配置自組隊(duì)形間距的誤差,若閾值為0.1,自組隊(duì)形間距為1 000 m,則間距取值范圍在900~1 100 m之間)、常規(guī)航速調(diào)參(無(wú)人艇最大航速與調(diào)參乘積為常規(guī)航速)。設(shè)集群內(nèi)艇數(shù)為n,第i艘無(wú)人艇與周邊最近無(wú)人艇的距離為di,距離平均值為d-,則距離標(biāo)準(zhǔn)差σd的計(jì)算公式為:
集群過(guò)復(fù)雜障礙場(chǎng)階段劃分如圖8所示。
3.1 集群運(yùn)動(dòng)狀態(tài)分析
在集群過(guò)復(fù)雜障礙場(chǎng)任務(wù)的三階段劃分基礎(chǔ)上,可將集群運(yùn)動(dòng)按時(shí)間劃分為10個(gè)特定時(shí)刻,獲取集群的運(yùn)動(dòng)狀態(tài)切片,如圖9所示。
通過(guò)對(duì)比分析可知,無(wú)人艇集群在1 400 s時(shí)刻組成固定隊(duì)形,并向預(yù)定目標(biāo)行進(jìn),在感知到復(fù)雜障礙場(chǎng)存在后,集群隊(duì)形解體,調(diào)用細(xì)菌游走避障算法通過(guò)復(fù)雜障礙場(chǎng)(2 200 s、2 500 s、2 800 s);在集群通過(guò)復(fù)雜障礙場(chǎng)并且到達(dá)預(yù)定目標(biāo)后,各艇于3 100 s時(shí)刻開(kāi)始自組織生成穩(wěn)定隊(duì)形結(jié)構(gòu),并于4 090 s時(shí)刻完成新隊(duì)形生成,準(zhǔn)備接收后續(xù)行進(jìn)任務(wù)。3個(gè)階段的運(yùn)行軌跡如圖10所示。
通過(guò)對(duì)比分析可知,在組隊(duì)行進(jìn)階段,集群能夠保持固定的自組織隊(duì)形(類似蜂巢造型)行進(jìn),行進(jìn)過(guò)程中隊(duì)形穩(wěn)定,集群內(nèi)各艇均能獲得相對(duì)穩(wěn)定的航速和航向。在集群內(nèi)某艇感知到周邊存在障礙物且無(wú)法保持隊(duì)形通行時(shí),調(diào)用細(xì)菌游走避障算法開(kāi)始避障游走,中心艇向目標(biāo)行進(jìn),其他追隨艇向中心艇范圍內(nèi)游走,通過(guò)復(fù)雜障礙場(chǎng)過(guò)程無(wú)需人工干預(yù)即可自組織實(shí)施。當(dāng)中心艇到達(dá)預(yù)定目標(biāo)后,各艇自組織恢復(fù)隊(duì)形結(jié)構(gòu)。由圖10(c)可知,隊(duì)形恢復(fù)過(guò)程為以中心艇為中心自主微調(diào),直至各艇均找到等距位置為止。由圖10(d)可知,本文方法集群通過(guò)復(fù)雜障礙場(chǎng)方法的優(yōu)點(diǎn)在于避障和通行過(guò)程無(wú)需人工干預(yù)即可完美執(zhí)行,缺點(diǎn)是組隊(duì)時(shí)間較長(zhǎng),各艇的兩次組隊(duì)過(guò)程在軌跡圖中產(chǎn)生了兩個(gè)以中心艇為中心的調(diào)整軌跡“圓圈”。
3.2 集群運(yùn)動(dòng)軌跡分析
為了詳細(xì)分析集群在各階段控制器參數(shù)的變化情況,抽取各艇的實(shí)時(shí)航速、實(shí)時(shí)航向、無(wú)人艇間距標(biāo)準(zhǔn)差作為比較對(duì)象,對(duì)比分析結(jié)果如圖11所示。
通過(guò)對(duì)比分析可知,在組隊(duì)行進(jìn)階段,各艇航速逐步由0 m/s增加至規(guī)定航速,航向則根據(jù)中心艇賦予目標(biāo),進(jìn)行統(tǒng)一微調(diào),由27°調(diào)整為15.3°,各艇相對(duì)間距和距離標(biāo)準(zhǔn)差均維持穩(wěn)定狀態(tài),證明隊(duì)形呈現(xiàn)完美的穩(wěn)態(tài)結(jié)構(gòu)。在過(guò)復(fù)雜障礙場(chǎng)階段,各艇航速、航向及相對(duì)距離方差變化如圖12所示。
通過(guò)對(duì)比分析可知,當(dāng)10號(hào)艇感知到障礙物存在后,隊(duì)形的穩(wěn)態(tài)結(jié)構(gòu)被打破,中心艇的航速始終維持恒定、向目標(biāo)避障行進(jìn),并在距目標(biāo)100 m內(nèi)逐步降速至0 m/s;其他追隨艇視避障情況航速發(fā)生小幅劇烈變化(84~138 s),后續(xù)則在通過(guò)障礙過(guò)程中維持速度恒定;通過(guò)對(duì)各艇艏向進(jìn)行分析,過(guò)復(fù)雜障礙場(chǎng)過(guò)程中各艇艏向變化劇烈,根據(jù)障礙局部特征實(shí)時(shí)調(diào)整艏向,并無(wú)具體規(guī)律可循。各艇的相對(duì)間距和距離標(biāo)準(zhǔn)差則隨著通過(guò)復(fù)雜障礙場(chǎng)過(guò)程結(jié)束而逐步趨于統(tǒng)一(差值為50.92 m),表明有越來(lái)越多的艇通過(guò)復(fù)雜障礙場(chǎng)。在隊(duì)形恢復(fù)階段,各艇航速、航向及相對(duì)距離方差變化如圖13所示。
通過(guò)對(duì)比分析可知,在隊(duì)形恢復(fù)階段,中心艇的航速趨向于0 m/s,其余追隨艇則圍繞中心艇尋找微調(diào)隊(duì)形的最佳位置;經(jīng)過(guò)1 301 s調(diào)整,隊(duì)形結(jié)構(gòu)趨于穩(wěn)定(航速為0,艏向4.76°,最短間距945.16 m,距離標(biāo)準(zhǔn)差30.45 m),表明集群可執(zhí)行下次組隊(duì)行進(jìn)任務(wù)。
3.3 同類算法對(duì)比分析
仿真實(shí)驗(yàn)中涉及的模型、場(chǎng)景和算法與同類型算法的對(duì)應(yīng)控制模型如表2所示。
通過(guò)對(duì)比分析可知,其他4類方法均用于無(wú)人機(jī)集群游走避障控制,因此避障軌跡相對(duì)較為平滑,避障路線執(zhí)行效率相對(duì)較低。本文方法在避障過(guò)程中無(wú)需人工干預(yù),避障動(dòng)作流暢且效率更高。對(duì)比其他方法,本文方法能夠通過(guò)自組織維持集群隊(duì)形穩(wěn)定,其他方法并無(wú)此設(shè)計(jì)。在算法設(shè)計(jì)上,本文方法原創(chuàng)的細(xì)菌游走避障算法和自組隊(duì)形算法在執(zhí)行效率和代碼工作量上明顯占優(yōu)。
4 結(jié)束語(yǔ)
本文首先針對(duì)無(wú)人集群應(yīng)用中存在的復(fù)雜障礙場(chǎng)通行問(wèn)題,首先分析了同類算法研究中的不足,引入了無(wú)人艇的局部感知能力并賦予其自組隊(duì)形和自主避障決策權(quán),以提升通過(guò)復(fù)雜障礙場(chǎng)過(guò)程的生存率;其次,重點(diǎn)描述了三級(jí)控制器架構(gòu)和自組隊(duì)形算法、自主細(xì)菌游走避障算法的執(zhí)行流程,給出了針對(duì)無(wú)人艇集群的算法步驟;再次,本文分析了無(wú)人艇集群通過(guò)復(fù)雜障礙場(chǎng)的執(zhí)行流程,并與同類算法進(jìn)行了比較,介紹了本文算法的存在價(jià)值和比較優(yōu)勢(shì),通過(guò)仿真分析驗(yàn)證了本文算法的可行性和同類場(chǎng)景適用性。軌跡“圓圈”化的產(chǎn)生原因主要是中心艇到位之后保持靜止,各追隨艇圍繞中心艇尋找最佳位置,由于各追隨艇之間的相對(duì)位置并未固定,導(dǎo)致隊(duì)形生成效率較低,追隨艇只能頻繁繞中心艇游走,進(jìn)而產(chǎn)生“圓圈”軌跡。本文方法相比于人工勢(shì)場(chǎng)類方法具有生成率高、自適應(yīng)能力強(qiáng)、局部“抖動(dòng)”規(guī)避的優(yōu)點(diǎn),但還存在較多有待進(jìn)一步解決的問(wèn)題,如組隊(duì)時(shí)間不可控、隊(duì)形生成效率低等, 在后續(xù)研究中應(yīng)對(duì)上述問(wèn)題加以重點(diǎn)解決。
參考文獻(xiàn)
[1]張婷婷, 藍(lán)羽石, 宋愛(ài)國(guó). 無(wú)人集群系統(tǒng)自主協(xié)同技術(shù)綜述[J]. 指揮與控制學(xué)報(bào), 2021, 7(2): 127-136.
ZHANG T T, LAN Y S, SONG A G. An overview of autonomous collaboration technologies for unmanned swarm systems[J]. Journal of Command and Control, 2021, 7(2): 127-136.
[2]黃長(zhǎng)強(qiáng), 翁興偉, 王勇, 等. 多無(wú)人機(jī)協(xié)同作戰(zhàn)技術(shù)[M]. 北京: 國(guó)防工業(yè)出版社, 2012.
HUANG C Q, WENG X W, WANG Y, et al. Cooperative combat technology for multi-UAVs[M]. Beijing: National Defense Industry Press, 2012.
[3]王原, 邢立寧, 陳盈果, 等. 基于多目標(biāo)優(yōu)化的自組織無(wú)人機(jī)集群航跡規(guī)劃方法[J]. 指揮與控制學(xué)報(bào), 2021, 7(3): 257-268.
WANG Y, XING L N, CHEN Y G, et al. Path planning method of self-organizing UAV swarm based on multi-objective optimization[J]. Journal of Command and Control, 2021, 7(3): 257-268.
[4]賈高偉, 王建峰. 無(wú)人機(jī)集群任務(wù)規(guī)劃方法研究綜述[J]. 系統(tǒng)工程與電子技術(shù), 2021, 43(1): 105-117.
JIA G W, WANG J F. Research review of UAV swarm mission planning method[J]. System Engineering and Electronics, 2021, 43(1): 105-117.
[5]REYNOLDS C W. Flocks, herds, and schools: a distributed behavioral model[J]. Computer Graphics, 1987, 21(4): 25-34.
[6]TONER J, TU Y. Flocks, herds, schools: a quantitative theory of flocking[J]. Physical Review E, 1998, 58(4): 4828-4832.
[7]COUZIN I D, KRAUSE J, JAMES R, et al. Collective memory and spatial sorting in animal groups[J]. Journal of Theoretical Biology, 2002, 218(1): 1023-1030.
[8]VICSEK T, CZIRóK A, BEN-JACOB E, et al. Novel type of phase transition in a system of self-driven particles[J]. Physical Review Letters, 1995, 75(6): 1226-1235.
[9]張超省, 王健, 張林, 等. 面向復(fù)雜障礙場(chǎng)的多智能體系統(tǒng)集群避障模型[J]. 兵工學(xué)報(bào), 2021, 42(1): 141-150.
ZHANG C S, WANG J, ZHANG L, et al. A multi-agent system flocking model with obstacle avoidance in complex obstacle field[J]. Acta Armamentarii, 2021, 42(1): 141-150.
[10]KWONG H, JACOB C. Evolutionary exploration of dynamic swarm behavior[C]∥Proc.of the IEEE Congress on Evolutionary Computation, 2003: 367-374.
[11]WANG L, SHI H, CHU T G. Flocking control of groups of mobile autonomous agents via local feedback[C]∥Proc.of the IEEE International Symposium on Intelligent Control, 2005: 441-446.
[12]CUCKER F, SMALE S. Emergent behavior in flocks[J]. IEEE Trans.on Automatic Control, 2007, 52(5): 852-862.
[13]CAVAGNA A, GIARDINA I, GRIGERA T S, et al. Silent flocks: constraints on signal propagation across biological groups[J]. Physical Review Letters, 2015, 114(21): 1278-1286.
[14]HEREFORD J, BLUM C. FlockOpt: a new swarm optimization algorithm based on collective behavior of starlingbirds[C]∥Proc.of the 3rd World Congress on Nature and Biologically Inspired Computing, 2011: 17-22.
[15]KHATIB O. Real-time obstacle avoidance for manipulators and mobile robots[J]. International Journal of Robotics Research, 1986, 5(1): 90-98.
[16]FIORINI P, SHILLER Z. Motion planning in dynamic environments using velocity obstacles[J]. International Journal of Robotics Research, 1998, 17(7): 760-772.
[17]SANTOS V, CAMPOS M, CHAIMOWICZ L. On segregative behaviors using flocking and velocity obstacles[J]. Springer Tracts in Advanced Robotics, 2014, 104(3): 121-133.
[18]WOODS A, LA H. Dynamic target tracking and obstacle avoidance using a drone[C]∥Proc.of the International Symposium on Visual Computing: Advances in Visual Computing, 2015: 857-866.
[19]HARDER S. Formation specification for control of active agents using artificial potential fields[J]. Journal of Intelligent amp; Robotic Systems, 2019, 95(2): 279-290.
[20]郭褚冰, 張鍇, 張永平. 基于生物智能的無(wú)人集群協(xié)同控制[J]. 指揮與控制學(xué)報(bào), 2021, 7(1): 76-82.
GUO C B, ZHANG K, ZHANG Y P. Unmanned swarm coope-rative control based on biological intelligence[J]. Journal of Command and Control, 2021, 7(1): 76-82.
[21]MITCHELL M. An introduction to genetic algorithms[J]. Principles of Adaptive Filters and Self-learning Systems, 1998, 24(4): 325-336.
[22]KENNEDY J, EBERHART R. Particle swarm optimization[C]∥Proc.of IEEE International Conference on Neural Networks, 1995: 1942-1948.
[23]DORIGO M. Optimization, learning and natural algorithms[D]. Milano: Politecnico di Milano, 1992.
[24]謝榕, 顧村鋒. 一種歐椋鳥(niǎo)群協(xié)同算法[J]. 武漢大學(xué)學(xué)報(bào)(理學(xué)版), 2019, 65(3): 229-237.
XIE R, GU C F. A starling swarm coordination algorithm[J]. Journal of Wuhan University (Science Edition), 2019, 65(3): 229-237.
[25]REYNOLDS C. Flocks, herds and schools: a distributed behavioral model[J]. ACM Siggraph Computer Graphics, 1987, 21(4): 25-34.
[26]KALA R. Code for robot path planning using artificial potential fields[EB/OL].[2022-10-26]. http:∥rkala.in/codes.html.
[27]YANG Y, LIU M Y, CUI H Y, et al. Research on formation behavior off lock with visual guidance algorithm[C]∥Proc.of the IEEE International Conference on Robotics and Biomimetics, 2018: 2360-2365.
作者簡(jiǎn)介
劉 昊(1983—),男,高級(jí)工程師,博士,主要研究方向?yàn)槿后w智能、集群控制。
張?jiān)骑w(1984—),男,高級(jí)工程師,博士,主要研究方向?yàn)橹悄芸萍肌?/p>
趙繼成(1989—),男,高級(jí)工程師,碩士,主要研究方向?yàn)闊o(wú)人艇控制算法、集群算法。