劉 艷,陽周明,馮運鐸,于亞龍,宋 淼
(1.北方自動控制技術(shù)研究所,太原 030006;2.北京理工大學,北京 100081;3.北京軍事代表局,北京 100166)
無人機在現(xiàn)代戰(zhàn)爭中具有很多優(yōu)勢,其主要作戰(zhàn)特點為隱蔽性好、生命力強、造價低廉、不懼傷亡、起降簡單、操作靈活、可實施有效的偵察情報支援、可執(zhí)行不同的電子戰(zhàn)任務、可擔負各種空中作戰(zhàn)任務、出眾的協(xié)同能力等[1-2]。盡管無人機技術(shù)已經(jīng)相對成熟,但有時單架無人機的性能無法滿足任務需求,例如執(zhí)行偵察任務時由于傳感器限制,單架無人機可偵察范圍有限,無法有效覆蓋偵察區(qū)域。且一旦無人機出現(xiàn)故障,便意味著任務失敗。針對這種情況,根據(jù)自然界常見的生物群體現(xiàn)象,例如候鳥遷徙過程中的隊形保持、魚群在抵御天敵時的協(xié)同防御等,提出多架無人機協(xié)同編隊飛行的解決方案[3]。
無人機常見的編隊隊形有楔形隊、梯隊、橫隊、縱隊和V形等,可以實現(xiàn)協(xié)同偵察、防御和進攻等復雜任務。合理有效的隊形設計可以有效增加無人機氣動效率和結(jié)構(gòu)強度,減少飛行阻力,節(jié)省燃油,延長無人機編隊飛行距離,增加編隊靈活性,這大大提高其安全性與任務完成率。2011年,英國機械工程師協(xié)會的報告指出V字隊形最高可節(jié)省12%的燃料[4]。
當前無人機的編隊方法主要有長機-僚機法、行為法、虛擬結(jié)構(gòu)法和人工勢能法等[5-7]。長機-僚機法只需給定領航者的軌跡即可,簡化了系統(tǒng)的控制,但是一旦領航者失效編隊隊形也會失效;行為法不能定義明確的整體系統(tǒng)行為,也無法保證隊形的穩(wěn)定;虛擬結(jié)構(gòu)法雖然存在隊形反饋具有較高的編隊精度,但是以虛擬結(jié)構(gòu)為隊形的運動行為限制了其應用;人工勢能法對通信和計算能力的要求較低,具有較好的局部處理能力和較強的實時性,但是由于勢能只是距離的函數(shù),易于形成柵格狀結(jié)構(gòu)而不易于形成特定的隊形。
將長機-僚機法和人工勢能法相結(jié)合,可以簡化系統(tǒng)并在局部信息交互的情況下實現(xiàn)V字型的編隊。Yasuhiro Kuriki等[8]在一致性算法和領航者編隊結(jié)構(gòu)基礎上增加了每個智能體的人工勢能,解決了編隊形成過程中的碰撞問題。AnhDucDang[9]以領航者為中心構(gòu)建V字型虛擬結(jié)構(gòu)并利用人工勢能使無人機到達指定位置,并通過增加額外的回環(huán)力使無人機擺脫障礙物局部最優(yōu)的情況,以及此種情況下領導者的更換問題。但是其避障算法只是針對單架無人機而不是整個編隊面對障礙物時的整體行為。
用無向圖G(v,ε)來表示無人機之間的通信拓撲關(guān)系,其中節(jié)點集合v={1,2,…,n}表示n架無人機,邊的集合ε?{(i,j):i,j∈v,i≠j}表示無人機之間的通信拓撲結(jié)構(gòu)。由于無人機的感知范圍有限,通常無人機只能感知到以自身為中心一定半徑以內(nèi)的其他無人機的狀態(tài),且由于無人機之間的通信是雙向通信,所以圖G是無向的。
記無人機i的鄰域為Ni,表示無人機i可以感知到的其他無人機的集合,由于在無人機i感知范圍內(nèi)的無人機同樣也是運動的,可能會運動到感知范圍之外,所以系統(tǒng)具有切換拓撲結(jié)構(gòu),且無人機i的鄰域可以表示為:
為簡化無人機運動模型,不考慮無人機垂直方向上的運動和氣動性能、飛行狀態(tài)等因素,只考慮橫側(cè)向運動,將無人機簡化為二維平面上的質(zhì)點,pi,vi,ui∈Rm(e.g.,m=2,3)分別表示無人機 i的位置、速度和輸入。同理將目標也簡化為質(zhì)點,pt,vt∈Rm分別表示目標的位置和速度。po∈Rm,po分別表示障礙物的位置和半徑,即將障礙物簡化為以po為圓心半徑為ro的圓。綜上可知為無人機運動模型為:
Khatib[10-11]在1986年首次提出人工勢場方法以解決機器人和障礙物之間的碰撞問題,假設機器人和障礙物之間具有虛擬的斥力,當機器人靠近障礙物時斥力會逐漸增大將機器人推開。O-fati-saber[12-13]在多智能體系統(tǒng)中結(jié)合人工勢能和一致性理論,實現(xiàn)了多智能體蜂擁控制,使多智能體在滿足聚合、避碰和速度匹配原則的情況下形成柵格狀的結(jié)構(gòu),并以相同速度運動。
如下頁圖1所示假設無人機的通信半徑為r,防止碰撞的安全距離為ra,無人機之間的期望距離為 rc,且滿足 ra<rc<ra。θ為期望的 V字型編隊夾角,在無人機保持相同的速度時,其大小等于領導者對無人機的視線角的2倍。即將編隊的約束具體為距離和視線角約束,θ=2 χ。
圖1 編隊示意圖
現(xiàn)在假設無人機i和j之間具有虛擬力fij,其中a,b,c,h 為輔助參數(shù),且滿足 0<a<b 和以保證當無人機i和j的距離等于期望的距離時虛擬力和勢能都為零,nij為無人機i指向無人機j的單位向量。對虛擬力積分可以得到無人機之間的勢能函數(shù):
其中
圖2、圖3為虛擬力和勢能示意圖,在dij=rc時無人機i和j之間的勢能和虛擬力皆為零,即Vij=0,。且當dij<rc時,無人機之間具有排斥力且隨距離的減小而逐漸增大,當dij>rc時,無人機之間的吸引力隨距離的增大而逐漸增大,但是當dij>r時由于兩者已不在彼此的感應范圍之內(nèi),所以此時虛擬力為零,勢能保持不變。
圖2 無人機間虛擬力
雖然人工勢能法具有實時快速控制的優(yōu)點,但是傳統(tǒng)的人工勢能函數(shù)只是距離的函數(shù),所以只能控制無人機之間或無人機和障礙物之間的距離,而當多架無人機需要組成編隊時,對于所有無人機之間的距離相同的情況下只能形成柵格狀的隊形,如要形成其他的隊形則需要計算每個無人機之間的距離或者構(gòu)建更多的虛擬領航者。除此之外,人工勢能法的最大缺點是會陷入局部最優(yōu)情況,一旦無人機陷入勢能的局部最小點便無法形成期望的編隊,且無人機的數(shù)量越多就越容易產(chǎn)生這種情況。
圖3 無人機間虛擬勢能
不同于柵格結(jié)構(gòu)僅僅對無人機之間的距離有約束,V字型編隊需要無人機之間保持相對的角度,所以將人工勢能法和領航法相結(jié)合,在多架無人機中選擇一架為領導者,其他無人機為跟隨者。跟隨者在自身和領航者的人工勢能下形成V字型的編隊,且在這一過程中避免彼此之間的碰撞。如圖1所示,定義跟隨者和領導者之間的夾角αi,在跟隨者和領導者速度相同的情況下,其本質(zhì)上是領導者相對于跟隨者的實際視線角和期望視線角之差,即α=χ-χc,且由領導者的速度 vl、位置 pl和跟隨者的位置pi計算可得,其中L(θ)為旋轉(zhuǎn)矩陣:
假設無人機周圍除了其他無人機由距離產(chǎn)生的勢場Vd之外,還具有領導者產(chǎn)生的勢場Vl,其產(chǎn)生的虛擬力為fl,其中dil,nil分別為無人機i和領導者的距離以及無人機i指向領導者的單位向量:
圖4 領導者周圍虛擬勢場
無人機形成V字型編隊需要滿足以下兩點:無人機之間的位置具有一定偏差;無人機保持相同的速度。前一節(jié)中介紹的人工勢能使無人機之間的位置滿足第一個條件。假設目標具有和無人機相同的簡化運動模型,在此基礎上結(jié)合上一節(jié)的人工勢能函數(shù),得出無人機的輸入為:
編隊勢能項為上一節(jié)所述的兩種虛擬力的加權(quán)總和,起到控制無人機相對位置的作用,唯有無人機之間保持相同距離且形成V字型編隊時整體勢能為零,此時。
編隊隊形的保持需要以無人機速度相同為前提,而在簡化模型中可以將速度和輸入看作為一階積分系統(tǒng)。且在無人機之間的通信拓撲圖具有有向生成樹的情況下,采用一階一致性的控制算法,如式x所示,可以使所有無人機的速度趨于一致,其大小為所有無人機初始速度的平均值[14]。但是領導者反饋項將領導者的速度和輸入反饋給追隨者,使跟隨者的速度收斂至和領導者相同的速度,同時可以隨領導者作機動的運動。
領導者的輸入和跟隨者本質(zhì)上相同,但因為領導者只需跟蹤目標,所以輸入只和目標狀態(tài)有關(guān),其中 dt、rt、vt、ut分別為領導者和目標之間的距離、領導者追蹤距離、目標速度和目標加速度。
無人機的避障問題指無人機對外界環(huán)境中的障礙物的躲避。避障算法對于無人機縮短任務執(zhí)行時間,提高任務成功率有著重要的意義。人工勢能法是無人機常用的避障算法,通過在障礙物周圍建立排斥的虛擬力場使無人機能夠遠離障礙物。針對勢能函數(shù)的局部最優(yōu)問題,在障礙物周圍額外增加虛擬的回環(huán)力,使其能夠擺脫局部最小值。
圖5 編隊避障示意圖
如圖5所示假設障礙物為以(xo,yo)為圓心,半徑為Ro的圓,其可探測距離為ro,則障礙物對無人機i產(chǎn)生的勢能為Vo,障礙物對無人機產(chǎn)生的排斥力為fo,其中no,do分別為無人機指向障礙物的單位向量和距離。
假設障礙物數(shù)量為m,則無人機i的避障項為所有障礙物產(chǎn)生虛擬的總和:
雖然人工勢能可以解決單架無人機避障問題,但是對于無人機編隊來說,障礙物的出現(xiàn)會使無人機周圍的虛擬勢場更加復雜,這意味著無人機更有可能陷入局部最優(yōu)的情況而破壞編隊隊形。為了避免這種情況,將障礙物的位置信息反饋給編隊控制器,即根據(jù)周圍障礙物產(chǎn)生的勢能大小調(diào)節(jié)V字型編隊的夾角,使編隊整體有能力自適應的躲避障礙物。
由上式可知,當周圍障礙物逐漸增多,或者越靠近障礙物時,障礙物產(chǎn)生的勢能越大,則編隊的夾角越小,隊形越趨于狹長,更加有利于編隊通過障礙物。則綜上可得,對于V字型編隊中的跟隨者,避障算法如式(17)所示,其中編隊夾角由式(16)可得:
假設無人機的數(shù)量n=3,其中無人機1為領導者,2和3為跟隨者,其初始位置分別為(100 m,75 m)、(20m,10m)、(-40m,30m)。初始速度分別為(10m/s,8 m/s)、(-20 m/s,12 m/s)、(-18 m/s,-17 m/s)。目標的初始位置和速度分別為(500 m,400 m)和(30 m/s,0),其輸入在 t≤50 s時為(0.5cos(0.1t)m/s2),在t>50 s時為(0,0)。障礙物的數(shù)量 m=3,其位置分別為(500 m,400 m)、(650 m,800 m)、(1 200 m,700 m),半徑分別為150 m、150 m和220 m。其他的參數(shù)如表1所示。
表1 仿真參數(shù)
在上述的初始條件和參數(shù)設置下采用控制算法如式(13)和式(17),可得仿真結(jié)果如圖6所示,3架無人機從初始位置出發(fā),在t=10 s時已經(jīng)形成V字型編隊,在t=13.5 s和t=20 s時由于遇到障礙物,編隊隊形進行改變,編隊夾角變小以適應狹小地形。且整個編隊在領導者帶領下以一定的距離跟蹤目標并隨著目標運動。在t=60 s時3架無人機以夾角90°的V字形編隊追蹤目標,且領導者和目標之間的距離為100 m。
圖6 仿真示意圖
如圖7、圖8所示分別為無人機之間的速度變化和距離變化。如圖7所示可以看出在t=10 s和t=27 s處無人機的速度已經(jīng)逐漸收斂,但是由于障礙物和作為領導者的無人機1的速度變化等原因,速度沒有繼續(xù)收斂至一致,而是在t=55 s之后在速度一致項的作用下逐漸趨于56 m/s。如圖8所示在t=10 s之后無人機1和無人機2、3之間的距離已經(jīng)收斂至期望值120 m,隨后在遇到障礙物時有小幅的波動,在此之后便一直穩(wěn)定在期望值。由于障礙物導致的隊形變化使無人機2和3之間的距離在t=10 s和t=30 s之間變化劇烈,但除此之外始終維持在固定值169 m。而作為領導者的無人機1和目標之間的距離在t=30 s之后逐漸收斂至100 m。
圖7 無人機之間速度變化
圖8 無人機之間距離變化
而無人機期望的角度約束變化由圖9所示,在t=10 s時無人機2和3的α角已經(jīng)漸漸趨于一致,但是由于隊形需要改變以躲避障礙物,所以在10 s<t<40 s時無人機的期望約束角α不斷變化。最終在t=40 s之后約束角都趨于期望值,但由于角度約束產(chǎn)生的虛擬力和無人機之間的距離有關(guān),所以當無人機之間的距離逐漸減小時,虛擬力大小也會越來越小,造成角度變化會越來越慢,所以當t=100 s時還是有0.3°的誤差。但是如果時間足夠長,誤差會逐漸減小至0。
圖9 無人機的α角
無人機編隊在未來的軍事領域?qū)⑹艿綇V泛的應用,本文針對無人機編隊協(xié)同追蹤目標和避障問題,結(jié)合領航法和人工勢能法,在簡化無人機模型基礎上,以領航者為中心建立了V字型編隊的人工勢場,以目標為中心的引力場和以障礙物為中心的斥力場,同時將障礙物的信息反饋給隊形控制器,使編隊隊形根據(jù)周圍的環(huán)境自適應地改變,使編隊整體更有效地躲避障礙物。仿真結(jié)果表明,基于改進人工勢能的編隊方法能夠?qū)o人機進行有效的控制,形成V字型編隊,在躲避障礙的同時以一定距離追蹤目標。但是在直角坐標系的表示方法下勢能函數(shù)中具有反三角函數(shù)的存在,提高了算法的復雜性,在下一步的研究中,將重點研究極坐標系下的人工勢能法,以實現(xiàn)更簡單的算法。