摘 要: 針對(duì)當(dāng)前基于中央控制策略解決無人艇(unmanned surface vehicle, USV)過復(fù)雜障礙場智能化程度不足的問題,提出一種基于局部感知的USV集群自主決策通過復(fù)雜障礙場方法。所提方法采用自組織協(xié)同思想,利用USV的局部感知能力獲取周邊水域的有效信息,將自組隊(duì)形和自主避障決策權(quán)交由USV執(zhí)行,促使集群自組織通過復(fù)雜障礙場并達(dá)成無序到有序的隊(duì)形演化。仿真結(jié)果表明,采用所提方法的集群過復(fù)雜障礙場過程明顯優(yōu)于基于人工勢場的同類方法。所提方法可在確保生存率前提下自組織實(shí)時(shí)集群自組隊(duì)形、自主避障和自適應(yīng)航行,對(duì)提升集群適應(yīng)能力具有重要意義。
關(guān)鍵詞: 無人艇集群; 局部感知; 復(fù)雜障礙場; 自組隊(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 引 言
以無人艇、無人機(jī)、無人潛航器為代表的無人集群協(xié)同運(yùn)動(dòng)模型[1]是當(dāng)今多智能體無人系統(tǒng)發(fā)展的高階形態(tài),相比于常規(guī)的有人-無人協(xié)同系統(tǒng),無人集群呈現(xiàn)出數(shù)量規(guī)模大、人工干預(yù)少、協(xié)同等級(jí)高、高度智能化等顯著特征[2]。隨著海洋領(lǐng)域研究的深化拓展,無人艇集群在海洋勘探、區(qū)域巡邏、環(huán)境數(shù)據(jù)采集等協(xié)同任務(wù)中,能夠有效降低人工執(zhí)行成本,提升任務(wù)執(zhí)行效率,作為無人集群自組織行為控制的研究對(duì)象具備較高的應(yīng)用價(jià)值。
自組織無人艇集群是無人集群控制的高階形態(tài)[3],區(qū)別于基于中央控制模式,集群內(nèi)各艇通過對(duì)周邊水域環(huán)境的局部感知獲取障礙信息,基于有限數(shù)據(jù)通信獲取周邊無人艇交互信息,以此為基礎(chǔ)實(shí)施有限數(shù)據(jù)條件下的自主決策,使無人艇集群最大限度模擬魚群等生物群落,實(shí)施集群運(yùn)動(dòng)、自組隊(duì)形以及通過復(fù)雜障礙場等高階集群行為。在自組織行動(dòng)過程中,集群內(nèi)各艇保持獨(dú)立決策能力,并通過整體行為共同完成復(fù)雜任務(wù),因此自組織無人艇集群屬于集群涌現(xiàn)式智能[4]。對(duì)集群行為的研究起源于Reynolds等[5]對(duì)鳥群行為的相關(guān)研究和計(jì)算機(jī)仿真,Reynolds等首次提出了群體行為“聚集-分離-對(duì)齊”基礎(chǔ)規(guī)則;在Reynolds等的研究基礎(chǔ)上,Toner等[6-8]均為集群行為研究貢獻(xiàn)了一系列卓有成效的工作,構(gòu)建出無人集群動(dòng)力學(xué)模型,但上述模型均為自由空間的集群行為仿真,對(duì)復(fù)雜障礙場通行和局部感知決策涉獵不深。
復(fù)雜障礙場通行問題是無人集群應(yīng)用中的基礎(chǔ)問題,對(duì)于投入應(yīng)用的多智能體系統(tǒng)而言,其既要能夠充分發(fā)揮集群的規(guī)模效應(yīng),又要在最小化交互控制約束下確保集群快速穿越復(fù)雜障礙場,特別是在水域條件動(dòng)態(tài)多變的情況下,集群通過復(fù)雜障礙場的成功率是提升多智能體系統(tǒng)應(yīng)用能力的關(guān)鍵指標(biāo)[9]。為了便于研究,將水域場景近似描述為二維平面,進(jìn)而將無人艇集群通過復(fù)雜障礙場問題抽象為二維空間內(nèi)多智能體集群穿越多障礙網(wǎng)格問題。
國內(nèi)外許多學(xué)者對(duì)集群協(xié)同通過復(fù)雜障礙場問題進(jìn)行了廣泛而深入的分析,同類研究大致可劃分為:以規(guī)則化行為為研究對(duì)象的集群控制算法,如Reynolds等模擬鳥群飛行行為構(gòu)建的Boids模型[5],Kwong等[10]構(gòu)建的復(fù)雜行為集群控制模型,Wang等[11]提出的移動(dòng)自治智能群體控制模型,Cucker等[12]基于鄰接矩陣的集群相對(duì)速度模型,Cavagna等[13]建立的歐椋鳥集群運(yùn)動(dòng)模型,Hereford等[14]結(jié)合粒子群算法提出的改進(jìn)Boids模型等。上述算法的優(yōu)點(diǎn)在于規(guī)則執(zhí)行簡單,算法效率高且易于工程應(yīng)用,缺點(diǎn)在于難以適應(yīng)現(xiàn)實(shí)環(huán)境中的高復(fù)雜性和集群行為的多樣不確定性,簡單規(guī)則難以解決大規(guī)模集群的生存問題。以空間力學(xué)約束為研究對(duì)象的集群控制算法,相關(guān)算法以人工勢場算法為代表[15],通過引入人工勢場實(shí)現(xiàn)無人集群的行為控制(來自目標(biāo)的定向力和來自感知范圍內(nèi)其他智能體或障礙的斥力),如Fiorini等[16]提出的速度障礙規(guī)則人工勢場模型,Santos等[17]提出的虛擬群組規(guī)則人工勢場模型,Woods等[18]提出的相對(duì)速度規(guī)則人工勢場模型,Harder[19]提出的通用無人機(jī)集群控制模型,郭褚冰等[20]提出的vicesk集群控制模型等。上述算法的優(yōu)點(diǎn)在于能夠應(yīng)對(duì)復(fù)雜多變的障礙環(huán)境,智能體行為易于計(jì)算和預(yù)測,缺點(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)過全局優(yōu)化,能夠獲得最佳避障和通行效果,缺點(diǎn)則是中央控制和啟發(fā)式預(yù)優(yōu)化消耗了額外的計(jì)算資源,時(shí)效性和動(dòng)態(tài)環(huán)境適應(yīng)性較差。
本文在先前研究基礎(chǔ)上,提出一種基于無人艇局部感知功能的集群通過復(fù)雜障礙場方法,區(qū)別于人工勢場法和啟發(fā)式優(yōu)化方法,本文方法立足于無人艇自身的局部感知功能,模擬生物群體的避障、組隊(duì)和通行行為,將決策權(quán)分發(fā)到各艇單獨(dú)執(zhí)行,避免了引力斥力造成的局部抖動(dòng)和啟發(fā)優(yōu)化造成的中央控制限制。在控制模式上,本文采用自組織協(xié)同思想,利用無人艇從其鄰居節(jié)點(diǎn)和周邊環(huán)境中獲取有價(jià)值信息;在行為模式上,本文利用避障和組隊(duì)的簡單規(guī)則實(shí)現(xiàn)集群宏觀層面的自組隊(duì)形、安全規(guī)避和通過復(fù)雜障礙場;在調(diào)控模式上,本文設(shè)計(jì)了3級(jí)架構(gòu)分別調(diào)控?zé)o人艇的航向、航速和目標(biāo)參數(shù),通過實(shí)時(shí)調(diào)控達(dá)成集群宏觀層面的適應(yīng)優(yōu)化。
1 無人艇集群控制模型
設(shè)集群規(guī)模為n,其中智能體i和j的相對(duì)速度為vi、vj,集群自適應(yīng)組隊(duì)和調(diào)整過程為各智能體通過改變相對(duì)速度和位置實(shí)現(xiàn)集群層面的隊(duì)形穩(wěn)定,在經(jīng)過一段時(shí)間Δt后,集群內(nèi)各智能體的運(yùn)動(dòng)方向保持一致,速度相同[24],即滿足:
1.1 基礎(chǔ)規(guī)則
(1) 集群中不存在固定領(lǐng)導(dǎo)者角色的無人艇,中心艇和追隨艇可自由切換,不存在硬件差異;
(2) 集群內(nèi)各艇在任務(wù)執(zhí)行過程中只接收指揮中樞傳遞的目標(biāo)信息,無需接收其他指令;
(3) 無人艇存在航速上限;
(4) 無人艇存在最少控制條件限制,在最少指揮控制參與情況下,完成集群通過復(fù)雜障礙場的動(dòng)作;
(5) 無人艇存在通信范圍限制,即只能在固定通信范圍內(nèi)與周邊艇保持?jǐn)?shù)據(jù)傳輸,模擬復(fù)雜障礙場的受限通信約束;
(6) 集群內(nèi)各艇不應(yīng)觸碰任務(wù)區(qū)域邊界和障礙物,不能兩艇相撞,最大限度提升生存率。
1.2 航向規(guī)則
不同于無人機(jī)控制規(guī)則,無人艇在水域中游走的航向受限于水流阻力,難以在短時(shí)間內(nèi)實(shí)現(xiàn)航向大幅改變,因此在航向控制中,應(yīng)引入慣性航向因變量(艏向),實(shí)時(shí)航向受上一時(shí)刻的艏向限制,在控制上限內(nèi)改變并向?qū)崟r(shí)航向靠攏。設(shè)無人艇當(dāng)前的艏向?yàn)閒0,目標(biāo)方向?yàn)閒t,則轉(zhuǎn)向夾角α的計(jì)算公式為
設(shè)中心艇的航向?yàn)閒c,則無人艇航向f的計(jì)算公式為
1.3 航速規(guī)則
無人艇航速受限于額定航速、洋流速度、風(fēng)向風(fēng)速等多種因素,相較于無人機(jī)的航速控制更為復(fù)雜,本文主要考慮無人艇的轉(zhuǎn)彎慣性作用、目標(biāo)靠攏減速、自組隊(duì)形增速3種情況。設(shè)無人艇的規(guī)定航速為v0,則受限于轉(zhuǎn)向夾角α限制,無人艇的慣性航速vg的計(jì)算公式為
設(shè)無人艇距行進(jìn)目標(biāo)的距離為dt,則無人艇的減速航速vd的計(jì)算公式為
設(shè)中心艇的實(shí)時(shí)航速為vc,則無人艇的組隊(duì)航速vf的計(jì)算公式為
1.4 位移規(guī)則
無人艇的應(yīng)用場景主要為寬闊海域或復(fù)雜地形水域,受限于各類環(huán)境因素,無人艇的實(shí)時(shí)位置與期望位置之間難以保持完全對(duì)應(yīng),導(dǎo)致無人艇在行駛過程中產(chǎn)生隨機(jī)偏差,隨機(jī)偏差一定存在且不受控制,因此為了擬合真實(shí)水域環(huán)境,有必要引入隨機(jī)漂移變量。設(shè)每個(gè)步長的隨機(jī)位移參數(shù)為φ(-5≤φ≤5),無人艇當(dāng)前時(shí)刻的位置坐標(biāo)為(x0,y0),實(shí)時(shí)航速(即為組隊(duì)航速)為vf,實(shí)時(shí)航向?yàn)閒,則下一步長時(shí)刻的位置坐標(biāo)(x′,y′)的計(jì)算公式為
1.5 基礎(chǔ)規(guī)則避免“抖動(dòng)”問題的原理
“抖動(dòng)”問題來源于人工勢場類算法的固有弊端,當(dāng)無人集群以目標(biāo)為引力源,以周邊障礙(含無人艇)為斥力源,自主向目標(biāo)游走時(shí),設(shè)某時(shí)刻第i艇的實(shí)時(shí)航速為vi,到達(dá)位置設(shè)為pi(xi,yi),考慮到引力源的單一性和斥力源的多樣性,在大范圍集群游走過程中,存在某個(gè)時(shí)刻,引力、斥力合力為0,vi=0而未到達(dá)目標(biāo)地域pm(xm,ym)的可能:
在上述情況中,pi向目標(biāo)靠近,則斥力大于引力,導(dǎo)致vilt;0;pi向障礙靠近,則引力大于斥力,導(dǎo)致vigt;0,造成無人艇的小范圍內(nèi)“抖動(dòng)”效果。本算法避免“抖動(dòng)”問題發(fā)生的原理為:各艇基于局部感知,只獲取周邊水域內(nèi)障礙、無人艇和目標(biāo)信息,由于無人艇處于運(yùn)動(dòng)過程中,各時(shí)刻獲取的周邊障礙狀態(tài)均處于動(dòng)態(tài)變化中,導(dǎo)致航速、航向發(fā)生相應(yīng)變化,由于局部感知的存在和游走避障算法特性,導(dǎo)致:
即對(duì)于任意vi=0時(shí)的無人艇,其必然到達(dá)目標(biāo)區(qū)域。
2 集群過復(fù)雜障礙場方法
過復(fù)雜障礙場方法主要由3部分構(gòu)成,分別為細(xì)菌游走避障算法、自組隊(duì)形算法、三級(jí)控制器架構(gòu)。細(xì)菌游走避障算法的核心思路是不走“回頭路”,雖然在順時(shí)針或逆時(shí)針游走過程中可能走“繞圈路”,但因?yàn)橐恢毕蛭粗赜蛱剿?,只要水域?qū)儆谶B通狀態(tài),在有限時(shí)間內(nèi)均能抵達(dá)目標(biāo)位置。自組隊(duì)形算法的核心思路是賦予各艇自主選擇行進(jìn)目標(biāo)的權(quán)力,通過頻繁引導(dǎo)無人艇向中心艇靠攏,并向周邊第三近無人艇等距游走,實(shí)現(xiàn)“蜂窩式”隊(duì)形自組織生成。兩種算法的融合使用,確保了集群內(nèi)各艇在自組隊(duì)形和規(guī)避障礙之間達(dá)成行動(dòng)平衡,生成滿足上述算法約束的行進(jìn)軌跡。然后,由三級(jí)控制器架構(gòu)執(zhí)行復(fù)雜障礙場通行過程,分別調(diào)用細(xì)菌游走避障算法和自組隊(duì)形算法計(jì)算無人艇的實(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ì)菌可通過旋轉(zhuǎn)自身鞭毛實(shí)現(xiàn)對(duì)障礙物的繞行,這類繞行動(dòng)作的原則為:一是不走回頭路;二是以局部態(tài)勢為目標(biāo)規(guī)劃避障路線;三是始終與障礙保持“等距”?;诖嗽瓌t,引入等距區(qū)域概念,在障礙物的周邊“九宮格”區(qū)域產(chǎn)生“等距區(qū)”,以方格軌跡單元(square grid trajectory cell, SGTC)表示;SGTC的特性為閉包狀態(tài),即無論障礙物為何種形狀,只要無人艇沿SGTC中心行進(jìn),在一定時(shí)間后均可繞過障礙;完成繞行的先決條件為不能走“回頭路”。SGTC繞行避障示意圖如圖2所示。
算法預(yù)先條件:
(1) 無人艇所在的水域網(wǎng)格會(huì)顯示“占用”,無人艇在游走過程中,會(huì)持續(xù)占用各網(wǎng)格,進(jìn)而可在網(wǎng)格結(jié)構(gòu)體中查詢到是否被占用,被哪艘無人艇占用;
(2) 每個(gè)網(wǎng)格增加檢索項(xiàng)關(guān)鍵詞,用網(wǎng)格坐標(biāo)序號(hào)制作檢索關(guān)鍵詞;
(3) 無人艇結(jié)構(gòu)體新增“來自網(wǎng)格”,無人艇在游走過程中,用“來自網(wǎng)格”存儲(chǔ)上一個(gè)途徑的水域網(wǎng)格,確保在避障過程中無人艇不走“回頭路”,只對(duì)前方未知水域探索游走。
在設(shè)計(jì)上述預(yù)先條件基礎(chǔ)上,設(shè)計(jì)細(xì)菌游走避障算法如下所示。
步驟 1 輸入當(dāng)前無人艇編號(hào);
步驟 2 獲取無人艇所在網(wǎng)格;
步驟 3 轉(zhuǎn)子算法:判斷網(wǎng)格是否屬于SGTC。若不是,則直接向預(yù)定目標(biāo)行進(jìn);
步驟 4 若網(wǎng)格屬于SGTC,則獲取備選避障目標(biāo),具體包含:
步驟 4.1 獲取無人艇的來自網(wǎng)格檢索項(xiàng);
步驟 4.2 采集無人艇所在網(wǎng)格的上、下、左、右網(wǎng)格,采用轉(zhuǎn)子算法判斷網(wǎng)格是否屬于SGTC;若是,且該網(wǎng)格不是“來自網(wǎng)格”(無人艇上一時(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ǎng)格行進(jìn);
步驟 7 重復(fù)步驟2~步驟7,直至無人艇到達(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)格屬性為障礙或被其他無人艇占用,則輸出true(該網(wǎng)格屬于SGTC),否則輸出1。為了防止采集過程中的“超界”數(shù)據(jù)溢出問題,以規(guī)則形式約束采集流程,采集九宮格網(wǎng)格集合的示例如圖4所示。
2.2 自組隊(duì)形算法
在細(xì)菌游走避障算法執(zhí)行的基礎(chǔ)上,通過頻繁變換各追隨艇“目標(biāo)”變量,達(dá)成隊(duì)形的自組織生成。算法原理可歸納為:在集群組建隊(duì)形過程中,各艇之間的距離處于動(dòng)態(tài)變化中,通過計(jì)算各艇周邊3艘近距離艇的“隊(duì)形間距”,即可產(chǎn)生當(dāng)前時(shí)刻的“自組隊(duì)形行進(jìn)目標(biāo)”,進(jìn)而可控制無人艇向該目標(biāo)行進(jìn);通過頻繁調(diào)節(jié)各艇的自組隊(duì)形行進(jìn)目標(biāo),即可在有限時(shí)間內(nèi)產(chǎn)生蜂巢型的穩(wěn)定隊(duì)形結(jié)構(gòu)。自組隊(duì)形生成過程如圖5所示。其中,無人艇獲取“自組隊(duì)形行進(jìn)目標(biāo)”生成示例如圖6所示。
算法執(zhí)行流程包括如下7個(gè)步驟。
步驟 1 輸入無人艇序號(hào),設(shè)其當(dāng)前位置為(x0,y0);
步驟 2 設(shè)置無人艇的自組隊(duì)形間距,設(shè)為df,默認(rèn)df為1 000;
步驟 3 若該艇與中心艇的距離超過2倍自組隊(duì)形間距,則返回中心艇目標(biāo)位置,代表以中心艇為目標(biāo)行進(jìn);
步驟 4 若集群內(nèi)艇數(shù)小于3,則返回中心艇目標(biāo)位置;
步驟 5 計(jì)算與該艇最近的附近無人艇的相對(duì)直線距離,進(jìn)而獲取距離最近的3艘無人艇的位置,設(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)的原理可歸納為:無人艇的控制變量可簡化為行進(jìn)速度(標(biāo)量無方向)、行進(jìn)方向(艏向)、行進(jìn)目標(biāo)位置(航向)。3個(gè)控制變量共同作用,促使無人艇產(chǎn)生帶有慣性轉(zhuǎn)向的行進(jìn)動(dòng)作,考慮到自組隊(duì)形和避障控制的作用,本文做出原創(chuàng)設(shè)計(jì),將行進(jìn)方向賦予細(xì)菌游走避障算法,即由細(xì)菌游走避障算法生成無人艇的實(shí)時(shí)行進(jìn)方向。將行進(jìn)目標(biāo)位置賦予自組隊(duì)形算法,即由自組隊(duì)形算法生成無人艇的實(shí)時(shí)行進(jìn)目標(biāo)。由無人艇根據(jù)當(dāng)前位置、目標(biāo)位置、行進(jìn)方向共同計(jì)算當(dāng)前時(shí)刻的行進(jìn)速度,進(jìn)而實(shí)現(xiàn)對(duì)無人艇的航行動(dòng)作三級(jí)控制。在三級(jí)控制架構(gòu)下,指控中心可通過控制中心艇的行進(jìn)目標(biāo),間接控制各追隨艇的行進(jìn)目標(biāo),產(chǎn)生集群按隊(duì)形游走軌跡和復(fù)雜障礙場通行軌跡。在細(xì)菌游走避障算法和自組隊(duì)形算法的設(shè)計(jì)基礎(chǔ)上,通過設(shè)計(jì)中心艇-追隨艇的控制流程,實(shí)現(xiàn)集群通過復(fù)雜障礙場并組建、恢復(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 若判斷無人艇為中心艇,則賦予指控中心控制目標(biāo),即以人工控制方式指揮中心艇行進(jìn);
步驟 2.2 若判斷無人艇不是中心艇,則調(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)過程中生成實(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)無人艇的艏向;
步驟 3.4 若α≤180°,逆時(shí)針旋轉(zhuǎn)無人艇的艏向;
步驟 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)前艇的來自網(wǎng)格和占據(jù)網(wǎng)格,用于細(xì)菌游走避障算法;
步驟 7 重復(fù)步驟2~步驟6,直至集群任務(wù)結(jié)束。
3 仿真實(shí)驗(yàn)及分析
為驗(yàn)證本文方法在集群過復(fù)雜障礙場過程中的有效性,開展了10艇規(guī)模分布控制架構(gòu)下的無人艇集群全流程數(shù)值仿真,過復(fù)雜障礙場階段劃分如圖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ā)至指控中心;③ 指控中心與各追隨艇之間無直接通信,不能直接指揮追隨艇行動(dòng);④ 集群內(nèi)各艇根據(jù)自身感知設(shè)備采集周邊水域環(huán)境數(shù)據(jù),自主完成避障游走,無需指控中心干預(yù)。為了驗(yàn)證集群過復(fù)雜障礙場過程的有效性,本文將過復(fù)雜障礙場過程劃分為3個(gè)階段,分別如下:① 從集群組隊(duì)完成開始向復(fù)雜障礙場行進(jìn),到集群感知到復(fù)雜障礙場存在,命名為組隊(duì)行進(jìn)階段(階段1);② 從集群感知到復(fù)雜障礙場存在,到集群全部通過復(fù)雜障礙場,命名為過復(fù)雜障礙場階段(階段2);③ 從集群全部通過復(fù)雜障礙場,到集群再次組隊(duì)完成,命名為隊(duì)形恢復(fù)階段(階段3)。由上述定義可知,集群自組隊(duì)形行進(jìn)執(zhí)行各類過復(fù)雜障礙場任務(wù)的過程,均可拆分為階段1~階段3的往復(fù)循環(huán)過程??刂茀?shù)包括:自組隊(duì)形間距(用于配置自組隊(duì)形中任意相鄰兩艇的距離)、隊(duì)形保持閾值(用于配置自組隊(duì)形間距的誤差,若閾值為0.1,自組隊(duì)形間距為1 000 m,則間距取值范圍在900~1 100 m之間)、常規(guī)航速調(diào)參(無人艇最大航速與調(diào)參乘積為常規(guī)航速)。設(shè)集群內(nèi)艇數(shù)為n,第i艘無人艇與周邊最近無人艇的距離為di,距離平均值為d-,則距離標(biāo)準(zhǔn)差σd的計(jì)算公式為:
集群過復(fù)雜障礙場階段劃分如圖8所示。
3.1 集群運(yùn)動(dòng)狀態(tài)分析
在集群過復(fù)雜障礙場任務(wù)的三階段劃分基礎(chǔ)上,可將集群運(yùn)動(dòng)按時(shí)間劃分為10個(gè)特定時(shí)刻,獲取集群的運(yùn)動(dòng)狀態(tài)切片,如圖9所示。
通過對(duì)比分析可知,無人艇集群在1 400 s時(shí)刻組成固定隊(duì)形,并向預(yù)定目標(biāo)行進(jìn),在感知到復(fù)雜障礙場存在后,集群隊(duì)形解體,調(diào)用細(xì)菌游走避障算法通過復(fù)雜障礙場(2 200 s、2 500 s、2 800 s);在集群通過復(fù)雜障礙場并且到達(dá)預(yù)定目標(biāo)后,各艇于3 100 s時(shí)刻開始自組織生成穩(wěn)定隊(duì)形結(jié)構(gòu),并于4 090 s時(shí)刻完成新隊(duì)形生成,準(zhǔn)備接收后續(xù)行進(jìn)任務(wù)。3個(gè)階段的運(yùn)行軌跡如圖10所示。
通過對(duì)比分析可知,在組隊(duì)行進(jìn)階段,集群能夠保持固定的自組織隊(duì)形(類似蜂巢造型)行進(jìn),行進(jìn)過程中隊(duì)形穩(wěn)定,集群內(nèi)各艇均能獲得相對(duì)穩(wěn)定的航速和航向。在集群內(nèi)某艇感知到周邊存在障礙物且無法保持隊(duì)形通行時(shí),調(diào)用細(xì)菌游走避障算法開始避障游走,中心艇向目標(biāo)行進(jìn),其他追隨艇向中心艇范圍內(nèi)游走,通過復(fù)雜障礙場過程無需人工干預(yù)即可自組織實(shí)施。當(dāng)中心艇到達(dá)預(yù)定目標(biāo)后,各艇自組織恢復(fù)隊(duì)形結(jié)構(gòu)。由圖10(c)可知,隊(duì)形恢復(fù)過程為以中心艇為中心自主微調(diào),直至各艇均找到等距位置為止。由圖10(d)可知,本文方法集群通過復(fù)雜障礙場方法的優(yōu)點(diǎn)在于避障和通行過程無需人工干預(yù)即可完美執(zhí)行,缺點(diǎn)是組隊(duì)時(shí)間較長,各艇的兩次組隊(duì)過程在軌跡圖中產(chǎn)生了兩個(gè)以中心艇為中心的調(diào)整軌跡“圓圈”。
3.2 集群運(yùn)動(dòng)軌跡分析
為了詳細(xì)分析集群在各階段控制器參數(shù)的變化情況,抽取各艇的實(shí)時(shí)航速、實(shí)時(shí)航向、無人艇間距標(biāo)準(zhǔn)差作為比較對(duì)象,對(duì)比分析結(jié)果如圖11所示。
通過對(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)。在過復(fù)雜障礙場階段,各艇航速、航向及相對(duì)距離方差變化如圖12所示。
通過對(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ù)則在通過障礙過程中維持速度恒定;通過對(duì)各艇艏向進(jìn)行分析,過復(fù)雜障礙場過程中各艇艏向變化劇烈,根據(jù)障礙局部特征實(shí)時(shí)調(diào)整艏向,并無具體規(guī)律可循。各艇的相對(duì)間距和距離標(biāo)準(zhǔn)差則隨著通過復(fù)雜障礙場過程結(jié)束而逐步趨于統(tǒng)一(差值為50.92 m),表明有越來越多的艇通過復(fù)雜障礙場。在隊(duì)形恢復(fù)階段,各艇航速、航向及相對(duì)距離方差變化如圖13所示。
通過對(duì)比分析可知,在隊(duì)形恢復(fù)階段,中心艇的航速趨向于0 m/s,其余追隨艇則圍繞中心艇尋找微調(diào)隊(duì)形的最佳位置;經(jīng)過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)中涉及的模型、場景和算法與同類型算法的對(duì)應(yīng)控制模型如表2所示。
通過對(duì)比分析可知,其他4類方法均用于無人機(jī)集群游走避障控制,因此避障軌跡相對(duì)較為平滑,避障路線執(zhí)行效率相對(duì)較低。本文方法在避障過程中無需人工干預(yù),避障動(dòng)作流暢且效率更高。對(duì)比其他方法,本文方法能夠通過自組織維持集群隊(duì)形穩(wěn)定,其他方法并無此設(shè)計(jì)。在算法設(shè)計(jì)上,本文方法原創(chuàng)的細(xì)菌游走避障算法和自組隊(duì)形算法在執(zhí)行效率和代碼工作量上明顯占優(yōu)。
4 結(jié)束語
本文首先針對(duì)無人集群應(yīng)用中存在的復(fù)雜障礙場通行問題,首先分析了同類算法研究中的不足,引入了無人艇的局部感知能力并賦予其自組隊(duì)形和自主避障決策權(quán),以提升通過復(fù)雜障礙場過程的生存率;其次,重點(diǎn)描述了三級(jí)控制器架構(gòu)和自組隊(duì)形算法、自主細(xì)菌游走避障算法的執(zhí)行流程,給出了針對(duì)無人艇集群的算法步驟;再次,本文分析了無人艇集群通過復(fù)雜障礙場的執(zhí)行流程,并與同類算法進(jìn)行了比較,介紹了本文算法的存在價(jià)值和比較優(yōu)勢,通過仿真分析驗(yàn)證了本文算法的可行性和同類場景適用性。軌跡“圓圈”化的產(chǎn)生原因主要是中心艇到位之后保持靜止,各追隨艇圍繞中心艇尋找最佳位置,由于各追隨艇之間的相對(duì)位置并未固定,導(dǎo)致隊(duì)形生成效率較低,追隨艇只能頻繁繞中心艇游走,進(jìn)而產(chǎn)生“圓圈”軌跡。本文方法相比于人工勢場類方法具有生成率高、自適應(yīng)能力強(qiáng)、局部“抖動(dòng)”規(guī)避的優(yōu)點(diǎn),但還存在較多有待進(jìn)一步解決的問題,如組隊(duì)時(shí)間不可控、隊(duì)形生成效率低等, 在后續(xù)研究中應(yīng)對(duì)上述問題加以重點(diǎn)解決。
參考文獻(xiàn)
[1]張婷婷, 藍(lán)羽石, 宋愛國. 無人集群系統(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]黃長強(qiáng), 翁興偉, 王勇, 等. 多無人機(jī)協(xié)同作戰(zhàn)技術(shù)[M]. 北京: 國防工業(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)化的自組織無人機(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]賈高偉, 王建峰. 無人機(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ù)雜障礙場的多智能體系統(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]郭褚冰, 張鍇, 張永平. 基于生物智能的無人集群協(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]謝榕, 顧村鋒. 一種歐椋鳥群協(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.
作者簡介
劉 昊(1983—),男,高級(jí)工程師,博士,主要研究方向?yàn)槿后w智能、集群控制。
張?jiān)骑w(1984—),男,高級(jí)工程師,博士,主要研究方向?yàn)橹悄芸萍肌?/p>
趙繼成(1989—),男,高級(jí)工程師,碩士,主要研究方向?yàn)闊o人艇控制算法、集群算法。