陳保國,史春景,王 磊,吳東旭,郝永平
(沈陽理工大學兵器科學技術研究中心,遼寧 沈陽 110159)
近年來,隨著無人機(UAV,Unmanned Aerial Vehicle)行業的發展,自主飛行控制越來越成為無人機領域研究的熱點[1-2]。共軸雙槳飛行器(Coaxial Dual Rotor Aircraft)相比于其他機型有著結構緊湊、氣動特性對稱、推重比大、懸停效率高等優點[3-4]。旋翼折疊后可將整個飛行器放入彈體內,通過炮射或其他方法在短時間內到達指定空域,完成偵查、照明等任務,解決了普通飛行器航程短的問題,在軍用方面有著廣闊的應用前景[6-7]。
目前,對于共軸雙槳飛行器姿態的控制,傳統PID控制算法效果不理想[8],諸如基于神經網絡和深度學習的現代智能控制算法在仿真過程中有很好的表現,但由于其計算量大,在嵌入式系統中不能做到實時解算,因此難以獲得理想的控制效果[9-10]。本文針對上述在共軸雙槳飛行器懸停飛行姿態控制過程中存在的問題,提出一種在姿態解耦基礎上利用串級PID與模糊控制相結合的半自適應控制算法。
在對共軸雙槳飛行器姿態穩定算法進行數值模擬仿真之前,建立一個合理準確的數學模型是必不可少的[11]。建模過程中需要用到兩個坐標系:地面坐標系E(O,E,N,U)和機體坐標系B(O,X,Y,Z),如圖1所示。
對于地面坐標系,其坐標原點位于飛行器起飛點,E,N,U三個坐標軸分別指向東、北和天三個方位;對于機體坐標系,其坐標原點位于飛行器重心,X,Y,Z三個坐標軸分別指向飛行器的前、左和上三個方位。建立飛行器數學模型時本文假定飛行器為剛體,因此其遵循六自由度運動學方程和牛頓-歐拉動力學方程。
由剛體運動學方程,飛行器在地面坐標系下的線位移與在機體坐標系下的線速度的關系為:
(1)
式(1)中,x,y,z為飛行器在地面坐標系下的線位移;u,v,w為飛行器在機體坐標系下的線速度;φ,θ,ψ為飛行器的姿態角。c*,s*分別表示cos(*),sin(*)。
飛行器的姿態角與的角速度的關系為:
(2)
式(2)中,p,q,r為飛行器在機體坐標系下的角速度。
根據牛頓-歐拉公式,飛行器的動力學方程為:
(3)
(4)
式(3)、式(4)中,m為飛行器的質量,可直接測得;Fx,Fy,Fz為飛行器所受合力在三個坐標軸上的投影;J為飛行器的轉動慣量;Mx,My,Mz為飛行器所受合力矩在三個坐標軸上的投影。
式(3)中飛行器所受的力包括旋翼推力Ti(i∈{up,lw},代表上旋翼和下旋翼)、飛行器重力和機體阻力。本文只研究飛行器懸停飛行過程,飛行器機體阻力較小,可以忽略:
(5)
(6)
|Ti|=KT,iΩ2i
(7)
式(7)中,KT,i為推力系數,可通過試驗臺試驗求得;ai,bi為上下旋翼槳葉縱向/橫向揮舞角;Ω為旋翼角速度。
式(4)中飛行器轉動慣量為:
(8)
本團隊研制的共軸雙槳飛行器樣機采用對稱設計,Jxy,Jyz,Jxz數值非常小,可以忽略;Jxx,Jyy,Jzz為飛行器的固有屬性,可在建模軟件中對相關零件賦值真實密度直接獲得。
式(4)中飛行器所受力矩包括旋翼推力產生的力矩,槳葉揮舞力矩,旋翼阻力矩和旋翼反作用力矩:
(9)
式(9)中,Ii為飛行器重心到上下槳轂的距離,可在樣機中直接測量;Ksp,i為上下旋翼槳葉剛度系數,為槳葉固有參數;Qd,i為旋翼阻力矩;Qr,i為旋翼反作用力矩。
上式中上旋翼槳葉揮舞角與平衡桿滯后角有關,下旋翼槳葉揮舞角與傾斜盤角度即舵機輸入量有關。由于旋翼轉速高,槳葉揮舞角變化區間小,本文假定槳葉揮舞角與平衡桿滯后角和舵機輸入量之間為線性關系:
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為舵機輸入與揮舞角的同軸比例系數;Ab,lw,Ba,lw為舵機輸入與揮舞角的離軸比例系數;Aup,Bup,Alw,Blw為旋翼橫向/縱向揮舞補償量;θsb,φsb為平衡桿的橫向和縱向滯后角;δele,δail為縱向和橫向控制舵機的輸入量。上述各系數與補償量均可在通過試驗臺試驗獲得。
式(10)、式(11)中平衡桿滯后角與飛行器的滾轉角和俯仰角有關:
(14)
(15)
式(14)、式(15)中,τsb為時間常數,本文取在懸停速度下旋翼轉1/4圈所需要的時間,可通過試驗臺試驗獲得。
式(9)中由旋翼角速度產生的阻力矩為:
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為力矩系數,可通過試驗臺試驗獲得;[0 0 1]′,[0 0 -1]′表示上下旋翼阻力矩的方向。
式(9)中由旋翼角加速度產生的反作用力矩為:
(19)
(20)
式(9),式(20)中,Jup,Jlw為上下旋翼相對轉軸的轉動慣量,可在建模軟件中對相關零件賦值真實密度直接獲得;[0 0 1]′和[0 0 -1]′表示上下旋翼反作用力矩的方向。
旋翼角速度和角加速度與電機參數和控制量有關,本文研究飛行器懸停飛行過程,旋翼轉速變化鉸小,可以假定旋翼角加速度與電機輸入量的差值成正比:
(21)
式(21)中,Km,i為電機轉速系數,可通過試驗臺試驗獲得;Δδi為電機本次控制量與前一次控制量的差值。
至此,共軸雙槳飛行器的六自由度數學模型建立完畢。建模過程中涉及到較多試驗,要搭建多個試驗臺,需要高速攝像機、測力計、轉速表等設備,考慮到篇幅問題,本文不再詳細描述。
本文針對共軸雙槳飛行器懸停飛行過程提出的在姿態解耦基礎上利用串級PID與模糊控制相結合的半自適應控制算法主要由三部分組成:姿態解耦器、模糊控制器和PID控制器,其總體結構如圖2所示。
對飛行器姿態控制進行解耦可以縮小控制器的控制量區間,在改變飛行器姿態設定值時使控制更加高效。共軸雙槳飛行器存在兩種耦合:滾轉/俯仰與高度的耦合,傾斜盤角度即舵機輸入與滾轉/俯仰運動的耦合。
飛行器滾轉角和俯仰角改變時,旋翼產生的推力在地面坐標系Z軸上的分量也會改變,這就是滾轉/俯仰與高度的耦合。因此要保證飛行器飛行高度不變,在給舵機控制量時也要相應給電機控制量,對于這種耦合可以用PID控制器進行補償。
對于傾斜盤角度即舵機輸入量與滾轉/俯仰運動的耦合,若給定舵機的控制量未進行調整,飛行器懸停過程中機體會有歪扭現象,這種耦合對飛行器懸停過程影響較大。本文通過對輸入量進行基于當前飛行姿態的線性轉換進行解耦。由式(12)、式(13)可得出解耦方程:
(22)
(23)
飛行器姿態由解耦器和“控制器”共同控制,在改變飛行器姿態設定值時,解耦器使“控制器”需要產生的控制量減小,同時減小了姿態耦合對姿態控制的影響。
對于控制器中的PID控制,采用串級PID。外環PID期望角度值為ra(k),實際角度值為ca(k),控制偏差為:
ea(k)=ra(k)-ca(k)
(24)
其控制規律為:
ua(k)=Kpoea(k)+KIoeai(k)+KDoead(k)
(25)
(26)
ead(k)=ea(k)-ea(k-1)
(27)
式(25)中,Kpo為外環比例系數;KIo為外環積分系數;KDo為外環微分系數。Kpo,KIo,KDo的取值均需要在現場飛行試驗過程中整定。
對于內環PID,期望角速度值為外環PID的輸出值ua(k),實際角速度值為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為內環比例系數;KIi為內環積分系數;KDi為內環微分系數。Kpi,KIi,KDi的取值分為現場整定部分和模糊控制器的輸出部分:
Kpi=kp+Δkp
(32)
KIi=ki+Δki
(33)
KDi=kd+Δkd
(34)
式中,kp,ki,kd的取值均需在現場飛行試驗過程中整定。Δkp,Δki,Δkd為模糊控制器的輸出。
對于模糊控制器,選取偏差E、偏差變化率EC和控制器輸出量Δkp,Δki,Δkd的模糊子集為{NL,NM,NS,ZO,PS,PM,PL}將輸入量和輸出量均量化為7個等級。對于橫滾/俯仰控制的模糊論域的取值見表1,航向控制的模糊論域的取值見表2。

