陳保國,史春景,王 磊,吳東旭,郝永平
(沈陽理工大學(xué)兵器科學(xué)技術(shù)研究中心,遼寧 沈陽 110159)
近年來,隨著無人機(jī)(UAV,Unmanned Aerial Vehicle)行業(yè)的發(fā)展,自主飛行控制越來越成為無人機(jī)領(lǐng)域研究的熱點(diǎn)[1-2]。共軸雙槳飛行器(Coaxial Dual Rotor Aircraft)相比于其他機(jī)型有著結(jié)構(gòu)緊湊、氣動特性對稱、推重比大、懸停效率高等優(yōu)點(diǎn)[3-4]。旋翼折疊后可將整個(gè)飛行器放入彈體內(nèi),通過炮射或其他方法在短時(shí)間內(nèi)到達(dá)指定空域,完成偵查、照明等任務(wù),解決了普通飛行器航程短的問題,在軍用方面有著廣闊的應(yīng)用前景[6-7]。
目前,對于共軸雙槳飛行器姿態(tài)的控制,傳統(tǒng)PID控制算法效果不理想[8],諸如基于神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的現(xiàn)代智能控制算法在仿真過程中有很好的表現(xiàn),但由于其計(jì)算量大,在嵌入式系統(tǒng)中不能做到實(shí)時(shí)解算,因此難以獲得理想的控制效果[9-10]。本文針對上述在共軸雙槳飛行器懸停飛行姿態(tài)控制過程中存在的問題,提出一種在姿態(tài)解耦基礎(chǔ)上利用串級PID與模糊控制相結(jié)合的半自適應(yīng)控制算法。
在對共軸雙槳飛行器姿態(tài)穩(wěn)定算法進(jìn)行數(shù)值模擬仿真之前,建立一個(gè)合理準(zhǔn)確的數(shù)學(xué)模型是必不可少的[11]。建模過程中需要用到兩個(gè)坐標(biāo)系:地面坐標(biāo)系E(O,E,N,U)和機(jī)體坐標(biāo)系B(O,X,Y,Z),如圖1所示。
對于地面坐標(biāo)系,其坐標(biāo)原點(diǎn)位于飛行器起飛點(diǎn),E,N,U三個(gè)坐標(biāo)軸分別指向東、北和天三個(gè)方位;對于機(jī)體坐標(biāo)系,其坐標(biāo)原點(diǎn)位于飛行器重心,X,Y,Z三個(gè)坐標(biāo)軸分別指向飛行器的前、左和上三個(gè)方位。建立飛行器數(shù)學(xué)模型時(shí)本文假定飛行器為剛體,因此其遵循六自由度運(yùn)動學(xué)方程和牛頓-歐拉動力學(xué)方程。
由剛體運(yùn)動學(xué)方程,飛行器在地面坐標(biāo)系下的線位移與在機(jī)體坐標(biāo)系下的線速度的關(guān)系為:
(1)
式(1)中,x,y,z為飛行器在地面坐標(biāo)系下的線位移;u,v,w為飛行器在機(jī)體坐標(biāo)系下的線速度;φ,θ,ψ為飛行器的姿態(tài)角。c*,s*分別表示cos(*),sin(*)。
飛行器的姿態(tài)角與的角速度的關(guān)系為:
(2)
式(2)中,p,q,r為飛行器在機(jī)體坐標(biāo)系下的角速度。
根據(jù)牛頓-歐拉公式,飛行器的動力學(xué)方程為:
(3)
(4)
式(3)、式(4)中,m為飛行器的質(zhì)量,可直接測得;Fx,Fy,Fz為飛行器所受合力在三個(gè)坐標(biāo)軸上的投影;J為飛行器的轉(zhuǎn)動慣量;Mx,My,Mz為飛行器所受合力矩在三個(gè)坐標(biāo)軸上的投影。
式(3)中飛行器所受的力包括旋翼推力Ti(i∈{up,lw},代表上旋翼和下旋翼)、飛行器重力和機(jī)體阻力。本文只研究飛行器懸停飛行過程,飛行器機(jī)體阻力較小,可以忽略:
(5)
(6)
|Ti|=KT,iΩ2i
(7)
式(7)中,KT,i為推力系數(shù),可通過試驗(yàn)臺試驗(yàn)求得;ai,bi為上下旋翼槳葉縱向/橫向揮舞角;Ω為旋翼角速度。
式(4)中飛行器轉(zhuǎn)動慣量為:
(8)
本團(tuán)隊(duì)研制的共軸雙槳飛行器樣機(jī)采用對稱設(shè)計(jì),Jxy,Jyz,Jxz數(shù)值非常小,可以忽略;Jxx,Jyy,Jzz為飛行器的固有屬性,可在建模軟件中對相關(guān)零件賦值真實(shí)密度直接獲得。
式(4)中飛行器所受力矩包括旋翼推力產(chǎn)生的力矩,槳葉揮舞力矩,旋翼阻力矩和旋翼反作用力矩:
(9)
式(9)中,Ii為飛行器重心到上下槳轂的距離,可在樣機(jī)中直接測量;Ksp,i為上下旋翼槳葉剛度系數(shù),為槳葉固有參數(shù);Qd,i為旋翼阻力矩;Qr,i為旋翼反作用力矩。
上式中上旋翼槳葉揮舞角與平衡桿滯后角有關(guān),下旋翼槳葉揮舞角與傾斜盤角度即舵機(jī)輸入量有關(guān)。由于旋翼轉(zhuǎn)速高,槳葉揮舞角變化區(qū)間小,本文假定槳葉揮舞角與平衡桿滯后角和舵機(jī)輸入量之間為線性關(guān)系:
aup=Aa,upθsb+Ab,upφsb+Aup
(10)
bup=Bb,upφsb+Ba,upθsb+Bup
(11)
alw=Aa,lwδele+Ab,lwδail+Alw
(12)
blw=Ba,lwδail+Bb,lwδele+Blw
(13)
式(10)—(13)中,Aa,lw,Bb,lw為舵機(jī)輸入與揮舞角的同軸比例系數(shù);Ab,lw,Ba,lw為舵機(jī)輸入與揮舞角的離軸比例系數(shù);Aup,Bup,Alw,Blw為旋翼橫向/縱向揮舞補(bǔ)償量;θsb,φsb為平衡桿的橫向和縱向滯后角;δele,δail為縱向和橫向控制舵機(jī)的輸入量。上述各系數(shù)與補(bǔ)償量均可在通過試驗(yàn)臺試驗(yàn)獲得。
式(10)、式(11)中平衡桿滯后角與飛行器的滾轉(zhuǎn)角和俯仰角有關(guān):
(14)
(15)
式(14)、式(15)中,τsb為時(shí)間常數(shù),本文取在懸停速度下旋翼轉(zhuǎn)1/4圈所需要的時(shí)間,可通過試驗(yàn)臺試驗(yàn)獲得。
式(9)中由旋翼角速度產(chǎn)生的阻力矩為:
Qd,up=|Qd,up|[0 0 1]′
(16)
Qd,lw=|Qd,lw|[0 0 -1]′
(17)
|Qd,i|=KQ,iΩ2i
(18)
式(18)中,KQ,i為力矩系數(shù),可通過試驗(yàn)臺試驗(yàn)獲得;[0 0 1]′,[0 0 -1]′表示上下旋翼阻力矩的方向。
式(9)中由旋翼角加速度產(chǎn)生的反作用力矩為:
(19)
(20)
式(9),式(20)中,Jup,Jlw為上下旋翼相對轉(zhuǎn)軸的轉(zhuǎn)動慣量,可在建模軟件中對相關(guān)零件賦值真實(shí)密度直接獲得;[0 0 1]′和[0 0 -1]′表示上下旋翼反作用力矩的方向。
旋翼角速度和角加速度與電機(jī)參數(shù)和控制量有關(guān),本文研究飛行器懸停飛行過程,旋翼轉(zhuǎn)速變化鉸小,可以假定旋翼角加速度與電機(jī)輸入量的差值成正比:
(21)
式(21)中,Km,i為電機(jī)轉(zhuǎn)速系數(shù),可通過試驗(yàn)臺試驗(yàn)獲得;Δδi為電機(jī)本次控制量與前一次控制量的差值。
至此,共軸雙槳飛行器的六自由度數(shù)學(xué)模型建立完畢。建模過程中涉及到較多試驗(yàn),要搭建多個(gè)試驗(yàn)臺,需要高速攝像機(jī)、測力計(jì)、轉(zhuǎn)速表等設(shè)備,考慮到篇幅問題,本文不再詳細(xì)描述。
本文針對共軸雙槳飛行器懸停飛行過程提出的在姿態(tài)解耦基礎(chǔ)上利用串級PID與模糊控制相結(jié)合的半自適應(yīng)控制算法主要由三部分組成:姿態(tài)解耦器、模糊控制器和PID控制器,其總體結(jié)構(gòu)如圖2所示。
對飛行器姿態(tài)控制進(jìn)行解耦可以縮小控制器的控制量區(qū)間,在改變飛行器姿態(tài)設(shè)定值時(shí)使控制更加高效。共軸雙槳飛行器存在兩種耦合:滾轉(zhuǎn)/俯仰與高度的耦合,傾斜盤角度即舵機(jī)輸入與滾轉(zhuǎn)/俯仰運(yùn)動的耦合。
飛行器滾轉(zhuǎn)角和俯仰角改變時(shí),旋翼產(chǎn)生的推力在地面坐標(biāo)系Z軸上的分量也會改變,這就是滾轉(zhuǎn)/俯仰與高度的耦合。因此要保證飛行器飛行高度不變,在給舵機(jī)控制量時(shí)也要相應(yīng)給電機(jī)控制量,對于這種耦合可以用PID控制器進(jìn)行補(bǔ)償。
對于傾斜盤角度即舵機(jī)輸入量與滾轉(zhuǎn)/俯仰運(yùn)動的耦合,若給定舵機(jī)的控制量未進(jìn)行調(diào)整,飛行器懸停過程中機(jī)體會有歪扭現(xiàn)象,這種耦合對飛行器懸停過程影響較大。本文通過對輸入量進(jìn)行基于當(dāng)前飛行姿態(tài)的線性轉(zhuǎn)換進(jìn)行解耦。由式(12)、式(13)可得出解耦方程:
(22)
(23)
飛行器姿態(tài)由解耦器和“控制器”共同控制,在改變飛行器姿態(tài)設(shè)定值時(shí),解耦器使“控制器”需要產(chǎn)生的控制量減小,同時(shí)減小了姿態(tài)耦合對姿態(tài)控制的影響。
對于控制器中的PID控制,采用串級PID。外環(huán)PID期望角度值為ra(k),實(shí)際角度值為ca(k),控制偏差為:
ea(k)=ra(k)-ca(k)
(24)
其控制規(guī)律為:
ua(k)=Kpoea(k)+KIoeai(k)+KDoead(k)
(25)
(26)
ead(k)=ea(k)-ea(k-1)
(27)
式(25)中,Kpo為外環(huán)比例系數(shù);KIo為外環(huán)積分系數(shù);KDo為外環(huán)微分系數(shù)。Kpo,KIo,KDo的取值均需要在現(xiàn)場飛行試驗(yàn)過程中整定。
對于內(nèi)環(huán)PID,期望角速度值為外環(huán)PID的輸出值ua(k),實(shí)際角速度值為cv(k),控制偏差值為:
ev(k)=|ua(k)-cv(k)|
(28)
其控制率為:
uv(k)=KPiev(k)+KIievi(k)+KDievd(k)
(29)
(30)
evd(k)=ev(k)-ev(k-1)
(31)
式(29)中,Kpi為內(nèi)環(huán)比例系數(shù);KIi為內(nèi)環(huán)積分系數(shù);KDi為內(nèi)環(huán)微分系數(shù)。Kpi,KIi,KDi的取值分為現(xiàn)場整定部分和模糊控制器的輸出部分:
Kpi=kp+Δkp
(32)
KIi=ki+Δki
(33)
KDi=kd+Δkd
(34)
式中,kp,ki,kd的取值均需在現(xiàn)場飛行試驗(yàn)過程中整定。Δkp,Δki,Δkd為模糊控制器的輸出。
對于模糊控制器,選取偏差E、偏差變化率EC和控制器輸出量Δkp,Δki,Δkd的模糊子集為{NL,NM,NS,ZO,PS,PM,PL}將輸入量和輸出量均量化為7個(gè)等級。對于橫滾/俯仰控制的模糊論域的取值見表1,航向控制的模糊論域的取值見表2。
表1 橫滾/俯仰控制的模糊論域
表2 航向的模糊論域
模糊控制器中,輸入變量和輸出量均采用高斯隸屬度函數(shù),對三個(gè)姿態(tài)角的控制采用相同的模糊規(guī)則,利用“中心-平均”法進(jìn)行反模糊化。為了能夠直觀看出控制器輸入與輸出的立體結(jié)果,本文用空間曲面的形式將整個(gè)論域上的輸出量與輸入量之間的函數(shù)關(guān)系顯示出來,在曲面觀察器中得到的控制輸出的數(shù)值空間分布如圖3(a),(b),(c)所示,依次為橫滾/俯仰控制中Δkp,Δki, Δkd的數(shù)值空間分布,航向控制的輸出與橫滾/俯仰輸出在趨勢上相同。
由圖3可以看出,Δkp的取值隨E和EC總體上呈線性變化;當(dāng)E和EC在0附近時(shí),Δki變化較快,當(dāng)E和EC絕對值較大時(shí),Δki變化會逐漸變緩;當(dāng)E和EC在0附近時(shí),Δkd的值變化較慢且基本為0,當(dāng)E和EC的絕對值較大時(shí),Δkd的值將會近似呈指數(shù)型增長。對于該模糊控制器,總體上不同輸入產(chǎn)生的輸出曲面非常平滑,這說明控制過程沒有突變,原理上控制器設(shè)計(jì)較好。
為了驗(yàn)證本文提出算法的可行性,首先在數(shù)值模擬仿真系統(tǒng)中對算法在原理上的可行性進(jìn)行了驗(yàn)證。
在仿真系統(tǒng)中,將飛行器及其控制過程分為五個(gè)模塊:手動輸入模塊、自動控制模塊、上旋翼模塊、下旋翼模塊和總體模塊,如圖4所示。其中,手動輸入模塊模擬操作員的手動輸入和外部干擾,自動控制模塊模擬嵌入式控制系統(tǒng),下旋翼模塊負(fù)責(zé)飛行器下旋翼系統(tǒng)的動力學(xué)解算,上旋翼模塊負(fù)責(zé)飛行器上旋翼系統(tǒng)的動力學(xué)解算,總體模塊負(fù)責(zé)飛行器整體的運(yùn)動學(xué)解算。
本團(tuán)隊(duì)根據(jù)項(xiàng)目要求自主研制的共軸雙槳飛行器試驗(yàn)樣機(jī)如圖4中整體部分所示,主要分為上旋翼系統(tǒng)、下旋翼系統(tǒng)和動力與傳動系統(tǒng)三個(gè)部分。上旋翼系統(tǒng)由平衡桿、上旋翼和內(nèi)傳動軸等構(gòu)成;下旋翼系統(tǒng)由操縱機(jī)構(gòu)動環(huán)、下旋翼和外傳動軸等構(gòu)成;動力與傳動系統(tǒng)主要由安裝臺、兩個(gè)伺服舵機(jī)、兩個(gè)直流無刷電機(jī)、嵌入式飛控系統(tǒng)和供電模塊等構(gòu)成。
在數(shù)值模擬仿真過程中,前0.2 s對飛行器施加外部干擾,0.2 s之后消除外部干擾,分別得出無控制、采用傳統(tǒng)PID控制、采用本文提出的控制和采用神經(jīng)網(wǎng)絡(luò)PID控制情況下的飛行器姿態(tài)角的變化。仿真過程中飛行器姿態(tài)角的期望值均為0,仿真過程姿態(tài)角變化的時(shí)域描述如圖5所示。
由圖5可以看出,在給定的外界擾動下,采用傳統(tǒng)PID控制,滾轉(zhuǎn)角和俯仰角最大誤差值達(dá)到了0.018 rad,航向角最大誤差值達(dá)到了0.073 rad;而采用本文設(shè)計(jì)的控制算法,滾轉(zhuǎn)角和俯仰角誤差約為0.013 rad,航向角誤差約為0.025 rad;采用神經(jīng)網(wǎng)絡(luò)PID控制,滾轉(zhuǎn)角和俯仰角最大誤差值約為0.009 rad,航向角最大誤差值約為0.018 rad。采用傳統(tǒng)PID,需要1 s左右才能使飛行器達(dá)到穩(wěn)態(tài),而本文設(shè)計(jì)的控制算法使飛行器達(dá)到穩(wěn)態(tài)僅需要約0.3 s,采用神經(jīng)網(wǎng)絡(luò)PID控制使飛行器達(dá)到穩(wěn)態(tài)也只需要約0.3 s。由仿真結(jié)果可以看出,在數(shù)值模擬仿真系統(tǒng)中,傳統(tǒng)PID控制算法、本文提出的控制算法和神經(jīng)網(wǎng)絡(luò)PID控制算法都能夠使飛行器的姿態(tài)角收斂,但本文提出的控制算法和神經(jīng)網(wǎng)絡(luò)PID控制算法能夠使姿態(tài)角收斂速度更快,在更短時(shí)間達(dá)到穩(wěn)態(tài),同時(shí)產(chǎn)生的超調(diào)量都比采用傳統(tǒng)PID控制產(chǎn)生的超調(diào)量小。神經(jīng)網(wǎng)絡(luò)PID控制算法在抑制誤差方面要比本文提出的控制算法略優(yōu),在收斂時(shí)間方面兩者沒有太大差別。
數(shù)值模擬仿真的結(jié)果驗(yàn)證了本文提出的在姿態(tài)解耦基礎(chǔ)上利用串級PID與模糊控制結(jié)合的半自適應(yīng)控制算法在原理上的可行性。
在數(shù)值模擬仿真系統(tǒng)中,神經(jīng)網(wǎng)絡(luò)PID控制和本文提出的控制算法都有較好的控制效果,并且神經(jīng)網(wǎng)絡(luò)PID要優(yōu)于本文提出的控制算法。為了驗(yàn)證這兩種控制算法在實(shí)際應(yīng)用中的可行性,本文將算法燒錄到嵌入式系統(tǒng)中,搭載到本團(tuán)隊(duì)自主研制的共軸雙槳飛行器樣機(jī)上進(jìn)行了現(xiàn)場飛行試驗(yàn)。
對于神經(jīng)網(wǎng)絡(luò)PID控制算法,盡管在現(xiàn)場飛行試驗(yàn)中進(jìn)行了大量參數(shù)整定,但最終效果并不理想,過程中甚至出現(xiàn)了促進(jìn)偏差的控制量。通過調(diào)試程序發(fā)現(xiàn)這是由于控制程序未完整運(yùn)行造成的,這可以說明有著較大計(jì)算量的智能算法雖然能夠在數(shù)值模擬仿真系統(tǒng)中表現(xiàn)較好,但是現(xiàn)階段在運(yùn)算速度并不是特別快的嵌入式系統(tǒng)中并不適用。
對于本文提出的控制算法,在現(xiàn)場飛行試驗(yàn)中進(jìn)行一系列參數(shù)整定后,飛行器能夠較好地實(shí)現(xiàn)懸停飛行過程中的姿態(tài)穩(wěn)定,飛行試驗(yàn)中飛行器姿態(tài)角的時(shí)域描述如圖6所示。開始對飛行器施加外部干擾,對飛行器的滾轉(zhuǎn)角、俯仰角和航向角分別造成了約0.1,0.2,0.1 rad的擾動,去除干擾后在本文提出的控制算法的閉環(huán)控制下,飛行器的姿態(tài)角誤差在1 s時(shí)間里穩(wěn)定在了0.03 rad以內(nèi),在1.5 s時(shí)間里姿態(tài)角誤差基本為0。
通過對現(xiàn)場飛行試驗(yàn)結(jié)果的分析可以發(fā)現(xiàn),雖然外部干擾對飛行器的姿態(tài)角產(chǎn)生了較大影響,但是飛行器在本文提出的控制算法的閉環(huán)控制下依然能快速恢復(fù)穩(wěn)態(tài)??梢哉f明,對于共軸雙槳飛行器在姿態(tài)解耦基礎(chǔ)上利用串級PID與模糊控制結(jié)合的半自適應(yīng)控制方法能夠在嵌入式系統(tǒng)中應(yīng)用,而且有良好的控制效果。飛行試驗(yàn)驗(yàn)證了該算法在實(shí)際應(yīng)用中的可行性與有效性。
本文提出一種在姿態(tài)解耦基礎(chǔ)上利用串級PID與模糊控制相結(jié)合的半自適應(yīng)控制算法。該算法創(chuàng)新性地在共軸雙槳飛行器的姿態(tài)控制器中加入了姿態(tài)解耦器,并利用模糊控制器實(shí)現(xiàn)了PID控制器內(nèi)環(huán)參數(shù)的自適應(yīng)。仿真實(shí)驗(yàn)和飛行試驗(yàn)表明,該控制算法在數(shù)值模擬仿真系統(tǒng)中比傳統(tǒng)PID控制效果要好很多,比神經(jīng)網(wǎng)絡(luò)PID控制效果略差,但是在現(xiàn)場飛行試驗(yàn)中神經(jīng)網(wǎng)絡(luò)PID由于其計(jì)算量較大并不能在嵌入式系統(tǒng)中應(yīng)用,而本文提出的控制算法卻能表現(xiàn)出較好的控制效果。