易 文,雷 斌
(1.武漢科技大學(xué)機(jī)械自動(dòng)化學(xué)院,湖北 武漢,430081;2.武漢科技大學(xué)機(jī)器人與智能系統(tǒng)研究院,湖北 武漢,430081)
無人機(jī)(unmanned aerial vehicle,UAV)編隊(duì)飛行控制就是要使多架無人機(jī)組成的團(tuán)隊(duì)在向特定目標(biāo)或方向運(yùn)動(dòng)的過程中, 相互之間保持預(yù)定的幾何形態(tài)(即隊(duì)形), 同時(shí)又要適應(yīng)環(huán)境約束(例如避開障礙)。隨著各種無人機(jī)或機(jī)器人在軍事和民用領(lǐng)域發(fā)揮越來越重要的作用,編隊(duì)控制問題也吸引了研究人員的廣泛關(guān)注。文獻(xiàn)[1]分析了無人機(jī)編隊(duì)飛行特點(diǎn),將編隊(duì)飛行過程歸結(jié)為編隊(duì)集結(jié)、編隊(duì)保持和編隊(duì)重組三個(gè)階段,并分別對(duì)這三個(gè)階段的研究現(xiàn)狀進(jìn)行了總結(jié)。文獻(xiàn)[2-3]研究了基于領(lǐng)導(dǎo)者-跟隨者的編隊(duì)飛行控制方法,其中,某臺(tái)UAV被指定為領(lǐng)導(dǎo)者,而其他UAV被指定為跟隨者。領(lǐng)導(dǎo)者跟蹤預(yù)定軌跡,而跟隨者使用從領(lǐng)導(dǎo)者接收到的信息跟蹤領(lǐng)導(dǎo)者,但是上述研究對(duì)于領(lǐng)導(dǎo)者和部分跟隨者之間無法通信的問題沒有深入探討。文獻(xiàn)[4]采用基于行為的編隊(duì)控制方法來保持UAV飛行過程中的幾何隊(duì)形。文獻(xiàn)[5]將基于領(lǐng)導(dǎo)者-跟隨者與基于行為的控制方法相結(jié)合,提出一種混合式多機(jī)器人編隊(duì)方法。文獻(xiàn)[6]提出了軟控制方法,通過一個(gè)外加智能體進(jìn)行系統(tǒng)干預(yù),使群集運(yùn)動(dòng)向預(yù)期方向進(jìn)行。文獻(xiàn)[7-8]均研究了基于無線傳感器網(wǎng)絡(luò)的“虛形體”技術(shù),通過虛擬實(shí)體誘導(dǎo)并協(xié)助群體機(jī)器人行為的演化。
群體無人機(jī)可視為多智能體系統(tǒng)。多智能體系統(tǒng)的一致性問題主要研究如何基于個(gè)體之間有限的信息交換而設(shè)計(jì)出協(xié)議(算法),使得所有智能體的某一狀態(tài)量或是所有狀態(tài)量收斂為一致。目前,關(guān)于多智能體系統(tǒng)一致性問題的理論體系逐漸形成[9-13],群體一致性協(xié)同控制算法也已應(yīng)用于無人機(jī)編隊(duì)控制中[14-15]。
在采用基于一致性的協(xié)同控制方法時(shí),常用有向圖來描述無人機(jī)之間的信息交換關(guān)系,將無人機(jī)簡(jiǎn)化為質(zhì)點(diǎn),忽略單臺(tái)無人機(jī)運(yùn)動(dòng)的方向性,而把控制重點(diǎn)放在群體無人機(jī)的協(xié)同目標(biāo)上,但這在群體無人機(jī)系統(tǒng)的實(shí)際控制中會(huì)帶來一些問題。本文主要研究群體無人機(jī)編隊(duì)飛行中的幾何構(gòu)型控制問題,將一致性跟蹤理論和領(lǐng)導(dǎo)者-跟隨者方法相結(jié)合,采用一個(gè)虛擬領(lǐng)導(dǎo)者為無人機(jī)系統(tǒng)提供基準(zhǔn)狀態(tài)信息,提出一種一致性協(xié)同控制算法,在不需要每臺(tái)無人機(jī)都能接收到領(lǐng)導(dǎo)者狀態(tài)信息的情況下,使無人機(jī)在編隊(duì)飛行過程中改變幾何構(gòu)型的同時(shí)還可以相應(yīng)改變行進(jìn)方向。
假設(shè)有n臺(tái)無人機(jī)具有相同的運(yùn)動(dòng)特性,而且每臺(tái)無人機(jī)均具有方向性??紤]在二維平面運(yùn)動(dòng)的無人機(jī)質(zhì)點(diǎn)模型:
(1)
式中:(xi,yi)為無人機(jī)i的位置坐標(biāo);θi為無人機(jī)i的方位角;速度vi和角速ωi為無人機(jī)i的控制輸入量。
設(shè)ri=(xi,yi),ui=(uxi,uyi),對(duì)系統(tǒng)運(yùn)動(dòng)學(xué)模型進(jìn)行反饋線性化可以得到一階系統(tǒng)模型:
(2)
ui為無人機(jī)的虛擬控制輸入,它與實(shí)際控制輸入量的關(guān)系為:
(3)
為了描述由多臺(tái)無人機(jī)組成的通信網(wǎng)絡(luò),基于圖論原理,采用圖={vn,εn}來模擬無人機(jī)之間的信息交互關(guān)系。vn={1,2,…,n}為有限非空節(jié)點(diǎn)集,表示群體無人機(jī)的集合;εn?vn×vn為邊集,表示群體無人機(jī)信息交互關(guān)系的集合;邊(i,j)∈εn表示存在從第i臺(tái)無人機(jī)到第j臺(tái)無人機(jī)的通信路徑,即第j臺(tái)無人機(jī)可以從第i臺(tái)無人機(jī)獲得信息。
設(shè)A∈Rn×n、D∈Rn×n和L∈Rn×n分別是與圖相關(guān)的鄰接矩陣、度矩陣和拉普拉斯矩陣。鄰接矩陣A=[aij]由下式給出:
(4)
這意味著如果第i臺(tái)無人機(jī)可通過網(wǎng)絡(luò)從第j臺(tái)無人機(jī)獲得信息,則aij=1,否則aij=0。
(5)
對(duì)于無向圖,矩陣L具有對(duì)稱正半定性,但有向圖的矩陣L沒有這個(gè)屬性。
本文考慮加入一個(gè)參考狀態(tài)后的群體無人機(jī)系統(tǒng),將編號(hào)為1,2,…,n的無人機(jī)視為跟隨者,編號(hào)為n+1的參考狀態(tài)視為領(lǐng)導(dǎo)者,其可以是虛擬的數(shù)字信號(hào),也可以是一臺(tái)無人機(jī)。該n+1臺(tái)無人機(jī)的信息交互圖用n+1={vn+1,εn+1}表示。每臺(tái)無人機(jī)都可以接收領(lǐng)導(dǎo)者的信息,但領(lǐng)導(dǎo)者不受跟隨者的影響,即a(n+1)j=0且ai(n+1)=1(其中i=1,2,…,n;j=1,2,…,n+1)。該群體無人機(jī)系統(tǒng)的鄰接矩陣、度矩陣和拉普拉斯矩陣分別用An+1、Dn+1和Ln+1表示,定義同上。
以3臺(tái)無人機(jī)和1個(gè)領(lǐng)導(dǎo)者構(gòu)成的編隊(duì)系統(tǒng)為例,如圖1所示,3臺(tái)無人機(jī)(編號(hào)為1、2、3)構(gòu)成等腰三角形,編隊(duì)領(lǐng)導(dǎo)者位于底邊的中點(diǎn),并沿著期望路徑運(yùn)動(dòng)(假設(shè)路徑規(guī)劃已經(jīng)完成),其運(yùn)動(dòng)軌跡表示為rd(t)=(xd(t),yd(t))。
圖1 無人機(jī)編隊(duì)構(gòu)型
在編隊(duì)飛行過程中,每臺(tái)無人機(jī)和領(lǐng)導(dǎo)者要保持一定的相對(duì)距離,并且要和領(lǐng)導(dǎo)者的運(yùn)動(dòng)方向保持一定的方位角,即每臺(tái)無人機(jī)都會(huì)根據(jù)運(yùn)動(dòng)方向而相應(yīng)改變和領(lǐng)導(dǎo)者的相對(duì)位置。
(6)
圖2 無人機(jī)的位置定義
對(duì)于一階群體無人機(jī)系統(tǒng):
(7)
為了實(shí)現(xiàn)控制目標(biāo),本文采用一致性跟蹤算法使每臺(tái)無人機(jī)的信息狀態(tài)收斂于領(lǐng)導(dǎo)者的期望狀態(tài),同時(shí)采用領(lǐng)導(dǎo)者-跟隨者結(jié)構(gòu),使領(lǐng)導(dǎo)者為每個(gè)跟隨者提供編隊(duì)幾何構(gòu)型的目標(biāo)位置。
給出群體無人機(jī)編隊(duì)控制協(xié)議如下:
γ[(ri-rj)-(di-dj)]}+
(8)
通過該協(xié)議可以計(jì)算出每臺(tái)無人機(jī)每一時(shí)刻的控制輸入,使群體無人機(jī)和期望位置都保持一個(gè)期望間距。
定理1假設(shè)An+1時(shí)不變,采用式(8)所示算法,當(dāng)t→時(shí),ri→rd+di且ri-rj→di-dj,當(dāng)且僅當(dāng)有向圖n+1含有一棵有向生成樹。
證明:首先給出以下引理。
(9)
經(jīng)過變形,得到
i=1,2,…,n
(10)
將式(10)看作一階微分方程進(jìn)行求解,可知當(dāng)t→∞時(shí),
(11)
考慮由3臺(tái)無人機(jī)和1個(gè)領(lǐng)導(dǎo)者構(gòu)成的群體無人機(jī)系統(tǒng),系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖3所示,圖中箭頭表示信息傳遞方向。由圖3可見,只有第1臺(tái)無人機(jī)可以從領(lǐng)導(dǎo)者處接受信息。
圖3 無人機(jī)系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
仿真過程中指定領(lǐng)導(dǎo)者的運(yùn)動(dòng)路徑:領(lǐng)導(dǎo)者在圓形軌道上飛行,其半徑為5 m,周期為30 s,初始位置坐標(biāo)為(5,0),即領(lǐng)導(dǎo)者的運(yùn)動(dòng)軌跡rd=(xd,yd)可以用以下運(yùn)動(dòng)方程表示:
(12)
考慮兩種情形下的群體無人機(jī)編隊(duì)控制:
案例1:參照文獻(xiàn)[14],用無人機(jī)與期望路徑(即領(lǐng)導(dǎo)者路徑)的固定相對(duì)位置偏差描述隊(duì)形。假設(shè)3臺(tái)無人機(jī)的相對(duì)位置偏差分別為d1=[0,1]、d2=[-1,0]、d3=[1,0],這將使無人機(jī)保持等腰三角形編隊(duì)。
案例2:將無人機(jī)的相對(duì)位置偏差di按本文式(6)來表示。每臺(tái)無人機(jī)和領(lǐng)導(dǎo)者期望保持的間距|di|和方位角θi如下:
表1 無人機(jī)的期望間距和方位角
案例1采用文獻(xiàn)[14]中的方法進(jìn)行編隊(duì)控制,案例2采用本文設(shè)計(jì)的算法進(jìn)行編隊(duì)控制,仿真結(jié)果如圖4所示,圖中示出了每臺(tái)無人機(jī)和領(lǐng)導(dǎo)者的運(yùn)動(dòng)軌跡以及每隔3 s時(shí)的位置。從圖4中可以看出,在這兩種情形下,群體無人機(jī)都能實(shí)現(xiàn)等腰三角形編隊(duì)集結(jié)并保持隊(duì)形運(yùn)動(dòng)。但是對(duì)于案例1,圖4(a)中無人機(jī)保持的等腰三角形幾何構(gòu)型在領(lǐng)導(dǎo)者轉(zhuǎn)變方向時(shí)沒有相應(yīng)地改變方向,而且無人機(jī)軌跡之間有很多交叉,表明無人機(jī)在運(yùn)動(dòng)過程中可能會(huì)發(fā)生碰撞,這在實(shí)踐中是不允許的。對(duì)于案例2,圖4(b)中的運(yùn)動(dòng)軌跡顯示,無人機(jī)在改變幾何構(gòu)型的同時(shí)還可以相應(yīng)改變行進(jìn)方向,從而更好地避免碰撞;而且,即使只有單臺(tái)無人機(jī)能從領(lǐng)導(dǎo)者那里獲得信息,采用本文提出的一致性控制算法也可以得到期望的結(jié)果。
(a)案例1
(b)案例2
本文采用一階運(yùn)動(dòng)學(xué)模型描述群體無人機(jī)系統(tǒng),用有向圖來表示其通信網(wǎng)絡(luò)結(jié)構(gòu),將領(lǐng)導(dǎo)者-跟隨者控制結(jié)構(gòu)和一致性跟蹤理論相結(jié)合,提出了一種群體無人機(jī)編隊(duì)控制算法,使得在無人機(jī)編隊(duì)運(yùn)動(dòng)過程中,當(dāng)領(lǐng)導(dǎo)者轉(zhuǎn)變行進(jìn)方向時(shí)可以相應(yīng)改變無人機(jī)的運(yùn)動(dòng)方向并保持編隊(duì)幾何構(gòu)型。本文提出的算法不同于集中式控制,不需要每臺(tái)無人機(jī)都能接收到領(lǐng)導(dǎo)者的參考狀態(tài)信息。仿真實(shí)驗(yàn)驗(yàn)證了該控制算法的有效性。