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