趙紅超,周洪慶,王書湖
(1.煙臺(tái)南山學(xué)院,山東龍口 265713;2.海軍航空大學(xué),山東煙臺(tái) 264001)
四旋翼無(wú)人機(jī)具有垂直起降、空中懸停、飛行靈活、操作簡(jiǎn)單等優(yōu)勢(shì)特性,引起了人們?cè)絹?lái)越多的關(guān)注和重視。近年來(lái),四旋翼無(wú)人機(jī)已經(jīng)在航拍、物流快遞、線路巡檢、消防搶險(xiǎn)、農(nóng)業(yè)植保、災(zāi)害救援、軍事偵察等許多領(lǐng)域得到了廣泛的應(yīng)用。
四旋翼無(wú)人機(jī)是一種典型的欠驅(qū)動(dòng)、非線性、靜不穩(wěn)定系統(tǒng),同時(shí)因其慣性質(zhì)量較小、抗干擾能力較差、飛行環(huán)境要求較高等特性,使四旋翼無(wú)人機(jī)對(duì)控制系統(tǒng)算法有著較高的要求。在工程中,無(wú)法對(duì)無(wú)人機(jī)所受的空氣動(dòng)力建立精確的數(shù)學(xué)模型,無(wú)人機(jī)的轉(zhuǎn)動(dòng)慣量、空氣動(dòng)力參數(shù)等測(cè)量值與實(shí)際值之間也存在偏差,另外還有外界干擾的影響,這些都增加了無(wú)人機(jī)的控制難度。因此,需要為無(wú)人機(jī)設(shè)計(jì)抗干擾能力強(qiáng)(魯棒性強(qiáng))的控制系統(tǒng)。
為了保證四旋翼無(wú)人機(jī)控制系統(tǒng)具有較強(qiáng)的魯棒性,國(guó)內(nèi)外研究者將一些先進(jìn)控制方法應(yīng)用于無(wú)人機(jī)控制系統(tǒng)設(shè)計(jì)。常用的控制方法包括PID控制改進(jìn)形式、魯棒控制、滑模控制、反步控制、自適應(yīng)控制、自抗擾控制等。經(jīng)典PID控制方法是工程中四旋翼無(wú)人機(jī)采用最多的一種控制方法,但是其魯棒性不強(qiáng)。為了增強(qiáng)魯棒性,一些研究者將其與先進(jìn)控制方法相結(jié)合,設(shè)計(jì)出多種改進(jìn)形式,比如模糊自適應(yīng)PID控制[1]、基于遺傳算法的非線性PID控制[2]、基于Kalman濾波的PID控制[3]、模糊串級(jí)PID控制[4]、基于神經(jīng)網(wǎng)絡(luò)的PID控制[5]等。文獻(xiàn)[6]將四旋翼無(wú)人機(jī)動(dòng)力學(xué)解耦為外環(huán)位置控制系統(tǒng)和內(nèi)環(huán)角度控制系統(tǒng),分別針對(duì)兩個(gè)子系統(tǒng)設(shè)計(jì)了干擾觀測(cè)器和魯棒H∞控制器。文獻(xiàn)[7]采用反步控制和滑??刂圃O(shè)計(jì)了分?jǐn)?shù)階控制器,利用分?jǐn)?shù)階滑模提高系統(tǒng)的收斂速度和精度。文獻(xiàn)[8]對(duì)傳統(tǒng)滑??刂七M(jìn)行了改進(jìn),設(shè)計(jì)了一種基于雙冪次趨近律的積分滑??刂破?增強(qiáng)了系統(tǒng)魯棒性以及軌跡跟蹤能力。文獻(xiàn)[9]分別采用自適應(yīng)滑??刂品椒ā⒒谏窠?jīng)網(wǎng)絡(luò)干擾觀測(cè)器和基于非線性干擾觀測(cè)器的線性濾波降階方法設(shè)計(jì)了四旋翼無(wú)人機(jī)控制器,通過(guò)仿真驗(yàn)證了幾種控制器保證了系統(tǒng)跟蹤性能和魯棒性。文獻(xiàn)[10]設(shè)計(jì)了基于模型參考自適應(yīng)的容錯(cuò)控制器,在存在外界擾動(dòng)和執(zhí)行器故障的情況下四旋翼飛行器也具有較好的姿態(tài)控制效果。文獻(xiàn)[11-13]采用了自抗擾控制方法設(shè)計(jì)四旋翼無(wú)人機(jī)控制器,并利用自抗擾控制中的擴(kuò)張狀態(tài)觀測(cè)器(ESO)在線實(shí)時(shí)估計(jì)系統(tǒng)的總擾動(dòng),使控制系統(tǒng)具有較強(qiáng)的魯棒性。文獻(xiàn)[14-15]在四旋翼無(wú)人機(jī)控制系統(tǒng)設(shè)計(jì)中也采用ESO來(lái)估計(jì)系統(tǒng)的內(nèi)、外總擾動(dòng),提高了控制系統(tǒng)的跟蹤精度。
四旋翼無(wú)人機(jī)對(duì)實(shí)時(shí)性與能耗有較高要求,除動(dòng)力設(shè)備能耗程度高以外,控制算法的運(yùn)行功耗也是主要耗能因素之一。選擇簡(jiǎn)單有效的控制算法能夠降低能耗、減輕機(jī)載計(jì)算機(jī)的運(yùn)算負(fù)擔(dān),有利于在四旋翼無(wú)人機(jī)上進(jìn)行應(yīng)用。滑??刂品椒ň哂恤敯粜詮?qiáng)的優(yōu)點(diǎn),而且算法簡(jiǎn)單,因此本文采用滑??刂铺娲鶳ID控制來(lái)設(shè)計(jì)四旋翼無(wú)人機(jī)的控制器。眾所周知,滑??刂频闹饕毕菔谴嬖诙墩瘳F(xiàn)象,其產(chǎn)生的主要原因是不連續(xù)的符號(hào)函數(shù)項(xiàng)的增益需要足夠大,大于總擾動(dòng)項(xiàng)的上界,以保證魯棒性。為了克服抖振現(xiàn)象,采用ESO對(duì)各種不確定項(xiàng)和外界干擾等構(gòu)成的總擾動(dòng)項(xiàng)進(jìn)行估計(jì)和補(bǔ)償,并將輸出加入滑模控制器中,因此不需要較大的符號(hào)函數(shù)項(xiàng),在保證魯棒性的同時(shí)顯著削弱抖振問(wèn)題。此外,我們研究發(fā)現(xiàn),ESO在對(duì)總擾動(dòng)項(xiàng)進(jìn)行補(bǔ)償?shù)耐瑫r(shí),也可以作為運(yùn)動(dòng)速度和角速度的觀測(cè)器,從而不需要設(shè)計(jì)額外的狀態(tài)觀測(cè)器或者濾波器來(lái)解算運(yùn)動(dòng)速度和角速度信息,也保證了控制算法具有簡(jiǎn)單實(shí)用,能耗低的優(yōu)點(diǎn)。
四旋翼無(wú)人機(jī)是一個(gè)4輸入、6輸出的欠驅(qū)動(dòng)系統(tǒng),并且各通道之間具有較強(qiáng)的耦合度。假設(shè)四旋翼無(wú)人機(jī)為結(jié)構(gòu)對(duì)稱、質(zhì)量分布均勻的剛體,忽略無(wú)人機(jī)的機(jī)體及螺旋槳的形變和彈性振動(dòng)等復(fù)雜動(dòng)態(tài)。將無(wú)人機(jī)的空中運(yùn)動(dòng)分為質(zhì)心運(yùn)動(dòng)和姿態(tài)運(yùn)動(dòng)兩個(gè)部分,并考慮各種干擾項(xiàng)的影響,建立四旋翼無(wú)人機(jī)的數(shù)學(xué)模型如下:
(1)
式中(x、y、z)為在地面坐標(biāo)系的無(wú)人機(jī)質(zhì)心位置;φ、θ、ψ分別為滾轉(zhuǎn)角、俯仰角和偏航角;U1為4個(gè)螺旋槳的總升力;m為無(wú)人機(jī)的質(zhì)量;g為重力加速度;Ix、Iy、Iz為三軸轉(zhuǎn)動(dòng)慣量;U2、U3、U4為三軸控制力矩;dx、dy、dz是包含不確定項(xiàng)、空氣阻力及外界干擾等因素的總擾動(dòng)項(xiàng);dφ、dθ、dψ是包含不確定項(xiàng)、空氣阻尼力矩、螺旋槳陀螺力矩及外界干擾等因素的總擾動(dòng)項(xiàng)。
由四旋翼無(wú)人機(jī)的數(shù)學(xué)模型可知,其控制方式是利用U2、U3和U4來(lái)改變無(wú)人機(jī)的3個(gè)姿態(tài)角,而U1和3個(gè)姿態(tài)角共同作用改變無(wú)人機(jī)的位置,即位置變化是借助姿態(tài)角變化來(lái)實(shí)現(xiàn)的。為了解決4個(gè)輸入控制6個(gè)輸出的欠驅(qū)動(dòng)問(wèn)題,將無(wú)人機(jī)控制系統(tǒng)分解為外環(huán)位置控制和內(nèi)環(huán)姿態(tài)控制兩部分分別控制。
為了實(shí)現(xiàn)位置控制器的解耦設(shè)計(jì),引入3個(gè)虛擬控制量如下:
(2)
此時(shí)位置系統(tǒng)模型變換為
(3)
由于x子系統(tǒng)、y子系統(tǒng)和z子系統(tǒng)的模型是基本一致的,下面以x子系統(tǒng)為例設(shè)計(jì)擴(kuò)張狀態(tài)觀測(cè)器和滑??刂破?進(jìn)而可以容易地推廣到y(tǒng)子系統(tǒng)和z子系統(tǒng)的設(shè)計(jì)。
針對(duì)x子系統(tǒng)設(shè)計(jì)第1個(gè)擴(kuò)張狀態(tài)觀測(cè)器,記為“ESO1”,定義觀測(cè)誤差變量如下:
(4)
ESO1設(shè)計(jì)為
(5)
式中:β1>0,β2>0,β3>0,0<δ<1,fal(·)函數(shù)的一般表達(dá)式為
(6)
其中:sign(·)為符號(hào)函數(shù)。根據(jù)韓京清老師的研究[16],觀測(cè)誤差最終收斂于零的小鄰域內(nèi),設(shè)|dx|≤dmax,則
(7)
設(shè)x的期望指令為xd,跟蹤誤差為ex=xd-x。選取滑模面為
(8)
基于ESO的滑??刂破髟O(shè)計(jì)表述為如下定理。
定理1:對(duì)于x子系統(tǒng),設(shè)計(jì)擴(kuò)張狀態(tài)觀測(cè)器ESO1,選取滑模面為式(8),設(shè)計(jì)滑??刂破魅缦?
(9)
式中:k1>0,ρ1≥|c1e12+e13|。那么,系統(tǒng)跟蹤誤差漸近收斂到零。
證明:選取Lyapunov函數(shù)為
(10)
對(duì)V求導(dǎo),并將式(4)、式(9)代入,整理可得,
(11)
由于ESO1保證了e12、e13都會(huì)足夠小,因此,只要選取ρ1適當(dāng)大就能夠保證ρ1≥|c1e12+e13|,由此可得,
(12)
同理,對(duì)于y子系統(tǒng),設(shè)計(jì)ESO2為
(13)
觀測(cè)誤差變量為
(14)
設(shè)y的期望指令為yd,跟蹤誤差為ey=yd-y。選取滑模面為
(15)
設(shè)計(jì)滑模控制器如下:
(16)
式中k2>0,ρ2≥|c2e22+e23|。則跟蹤誤差ey漸近收斂到零。
對(duì)于z子系統(tǒng),設(shè)計(jì)ESO3為
(17)
觀測(cè)誤差變量為
(18)
設(shè)z的期望指令為zd,跟蹤誤差為ez=zd-z。選取滑模面為
(19)
設(shè)計(jì)滑模控制器如下:
(20)
式中k3>0,ρ3≥|c3e32+e33|。則跟蹤誤差ez漸近收斂到零。
由式(2)進(jìn)行反解,可以求得實(shí)際控制輸入U(xiǎn)1和實(shí)現(xiàn)ux、uy、uz所需的期望姿態(tài)角指令:
(21)
(22)
對(duì)比式(22)和式(3)可知,姿態(tài)角系統(tǒng)模型和位置系統(tǒng)模型是基本一致的,因此,外環(huán)位置控制器的設(shè)計(jì)過(guò)程可以同理推廣到內(nèi)環(huán)姿態(tài)控制器的設(shè)計(jì)。
對(duì)于φ子系統(tǒng),設(shè)計(jì)ESO4為
(23)
觀測(cè)誤差變量為
(24)
(25)
設(shè)計(jì)滑模控制器如下:
z43+k4s4+ρ4sign(s4)]
(26)
式中:k4>0,ρ4≥|c4e42+e43|。則跟蹤誤差eφ漸近收斂到零。
對(duì)于θ子系統(tǒng),設(shè)計(jì)ESO5為
(27)
觀測(cè)誤差變量為
(28)
(29)
設(shè)計(jì)滑??刂破魅缦?
(30)
式中k5>0,ρ5≥|c5e52+e53|。則跟蹤誤差eθ漸近收斂到零。
對(duì)于ψ子系統(tǒng),設(shè)計(jì)ESO6為
(31)
觀測(cè)誤差變量為
(32)
(33)
設(shè)計(jì)滑??刂破魅缦?
z63+k6s6+ρ6sign(s6)]
(34)
式中k6>0,ρ6≥|c6z62+z63|。則跟蹤誤差eψ漸近收斂到零。
總結(jié)一下,本部分運(yùn)用解耦控制思想,針對(duì)6個(gè)輸出量分別設(shè)計(jì)了6個(gè)基于ESO的滑??刂破?保證了系統(tǒng)輸出跟蹤誤差漸近收斂到零。四旋翼無(wú)人機(jī)控制系統(tǒng)的結(jié)構(gòu)如圖1所示。
圖1 四旋翼無(wú)人機(jī)控制系統(tǒng)結(jié)構(gòu)框圖
為了檢驗(yàn)本文提出的控制方法的有效性,根據(jù)圖1采用Matlab/Simulink軟件平臺(tái)構(gòu)建四旋翼無(wú)人機(jī)控制系統(tǒng)的仿真模型。以文獻(xiàn)[15]的四旋翼無(wú)人機(jī)模型為研究對(duì)象進(jìn)行仿真分析,并將本文算法的控制算法與文獻(xiàn)[15]的控制算法進(jìn)行對(duì)比。為了保證對(duì)比的準(zhǔn)確性、可靠性,設(shè)置無(wú)人機(jī)參數(shù)、期望軌跡以及總干擾項(xiàng)等都與文獻(xiàn)[15]相同。期望軌跡為
(35)
偏航角的期望指令為ψd=0。位置環(huán)施加的總干擾項(xiàng)均為2 sint;姿態(tài)環(huán)施加的總干擾項(xiàng)為[sin 2t0 sin 2t]T。
經(jīng)過(guò)仿真調(diào)試,選取控制器參數(shù)為:
β1=100、β2=500、β3=2000、δ=0.01、c1=c2=3.6、k1=k2=4.2、ρ1=ρ2=1.5、c3=35、k3=75、ρ3=10、β4=200、β5=800、β6=3000、δ4=0.001、c4=c5=c6=25、k4=k5=k6=36、ρ4=ρ5=ρ6=4.5。
無(wú)人機(jī)初始位置[xyz]T=[0 0 0]T,初始姿態(tài)角[φθψ]T=[0 0 0]T。由靜止?fàn)顟B(tài)起飛沿螺旋上升軌跡運(yùn)動(dòng),仿真步長(zhǎng)為0.001 s,仿真時(shí)間為30 s,仿真結(jié)果分別如圖2~6所示。
圖2 螺旋上升軌跡跟蹤效果
圖3 軌跡跟蹤誤差曲線
圖4 姿態(tài)角跟蹤誤差曲線
圖5 ESO對(duì)運(yùn)動(dòng)速度的觀測(cè)誤差
圖6 ESO對(duì)姿態(tài)角速度的觀測(cè)誤差
仿真結(jié)果分析:由圖2和圖3可得,基于ESO的滑??刂破髂軌蚩刂扑男頍o(wú)人機(jī)快速準(zhǔn)確地跟蹤期望軌跡,在施加干擾的情況下,達(dá)到穩(wěn)態(tài)時(shí)軌跡跟蹤誤差最大僅有0.001 5 m;而在文獻(xiàn)[15]中,軌跡跟蹤誤差最大為0.06 m。對(duì)比可得,本文算法將軌跡跟蹤精度提高了一個(gè)數(shù)量級(jí),跟蹤精度高,抗干擾能力強(qiáng)。
由圖4可得,達(dá)到穩(wěn)態(tài)時(shí)姿態(tài)角跟蹤誤差最大為0.003 rad,姿態(tài)角跟蹤誤差雖然存在抖振現(xiàn)象,但是振幅很小。由圖5和圖6可得,6個(gè)ESO在估計(jì)總干擾項(xiàng)的同時(shí),也完成了對(duì)運(yùn)動(dòng)速度和姿態(tài)角速度的估計(jì),在0.74 s以后ESO對(duì)運(yùn)動(dòng)速度的觀測(cè)誤差都收斂到0.01 m/s以內(nèi),在1.1 s以后對(duì)姿態(tài)角速度的觀測(cè)誤差都收斂到0.004 rad/s以內(nèi),估計(jì)精度較高。仿真結(jié)果表明,文中所設(shè)計(jì)的基于ESO的滑??刂破鞅WC了四旋翼無(wú)人機(jī)控制系統(tǒng)具有較強(qiáng)的抗干擾能力,提高了軌跡跟蹤精度。
本文針對(duì)四旋翼無(wú)人機(jī)的欠驅(qū)動(dòng)特性,將控制系統(tǒng)分解為外環(huán)位置控制和內(nèi)環(huán)姿態(tài)控制兩部分分別控制??紤]了不確定項(xiàng)、內(nèi)部耦合以及外界干擾等因素的影響,將它們集中在一起構(gòu)成匯總干擾項(xiàng),設(shè)計(jì)了擴(kuò)張狀態(tài)觀測(cè)器對(duì)匯總干擾項(xiàng)進(jìn)行估計(jì)。另外,采用擴(kuò)張狀態(tài)觀測(cè)器也對(duì)運(yùn)動(dòng)速度和角速度進(jìn)行估計(jì)。在此基礎(chǔ)上設(shè)計(jì)了滑模控制器控制跟蹤誤差漸近收斂到零。仿真結(jié)果表明,所設(shè)計(jì)的基于擴(kuò)張狀態(tài)觀測(cè)器的滑模控制器保證了四旋翼無(wú)人機(jī)控制系統(tǒng)具有較強(qiáng)的抗干擾能力,在存在各種干擾的情況下對(duì)四旋翼無(wú)人機(jī)的運(yùn)動(dòng)速度和角速度進(jìn)行了準(zhǔn)確估計(jì),提高了四旋翼無(wú)人機(jī)的軌跡跟蹤精度,表現(xiàn)出較好的控制性能。下一步工作是分析四旋翼無(wú)人機(jī)動(dòng)力系統(tǒng)飽和問(wèn)題,進(jìn)而研究四旋翼無(wú)人機(jī)控制系統(tǒng)抗飽和算法。