王 成,楊 杰,姚 輝,席建祥
(火箭軍工程大學(xué),西安 710025)
四旋翼無人機(jī)通常采用手持遙控器的方法控制飛行動(dòng)作,或者通過地面站發(fā)送指令控制無人機(jī)飛行航跡。在控制指令下,四旋翼無人機(jī)可進(jìn)行垂直起降,并具有多種飛行方式,如懸停、橫向飛行以及前后飛行等。四旋翼無人機(jī)具有很強(qiáng)的實(shí)用性,可以用很小的代價(jià)完成各項(xiàng)任務(wù),如近地軍事偵察、影視拍攝、農(nóng)情監(jiān)測甚至快遞業(yè)務(wù)等[1-3]。雖然目前四旋翼無人機(jī)在市場上應(yīng)用已經(jīng)相當(dāng)普遍,但是在技術(shù)方面實(shí)現(xiàn)其穩(wěn)定飛行并非易事。國內(nèi)外學(xué)者對(duì)四旋翼的飛行控制算法進(jìn)行了大量研究,提出了諸多控制策略,然而在實(shí)際算法設(shè)計(jì)中,仍存在如下兩個(gè)方面的難題[4-5]。
1) 難以建立精確的數(shù)學(xué)模型。就結(jié)構(gòu)而言,4個(gè)電機(jī)存在安裝誤差,并不能做到完全垂直于4軸所在的機(jī)身平面,且高速旋轉(zhuǎn)時(shí)存在振動(dòng);此外,4軸也無法做到完全對(duì)稱,軸臂長度、質(zhì)量分布并不完全一致[6]。就飛行時(shí)空間受力情況而言,四旋翼無人機(jī)不僅受到重力、旋翼高速旋轉(zhuǎn)時(shí)產(chǎn)生的升力,還要受到氣流變化等外部干擾因素的影響[7-8]。
2) 四旋翼無人機(jī)是一個(gè)典型的多輸入輸出、非線性、強(qiáng)耦合的欠驅(qū)動(dòng)系統(tǒng)[9]。四旋翼無人機(jī)在空間飛行時(shí)有6個(gè)自由度(沿空間直角坐標(biāo)系3個(gè)方向的位移運(yùn)動(dòng)和繞坐標(biāo)系3軸的旋轉(zhuǎn)運(yùn)動(dòng)),但僅有4個(gè)可控變量輸入(4個(gè)電機(jī)的轉(zhuǎn)速)。可控變量對(duì)無人機(jī)的位姿控制存在耦合,且易受到干擾影響,這也使四旋翼的控制變得更為困難。
針對(duì)以上問題,國內(nèi)外學(xué)者或簡化模型,忽略不確定因素的影響,實(shí)現(xiàn)四旋翼無人機(jī)基本的飛行控制,如經(jīng)典PID算法和最優(yōu)LQR算法;或?qū)Ψ蔷€性、魯棒性以及綜合型算法展開研究,提高控制系統(tǒng)的抗干擾性能和環(huán)境適應(yīng)能力,如反步法、滑??刂啤⒆赃m應(yīng)控制等。但無論采用何種控制方法,設(shè)計(jì)算法之前均是從四旋翼無人機(jī)在空間中的轉(zhuǎn)動(dòng)和平動(dòng)兩種運(yùn)動(dòng)狀態(tài)出發(fā)進(jìn)行系統(tǒng)建模。為全面了解四旋翼無人機(jī)飛行控制算法的研究進(jìn)展,本文研究了近年來關(guān)于四旋翼無人機(jī)飛行控制算法的相關(guān)文獻(xiàn),并進(jìn)行綜述。
四旋翼無人機(jī)在空間飛行時(shí),可以以其機(jī)身建立機(jī)體坐標(biāo)系B和地理坐標(biāo)系E,如圖1所示。
圖1 四旋翼無人機(jī)機(jī)體坐標(biāo)系和地理坐標(biāo)系Fig.1 The body coordinate system and the geographic coordinate system of the UAV
機(jī)體坐標(biāo)系原點(diǎn)與機(jī)身幾何中心重合,按照右手定則,三坐標(biāo)軸{xb,yb,zb}的正方向可設(shè)為機(jī)身的前、左、上3個(gè)方向,如圖1a所示。而為了標(biāo)記機(jī)體在空間中的位置,可依托地球表平面建立地理坐標(biāo)系E,其坐標(biāo)軸{xe,ye,ze}的正方向可分別記為北、東、上,如圖1b所示。電機(jī)編號(hào)繞zb軸逆時(shí)針旋轉(zhuǎn)依次記為1,2,3,4。電機(jī)1,3和電機(jī)2,4轉(zhuǎn)向相反,控制4個(gè)電機(jī)的轉(zhuǎn)速即可控制四旋翼無人機(jī)的俯仰、橫滾和偏航運(yùn)動(dòng)。
記ξ=(ξx,ξy,ξz)T為質(zhì)心在地理坐標(biāo)系中的位置,η=(φ,θ,ψ)T為機(jī)體相對(duì)于地理坐標(biāo)系三軸偏轉(zhuǎn)的歐拉角,即偏航角、俯仰角和橫滾角。
推導(dǎo)四旋翼無人機(jī)的運(yùn)動(dòng)方程可以從牛頓力學(xué)出發(fā),如文獻(xiàn)[10];也可以從歐拉-拉格朗日方程,即能量守恒的角度出發(fā),如文獻(xiàn)[11-12],最終建立平動(dòng)方程和轉(zhuǎn)動(dòng)方程。如果均在地理坐標(biāo)系建模,那么,最終的運(yùn)動(dòng)方程可以表示為[12]
(1)
式中:m為機(jī)體質(zhì)量;ax,ay,az是機(jī)體在地理坐標(biāo)系下沿3個(gè)坐標(biāo)軸方向的加速度;u1是四旋翼總升力;dx,dy,dz是分解到3個(gè)坐標(biāo)軸方向的干擾力;Ck=cosk,
四旋翼無人機(jī)飛行控制算法在控制結(jié)構(gòu)上可分為內(nèi)外環(huán),其中,內(nèi)環(huán)為姿態(tài)環(huán),外環(huán)為位置環(huán),如圖2所示。
圖2 四旋翼無人機(jī)控制系統(tǒng)基本結(jié)構(gòu)Fig.2 Basic structure of the quadrotor UAV control system
從式(1)可看出,當(dāng)旋翼總升力u1一定時(shí),位移加速度就依賴于姿態(tài)角的大小,即姿態(tài)角可決定飛行航跡。因此,控制系統(tǒng)的一般設(shè)計(jì)思路為:飛行指令給出期望的位置坐標(biāo),位置控制器輸出期望姿態(tài)角,姿態(tài)控制器輸出對(duì)電機(jī)的控制信號(hào)。有些不考慮位置控制的四旋翼也可用遙控器的控制指令作為期望的姿態(tài)角輸入。對(duì)于反饋信號(hào)位置坐標(biāo)(ξx,ξy,ξz)和姿態(tài)角(ψ,θ,φ)的大小可以由GPS和慣性傳感器測出。
四旋翼無人機(jī)發(fā)展至今,主要的飛行控制算法有經(jīng)典PID控制算法、LQR控制算法、滑??刂扑惴?、反步法、魯棒控制算法以及其他控制算法,下面分別進(jìn)行介紹。
目前,市場上大多數(shù)四旋翼無人機(jī)的飛控算法均為PID控制算法,其具有原理簡單、控制技術(shù)成熟、易于實(shí)現(xiàn)等優(yōu)點(diǎn)。
PID算法將式(1)線性化為
(2)
對(duì)于外環(huán)位置控制,設(shè)計(jì)控制算法為
(3)
高度控制可由uz完成,對(duì)于水平方向的控制,ux和uy分別對(duì)應(yīng)式(2)平動(dòng)方程中的θ和φ,也就是內(nèi)環(huán)姿態(tài)控制中的期望角θd和φd。
內(nèi)環(huán)姿態(tài)PID控制器設(shè)計(jì)為
(4)
從式(3)和式(4)可以看出,內(nèi)外環(huán)位姿PID控制器共需18個(gè)參數(shù),參數(shù)眾多,選定合適的參數(shù)較為困難。文獻(xiàn)[14]從頻域的角度出發(fā),探討了姿態(tài)控制器如何選取合適的PID參數(shù),以達(dá)到最優(yōu)的PID控制效果。文獻(xiàn)[15]則將PID參數(shù)視為變量,設(shè)計(jì)了模糊控制器,針對(duì)不同的飛行狀態(tài)來選擇合適的PID參數(shù)值。
目前,PID控制算法已經(jīng)成功應(yīng)用于四旋翼無人機(jī)的懸停、定高以及航跡控制。PID控制算法的應(yīng)用比較成熟,但系統(tǒng)魯棒性能卻不夠理想,受干擾影響較大。比如在懸停狀態(tài)下,用風(fēng)扇模擬風(fēng)力加以干擾,四旋翼無人機(jī)便很難保持穩(wěn)定。
LQR即線性二次型調(diào)節(jié)器,可得到狀態(tài)線性反饋的最優(yōu)控制規(guī)律,易構(gòu)成閉環(huán)最優(yōu)控制,基本思想是在滿足性能函數(shù)取得最優(yōu)值的約束下,根據(jù)相應(yīng)的原理設(shè)計(jì)控制器。
LQR控制算法先將四旋翼無人機(jī)系統(tǒng)模型線性化,如式(2),并轉(zhuǎn)化為狀態(tài)方程的形式,即
(5)
式中:x為位姿狀態(tài)變量;A,B為模型參數(shù)矩陣;K為待求反饋矩陣;r為期望狀態(tài);u為式(2)中的系統(tǒng)控制量{u1,u2,u3,u4}。
根據(jù)式(5)構(gòu)建全狀態(tài)反饋控制系統(tǒng)如圖3所示,圖3中待控制的狀態(tài)量x分兩組,第一組為水平方向的位移和位移速度以及繞x,y軸旋轉(zhuǎn)的姿態(tài)角和姿態(tài)角速度,主要考慮到它們之間存在內(nèi)外環(huán)的耦合關(guān)系(從圖2及式(2)中可以看出),故放在一起;第二組狀態(tài)量為高度和高度方向的速度以及繞z軸旋轉(zhuǎn)的姿態(tài)角和姿態(tài)角速度,這兩個(gè)量不與其他狀態(tài)量耦合,因此可以單獨(dú)控制。
圖3 全狀態(tài)反饋系統(tǒng)框圖
Fig.3 Block diagram of full-state feedback control system
圖中,r表示參考輸入,x表示系統(tǒng)輸出。
系統(tǒng)模型參數(shù)確定后,系數(shù)矩陣A,B均可確定。為了達(dá)到期望狀態(tài),關(guān)鍵在于配置反饋矩陣K,使閉環(huán)系統(tǒng)的極點(diǎn)處于復(fù)平面左邊合適的位置,從而使?fàn)顟B(tài)穩(wěn)定到期望值。K的取值與Riccati方程有關(guān),即
ATP+PA+Q-PBR-1BTP=0
(6)
式中,P,Q,R均為矩陣。該方程具體推導(dǎo)過程可參考文獻(xiàn)[16]。
反饋矩陣K可通過以下3步計(jì)算:1) 選擇參數(shù)矩陣Q,R,一般為對(duì)角陣;2) 根據(jù)式(6)求解矩陣P;3) 計(jì)算K=R-1BTP。
從以上步驟可以看出,在確定參數(shù)矩陣Q,R之后,LQR控制算法中其余參數(shù)均可確定,而Q,R又可取對(duì)角陣,因此反饋矩陣K的求取并不復(fù)雜。文獻(xiàn)[17-19]利用這種方法實(shí)現(xiàn)了無人機(jī)的位姿控制。
LQR本質(zhì)上也是一種線性化的方法,在大機(jī)動(dòng)飛行等強(qiáng)非線性的情況下,其控制效果會(huì)受到模型不準(zhǔn)確的影響。
滑??刂埔卜Q為變結(jié)構(gòu)控制,是一種特殊的非線性控制,最大特點(diǎn)在于“結(jié)構(gòu)不固定”,可以根據(jù)系統(tǒng)當(dāng)前的狀態(tài)不斷地切換控制量,使得系統(tǒng)狀態(tài)到達(dá)滑動(dòng)模態(tài)后沿著預(yù)先設(shè)定的滑模面運(yùn)動(dòng)到平衡點(diǎn),其系統(tǒng)性能完全由滑模面決定,而與被控系統(tǒng)對(duì)象參數(shù)和擾動(dòng)無關(guān)。其設(shè)計(jì)思想為:設(shè)計(jì)一個(gè)控制器,將從任何一點(diǎn)出發(fā)的狀態(tài)軌線通過控制作用拉到滑模面上,然后沿此滑模面滑動(dòng)到原點(diǎn)。形式為
(7)
式(7)表明,滑??刂扑惴ǖ脑O(shè)計(jì)由控制量函數(shù)u+(x),u-(x)及滑模面函數(shù)s(x)組成。
對(duì)于四旋翼無人機(jī)的姿態(tài)控制,可設(shè)計(jì)滑??刂破鳛?/p>
(8)
同理,對(duì)于位置滑??刂破饕嗫山㈩愃朴谑?8)的方程,但計(jì)算出的控制量u需要線性轉(zhuǎn)化為期望的姿態(tài)角。
式(8)中的滑模面函數(shù)是位姿變量的一階函數(shù),稱為一階滑??刂破?。此外,文獻(xiàn)[21]還探討了位姿控制的二階滑??刂破鳌?/p>
利用滑??刂品椒ㄔO(shè)計(jì)位姿控制算法可以使系統(tǒng)獲得較好的魯棒性,尤其是對(duì)模型不精確以及參數(shù)不確定性問題具有較好的抑制效果,但大部分算法還處于仿真階段,實(shí)現(xiàn)難度較大。
反步法的設(shè)計(jì)思想是將復(fù)雜的非線性系統(tǒng)分解成不超過系統(tǒng)階數(shù)的子系統(tǒng),為每個(gè)子系統(tǒng)設(shè)計(jì)李雅普諾夫函數(shù)和中間虛擬控制量,然后由低階從前往后遞推進(jìn)行虛擬控制量的設(shè)計(jì),一直后退到最高階實(shí)際控制量的設(shè)計(jì)。當(dāng)高階系統(tǒng)受到實(shí)際控制量控制漸進(jìn)穩(wěn)定后,低階系統(tǒng)也會(huì)由后往前依次達(dá)到穩(wěn)定狀態(tài)。
以四旋翼無人機(jī)的姿態(tài)控制為例,根據(jù)反步法可將系統(tǒng)構(gòu)造為
(9)
姿態(tài)方程可視為一個(gè)二階系統(tǒng),加上最后的控制輸出,所以用反步法設(shè)計(jì)需要以下3步。
2) 由于α1和x2不相等,仿照步驟1)設(shè)計(jì)虛擬控制量α2代替x3,使α1和x2之間的誤差趨近于0,同樣利用李雅普諾夫函數(shù)設(shè)計(jì)。
3) 由于x3本身即為可以設(shè)計(jì)的控制量,所以可以直接令x3=α2。
上述內(nèi)容介紹了如何利用反步法來設(shè)計(jì)姿態(tài)控制算法,如果設(shè)計(jì)位置控制算法,可將位置環(huán)也視為一個(gè)二階系統(tǒng),和姿態(tài)環(huán)一起設(shè)計(jì)共需5步,位置在前,姿態(tài)在后;但考慮到高度和偏航通道是全驅(qū)動(dòng)通道,實(shí)際一共分為7步進(jìn)行算法設(shè)計(jì),文獻(xiàn)[22]對(duì)反步法的位姿控制進(jìn)行了深入研究。
從式(9)可以看出,反步法可以實(shí)現(xiàn)非線性控制,但需要知道模型f(x2)的結(jié)構(gòu)參數(shù)。文獻(xiàn)[23-25]將反步法用于解決四旋翼的位姿控制以及路徑跟蹤控制。
魯棒控制方法大多在PID控制算法等抗擾能力不足的算法上施加魯棒控制,以提高控制系統(tǒng)的魯棒性能。
如基于信號(hào)補(bǔ)償?shù)聂敯艨刂品椒ㄒ胍粋€(gè)標(biāo)稱受控對(duì)象,將具有不確定性的實(shí)際受控對(duì)象視為標(biāo)稱受控對(duì)象攝動(dòng)所得,而攝動(dòng)部分對(duì)閉環(huán)系統(tǒng)的影響則歸結(jié)為一個(gè)“等價(jià)干擾”的影響[26]。首先,忽略等價(jià)干擾的影響,對(duì)標(biāo)稱受控對(duì)象設(shè)計(jì)出“標(biāo)稱控制器”,實(shí)現(xiàn)期望的閉環(huán)控制特性;然后,設(shè)計(jì)出“魯棒補(bǔ)償器”產(chǎn)生“魯棒控制信號(hào)”抵消或者抑制等價(jià)干擾對(duì)閉環(huán)控制性能的影響。
對(duì)于四旋翼無人機(jī),該方法先將系統(tǒng)數(shù)學(xué)模型分為容易控制的線性部分和不易控制的不確定部分,其中線性部分類似于式(2),稱為標(biāo)稱模型,不確定部分為真實(shí)模型式(1)和簡化模型式(2)之差,稱為干擾模型,然后對(duì)標(biāo)稱模型使用PID控制算法,而對(duì)干擾模型設(shè)計(jì)了魯棒補(bǔ)償器進(jìn)行信號(hào)補(bǔ)償,其中魯棒補(bǔ)償器的形式為
(10)
式中:F(s)是需要設(shè)計(jì)的魯棒濾波器,設(shè)計(jì)方法可參考文獻(xiàn)[27];aN是根據(jù)標(biāo)稱模型所確定的參數(shù)。圖4是姿態(tài)魯棒控制算法的原理框圖。
圖4 PID控制器和魯棒補(bǔ)償器Fig.4 PID controller and robust compensator
圖中,r表示參考輸入,y表示系統(tǒng)輸出。
同理,可實(shí)現(xiàn)位置的魯棒PID控制,對(duì)于x,y方向的位置控制,其控制輸出即為期望的俯仰角和橫滾角φd和θd,文獻(xiàn)[28]對(duì)此進(jìn)行了研究。
從圖4可看出,該算法不需要知道特別精確的數(shù)學(xué)模型,對(duì)于控制器的設(shè)計(jì)要求也比較低,易于實(shí)現(xiàn)。
除上述四旋翼無人機(jī)控制算法之外,還有一些其他的控制方法,如自適應(yīng)控制、模糊控制、神經(jīng)網(wǎng)絡(luò)算法等也被使用在四旋翼無人機(jī)的控制算法中。
自適應(yīng)控制本質(zhì)上是一個(gè)修正裝置,一般不獨(dú)立對(duì)系統(tǒng)進(jìn)行控制,而是與其他常用的控制方法結(jié)合,對(duì)相關(guān)參數(shù)或狀態(tài)進(jìn)行修正或者調(diào)節(jié)。如文獻(xiàn)[29]在位姿的內(nèi)外環(huán)控制中,自適應(yīng)控制算法與滑??刂平Y(jié)合組成外環(huán)位置控制,與反步法結(jié)合組成內(nèi)環(huán)控制。對(duì)于自適應(yīng)算法期望的性能指標(biāo)則是在控制器的設(shè)計(jì)過程中,根據(jù)李雅普諾夫函數(shù)的穩(wěn)定性要求得出。自適應(yīng)方法可以很好地在線估計(jì)模型參數(shù),但在估計(jì)過程中,會(huì)有明顯的過渡過程,不利于四旋翼無人機(jī)的快速機(jī)動(dòng)飛行。
模糊控制的關(guān)鍵在于建立一張控制策略表,四旋翼無人機(jī)飛行時(shí),根據(jù)飛行狀態(tài)從控制策略表中選擇相應(yīng)的控制量。雖然不要求建立被控對(duì)象的精確數(shù)學(xué)模型,但是控制策略表由人工設(shè)計(jì)規(guī)則,合理性難以得到保證。
神經(jīng)網(wǎng)絡(luò)算法適合處理需要同時(shí)考慮許多因素和條件的、不精確和模糊的信息處理問題。如文獻(xiàn)[30]利用PID神經(jīng)網(wǎng)絡(luò)算法設(shè)計(jì)四旋翼飛行器的控制器,并在聯(lián)合仿真平臺(tái)上進(jìn)行仿真,實(shí)現(xiàn)對(duì)四旋翼飛行器多變量系統(tǒng)的解耦控制,并取得良好的飛行控制效果。
綜上:就應(yīng)用現(xiàn)狀而言,主流的飛控算法仍為PID控制算法,利用PID算法已經(jīng)可以實(shí)現(xiàn)四旋翼無人機(jī)的定點(diǎn)懸停、航跡跟蹤等;就研究現(xiàn)狀而言,四旋翼無人機(jī)的非線性控制和魯棒性能仍是當(dāng)下研究的熱點(diǎn)。
此外,隨著市場的需求和技術(shù)的發(fā)展,可以預(yù)見,四旋翼無人機(jī)的智能化和集群化控制是飛控算法未來可能的發(fā)展趨勢。對(duì)于智能化發(fā)展方向,主要是基于圖像傳感器的手勢識(shí)別、目標(biāo)跟蹤、自主避障;基于物聯(lián)網(wǎng)技術(shù)的遠(yuǎn)程控制、自主起降、自主規(guī)劃飛行航跡、承擔(dān)物流運(yùn)輸?shù)热蝿?wù)。對(duì)于集群化發(fā)展方向,主要是多無人機(jī)的編隊(duì)控制,協(xié)同執(zhí)行大型任務(wù),尤其是軍事方面對(duì)無人機(jī)集群作戰(zhàn)的一些構(gòu)想,近年來已經(jīng)初見端倪,如通過戰(zhàn)機(jī)在作戰(zhàn)區(qū)域投放大量小型無人機(jī),分散攻擊多個(gè)目標(biāo),消耗敵方防御力量。
四旋翼無人機(jī)的研究涉及傳感器技術(shù)、計(jì)算機(jī)技術(shù)、自動(dòng)控制技術(shù)、通信技術(shù)、電子電路設(shè)計(jì)、精密機(jī)械設(shè)計(jì)等多個(gè)學(xué)科的內(nèi)容,本文所討論的飛控算法主要與自動(dòng)控制技術(shù)相關(guān)。但各個(gè)學(xué)科之間相互影響,隨著傳感器等測量技術(shù)、計(jì)算機(jī)等微電子技術(shù)以及機(jī)械制造等材料和加工技術(shù)的發(fā)展,未來飛控算法可以建立更精確的數(shù)學(xué)模型,許多理論研究成果也能逐步走向工程應(yīng)用,進(jìn)而,四旋翼無人機(jī)就可以面對(duì)更復(fù)雜的飛行環(huán)境,得到更為廣泛的應(yīng)用,為人類服務(wù)。