王明華,胡士強(qiáng)
(上海交通大學(xué)航空航天學(xué)院,上海 200240)
小型旋翼無(wú)人機(jī)體積小、重量輕、控制靈活、可懸停、成本低,已被應(yīng)用于空中監(jiān)測(cè)、火災(zāi)救援、攝影攝像等多個(gè)領(lǐng)域。而單架無(wú)人機(jī)受限于其載荷低和視野單一等弱點(diǎn),不能滿足高精度、多角度成像等行業(yè)應(yīng)用需求。在航拍、空中監(jiān)測(cè)等任務(wù)中,多無(wú)人機(jī)編隊(duì)飛行可以擴(kuò)大偵察、監(jiān)測(cè)和搜索范圍。在多機(jī)協(xié)同作業(yè)的情況下,良好的控制和編隊(duì)設(shè)計(jì)可以大大降低單機(jī)失事對(duì)整個(gè)任務(wù)的影響,極大地提高了可靠性。無(wú)人機(jī)編隊(duì)主要控制方法有長(zhǎng)機(jī)——僚機(jī)型控制[1]、虛擬結(jié)構(gòu)型控制[2][3]、基于行為型控制[4]、最優(yōu)化控制[5][6]、人工勢(shì)場(chǎng)控制[7][8]、人工智能控制[9]和一致性控制[10-13]等。
相比于其它控制,一致性理論著重考慮編隊(duì)內(nèi)無(wú)人機(jī)位置和速度等參數(shù)的一致性,整個(gè)系統(tǒng)的一致性、穩(wěn)定性較好。文獻(xiàn)[10][11]將二階一致性理論應(yīng)用到無(wú)人機(jī)編隊(duì)控制中。文獻(xiàn)[12]將魯棒控制加入到了一致性理論中,增強(qiáng)了編隊(duì)的抗干擾能力。
二階一致性算法的直接控制量為無(wú)人機(jī)的加速度,其目標(biāo)加速度可能在短時(shí)間內(nèi)斷崖式變化,無(wú)人機(jī)作為一個(gè)物理系統(tǒng),這樣的加速度變化不利于單個(gè)無(wú)人機(jī)的控制與跟蹤。本文引入三階一致性算法,其直接控制量為無(wú)人機(jī)的加加速度,可以保證無(wú)人機(jī)的目標(biāo)加速度平滑變化以更好地完成編隊(duì)控制。受限于技術(shù)發(fā)展與成本考慮,目前小型四旋翼無(wú)人機(jī)的穩(wěn)定性并不高,續(xù)航短,且低空飛行環(huán)境復(fù)雜,易受干擾,因此單架無(wú)人機(jī)在任務(wù)中失事的可能性比較高,而上述這些研究都沒(méi)有考慮到編隊(duì)內(nèi)無(wú)人機(jī)失事情況下的應(yīng)對(duì)策略。本文提出了變結(jié)構(gòu)一致性控制算法,并給出了不同無(wú)人機(jī)失事情況下的編隊(duì)通訊結(jié)構(gòu)變化規(guī)則,極大地提高了無(wú)人機(jī)編隊(duì)的可靠性。
四旋翼無(wú)人機(jī)坐標(biāo)示如圖1所示。
圖1 四旋翼無(wú)人機(jī)坐標(biāo)示意圖
為描述單個(gè)四旋翼無(wú)人機(jī)的運(yùn)動(dòng)狀態(tài),主要需要定義三個(gè)坐標(biāo)系,即機(jī)體坐標(biāo)系、地面坐標(biāo)系和長(zhǎng)機(jī)坐標(biāo)系。同時(shí)定義無(wú)人機(jī)的姿態(tài),即三個(gè)歐拉角:θ,φ,ψ。
機(jī)體坐標(biāo)系b:以無(wú)人機(jī)的質(zhì)心為坐標(biāo)原點(diǎn),以飛機(jī)對(duì)稱平面內(nèi)平行于機(jī)身周線并指向飛行器前方的軸為X軸,以垂直于飛機(jī)對(duì)稱平面并指向飛行器右方的軸為Y軸,Z軸在飛機(jī)對(duì)稱面內(nèi)垂直于XOY平面,指向飛行器下方。用于描述飛行器的姿態(tài)等信息。
地面坐標(biāo)系g:以地面選定點(diǎn)為坐標(biāo)原點(diǎn)。XOY平面平行于地面,兩軸方向根據(jù)需要進(jìn)行指定且正交,Z軸則垂直于XOY平面垂直向下。
為方便描述編隊(duì)內(nèi)無(wú)人機(jī)的相對(duì)位置,本文定義長(zhǎng)機(jī)坐標(biāo)系:坐標(biāo)原點(diǎn)為編隊(duì)長(zhǎng)機(jī)質(zhì)心,X軸為長(zhǎng)機(jī)機(jī)頭方向在水平面的投影,Z軸垂直地面向上,Y軸與X和Z軸成右手直角坐標(biāo)系。由此可見(jiàn),長(zhǎng)機(jī)坐標(biāo)系下,長(zhǎng)機(jī)坐標(biāo)始終為(0,0,0),而編隊(duì)內(nèi)其它無(wú)人機(jī)的坐標(biāo)即為其相對(duì)于長(zhǎng)機(jī)的位置。在編隊(duì)形狀保持不變時(shí),編隊(duì)內(nèi)無(wú)人機(jī)在長(zhǎng)機(jī)坐標(biāo)系下的目標(biāo)坐標(biāo)應(yīng)保持不變,方便后續(xù)觀察編隊(duì)控制效果。
φ為滾轉(zhuǎn)角,為機(jī)體坐標(biāo)系Z軸與通過(guò)機(jī)體X軸的鉛錘面的夾角。θ為俯仰角,是機(jī)體坐標(biāo)系與水平面的夾角。ψ為偏航角,是機(jī)體坐標(biāo)系的X軸在水平面上的投影與地面坐標(biāo)系的X軸之間的夾角。
本文編隊(duì)結(jié)構(gòu)主要基于圖論來(lái)展開(kāi),本小節(jié)將簡(jiǎn)要介紹一下圖論內(nèi)容。一個(gè)有向圖(記為G)由節(jié)點(diǎn)集合(V(G))、邊集合(E(G))、關(guān)聯(lián)函數(shù)(φ(G))組成,可記為圖G=
文獻(xiàn)[10][11]均采用的無(wú)領(lǐng)航的通訊拓?fù)浣Y(jié)構(gòu),結(jié)構(gòu)更為緊湊,但不便于給定整個(gè)編隊(duì)的路徑。本文使用有領(lǐng)航的通訊結(jié)構(gòu),同時(shí)考慮到通訊網(wǎng)絡(luò)的簡(jiǎn)潔性,除長(zhǎng)機(jī)外每架無(wú)人機(jī)僅接受一架無(wú)人機(jī)的信息。為方便描述以及后續(xù)某無(wú)人機(jī)失事情況下進(jìn)行變通訊拓?fù)浣Y(jié)構(gòu),本文把編隊(duì)內(nèi)無(wú)人機(jī)進(jìn)行分級(jí),第一級(jí)為整個(gè)編隊(duì)的長(zhǎng)機(jī),僅有一架,記為u1;第二級(jí)無(wú)人機(jī)接收長(zhǎng)機(jī)的信息,有b2架,記為u21,u22,…u2b2;第三級(jí)無(wú)人機(jī)接收第二級(jí)無(wú)人機(jī)其中一架的信息,有b3架,記為u31,u32,…u3b3;以此類(lèi)推,編隊(duì)共有m級(jí)無(wú)人機(jī),易知:1+b2+b3+…+bm=n。
下面以一個(gè)六架無(wú)人機(jī)的編隊(duì)為例。如圖2所示。
圖2 無(wú)人機(jī)編隊(duì)通訊結(jié)構(gòu)示意圖
編隊(duì)一致性控制器主要針對(duì)除長(zhǎng)機(jī)外的所有僚機(jī),長(zhǎng)機(jī)運(yùn)動(dòng)狀態(tài)和路徑可根據(jù)需要自行給出。
三階一致性控制器的控制量為無(wú)人機(jī)的加加速度,控制方程如下:
γ2(vi(t)-vj(t))+γ3(ai(t)-aj(t))]
(1)
為能夠在保證系統(tǒng)穩(wěn)定的情況下取γ1,γ2,γ3的值,需定義矩陣
根據(jù)文獻(xiàn)[13]推導(dǎo)證明,三階一致性穩(wěn)定的條件為矩陣Γ的特征值有且僅有3個(gè)為0,且其余特征值實(shí)部為負(fù)。
采用梯形離散積分得到下一時(shí)刻所需的加速度、速度和位置控制信息
(2)
(3)
(4)
同時(shí),需要控制從機(jī)的航向角與其上一級(jí)長(zhǎng)機(jī)一致,即
(5)
本文在編隊(duì)內(nèi)某架無(wú)人機(jī)突然失事或大幅度偏離編隊(duì)時(shí)進(jìn)行編隊(duì)變通訊拓?fù)浣Y(jié)構(gòu)的設(shè)計(jì)。假設(shè)編隊(duì)內(nèi)共有n架、m級(jí)無(wú)人機(jī),變結(jié)構(gòu)規(guī)則如下:
a) 若失事無(wú)人機(jī)為第m級(jí),編隊(duì)內(nèi)其它無(wú)人機(jī)通訊拓?fù)浣Y(jié)構(gòu)不變。
c) 若失事無(wú)人機(jī)為整個(gè)編隊(duì)的長(zhǎng)機(jī),則將無(wú)人機(jī)u21變?yōu)檎麄€(gè)編隊(duì)的長(zhǎng)機(jī),第二級(jí)中其它無(wú)人機(jī)接收新長(zhǎng)機(jī)的信息。
圖3 變結(jié)構(gòu)編隊(duì)控制系統(tǒng)結(jié)構(gòu)圖
一般來(lái)說(shuō),在編隊(duì)中無(wú)人機(jī)數(shù)量不十分多的情況下,可以提前規(guī)劃好所有可能的編隊(duì)結(jié)構(gòu),即編隊(duì)通訊圖可以用一個(gè)集合來(lái)表示,記為G={G1,G2,…,Gk},表示該編隊(duì)一共有k種可能的通訊結(jié)構(gòu),編隊(duì)飛行途中,可以根據(jù)實(shí)際情況選擇不同的通訊結(jié)構(gòu),以修改對(duì)應(yīng)的鄰接矩陣和拉普拉斯矩陣。
為驗(yàn)證控制器效果,本文使用Matlab/Simulink進(jìn)行仿真驗(yàn)證。仿真使用如圖2所示的六架無(wú)人機(jī)的結(jié)構(gòu),鄰接矩陣中a21=a31=a42=a52=a63=1,編隊(duì)一致性控制參數(shù)γ1=2,γ2=4,γ3=6,采樣時(shí)間為0.1秒,通訊延時(shí)為0.2秒。在40秒時(shí)無(wú)人機(jī)u22突然失事。編隊(duì)通訊結(jié)構(gòu)G={G1,G2,G3,G4},其中G1為如圖2所示的結(jié)構(gòu),G2,G3,G4為考慮到編隊(duì)內(nèi)無(wú)人機(jī)失事情況下進(jìn)行的通訊結(jié)構(gòu)的改變,如圖4所示。無(wú)人機(jī)初始相對(duì)位置及目標(biāo)相對(duì)位置如表1所示。
表1 從機(jī)與長(zhǎng)機(jī)初始相對(duì)位置與目標(biāo)相對(duì)位置
圖4 變結(jié)構(gòu)無(wú)人機(jī)編隊(duì)通訊結(jié)構(gòu)
圖5和圖6分別為二階無(wú)變結(jié)構(gòu)控制器和三階變結(jié)構(gòu)控制器長(zhǎng)機(jī)坐標(biāo)系下各從機(jī)位置誤差圖,可以看到在初始相對(duì)位置與目標(biāo)相對(duì)位置相差比較大的情況下,其中X方向最大初始誤差達(dá)到了23米,三階算法的整個(gè)編隊(duì)穩(wěn)定時(shí)間為17秒,而二階算法的穩(wěn)定時(shí)間為21秒,且二階算法的震蕩次數(shù)明顯比三階多。此種較為理想的情況下兩種算法的穩(wěn)態(tài)誤差在10-8m量級(jí),基本可以忽略不計(jì),符合編隊(duì)控制應(yīng)用要求。而在編隊(duì)內(nèi)無(wú)人機(jī)突然失事的情況下,無(wú)變結(jié)構(gòu)控制下接受該架失事無(wú)人機(jī)信息的無(wú)人機(jī)即u33明顯偏離編隊(duì)很多,而變結(jié)構(gòu)情況下,u33在很小的波動(dòng)后位置誤差又重新變?yōu)???梢钥闯觯兘Y(jié)構(gòu)控制器能夠很好地應(yīng)對(duì)編隊(duì)內(nèi)無(wú)人機(jī)失事的情況,極大地提高無(wú)人機(jī)編隊(duì)的穩(wěn)定性和可靠性。
圖5 二階無(wú)變結(jié)構(gòu)各無(wú)人機(jī)位置誤差響應(yīng)圖
圖6 三階變結(jié)構(gòu)各無(wú)人機(jī)位置誤差響應(yīng)圖
本文針對(duì)四旋翼無(wú)人機(jī)編隊(duì)控制問(wèn)題,提出了一種變結(jié)構(gòu)三階一致性控制方法。相對(duì)于二階一致性算法,三階一致性算法加速度變化平滑,更利于無(wú)人機(jī)的控制與跟蹤,能夠顯著提高編隊(duì)控制效果。加入變結(jié)構(gòu)通訊網(wǎng)絡(luò),能夠有效應(yīng)對(duì)編隊(duì)內(nèi)無(wú)人機(jī)在任務(wù)過(guò)程中失事的情況。仿真結(jié)果表明,多無(wú)人機(jī)在三階一致性控制器下能夠很快地形成指定編隊(duì)形狀,同時(shí)變通訊結(jié)構(gòu)能夠極大地提高編隊(duì)的穩(wěn)定性和可靠性。