成利梅
(太原科技大學(xué),太原 030000)
四旋翼飛行器具有呈“十”字交叉結(jié)構(gòu)的4個旋翼,通過調(diào)節(jié)不同旋翼電機轉(zhuǎn)速改變螺旋槳轉(zhuǎn)速從而實現(xiàn)飛行器的運動。由于其特殊的結(jié)構(gòu),四旋翼飛行器可實現(xiàn)垂直起降并懸停,且能以各種姿態(tài)飛行,具有更強的機動性和靈活性,因此廣泛應(yīng)用于軍事、電力巡檢、農(nóng)業(yè)植保等領(lǐng)域[1-2]。
BOUABDALLAH[3]首先建立了四旋翼飛行器的數(shù)學(xué)模型,并比較了PID、最優(yōu)控制、反步控制和滑模控制等控制方法。魯棒自適應(yīng)[4]、自抗擾控制[5]等先進的控制方法也被應(yīng)用于四旋翼飛行器的控制。然而,大多數(shù)的研究均采用歐拉角表示旋轉(zhuǎn)矩陣,并用歐拉角的一階導(dǎo)數(shù)近似載體角速度。基于近似模型設(shè)計的控制器僅適合于歐拉角較小的懸停狀態(tài),并不能應(yīng)用于機動性要求較高的大角度飛行。為了解決大角度飛行的控制問題,LEE等[6-7]提出了幾何控制。幾何控制在非線性群SO(3)(Special Orthogonal Group)上描述飛行器的動力學(xué)模型,并基于此模型設(shè)計控制律。文獻[8-10]對基于該模型的軌跡跟蹤控制算法進一步研究,結(jié)果表明,基于SO(3)的動力學(xué)模型設(shè)計控制器可使得四旋翼飛行器完成較為復(fù)雜的運動。
在實際控制過程中,都需要微處理器進行實時采樣和計算,因此,近年來基于離散時間域的四旋翼飛行器控制算法引起了廣泛研究。但目前大多數(shù)的研究都是基于歐拉角模型的軌跡跟蹤控制[11-13],或者是基于非線性群SO(3)的姿態(tài)控制[14-16]。針對這一現(xiàn)狀,本文基于非線性群SO(3)上的動力學(xué)模型設(shè)計基于離散時間域的軌跡跟蹤控制器。同時考慮到滑模變結(jié)構(gòu)控制對參數(shù)的不確定性以及有界干擾都具有良好的魯棒性[17],本文將離散滑模變結(jié)構(gòu)控制律應(yīng)用于控制器的設(shè)計,以提升控制效果。
為了方便建模,假設(shè)四旋翼飛行器的機械結(jié)構(gòu)對稱,并且可以看作剛體。在四旋翼飛行器的運動控制中,位置和姿態(tài)都是至關(guān)重要的信息。描述剛體的位置與姿態(tài)時,首先需要確定剛體所在的坐標(biāo)系(參考坐標(biāo)系),同時剛體上任何一點可以通過與其固連的坐標(biāo)系(載體坐標(biāo)系)描述,因此在四旋翼飛行器的動力學(xué)建模之前,需先引入兩個坐標(biāo)系,即參考坐標(biāo)系{xwywzw}和載體坐標(biāo)系{xbybzb},所定義的坐標(biāo)系如圖1所示,圖中Ω1~Ω4為4個電機的轉(zhuǎn)速。
圖1 四旋翼飛行器結(jié)構(gòu)及對應(yīng)坐標(biāo)系
基于所定義的坐標(biāo)系,采用牛頓-歐拉法對四旋翼飛行器進行建模[18],所建立的數(shù)學(xué)模型為
(1)
式中:向量p=[xyz]T,為四旋翼飛行器質(zhì)心在參考坐標(biāo)系中的位置;ω=[ω1ω2ω3]T,為四旋翼飛行器在載體坐標(biāo)系下的角速度;R∈SO(3),為所定義載體坐標(biāo)系到參考坐標(biāo)系的旋轉(zhuǎn)矩陣;向量zw=[001]T;m是四旋翼飛行器的質(zhì)量;g是重力加速度;J為轉(zhuǎn)動慣量;T為4個電機的升力和;M=[M1M2M3]T,為轉(zhuǎn)動力矩。
在設(shè)計控制器之前,采用前向歐拉法將四旋翼飛行器的動力學(xué)模型進行離散化,離散化之后的模型為
(2)
式中,Δt為采樣時間。
綜合式(1)和式(2)可知,四旋翼飛行器的模型為強耦合、欠驅(qū)動的非線性系統(tǒng)。當(dāng)位置確定之后即可確定姿態(tài)矩陣的第3列。同時,當(dāng)偏航角和姿態(tài)矩陣的第3列均已知時,旋轉(zhuǎn)矩陣即可被唯一確定[18]。當(dāng)旋轉(zhuǎn)矩陣確定之后,角速度可由旋轉(zhuǎn)矩陣確定。因此,可以將位置和偏航角作為系統(tǒng)的控制目標(biāo)。
由上述分析可知,位置的實現(xiàn)依賴于旋轉(zhuǎn)矩陣的實現(xiàn),因此本文將四旋翼飛行器的控制系統(tǒng)分為位置控制環(huán)路與姿態(tài)控制環(huán)路,位置控制環(huán)路輸出控制升力的大小及方向,控制升力方向向量與期望偏航角經(jīng)運算得出的期望旋轉(zhuǎn)矩陣作為姿態(tài)控制環(huán)路的輸入,姿態(tài)控制環(huán)路輸出控制力矩,控制升力和控制力矩作用于四旋翼飛行器的數(shù)學(xué)模型,從而實現(xiàn)控制。整體的控制結(jié)構(gòu)如圖2所示。
圖2 控制結(jié)構(gòu)框圖Fig.2 Block diagram of control structure
首先,基于離散滑模變結(jié)構(gòu)控制律來設(shè)計位置控制器,定義k時刻的滑模面為
(3)
由式(3)可得k+1時刻的滑模面為
(4)
基于一階趨近律可設(shè)計滑模面
sk+1=(I-kΔt)sk-ηsgn(sk)Δt
(5)
式中:I為單位陣;sgn()為符號函數(shù);k和η為正定的對角陣,其中,k=diag(k1,k2,k3),η=diag(η1,η2,η3)。
令式(4)和式(5)相等,可得
(6)
將式(2)代入式(6),整理可得控制升力的大小為
(I-kΔt)Δtsk+ηsgn(sk)(Δt)2)/(Δt)2+mgzw)·(Rkzw)。
(7)
同時,控制升力的方向為
(8)
若設(shè)計升力如式(7)和式(8),則該系統(tǒng)在有限時間內(nèi)可收斂于位置誤差的零平衡點。
證明:由于3個方向結(jié)構(gòu)相同,因此以其中一個方向為例來證明所設(shè)計控制器的穩(wěn)定性[19],記sk=[sk,1sk,2sk,3]T,選取李雅普諾夫函數(shù)
(9)
由于
(10)
其中
(sk+1,i-sk,i)sgn(sk,i)=
((1-kiΔt)sk,i-ηisgn(sk,i)Δt-sk,i)·sgn(sk,i)=
(-kiΔtsk,i-ηisgn(sk,i)Δt)·sgn(sk,i)=
-kiΔt|sk,i|-ηiΔt<0
(11)
(sk+1,i+sk,i)sgn(sk,i)=
((1-kiΔt)sk,i-ηisgn(sk,i)Δt+sk,i)·sgn(sk,i)=
((2-kiΔt)sk,i-ηisgn(sk,i)Δt)·sgn(sk,i)=
(2-kiΔt)|sk,i|-ηiΔt
(12)
旋轉(zhuǎn)矩陣可由列向量表示為Rk=[xb,kyb,kzb,k],其中,zb,k可由式(8)給出,若給定偏航角ψd,當(dāng)參考坐標(biāo)系按照Z-X-Y旋轉(zhuǎn)到載體坐標(biāo)系時,期望旋轉(zhuǎn)矩陣[18]則為
(13)
式中,xf,k=[cosψd,ksinψd,k0]T。
首先定義旋轉(zhuǎn)矩陣誤差為
(14)
當(dāng)實際載體坐標(biāo)系趨近于期望載體坐標(biāo)系時,Re,k趨近于單位陣。同時由文獻[20]可知,旋轉(zhuǎn)矩陣R的特性主要由R-RT決定,且R-RT為反對稱矩陣,因此可以用R-RT的向量形式表征R的特性。基于此,定義表征旋轉(zhuǎn)矩陣誤差特性的向量
(15)
式中:ε為正定的對稱陣,ε=diag(ε1,ε2,ε3);運算符·∨表示將反對稱矩陣寫成其所對應(yīng)的向量形式。當(dāng)Re,k趨于單位陣時,eR,k則趨近于0。
基于旋轉(zhuǎn)矩陣誤差,定義角速度誤差為
(16)
基于旋轉(zhuǎn)矩陣誤差的向量形式和角速度誤差,設(shè)計k時刻的滑模面為
(17)
式中,β=diag(β1,β2,β3),為正定的對角陣。
由式(17)可得k+1時刻的滑模面為
sk+1=βeR,k+1+eω,k+1=
(18)
基于一階趨近律設(shè)計如下滑模面
sk+1=(I-λΔt)sk-γsgn(sk)Δt
(19)
式中,λ和γ為正定的對角陣,λ=diag(λ1,λ2,λ3),γ=diag(γ1,γ2,γ3)。
令式(18)與式(19)相等,可得
(20)
將式(2)代入式(20),整理可得控制力矩為
Mk=J((I-λΔt)sk-γsgn(sk)Δt-β(ε(Re,k+1-
(21)
若設(shè)計控制力矩如式(21),則姿態(tài)控制環(huán)路在控制力矩M的作用下可使得系統(tǒng)漸近穩(wěn)定。
證明:由于3個方向結(jié)構(gòu)相同,因此以其中1個方向為例來證明所設(shè)計控制器的穩(wěn)定性,記sk=[sk,1sk,2sk,3]T,選取李雅普諾夫函數(shù)
(22)
由于
(23)
其中
(sk+1,i-sk,i)sgn(sk,i)=
((1-λiΔt)sk,i-γisgn(sk,i)Δt-sk,i)·sgn(sk,i)=
(-λiΔtsk,i-γisgn(sk,i)Δt)·sgn(sk,i)=
-λiΔt|sk,i|-γiΔt<0
(24)
(sk+1,i+sk,i)sgn(sk,i)=
((1-λiΔt)sk,i-γisgn(sk,i)Δt+sk,i)·sgn(sk,i)=
((2-λiΔt)sk,i-γisgn(sk,i)Δt)·sgn(sk,i)=
(2-λiΔt)|sk,i|-γiΔt
(25)
當(dāng)采用滑模控制律時,不可避免地會給系統(tǒng)引入振顫。為了減少振顫,本文采用飽和函數(shù)來代替符號函數(shù)。
通過Matlab/Simulink來仿真驗證所設(shè)計系統(tǒng)的有效性[22]。為了驗證所設(shè)計的控制律可使得四旋翼系統(tǒng)實現(xiàn)大角度的飛行,選取側(cè)立圓為期望軌跡。設(shè)pd=(0.5cos 2t0.5sin 2t3-2cos 2t)T,期望偏航角為ψd=t,四旋翼的初始狀態(tài)為p(0)=(000)T和ψ(0)=0。仿真所采用的結(jié)構(gòu)參數(shù)為m=2.0 kg,J=diag(1.25,1.25,2.5)。
文獻[21]通過仿真實驗詳細研究了控制參數(shù)對系統(tǒng)動態(tài)響應(yīng)以及控制輸入的影響,在此基礎(chǔ)上結(jié)合仿真實驗選取本文仿真過程中的控制器參數(shù),所采用的控制參數(shù)如表1所示。
表1 控制器參數(shù)Table 1 Controller parameters
若采樣時間Δt為0.01 s,采樣點數(shù)為4000,仿真結(jié)果如圖3所示。
圖3 四旋翼飛行器跟蹤側(cè)立圓仿真結(jié)果
圖3(a)和圖3(b)分別為跟蹤側(cè)立圓時的三維軌跡和位置圖,由圖可知,系統(tǒng)在所設(shè)計控制律的作用下能很快跟蹤上期望軌跡。圖3(c)描述了期望歐拉角與實際歐拉角,歐拉角(φ,θ,ψ)由旋轉(zhuǎn)矩陣計算得出。從圖中可得,實際歐拉角很快收斂于期望歐拉角。此時,實際的旋轉(zhuǎn)矩陣也將趨于期望的旋轉(zhuǎn)矩陣。由于偏航角ψ的取值范圍為(-180°,180°),因此偏航角僅在該范圍內(nèi)周期變化。圖3(d)為控制輸入圖,由圖可知,T以期望軌跡的周期變化,M1,M2和M3呈現(xiàn)相似的變化趨勢,僅在姿態(tài)發(fā)生突變時發(fā)生較大的突變,在其他時刻很快收斂到0。綜合圖3(a)和圖3(c)可知,所設(shè)計的控制系統(tǒng)可實現(xiàn)大歐拉角的軌跡跟蹤。
本文針對離散時間域的四旋翼飛行器軌跡跟蹤控制問題進行研究?;诜蔷€性群建立了動力學(xué)模型,解決了采用歐拉角近似建模帶來的小角度飛行限制,可使得四旋翼實現(xiàn)大角度飛行。由于四旋翼飛行器系統(tǒng)的強耦合、欠驅(qū)動特性,設(shè)計了基于內(nèi)外環(huán)的控制結(jié)構(gòu),內(nèi)外環(huán)控制器均采用離散滑模變結(jié)構(gòu)控制來設(shè)計。仿真實驗表明,在所設(shè)計控制器的作用下,四旋翼飛行器可以實現(xiàn)大角度的軌跡跟蹤,驗證了所設(shè)計系統(tǒng)的有效性。