表1 橫滾/俯仰控制的模糊論域

表2 航向的模糊論域
模糊控制器中,輸入變量和輸出量均采用高斯隸屬度函數,對三個姿態角的控制采用相同的模糊規則,利用“中心-平均”法進行反模糊化。為了能夠直觀看出控制器輸入與輸出的立體結果,本文用空間曲面的形式將整個論域上的輸出量與輸入量之間的函數關系顯示出來,在曲面觀察器中得到的控制輸出的數值空間分布如圖3(a),(b),(c)所示,依次為橫滾/俯仰控制中Δkp,Δki, Δkd的數值空間分布,航向控制的輸出與橫滾/俯仰輸出在趨勢上相同。
由圖3可以看出,Δkp的取值隨E和EC總體上呈線性變化;當E和EC在0附近時,Δki變化較快,當E和EC絕對值較大時,Δki變化會逐漸變緩;當E和EC在0附近時,Δkd的值變化較慢且基本為0,當E和EC的絕對值較大時,Δkd的值將會近似呈指數型增長。對于該模糊控制器,總體上不同輸入產生的輸出曲面非常平滑,這說明控制過程沒有突變,原理上控制器設計較好。
為了驗證本文提出算法的可行性,首先在數值模擬仿真系統中對算法在原理上的可行性進行了驗證。
在仿真系統中,將飛行器及其控制過程分為五個模塊:手動輸入模塊、自動控制模塊、上旋翼模塊、下旋翼模塊和總體模塊,如圖4所示。其中,手動輸入模塊模擬操作員的手動輸入和外部干擾,自動控制模塊模擬嵌入式控制系統,下旋翼模塊負責飛行器下旋翼系統的動力學解算,上旋翼模塊負責飛行器上旋翼系統的動力學解算,總體模塊負責飛行器整體的運動學解算。
本團隊根據項目要求自主研制的共軸雙槳飛行器試驗樣機如圖4中整體部分所示,主要分為上旋翼系統、下旋翼系統和動力與傳動系統三個部分。上旋翼系統由平衡桿、上旋翼和內傳動軸等構成;下旋翼系統由操縱機構動環、下旋翼和外傳動軸等構成;動力與傳動系統主要由安裝臺、兩個伺服舵機、兩個直流無刷電機、嵌入式飛控系統和供電模塊等構成。
在數值模擬仿真過程中,前0.2 s對飛行器施加外部干擾,0.2 s之后消除外部干擾,分別得出無控制、采用傳統PID控制、采用本文提出的控制和采用神經網絡PID控制情況下的飛行器姿態角的變化。仿真過程中飛行器姿態角的期望值均為0,仿真過程姿態角變化的時域描述如圖5所示。
由圖5可以看出,在給定的外界擾動下,采用傳統PID控制,滾轉角和俯仰角最大誤差值達到了0.018 rad,航向角最大誤差值達到了0.073 rad;而采用本文設計的控制算法,滾轉角和俯仰角誤差約為0.013 rad,航向角誤差約為0.025 rad;采用神經網絡PID控制,滾轉角和俯仰角最大誤差值約為0.009 rad,航向角最大誤差值約為0.018 rad。采用傳統PID,需要1 s左右才能使飛行器達到穩態,而本文設計的控制算法使飛行器達到穩態僅需要約0.3 s,采用神經網絡PID控制使飛行器達到穩態也只需要約0.3 s。由仿真結果可以看出,在數值模擬仿真系統中,傳統PID控制算法、本文提出的控制算法和神經網絡PID控制算法都能夠使飛行器的姿態角收斂,但本文提出的控制算法和神經網絡PID控制算法能夠使姿態角收斂速度更快,在更短時間達到穩態,同時產生的超調量都比采用傳統PID控制產生的超調量小。神經網絡PID控制算法在抑制誤差方面要比本文提出的控制算法略優,在收斂時間方面兩者沒有太大差別。
數值模擬仿真的結果驗證了本文提出的在姿態解耦基礎上利用串級PID與模糊控制結合的半自適應控制算法在原理上的可行性。
在數值模擬仿真系統中,神經網絡PID控制和本文提出的控制算法都有較好的控制效果,并且神經網絡PID要優于本文提出的控制算法。為了驗證這兩種控制算法在實際應用中的可行性,本文將算法燒錄到嵌入式系統中,搭載到本團隊自主研制的共軸雙槳飛行器樣機上進行了現場飛行試驗。
對于神經網絡PID控制算法,盡管在現場飛行試驗中進行了大量參數整定,但最終效果并不理想,過程中甚至出現了促進偏差的控制量。通過調試程序發現這是由于控制程序未完整運行造成的,這可以說明有著較大計算量的智能算法雖然能夠在數值模擬仿真系統中表現較好,但是現階段在運算速度并不是特別快的嵌入式系統中并不適用。
對于本文提出的控制算法,在現場飛行試驗中進行一系列參數整定后,飛行器能夠較好地實現懸停飛行過程中的姿態穩定,飛行試驗中飛行器姿態角的時域描述如圖6所示。開始對飛行器施加外部干擾,對飛行器的滾轉角、俯仰角和航向角分別造成了約0.1,0.2,0.1 rad的擾動,去除干擾后在本文提出的控制算法的閉環控制下,飛行器的姿態角誤差在1 s時間里穩定在了0.03 rad以內,在1.5 s時間里姿態角誤差基本為0。
通過對現場飛行試驗結果的分析可以發現,雖然外部干擾對飛行器的姿態角產生了較大影響,但是飛行器在本文提出的控制算法的閉環控制下依然能快速恢復穩態。可以說明,對于共軸雙槳飛行器在姿態解耦基礎上利用串級PID與模糊控制結合的半自適應控制方法能夠在嵌入式系統中應用,而且有良好的控制效果。飛行試驗驗證了該算法在實際應用中的可行性與有效性。
本文提出一種在姿態解耦基礎上利用串級PID與模糊控制相結合的半自適應控制算法。該算法創新性地在共軸雙槳飛行器的姿態控制器中加入了姿態解耦器,并利用模糊控制器實現了PID控制器內環參數的自適應。仿真實驗和飛行試驗表明,該控制算法在數值模擬仿真系統中比傳統PID控制效果要好很多,比神經網絡PID控制效果略差,但是在現場飛行試驗中神經網絡PID由于其計算量較大并不能在嵌入式系統中應用,而本文提出的控制算法卻能表現出較好的控制效果。