成利梅,張春美,郭紅戈
(太原科技大學(xué)電子信息工程學(xué)院,山西太原030024)
四旋翼飛行器具有四個呈十字交叉結(jié)構(gòu)的旋翼,通過調(diào)節(jié)與螺旋槳固連的電機(jī)轉(zhuǎn)速可控制四旋翼實(shí)現(xiàn)垂直起降以及各種姿態(tài)的飛行。由于其較強(qiáng)的機(jī)動性,靈活性,廣泛應(yīng)用于電力巡檢,農(nóng)業(yè)植保等領(lǐng)域[1,2]。
針對四旋翼飛行器的控制問題,國內(nèi)外許多學(xué)者進(jìn)行了深入的研究,提出了許多的控制策略。當(dāng)前的控制策略根據(jù)其所依賴模型主要分為2類。第一種控制策略基于由歐拉角的導(dǎo)數(shù)近似角速度的模型而設(shè)計(jì)[3,4],由于模型的近似,該種控制策略僅適用于歐拉角較小的飛行狀態(tài)。第二種控制策略直接基于SO(3)動力學(xué)模型設(shè)計(jì)[5-7],因此適用于更為復(fù)雜的飛行狀態(tài)。同時,四旋翼在飛行過程不可避免地會受到環(huán)境擾動,滑模變結(jié)構(gòu)控制對參數(shù)的不確定性以及有界干擾都具有良好的魯棒性[8],因此滑??刂票粦?yīng)用于四旋翼的控制[9,10]。但是,滑??刂破鞯膮?shù)是難以確定的。
隨著智能優(yōu)化算法的發(fā)展,智能優(yōu)化算法逐漸被應(yīng)用于控制器參數(shù)的整定,并進(jìn)一步應(yīng)用于四旋翼控制器參數(shù)的整定。粒子群算法[11,12]、灰狼優(yōu)化算法[13]、差分進(jìn)化算法[14]等智能優(yōu)化算法均被應(yīng)用于四旋翼控制器參數(shù)的整定,其中差分進(jìn)化算法具有較好的全局搜索能力和魯棒性[15]。
本文基于四旋翼飛行器的SO(3)動力學(xué)模型設(shè)計(jì)滑模變結(jié)構(gòu)控制與自適應(yīng)控制相結(jié)合的自適應(yīng)滑模控制器,并采用差分進(jìn)化算法整定滑??刂破鲄?shù),最后通過仿真驗(yàn)證差分進(jìn)化算法的性能以及自適應(yīng)滑??刂破鞯聂敯粜浴?/p>
位置和姿態(tài)是四旋翼飛行過程中最為重要的信息。為了描述四旋翼飛行器的位置和姿態(tài),首先建立參考坐標(biāo)系W系{xwywzw}和載體坐標(biāo)系B系{xbybzb},所定義的坐標(biāo)系如圖1所示。
圖1 四旋翼結(jié)構(gòu)及對應(yīng)坐標(biāo)系
基于所建立的坐標(biāo)系并假設(shè)四旋翼飛行器可看作機(jī)械結(jié)構(gòu)對稱的剛體,四旋翼的位置可由其質(zhì)心在參考坐標(biāo)系下的位置描述,姿態(tài)可由載體坐標(biāo)系相對于參考坐標(biāo)系的旋轉(zhuǎn)矩陣R∈SO(3)描述。
四旋翼飛行器的運(yùn)動可分為平移運(yùn)動和旋轉(zhuǎn)運(yùn)動,其平移運(yùn)動可用牛頓方程來描述,旋轉(zhuǎn)運(yùn)動可用歐拉方程描述,其平移運(yùn)動的動力學(xué)方程為
(1)
其中m為飛行器的質(zhì)量,g為重力加速度,T為四個電機(jī)產(chǎn)生的升力。zw=(0,0,1)T為參考坐標(biāo)系的Z軸,p=(x,y,z)T為四旋翼飛行器質(zhì)心在參考坐標(biāo)系的位置。
旋轉(zhuǎn)運(yùn)動的動力學(xué)方程為
(2)
其中J=diag(Jxx,Jyy,Jzz)為轉(zhuǎn)動慣量,M=(M1,M2,M3)T為四個電機(jī)產(chǎn)生的控制力矩。ω為四旋翼飛行器的角速度。其中旋轉(zhuǎn)矩陣與角速度的關(guān)系為
(3)
由式(1)可知,四旋翼的平移運(yùn)動與旋轉(zhuǎn)矩陣相關(guān),而旋轉(zhuǎn)矩陣反映四旋翼的旋轉(zhuǎn)運(yùn)動,綜上可知,四旋翼飛行器為耦合系統(tǒng)。基于此,本文設(shè)計(jì)基于內(nèi)外環(huán)的控制結(jié)構(gòu),整體的控制結(jié)構(gòu)框圖如圖2所示。
圖2 控制結(jié)構(gòu)框圖
外環(huán)對位置進(jìn)行控制并給出控制升力的大小T和方向zb,該方向向量與期望偏航角向量xf=(cosψd,sinψd,0)T經(jīng)式(4)運(yùn)算后可得到內(nèi)環(huán)的期望輸入Rd[16],內(nèi)環(huán)通過控制角速度間接對旋轉(zhuǎn)矩陣進(jìn)行控制。
(4)
考慮到模型的不確定和外界干擾,本文將采用自適應(yīng)滑模算法對內(nèi)外環(huán)的控制器進(jìn)行設(shè)計(jì)。
3.1.1 位置控制器設(shè)計(jì)
(5)
為了便于表示,取u=RTzw,位置控制器的設(shè)計(jì)目的為通過控制u使得系統(tǒng)(5)穩(wěn)定,根據(jù)滑模控制器的設(shè)計(jì)流程首先定義如下滑模面
s=cep+ev
(6)
接著,基于一階滑??刂坡稍O(shè)計(jì)如下控制律u
(7)
其中c,k,η均為正常數(shù)。將式(7)代入式(5)并結(jié)合式(6)可知
(8)
接著定義如下李亞普諾夫函數(shù)
(9)
其中Ψ為正定的對角陣。將式(9)求導(dǎo)并將式(8)代入可得
(10)
(11)
當(dāng)所設(shè)計(jì)的控制律為式(7)時,期望升力的大小為
(12)
期望升力的方向?yàn)?/p>
(13)
同時在實(shí)際使用過程中,為了減少抖振,用飽和函數(shù)sat(s)代替符號函數(shù)sgn(s)。
(14)
其中,Δ為邊界層。
3.1.2 姿態(tài)控制器設(shè)計(jì)
姿態(tài)控制器的設(shè)計(jì)目的為通過控制輸入力矩使得實(shí)際旋轉(zhuǎn)矩陣R收斂于輸入的期望旋轉(zhuǎn)矩陣Rd。首先定義旋轉(zhuǎn)矩陣誤差
(15)
(16)
式中ε為正定的對角陣。在旋轉(zhuǎn)矩陣誤差的基礎(chǔ)上,定義角速度誤差
(17)
(18)
根據(jù)滑??刂破鞯脑O(shè)計(jì)流程首先定義如下滑模面
s=βeR+eω
(19)
由文獻(xiàn)[5]可知
(20)
接著,基于一階滑??刂坡稍O(shè)計(jì)控制律M
(21)
(22)
其中Γ為正定的對角陣,將式(22)求導(dǎo)可得
(23)
取中間列向量
(24)
并取矩陣
(25)
此時
(26)
(27)
上述所設(shè)計(jì)的位置控制器和姿態(tài)控制器僅可以保證位置環(huán)路和姿態(tài)環(huán)路的穩(wěn)定,并不能保證整個系統(tǒng)的穩(wěn)定性,因此,對整個系統(tǒng)的穩(wěn)定性證明尤為重要。本文采用文獻(xiàn)[18]的定理證明整個系統(tǒng)的穩(wěn)定性。
由定理可知,對于由式(5)和式(18)構(gòu)成的四旋翼誤差模型,只要滿足下列三個條件,系統(tǒng)便全局穩(wěn)定。
①控制輸入T和Rd使得外環(huán)指數(shù)穩(wěn)定。
②控制輸入M使得內(nèi)環(huán)指數(shù)穩(wěn)定。
基于該定理下面證明整個系統(tǒng)的穩(wěn)定性。
證明:由位置控制器與姿態(tài)控制器的穩(wěn)定性證明可知,控制輸入T和Rd可以使得位置環(huán)路指數(shù)穩(wěn)定,控制輸入M使得姿態(tài)環(huán)路指數(shù)穩(wěn)定,同時由式(12)和式(13)可知
(28)
由向量范數(shù)的性質(zhì)可知
(29)
(30)
兩邊同時取平方且放大不等式的右側(cè)可得
(31)
放大不等式右側(cè)同時左右兩邊開方可得
(32)
差分進(jìn)化算法是由Storn和Price提出的基于種群的智能優(yōu)化算法。該算法通過進(jìn)化機(jī)制搜索群體最優(yōu)解,其流程包括種群初始化,變異,交叉,選擇四步。
每個種群由多個個體組成,個體數(shù)目即為種群規(guī)模,每個個體為待優(yōu)化參數(shù)組成的向量,若種群規(guī)模為n,待優(yōu)化參數(shù)個數(shù)為g,則第k代種群可以表示為
(33)
種群的初始化即對初代種群的每個個體進(jìn)行初始化賦值,對第i個個體的第j個元素初始化可通過式(34)隨機(jī)產(chǎn)生
(34)
變異是利用個體之間的差分信息對個體進(jìn)行變異,本文選擇DE/rand/1策略,其表達(dá)式為
vi,k=xr1,k+F(xr2,k-xr3,k)
(35)
其中r1,r2,r3為第k代種群內(nèi)互不相等的三個個體,F為縮放因子,影響種群的多樣性和收斂速度。增大F的值可以提高種群多樣性,減小F的值可以加速算法的收斂速度,因此,算法初期時F值應(yīng)該較大,以便尋找全局最優(yōu)解,隨著迭次次數(shù)的增加,F值應(yīng)該減小使得算法盡快收斂,基于此本文選擇如下函數(shù)作為變異因子[19]
(36)
其中Fmax為縮放因子的最大值,Fmin為縮放因子的最小值,k為當(dāng)前迭代次數(shù),kmax為最大迭代次數(shù)。
交叉是利用目標(biāo)個體與變異形成的個體形成新個體,本文選擇基于二項(xiàng)式的交叉,其表達(dá)式為
(37)
其中CR為交叉概率因子,影響種群的多樣性,增大CR的值可以增加種群個體更新的概率,減小CR的值有利于算法的穩(wěn)定搜索,本文選擇如下函數(shù)作為交叉概率因子[19]
(38)
其中CRmax為縮放因子的最大值,CRmin為縮放因子的最小值。
選擇是在目標(biāo)個體與交叉形成的個體之間選擇使得適應(yīng)度值更優(yōu)的個體,其表達(dá)式為
(39)
其中f(·)為適應(yīng)度函數(shù)。
當(dāng)?shù)螖?shù)小于最大迭代次數(shù),重復(fù)執(zhí)行交叉、變異、選擇操作,當(dāng)?shù)螖?shù)等于最大迭代次數(shù)時,算法輸出尋優(yōu)結(jié)果。
在控制器的設(shè)計(jì)過程中,僅定性給出控制參數(shù)對系統(tǒng)性能的影響。在實(shí)際的使用過程中,需要經(jīng)過大量的仿真來確定控制參數(shù)。本文采用差分進(jìn)化算法對滑??刂破鞯膮?shù)c,k,η,β,λ,γ進(jìn)行離線尋優(yōu),所以選取xi=(c,k,η,β,λ,γ)T。
對控制器參數(shù)尋優(yōu)實(shí)質(zhì)上為尋找使得控制系統(tǒng)具有良好性能的參數(shù),控制系統(tǒng)的性能需綜合考慮時域的動態(tài)特性以及控制輸入的能耗,其中絕對誤差積分(IAE)可反映動態(tài)響應(yīng),絕對控制輸入積分可反映系統(tǒng)的能耗,因此,本文選取如下性能指標(biāo)函數(shù)作為適應(yīng)度函數(shù)。
(40)
其中W1,W2為權(quán)重系數(shù),j代表位置的三個方向,q代表控制量的個數(shù)。
基于差分進(jìn)化算法的控制系統(tǒng)框圖如圖3所示。
圖3 基于差分進(jìn)化算法的控制系統(tǒng)框圖
本文在Matlab/Simulink環(huán)境下仿真驗(yàn)證所設(shè)計(jì)算法,仿真過程中采用的結(jié)構(gòu)參數(shù)m=4.34kg,J=diag(0.082,0.0845,0.1377)。設(shè)四旋翼飛行器的期望位置pd=(1,1,1)T,期望偏航角ψd=π/3,初始位置p=(0,0,0)T,初始偏航角ψ=0。
由xi的選取可知待優(yōu)化參數(shù)個數(shù)g=6,由文獻(xiàn)[23]可知,種群個數(shù)n應(yīng)為5g~10g,因此設(shè)置種群規(guī)模n=50。同時設(shè)置c和β的變化范圍為[1,50],k和λ的變化范圍為[0.1,20],η和γ的變化范圍[0.1,20],差分進(jìn)化算法的參數(shù)見表1。
表1 差分進(jìn)化參數(shù)設(shè)定
經(jīng)仿真可得最優(yōu)適應(yīng)值與迭代次數(shù)的關(guān)系如圖4所示。
圖4 迭代收斂圖
由圖可知,適應(yīng)度函數(shù)在經(jīng)過20次的迭代之后收斂到最優(yōu)值2.1676×104,此時得到的控制器參數(shù)c=3.2982,k=1.9674,η=0.4597,β=7.0874,λ=0.1,γ=3.2413。當(dāng)所選控制參數(shù)為該組最優(yōu)參數(shù)時位置誤差與控制輸入如圖5和圖6所示。
圖5 最優(yōu)控制參數(shù)下的位置誤差
圖6 最優(yōu)控制參數(shù)下的控制輸入
由圖5可知,在經(jīng)差分進(jìn)化算法整定的控制參數(shù)的作用下位置誤差約3s內(nèi)收斂到0。圖6為最優(yōu)控制參數(shù)下的控制輸入,由圖可知,控制升力T很快收斂到穩(wěn)定,控制力矩M在經(jīng)過小幅度波動之后收斂到0。綜合位置誤差和控制輸入可知經(jīng)差分進(jìn)化算法得出的控制器參數(shù)可使得系統(tǒng)具有較好的控制性能。
為了驗(yàn)證所設(shè)計(jì)控制器的魯棒性,分別仿真系統(tǒng)在參數(shù)不確定以及有干擾情況下跟蹤螺旋線的性能。設(shè)四旋翼飛行器的期望軌跡pd=(cost,sint,1+t/5)T,期望偏航角ψd=πt,初始位置p=(0,0,0)T,初始偏航角ψ=0。控制器的參數(shù)為優(yōu)化之后的參數(shù)。
在實(shí)驗(yàn)一中,假設(shè)轉(zhuǎn)動慣量未知,此時采用式(21)和式(27)設(shè)計(jì)控制律以及自適應(yīng)律,位置誤差如圖7所示,轉(zhuǎn)動慣量的估計(jì)曲線如圖8所示。
圖7 轉(zhuǎn)動慣量未知時的位置誤差
圖8 轉(zhuǎn)動慣量的估計(jì)量
圖7描述了跟蹤軌跡時的位置誤差,由圖可知,三個方向的位置誤差均較快收斂到0。圖8中實(shí)線表示真實(shí)的轉(zhuǎn)動慣量,虛線表示估計(jì)的轉(zhuǎn)動慣量,對比可知,所設(shè)計(jì)的自適應(yīng)律可以較好地估計(jì)轉(zhuǎn)動慣量的真實(shí)值。
在實(shí)驗(yàn)二中,假設(shè)位置環(huán)路存在干擾d=(0.1cos(t),0.1cos(t),0.1cos(t))T,姿態(tài)環(huán)路存在干擾dM=(0.1sin(t),0.1sin(t),0.1sin(t))T,仿真結(jié)果圖9所示。
圖9 干擾存在的位置誤差
圖9為干擾存在時的位置誤差。由圖可知,位置誤差能在5s內(nèi)收斂到0,即實(shí)際軌跡可以較好地跟蹤期望軌跡。
通過仿真驗(yàn)證了所設(shè)計(jì)的自適應(yīng)滑模控制器能夠克服模型不確定和干擾實(shí)現(xiàn)期望軌跡的跟蹤。
本文基于非線性群建立了四旋翼飛行器的動力學(xué)模型,在考慮模型不確定性和外部干擾的情況下設(shè)計(jì)了基于內(nèi)外環(huán)結(jié)構(gòu)的自適應(yīng)滑??刂破?并采用差分進(jìn)化算法離線尋優(yōu)滑??刂破鞯膮?shù)。仿真實(shí)驗(yàn)驗(yàn)證了差分進(jìn)化算法在控制器參數(shù)整定的有效性以及自適應(yīng)滑??刂破鞯聂敯粜?。