王匯彬,金程皓,許 博,陳 鳴
1(陸軍工程大學(xué) 指揮控制工程學(xué)院,南京 211042) 2(南京航空航天大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,南京 211106) 3(滁州學(xué)院 計算機與信息工程學(xué)院,安徽 滁州 239000)
近年來,多無人機協(xié)同技術(shù)得到了廣泛研究.一支由低成本小型無人機組成的編隊可以取代昂貴的多功能大型無人機,而且在執(zhí)行任務(wù)時更加高效、可靠,其在監(jiān)視[1,2]、偵查作戰(zhàn)[3]、搜救[4]、應(yīng)急通信[5]和農(nóng)業(yè)[6]等方面都有不俗的表現(xiàn).在無人機數(shù)量一定的情況下,編隊控制技術(shù)可以增加任務(wù)的覆蓋面積,或者縮短任務(wù)的執(zhí)行時間.為適應(yīng)戰(zhàn)場環(huán)境,無人機編隊在執(zhí)行上述任務(wù)的過程中往往需要進行隊形變換,以躲避障礙物[7];為了適應(yīng)不同的任務(wù)需求,無人機編隊可以在攻擊、防守或偵查等隊形間切換[8].
多無人機的協(xié)同控制是當(dāng)前學(xué)術(shù)界和產(chǎn)業(yè)界關(guān)注的一個熱點問題.無人機編隊的構(gòu)建、保持或變換需要采用特定的編隊控制方法.例如,領(lǐng)航者-跟隨者(Leader-Follower)模型是當(dāng)前較為成熟的一種集中式編隊控制方法,但該方法存在單點故障問題,Leader節(jié)點失效將導(dǎo)致整個編隊控制系統(tǒng)癱瘓[9-11].Duan等人[12]提出了一種基于Leader-Follower模型的分布式編隊控制方式,每架無人機可以通過切換跟隨、領(lǐng)導(dǎo)、加速模式來應(yīng)對突發(fā)事件.Dong[13]和Chen[14]等人提出了一種基于行為的編隊控制方法,定義了避碰、避障、目標(biāo)搜索和編隊保持等行為,基于對外界環(huán)境的感知為各種行為設(shè)定不同的權(quán)重,確定無人機最終執(zhí)行的動作.部分研究將無人機抽象為可以自由移動的質(zhì)點[15-18],例如,Liao等人[18]提出了一種分布式級聯(lián)魯棒反饋控制方法,該方法假設(shè)無人機可以自由移動和懸停.但這種假設(shè)只適用于旋翼無人機,對于固定翼無人機過于理想化.因為在實際環(huán)境中固定翼無人機具有偏航角約束,不能隨意變換運動方向.固定翼無人機編隊控制必須考慮這一約束.Whitzer等人[19]提出了一種支持飛行中按需控制的固定翼無人機編隊隊形轉(zhuǎn)換方法,使用B-樣條曲線擬合無人機的航路,但該方法未考慮隊形保持問題.
針對上述問題,本文從固定翼無人機的關(guān)鍵技術(shù)參數(shù)出發(fā),探討無人機編隊的各個典型階段(隊形構(gòu)建、保持和變換)是否存在統(tǒng)一的定義,研究在此定義下飛行中無人機編隊的隊形構(gòu)建、保持、和變換的技術(shù)約束和解決方案.本文的主要工作與貢獻包括:1)提出了一種六元狀態(tài)一致性(Six-Tuple State Coherence,STSC)模型,定義了固定翼無人機編隊的構(gòu)建、保持和變換過程;2)基于STSC模型提出了一種集中式與分布式相結(jié)合的混合式編隊控制(Hybrid Formation Control,HFC)機制,用統(tǒng)一的技術(shù)架構(gòu)解決編隊控制技術(shù)存在的問題;主節(jié)點集中式地求解編隊隊形變換時節(jié)點的位置分配方案,從節(jié)點分布式地計算帶有偏航角約束的Dubins路徑,并自主調(diào)節(jié)航速使得編隊狀態(tài)保持一致;3)在OMNeT++上設(shè)計實現(xiàn)了仿真試驗,試驗結(jié)果表明STSC模型為編隊控制提供了一種實時性強、通信開銷小的技術(shù)框架,同時驗證了HFC算法的可行性.
本文剩余部分的組織結(jié)構(gòu)如下.第2節(jié)介紹了相關(guān)工作;第3節(jié)介紹了STSC模型并對編隊構(gòu)建、保持和變換進行了定義;第4節(jié)提出了一種用于無人機編隊控制的HFC算法;第5節(jié)在OMNeT++上進行了仿真試驗并對試驗結(jié)果進行了分析;最后第6節(jié)總結(jié)了全文.
無人機狀態(tài)模型的定義對于無人機編隊技術(shù)的研究至關(guān)重要.只有編隊中每架無人機的狀態(tài)保持一致,才能形成并保持一定的隊形.文獻[12-14]中未明確定義無人機狀態(tài)模型,其構(gòu)建編隊的條件是每架無人機的相對位置保持不變,即僅考慮了與位置相關(guān)的3個狀態(tài)[X,Y,Z]T.但在實際情況中,無人機不可以進行自由的轉(zhuǎn)向或瞬時的速度調(diào)整.若僅考慮無人機位置相關(guān)的狀態(tài),即使無人機在某一時刻形成編隊,但是由于航向和速度的不一致,無法保持形成的隊形.Tsourdos等人[15]中提出了一種無人機的五元組模型P(x,y,z,θ,φ),在模型中增加了無人機的偏航角θ和俯仰角φ,但該模型仍未考慮無人機的速度約束.
根據(jù)通信范圍和傳感器種類以及能力的不同,多無人機編隊的控制技術(shù)可以大致分為3個類型:1)基于位置;2)基于位移;3)基于距離.基于位置的研究是無人機根據(jù)GPS信息獲取自己的位置,然后通過控制自己的位置以實現(xiàn)期望隊形,該方法需要基于整體坐標(biāo)系(GPS)給出無人機編隊的隊形[14].基于位移的方法首先假設(shè)每架無人機能夠獲取到其相鄰無人機在整體坐標(biāo)系的相對位置,然后無人機主動控制與其相鄰無人機的位移以實現(xiàn)期望的隊形[20].基于距離的方法根據(jù)局部坐標(biāo)系測量與其鄰節(jié)點的相對位置,隊形由任意一對智能體間的距離決定[21],基于距離的編隊控制方法較為復(fù)雜.
無人機編隊在形成初始隊形和變換隊形的過程中,需要調(diào)整航向和航速,使得完成編隊構(gòu)建或變換任務(wù)后各節(jié)點的狀態(tài)保持一致.Farouki等人[22]介紹了一種PH(Pythagorean-Hodograph)曲線,PH曲線的曲率連續(xù)且平滑,可以通過調(diào)整參數(shù)來滿足固定翼無人機的動力學(xué)約束.但求解PH曲線的計算復(fù)雜度較高,不太適合在無人機編隊中使用.Dubins曲線是當(dāng)前使用較多的一種方法[23,24],給定帶有方向的起止點及最小轉(zhuǎn)彎半徑,Dubins模型可以找到一條滿足特定曲率約束和起止點航向要求的最短路徑,采用幾何法可以快速求解Dubins路徑.但Dubins模型只能調(diào)整無人機的航向、位置這4個元組,無法保證編隊的六元狀態(tài)一致性.Zhang等人[25]提出了一種基于速度矢量場的固定翼無人機編隊控制方法,實現(xiàn)隊形保持并保證無人機之間不會相互碰撞.但該方法沒有考慮無人機的轉(zhuǎn)彎半徑等動力學(xué)約束.
綜上所述,目前針對無人機編隊控制的研究還存在很多問題.大多數(shù)研究只是考慮與位置相關(guān)的三元組,但這種模型不能滿足固定翼無人機編隊控制的要求,因此本文提出了一種六元狀態(tài)一致性模型,基于該模型提出了一種集中式?jīng)Q策與分布式執(zhí)行相結(jié)合的HFC機制.
本節(jié)首先定義了STSC模型,該模型全面地描述了無人機編隊各個階段的狀態(tài).基于該模型,給出了無人機編隊的構(gòu)建、保持和變換的定義.
無人機是具有計算、通信、存儲、和機動能力的智能體,令六元組P(t,X,Y,Z,θ,v)表示無人機狀態(tài),其中,t表示時間,[X,Y,Z]T表示無人機所處位置,偏航角為θ(機身與正北方向的夾角,或稱航向),航速為v.設(shè)無人機編隊由n個互相連通的節(jié)點組成,即節(jié)點間能夠相互通信,令ui表示第i個無人機節(jié)點.設(shè)其中一架無人機為主節(jié)點,其它節(jié)點為從節(jié)點.主節(jié)點是編隊的邏輯中心,決策并規(guī)劃編隊的航線和隊形;從節(jié)點能夠接收主節(jié)點指令并自主決策其航路及航速.令ri表示連接無人機ui的起始點Psi(t1,θsi,vsi,Xsi,Ysi,Zsi)和目標(biāo)點Pti(t2,θti,vti,Xti,Yti,Zti)間的路徑.無人機ui的航路如式(1)所示.
(1)
多架無人機形成編隊的必要條件定義為:編隊中每架無人機的狀態(tài)六元組P(t,θ,v,X,Y,Z)保持一致,即在同一時刻t,所有無人機的航向和航速均相同且相對位置保持不變.本文采用編隊飛行路徑Rref(t)的切線坐標(biāo)系[19]描述隊形及無人機間的相對位置.如圖1所示.
切線坐標(biāo)系定義如式(2)所示:
(2)
圖1 編隊坐標(biāo)系Fig.1 Formation coordinate system
切線坐標(biāo)系與大地坐標(biāo)系間的轉(zhuǎn)換如式(3)所示.
(3)
其中,M(t)∈3×3為正交旋轉(zhuǎn)矩陣,如式(4)所示.
(4)
多架無人機在形成編隊前可能處于不同位置,具有不同的航速及偏航角.令Pi(t0,θi,vi,Xi,Yi,Zi)表示無人機ui的初始狀態(tài).根據(jù)STSC可知,當(dāng)無人機節(jié)點同時到達初始編隊中的預(yù)定位置且航向和航速保持一致時,完成編隊構(gòu)建過程.編隊構(gòu)建需要解決的問題是建立節(jié)點ui與初始隊形中的第j個位置的映射.
令P={Pi|i=1,2,…,n}表示當(dāng)前的無人機狀態(tài)集合,Finit表示初始編隊,初始編隊的構(gòu)建過程如式(5)所示.
(5)
令Fm表示構(gòu)建完成的編隊,編隊保持分為兩種情形:航路為一條直線、航路為任意曲線.當(dāng)航路為一條直線時,若滿足STSC則編隊將會保持隊形.編隊保持可以描述為式(6)的形式:
(6)
當(dāng)無人機編隊的規(guī)劃路徑Rref(t)是一條處處可微可導(dǎo)的任意曲線時,在沿Rref(t)飛行的過程中,編隊中每架無人機的狀態(tài)六元組可能無法保持一致(隊形外側(cè)的無人機節(jié)點的航速快于內(nèi)側(cè)節(jié)點時才能保持隊形).此時,需要使得任意時刻無人機間的相對位置保持不變.航路為曲線時編隊保持問題可以轉(zhuǎn)為式(7)所示形式:
(7)
從式(7)中可以看出,編隊保持問題只與時間參數(shù)t有關(guān).
假設(shè)編隊要從初始隊形Finit變換至目標(biāo)隊形Ftarget.變換過程可以表示為式(8)所示形式.
(8)
為了提升編隊控制效率,本節(jié)提出了一種集中式?jīng)Q策與分布式執(zhí)行相結(jié)合的混合式編隊控制機制.其思想是:主節(jié)點對編隊任務(wù)進行集中規(guī)劃,然后將包含時間、位置、航向、航速的六元組指令發(fā)送給各從節(jié)點;從節(jié)點根據(jù)指令分布式地決策其飛行路徑并自主調(diào)整其航速,使得到達目標(biāo)位置時保持狀態(tài)一致.編隊控制需要解決3個問題:無人機在編隊中所處位置的分配、無人機飛行路徑的計算、無人機航速的調(diào)整.下面將從編隊構(gòu)建、編隊保持、編隊變換3個方面討論混合式編隊控制機制的細節(jié).
本節(jié)討論編隊構(gòu)建過程需要解決的3個關(guān)鍵問題:求解位置分配矩陣、計算無人機飛行路徑、調(diào)整無人機航速.
4.1.1 求解位置分配矩陣
構(gòu)建編隊的第1步是為隨機分布的一組無人機集合P在初始編隊Finit中分配一個位置.為了求解分配矩陣φ,構(gòu)建式(9)所示代價函數(shù):
(9)
(10)
本文使用匈牙利算法求解編隊構(gòu)建過程中的無人機節(jié)點的位置分配問題,使得生成初始編隊的總代價最小.求解的基本過程如下:
2)從矩陣D的每行元素中減去該行的最小元素;
3)若矩陣的某一列中不存在零元素,則從該列的各元素中減去該列的最小元素;
4)搜索歸約后的矩陣,找出僅有一個零元素的行(列),將該行(列)中零元素對應(yīng)的φij置為1,該位置對應(yīng)的列(行)中的其它零元素標(biāo)注為不可選擇.重復(fù)此過程,直至所有零元素被標(biāo)注.若矩陣φ中標(biāo)注為1的元素的數(shù)量等于矩陣D的階數(shù)n,則找到了最優(yōu)分配,算法結(jié)束;
5)如果矩陣φ中標(biāo)注為1的元素的數(shù)量小于n,則使用最少的水平線或垂直線覆蓋矩陣中的所有0元素.找到未被任何線覆蓋的最小元素,將未被線覆蓋的行中的各元素減去這一最小元素,被線覆蓋的列加上這一元素,返回步驟4).
根據(jù)以上算法得到分配矩陣φ.
4.1.2 計算無人機飛行路徑
圖2 計算Dubins路徑Fig.2 Calculate Dubins path
Dubins路徑可以解決帶有方向的兩點在轉(zhuǎn)彎半徑一定的情況下由初始位置到達目標(biāo)位置的最短路徑問題[23].令R1=R2=rmin,rmin為無人機的最小轉(zhuǎn)彎半徑.式(11)給出了其與無人機的航速和偏航角的關(guān)系.
(11)
其中,v是無人機的航速,γmax是無人機的最大偏航角.
可以采用歐幾里德幾何法[23]求解無人機節(jié)點ui的航路ri長度Li,如式(12)所示.
Li=α*R1+P3P4+β*R2
(12)
其中,α和β為轉(zhuǎn)彎角度,R1和R2為兩個轉(zhuǎn)彎圓的半徑.
4.1.3 調(diào)整無人機航速
在計算出無人機的目標(biāo)位置和路徑后,需使無人機在形成編隊時具有相同的航速.假定無人機節(jié)點ui的當(dāng)前速度為vi,沿ri飛行Ti時間后完成初始編隊的構(gòu)建,所有無人機的速度需要同時收斂到初始編隊速度vinit.若構(gòu)建初始隊形的時間為T,Li為路徑ri的長度,則所需時間Ti=Li/vi.若Ti
圖3給出了Ti>T當(dāng)時無人機航速的調(diào)整過程.
圖3 無人機航速調(diào)整Fig.3 Adjustment of drone speed
假設(shè)無人機在加速過程中的加速度為α1,減速過程中的加速度為α2,則速度變化如式(13)所示.根據(jù)式(13)可以求解出無人機的加速[t1,t1+t′]和減速階段[t1+t″,t2].Ti (13) 當(dāng)無人機編隊構(gòu)建完成后,所有無人機將會保持六元組狀態(tài)一致,若此時的航路為直線時,將繼續(xù)保持編隊的狀態(tài)一致性.若無人機編隊以隊形Fm沿曲線Rref(t)飛行,無人機節(jié)點ui的六元組可以通過式(14)求得: (14) 其中ts表示當(dāng)前時刻,te表示下一時刻,Li表示兩個時間間隔中無人機飛行的Dubins路徑的長度.式(14)可以保證每架無人機在下一時刻te的相對位置[xi,yi,zi]T不變,從而保持了隊形的穩(wěn)定.當(dāng)無人機的隊形確定后,保持隊形穩(wěn)定只需要保證每架無人機的時鐘保持同步即可.在主節(jié)點與從節(jié)點能夠?qū)崟r通信的環(huán)境下,主節(jié)點以一定的周期ΔT向編隊所有從節(jié)點中廣播t就能夠保持編隊隊形. 編隊變換與構(gòu)建編隊的過程相似,從初始隊形Finit變換到目標(biāo)隊形Ftarget的目標(biāo)是使得式(15)表示的總代價最小: (15) 其求解方法與構(gòu)建編隊過程的求解類似,此處不再贅述. 為了驗證本文提出的HFC機制的可行性,基于開源的OMNeT++平臺建立了仿真試驗環(huán)境,針對編隊構(gòu)建、保持及變換過程設(shè)計了3組試驗.試驗中使用了4種編隊隊形:并排隊形、菱形隊形、三角隊形、串行隊形,如圖4所示.仿真區(qū)域為3500m×3500m的方形區(qū)域,無人機的航速v∈[15m/s,40m/s],最小轉(zhuǎn)彎半徑rmin=150m. 試驗1測試了4架無人機形成并排隊形的過程,無人機的初始位置設(shè)為[(200,500),(100,1500),(500,2000),(700,2500)],初始航向設(shè)為[180°,-135°,45°,0°]、初始航速設(shè)為[20m/s,23m/s,25m/s,28m/s].并排隊形的位置為[(2200,3150),(2200,3200),(2200,3250),(2200,3300)]. 圖4 4種典型的編隊隊形Fig.4 Four typical formations 當(dāng)編隊的六元狀態(tài)一致時完成編隊構(gòu)建,即無人機同時抵達目標(biāo)位置,且航向及速度保持一致.圖5(a)給出了使用HFC機制實現(xiàn)編隊構(gòu)建時的無人機航跡,t≈95s時,無人機在圖中空心圓點處形成了編隊且六元狀態(tài)保持一致,從而使得編隊構(gòu)建完成后能夠保持隊形.圖5(b)給出了使用文獻[19]提出的算法實現(xiàn)編隊構(gòu)建時的無人機航跡,盡管也形成了并排隊形,但無人機的航向和航速并不一致(航向為[43.8°,40.2°,24.8°,19.9°]、航速為[33.6m/s,29.7m/s,19.2m/s,17.1m/s]),導(dǎo)致經(jīng)過Δt時間后,無法繼續(xù)保持并排隊形.因此HFC機制與文獻[19]提出的算法相比具有更好的性能. 圖5 編隊構(gòu)建Fig.5 Formation generation 試驗2中,無人機編隊使用HFC機制保持并排隊形并沿著預(yù)設(shè)的曲線路徑飛行,飛行時長為80s.在此過程中,主節(jié)點以2s為周期廣播時間參數(shù)τ.令Δd表示無人機的實際位置和目標(biāo)位置間的誤差.圖6(a)給出了編隊保持階段無人機的航跡,圖6(b)給出了編隊保持階段的誤差.從圖6中可以看出,HFC機制使得編隊能夠沿著預(yù)設(shè)航路保持指定隊形飛行,并且能夠較好地保持隊形的穩(wěn)定,平均誤差在2m以內(nèi),最大誤差不超過8m,且能夠迅速向理想位置靠攏. 圖6 編隊保持Fig.6 Formation maintenance 試驗3進行了3次隊形變換,變換過程為:并排隊形→菱形隊形→三角隊形→串行隊形.初始為并排隊形,無人機編隊的位置為[(100,1500),(100,1550),(100,1600),(100,1650)],編隊的偏航角為0°,速度為30m/s;t≈53s時,編隊變換為菱形隊形,偏航角為-30°;t≈91s時,編隊變換為三角隊形,偏航角為0°;t≈132s時,編隊變換為串行隊形,偏航角為135°.試驗結(jié)果如圖7所示,可以看出,HFC機制能夠?qū)崿F(xiàn)無人機編隊隊形的自由變換. 圖7 隊形變換Fig.7 Formation transformation 傳統(tǒng)的無人機編隊控制方法通常只考慮了部分無人機狀態(tài),本文提出了一種包含時間、三維位置、偏航角和速度等六元組的STSC模型,統(tǒng)一定義了無人機編隊的構(gòu)建、保持及變換過程;然后提出了一種基于STSC模型的混合式編隊構(gòu)建算法;最后基于OMNeT++平臺構(gòu)建仿真試驗環(huán)境并進行試驗測試.試驗結(jié)果表明,HFC機制可以高效地實現(xiàn)編隊的構(gòu)建、保持及變換.下一步,我們將在實際無人機編隊中驗證STSC模型和HFC機制,增強多無人機系統(tǒng)在復(fù)雜環(huán)境的生存能力.4.2 編隊保持
4.3 編隊變換
5 試驗分析
5.1 編隊構(gòu)建
5.2 編隊保持
5.3 編隊變換
6 結(jié) 論