徐博,張嬌,王超
哈爾濱工程大學(xué) 自動化學(xué)院,黑龍江 哈爾濱 150001
隨著無人機、無人戰(zhàn)車、機器戰(zhàn)士逐漸在戰(zhàn)場上顯示出越來越大的威力,無人化戰(zhàn)爭的發(fā)展已經(jīng)呈現(xiàn)出相對清晰的藍(lán)圖。海洋空間智能無人運載器,如無人水面艇(USV)、自主式水下機器人(AUV)和無人水下機器人(UUV)等也得到迅速發(fā)展,開始在未來海洋國土安全、海洋開發(fā)方面發(fā)揮越來越大的作用。國內(nèi)外均十分重視該領(lǐng)域的研究,已取得多項鼓舞人心的成果,并逐漸在軍事和其他領(lǐng)域得到應(yīng)用[1]。
集群運動是自然界中一種非常普遍的現(xiàn)象,典型的代表有鳥群的集體飛翔、昆蟲的集體遷移,甚至是生命體中蛋白質(zhì)等物質(zhì)的集體移動[2-5]。在這些群體類似的運動中,如何形成協(xié)調(diào)有序的集體運動模式以及如何迅速改變當(dāng)前運動狀態(tài),一直是集群運動控制研究中的熱點問題。在多AUV集群運動編隊方法中,有很多問題需要考慮,如穩(wěn)定性、可控性等,為解決這些問題,不少學(xué)者提出了自己的想法,比如領(lǐng)航跟隨者法(Leaderfollower)、基于行為的方法、圖論法以及人工勢場法等[6]。
Balch等[7]提出了一種基于行為的編隊方法,即將隊形控制分解為一系列基本行為,通過行為的綜合來實現(xiàn)運動控制。該方法有明確的隊形反饋,并實現(xiàn)了分布式控制,但對群體的行為沒有明確定義,難以進(jìn)行數(shù)學(xué)分析,不能保證隊形的穩(wěn)定性。
潘無為等[8]提出了一種虛擬結(jié)構(gòu)方法,即將AUV編隊從整體上看作是一個剛體的虛擬結(jié)構(gòu),每個AUV是剛體上相對位置固定的一點。該方法可通過定義剛體的行為來控制AUV的運動,但不能根據(jù)環(huán)境的變化來改變隊形,因而限制了其應(yīng)用范圍。
俞輝等[9]研究了一種領(lǐng)航跟隨者法,該方法是將AUV整體拆分為兩兩一組,即一個領(lǐng)航AUV,一個跟隨AUV,通過跟隨者對領(lǐng)航者保持一定的角度和距離來實現(xiàn)隊形控制;根據(jù)領(lǐng)航者與跟隨者的相對位置關(guān)系,可以形成不同的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),當(dāng)在環(huán)境中遇到障礙物時,可以通過改變隊形來避開障礙物。但是這種主從式策略的自適應(yīng)性以及魯棒性不強,無法全面反映自然界中的個體自行選擇或跟蹤目標(biāo)的能力。
Khatib[10]首次提出了人工勢場的概念,即假定場內(nèi)的個體在受到目標(biāo)和障礙的力的作用時,令其沿著勢能函數(shù)值最小的方向運動。在早期,該方法僅用于靜態(tài)環(huán)境,而在針對動態(tài)環(huán)境時由于忽略了諸多動態(tài)因素,故僅選擇相對位置作為輸入量。針對此類問題,Khatib對該方法進(jìn)行了改進(jìn),使之與其他方法結(jié)合,更適合于多AUV編隊控制。
劉明雍等[11]提出在編隊控制領(lǐng)域需要對集群的分群運動進(jìn)行研究,因為分群強調(diào)了集群中的運動分化,可通過不同的組群來實現(xiàn)不同的目標(biāo)任務(wù),例如避障、跟蹤等,但他們只針對該問題進(jìn)行了理論建模,還缺少實驗驗證。AUV的數(shù)量對多AUV集群運動的導(dǎo)航以及控制算法具有重要影響,AUV的數(shù)量越多,相應(yīng)的控制難度也就越大。
綜合以上問題,本文將提出一種基于動態(tài)網(wǎng)絡(luò)拓?fù)涞募哼\動控制方法和基于人工勢場法的避障方法,對人工勢場函數(shù)進(jìn)行改進(jìn),并通過Matlab軟件進(jìn)行仿真實驗以驗證算法的可行性。
假設(shè)第i個AUV的控制律為ui,
考慮由N個AUV組成的群體,動態(tài)方程則為
式中:qi=[xi,yi]T,為個體位置;,為速度向量;ui=[uxi,uyi]T,為控制輸入;Z為正整數(shù)集;R2為二維實數(shù)集。qij=qi-qj,為第i個與第j個AUV之間的相對距離向量。
將群體中的每個AUV都視為網(wǎng)絡(luò)有向圖中的一個節(jié)點。AUV在運動過程中網(wǎng)絡(luò)拓?fù)湟矔S之動態(tài)地發(fā)生改變。通過動態(tài)網(wǎng)絡(luò)方法,可以對AUV的群體運動行為進(jìn)行建模,從而使得網(wǎng)絡(luò)節(jié)點可以維持其與鄰近個體之間的平衡距離。
定義1(鄰接圖):設(shè)G=(v,ε),為n個節(jié)點的權(quán)重有向圖,其中v={1,2,…,n},為頂點的集合,ε為邊的集合。A=[aij],為權(quán)重鄰接矩陣,其中對于?i,j∈I={1,2,…,n},i≠j,aij≥0;對于?i∈I,aij=0。設(shè)r為任意兩臺AUV節(jié)點間的距離,節(jié)點vi的鄰接集合用Ni表示,定義為
很顯然,邊集ε(q)由q決定(q為個體位置),(G(q),q)就是鄰接結(jié)構(gòu)。
將群體中的每一個AUV都視作是網(wǎng)絡(luò)中的一個節(jié)點,AUV在運動中形成了動態(tài)網(wǎng)絡(luò)。為在真實的集群中捕獲明顯的空間順序,使用柵格模擬AUV集群節(jié)點的幾何結(jié)構(gòu)。找出一系列的q以及n個節(jié)點,令這些節(jié)點與相鄰節(jié)點保持相同的距離,由式(5)描述為
公式中,q的選取在很大程度上影響著AUV集群的期望隊形,故將其定義為格子型對象。
定義2:將在式(5)限制下的q幾何配置看作是一個α格子,尺寸大小為d,AUV個體稱作α個體。多個鄰近的個體相連就形成了α格子。由α格子形成的鄰接網(wǎng)絡(luò)的邊長都是相等的。
為了構(gòu)建光滑的集成勢場,并構(gòu)建相應(yīng)的空間鄰接矩陣,將σ范式的非負(fù)地圖做如下定義:
在本文中,ε的值保持不變。在這里建立新的范式是因為在任何時候都可微,而在z=0(z表示函數(shù)變量)處是不可微的。
沖擊函數(shù)ρh(z)為標(biāo)量函數(shù),在0~1之間光滑,用來構(gòu)建光滑的勢場函數(shù)和鄰接矩陣。沖擊函數(shù)選擇如下:
式中:h∈(0,1);沖擊函數(shù)ρh(z)在[1,∞)內(nèi),一致趨于z。利用該沖擊函數(shù),可定義空間鄰接矩陣A(q):
為了構(gòu)建光滑的成對勢場,又引入了行為函數(shù)?α(z):
最后,提出了分布式控制算法,用來研究多AUV集群運動中的編隊控制。
人工勢場法的基本思想是:在目標(biāo)點位置和障礙物位置分別構(gòu)造引力場Uatt和斥力場Urep,相應(yīng)的勢場力會吸引AUV向目標(biāo)點附近運動,而阻止其向障礙物附近運動,在合力的最終作用下,指引AUV向目標(biāo)點運動。
斥力場函數(shù)的設(shè)計與障礙物有關(guān),距離障礙物越近,斥力就越大;引力場函數(shù)與之類似。為了對該方法進(jìn)行必要的理論研究,在既簡化問題又不失通用性的基礎(chǔ)上,構(gòu)建了二維平面、帶有靜態(tài)威脅的人工勢場模型[13]。
將二維平面內(nèi)的AUV與目標(biāo)點距離的函數(shù)定義為
其產(chǎn)生的引力場為
式中:r(x1,y1)指AUV的位置;g(x2,y2)指目標(biāo)點位置;m為正常數(shù),m的值是決定勢場函數(shù)曲線形狀的因素;ξ為目標(biāo)勢場系數(shù)。在這里我們?nèi)=2,這是因為當(dāng)m=1時會使引力場求導(dǎo)后出現(xiàn)引力無界的問題,造成AUV在目標(biāo)點附近抖動,因此,將m值取為最小值2。
目標(biāo)點對AUV的吸引力為
式中,nRG為AUV至目標(biāo)點的單位矢量。
本文中,由于AUV的目標(biāo)點是固定的,因此在設(shè)計引力勢場時不必考慮AUV與目標(biāo)點之間的相對運動(圖1)。
將障礙物的位置設(shè)為o(x3,y3),F(xiàn)rep1為AUV與障礙物間的排斥力,其使得AUV向遠(yuǎn)離障礙物的方向運動。與上面的分析類似,這里假定障礙物為靜態(tài),不考慮AUV與障礙物間相對速度對AUV運動的影響,F(xiàn)rep為由AUV速度產(chǎn)生的斥力,該斥力大小與速度在AUV和與障礙物連線上的速度分量大小成正比,方向為沿AUV與障礙物的連線且遠(yuǎn)離障礙物的方向(圖2)。
斥力勢場為
式中,M為障礙物的個數(shù);ρi(r,o)=,為AUV與第i個障礙物間的距離函數(shù)。因此,式(15)可以寫作
式中,η為斥力勢場系數(shù)。
與二維空間S中第i個障礙物的斥力勢場相對應(yīng)的排斥力為
因此,總的排斥力為
將空間內(nèi)的引力勢場與斥力勢場進(jìn)行合成,得到的合成勢場為
空間合成勢場力為
常規(guī)的人工勢場函數(shù)的自變量是距離的二次方,這種形式的函數(shù)曲線升降過快,這也使得引力和斥力變化過快,因而在選取參數(shù)時比較嚴(yán)苛,很可能會因參數(shù)選取的問題而無法完成路徑規(guī)劃。所以,這里采用的勢場函數(shù)都是經(jīng)過改進(jìn)的,采用指數(shù)函數(shù)來作為勢場函數(shù),結(jié)構(gòu)如下:
對于引力場,指數(shù)函數(shù)自變量X的表達(dá)式為
對于斥力場,X的表達(dá)式為
選取了指數(shù)函數(shù),勢場函數(shù)仍然為距離的函數(shù),但函數(shù)曲線不再是二次曲線,而是指數(shù)曲線。由指數(shù)函數(shù)的特點可知,m和n的取值均大于1,引力勢場系數(shù)β和斥力勢場系數(shù)γ為正的常數(shù),因此X>0。又由指數(shù)函數(shù)曲線的特點可知,U(ρ(r,g))圖像取區(qū)間[0,∞)部分,該部分的變化較為緩慢,較容易控制,可達(dá)到比較穩(wěn)定的效果。
為了驗證基于人工勢場法的多AUV路徑規(guī)劃算法,下面對其進(jìn)行仿真驗證:取目標(biāo)勢場系數(shù)ξ=5;對于引力場,取相鄰個體數(shù)目α=5,引力場系數(shù)β=0.5;對于斥力場,取相鄰個體數(shù)目α=1,斥力場系數(shù)γ=2。設(shè)置10臺AUV,在目標(biāo)點的引力與障礙物的斥力的共同作用下完成避障運動。將10個AUV的運動速度初值(單位:m/s)設(shè)置為:
圖3中,左下角的“x”標(biāo)志代表10個AUV,右上角的“X”標(biāo)志代表目標(biāo)點位置,坐標(biāo)不變;平面內(nèi)部的圓圈代表障礙物,坐標(biāo)分別為(80 m,100 m),(100 m,100 m),(120 m,100 m),(180 m,200 m),(200 m,150 m)和(240 m,200 m);虛線為10個AUV的運動軌跡。圖3(b)所示為10個AUV降速0.8 m/s后的軌跡。圖4為減速前與減速后x和y方向上的多AUV集群運動軌跡。
由圖3和圖4的仿真結(jié)果可知,基于人工勢場的避障方法,所有AUV均可順利避開障礙物,準(zhǔn)確到達(dá)目標(biāo)點附近的安全區(qū)域;并且速度越慢,AUV距離障礙物越遠(yuǎn),避碰效果越好。可見,基于指數(shù)函數(shù)的人工勢場法能準(zhǔn)確實現(xiàn)AUV的避障。
本文針對多AUV協(xié)同定位過程中出現(xiàn)的集群內(nèi)個體間保持聚集以及避免互相碰撞的問題,采用了一種基于動態(tài)網(wǎng)絡(luò)拓?fù)涞木庩牱椒?,即將AUV看作網(wǎng)絡(luò)中的節(jié)點,通過設(shè)置勢場函數(shù)來滿足編隊要求;另外,針對航行中可能出現(xiàn)的障礙物,采用人工勢場法進(jìn)行在線規(guī)劃,將勢場函數(shù)作為指數(shù)函數(shù)進(jìn)行了仿真。仿真結(jié)果表明,在基于人工勢場函數(shù)的多AUV避碰方法中,指數(shù)函數(shù)法可實現(xiàn)多AUV對障礙物的實時規(guī)避。