楊立本, 魏文軍, 楊劍鋒, 李泰國, 王 棟
(1. 蘭州交通大學自動化與電氣工程學院, 甘肅 蘭州 710072;2. 中國航天科技集團第五研究院510研究所, 甘肅 蘭州 710072)
近年來,多旋翼飛行器在軍事和民用領(lǐng)域得到了越來越廣泛的應(yīng)用[1],目前多旋翼飛行器以四旋翼、六旋翼結(jié)構(gòu)為主[2],其旋翼無法實現(xiàn)傾轉(zhuǎn),推力方向固定,無法實現(xiàn)推力矢量控制。隨著無人飛行器任務(wù)復(fù)雜度的提高,固定推力方向的多旋翼飛行器局限性越來越大,而推力矢量控制對無人飛行器的機動性有非常關(guān)鍵的作用,橫列式雙旋翼矢量飛行器作為一種新型無人機結(jié)構(gòu),具備續(xù)航時間長、與固定翼結(jié)合實現(xiàn)垂直起降(vertical take-off and landing, VTOL)等優(yōu)勢,其飛行包線要大于固定翼和旋翼機,具備更大的飛行范圍。
作為一種新型結(jié)構(gòu)的無人機,橫列式雙旋翼矢量飛行器穩(wěn)定性較低,抗風擾能力較差,該飛行器的控制量分別為兩個電機的轉(zhuǎn)速和傾轉(zhuǎn)角度,其控制策略也和普通多旋翼飛行器不同,偏航運動是由左右兩個旋翼同時前后差動傾轉(zhuǎn)控制,俯仰運動是由左右兩個旋翼同時向前或向后傾轉(zhuǎn)控制,滾轉(zhuǎn)運動是由左右兩個旋翼的轉(zhuǎn)速差控制。由于旋翼距機身較遠,下洗氣流對機身的影響較小,但由于其機械結(jié)構(gòu)復(fù)雜、抗干擾能力弱、飛行控制系統(tǒng)復(fù)雜的特點,目前國內(nèi)外對其飛行控制的研究較少,文獻[3]利用無模型自適應(yīng)控制實現(xiàn)了可傾轉(zhuǎn)雙旋翼飛行器的控制;文獻[4]針對其自主研發(fā)的可傾轉(zhuǎn)雙旋翼飛行器設(shè)計了姿態(tài)控制系統(tǒng);文獻[5]研制了一種傾轉(zhuǎn)旋翼與固定翼結(jié)合的小型直升機。文獻[6]針對傾轉(zhuǎn)三旋翼飛行器,利用計算流體力學的方法實現(xiàn)了飛行器的精確建模;文獻[7]利用模型預(yù)測控制實現(xiàn)了傾轉(zhuǎn)三旋翼飛行器的懸??刂?文獻[8]設(shè)計了三旋翼飛行器的容錯控制算法;文獻[9]針對傾轉(zhuǎn)多旋翼飛行器,設(shè)計了一種姿態(tài)非線性時變控制器;文獻[10]利用智能比例微分(proportional derivative,PD)控制器實現(xiàn)了對傾轉(zhuǎn)多旋翼飛行器的三維軌跡控制;文獻[11]針對后伺服舵機卡死故障,設(shè)計了傾轉(zhuǎn)三旋翼飛行器的容錯飛行控制系統(tǒng)。文獻[12]利用線性化控制分配方案實現(xiàn)了傾轉(zhuǎn)多旋翼飛行器的控制;文獻[13]基于模型動態(tài)逆理論實現(xiàn)了可傾轉(zhuǎn)四旋翼飛行器的控制;文獻[14]利用自抗擾控制(active disturbance rejection control,ADRC)算法實現(xiàn)了對可傾轉(zhuǎn)四旋翼飛行器的控制;文獻[15]針對可傾轉(zhuǎn)多旋翼飛行器的過渡過程,設(shè)計了一種魯棒H∞控制器;文獻[16]針對XV-15傾轉(zhuǎn)旋翼飛行器的單發(fā)故障,設(shè)行器的姿態(tài)控制;文獻[17]利用比例積分微分(proportional integral derivative,PID)控制和線性二次型最優(yōu)控制實現(xiàn)了可傾轉(zhuǎn)飛行器的姿態(tài)控制;文獻[18]設(shè)計了一種可傾轉(zhuǎn)多旋翼和固定翼結(jié)合的飛行器結(jié)構(gòu),延長了飛行器的續(xù)航距離;文獻[19]根據(jù)仿生學原理,依據(jù)蝙蝠的飛行原理設(shè)計了一種可傾轉(zhuǎn)微小型飛行器,實現(xiàn)了固定翼和多旋翼的結(jié)合;文獻[20]推導了可傾轉(zhuǎn)垂直起降飛行器的數(shù)學模型,設(shè)計了一種魯棒回路成形控制器;文獻[21]設(shè)計了一種全驅(qū)動多旋翼飛行器,具備更強的機動性,可以實現(xiàn)傾斜狀態(tài)下的靜止懸停;文獻[22]利用ADRC實現(xiàn)了可傾轉(zhuǎn)多旋翼飛行器的姿態(tài)控制。
綜上所述,目前對傾轉(zhuǎn)旋翼飛行器的研究主要集中在可傾轉(zhuǎn)三旋翼和四旋翼,對可傾轉(zhuǎn)雙旋翼飛行器的抗外界干擾控制研究較少,本文針對該飛行器的控制特性,提出一種ADRC的姿態(tài)解耦控制算法,實現(xiàn)了該飛行器姿態(tài)控制系統(tǒng)的動態(tài)解耦線性化,利用擴展狀態(tài)觀測器(extend states observers,ESO)實現(xiàn)對外界干擾和狀態(tài)間耦合干擾的實時估計,并對復(fù)合干擾進行實時補償,由于姿態(tài)解耦控制算法中參數(shù)較多,本文利用改進的粒子群優(yōu)化算法(particle swarm optimization, PSO)優(yōu)化算法對參數(shù)進行整定。
要精確建立橫列式雙旋翼飛行器的模型,和傳統(tǒng)的多旋翼飛行器相比,需設(shè)定左旋翼坐標系和右旋翼坐標系,其系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 橫列式雙旋翼矢量飛行器結(jié)構(gòu)圖Fig.1 Structural diagram of tilting dual-fan vector aircraft
該飛行器的滾轉(zhuǎn)運動由左右旋翼的轉(zhuǎn)速差來控制,高度由同時增加或減小左右旋翼的轉(zhuǎn)速來控制,俯仰運動由左右旋翼的同向傾轉(zhuǎn)來控制,偏航運動由左右旋翼的差動傾轉(zhuǎn)來控制。
要建立飛行器的六自由度非線性模型,需設(shè)定兩個旋翼坐標系,左旋翼坐標系的原點Or1為左旋翼槳轂的幾何中心,Zr1沿旋翼轉(zhuǎn)軸向上,Xr1垂直于Zr1指向前方,當傾轉(zhuǎn)角度為零時Xr1和機體坐標系的XB平行,Yr1根據(jù)右手法則確定,右旋翼坐標系的確定方法相同。機體坐標系的原點OB為飛行器的重心,XB垂直于機體對稱軸指向前方,YB垂直于XB和機體對稱軸組成的平面并指向左方,ZB根據(jù)右手法則確定。
從機體坐標系到地面坐標系的轉(zhuǎn)換矩陣為
(1)
為方便表述,c代表cos,s代表sin。旋翼坐標系的Zr軸和機體坐標系的ZB軸夾角為旋翼的傾轉(zhuǎn)角,飛行器的俯仰運動和偏航運動都由左右旋翼的傾轉(zhuǎn)角來控制,設(shè)控制偏航運動的差動傾轉(zhuǎn)角為α,則旋翼坐標系到機體坐標系的轉(zhuǎn)換矩陣如下所示:
(2)
(3)
控制俯仰運動的同向傾轉(zhuǎn)角為β,則旋翼坐標系到機體坐標系的轉(zhuǎn)換矩陣如下所示:
(4)
根據(jù)牛頓歐拉方程,得到系統(tǒng)的數(shù)學模型為
(5)
式中:FB和ΓB分別代表機體坐標系下飛行器所受到的力和力矩;Ω為飛行器在機體坐標系下的角速率;VB為機體坐標系下的速度矢量。
將左右旋翼提供的升力轉(zhuǎn)換到機體坐標系,其轉(zhuǎn)換公式如下所示:
(6)
(7)
式中:ω1和ω2分別為左右電機的轉(zhuǎn)速;kt為拉力系數(shù)。在地面坐標系下載體的位置和速度公式如下所示:
(8)
式中:ξ,v∈R3分別代表地面坐標系下的載體位置和速度。
飛行器的角運動由其所受的力矩控制,作用于飛行器上的力矩主要包括旋翼升力產(chǎn)生的力矩、旋翼的反扭矩、旋翼的陀螺力矩和重力力矩。由于在飛行器的平衡狀態(tài)下,左右旋翼的反扭矩和陀螺力矩相互抵消,可忽略其影響,由左右旋翼升力所產(chǎn)生的力矩如下式所示:
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
定義橫列式雙旋翼飛行器的控制量如下:
(17)
ADRC利用ESO實現(xiàn)對系統(tǒng)復(fù)合擾動的估計[23-29],對系統(tǒng)建模精度要求較低,由跟蹤微分器(tracking differentiator, TD)、非線性狀態(tài)誤差反饋控制律(nonlinear state error feedback, NLSEF)和ESO構(gòu)成。文獻[30]利用ADRC實現(xiàn)了對多輸入多輸出(multiple input multiple output, MIMO)非線性系統(tǒng)的解耦控制;文獻[31]利用ADRC實現(xiàn)了對柔性機械手臂的控制;文獻[32]利用ADRC實現(xiàn)了對導彈姿態(tài)的自適應(yīng)控制;ADRC的結(jié)構(gòu)如圖2所示。
圖2 ADRC控制結(jié)構(gòu)Fig.2 Structure diagram of ADRC
橫列式雙旋翼矢量飛行器姿態(tài)控制是整個飛行控制的關(guān)鍵和基礎(chǔ),其位置控制精度由姿態(tài)控制精度決定,因此精確地控制飛行器姿態(tài),就可以實現(xiàn)對其位置和速度的高精度控制。本文提出一種改進的ADRC橫列式雙旋翼飛行器姿態(tài)高精度控制算法,飛行器的姿態(tài)子系統(tǒng)方程如式(14)~式(16)所示,將其整理可得
(18)
式中:
(19)
(20)
可見其姿態(tài)控制系統(tǒng)為非線性耦合系統(tǒng),fi(i=1,2,3)為姿態(tài)控制系統(tǒng)的耦合部分,本文利用ESO實現(xiàn)對耦合部分和外界干擾的估計,在NLSEF中對復(fù)合干擾進行實時補償,實現(xiàn)了姿態(tài)控制系統(tǒng)的動態(tài)反饋線性化,其姿態(tài)控制結(jié)構(gòu)如圖3所示。
圖3 橫列式雙旋翼矢量飛行器姿態(tài)控制系統(tǒng)結(jié)構(gòu)Fig.3 Structure of attitude control system for tilting dual-fan vector aircraft
2.2.1 安排過渡過程
二階最速反饋積分串聯(lián)型系統(tǒng)如下所示:
(21)
x1(t)可在r的限定下最快速地跟蹤信號u(t),x2(t)為u(t)的微分,符號函數(shù)sign(·)會導致系統(tǒng)產(chǎn)生穩(wěn)態(tài)顫振,因此采用非線性函數(shù)fhan代替,則跟蹤微分器如下所示:
(22)
式中:
(23)
(24)
2.2.2 基于ESO的橫列式雙旋翼姿態(tài)控制系統(tǒng)動態(tài)補償線性化
根據(jù)式(18),將橫列式雙旋翼矢量飛行器的滾轉(zhuǎn)角φ狀態(tài)方程寫成如下形式:
(25)
(26)
對上述狀態(tài)方程設(shè)計擴張狀態(tài)觀測器如下:
(27)
式中:
(28)
合理選擇參數(shù)β01、β02、β03和ai,則觀測器狀態(tài)變量zi能精確地跟蹤系統(tǒng)狀態(tài)變量xi,由于z3→x3=f(·,ω),f(·)和ω為未知量,擴張狀態(tài)z3可實現(xiàn)對系統(tǒng)復(fù)合擾動的精確估計,橫列式雙旋翼矢量飛行器的俯仰角θ和偏航角Ψ采用相同的算法處理。
2.2.3 橫列式雙旋翼矢量飛行器的非線性誤差反饋
ADRC采用非線性誤差組合,其控制精度優(yōu)于線性組合,NLSEF如下所示:
(29)
式中:u2為滾轉(zhuǎn)角控制輸入;u3為俯仰角控制輸入;u4為偏航角控制輸入;b1=cacβ;b2=-Tlpca;b3=-Tlmcβ;b3=-Tlmcβ;h1為精度因子。
橫列式雙旋翼矢量飛行器姿態(tài)控制算法中需要整定的參數(shù)較多,TD中需要整定參數(shù)包括濾波因子h0和速度因子r0,ESO中的參考包括a1、a2、δ、β01、β02和β03,NLSEF的參數(shù)包括精度因子h1、阻尼系數(shù)c和控制量增益r。其中速度因子r0是由過渡過程的快慢來決定,r0和h0根據(jù)實際情況進行選擇。a1一般取0.5,a2為0.25,δ一般取值為0.01左右。β01,β02,β03并不依賴于控制對象。本文利用改進的PSO算法對控制量增益r、阻尼系數(shù)c和精度因子h1這3個參數(shù)進行優(yōu)化組合,從而實現(xiàn)姿態(tài)系統(tǒng)的最優(yōu)控制。
根據(jù)橫列式雙旋翼矢量飛行器的控制特性和性能要求來確定適應(yīng)度函數(shù)。本文根據(jù)實際控制需要構(gòu)造的適應(yīng)度函數(shù)如下:
fitness(tr,δ,abs_e)=λ1tr+λ2δ+λ3abs_e
(30)
式中:tr為系統(tǒng)上升時間;δ為系統(tǒng)超調(diào)量;abs_e為控制誤差絕對值的和;λi(i=1,2,3)為權(quán)重值。
下面利用改進PSO算法實現(xiàn)對飛行器姿態(tài)控制系統(tǒng)的參數(shù)優(yōu)化,在PSO算法中,慣性權(quán)重的選取對優(yōu)化性能影響較大,較大的慣性權(quán)重有利于跳出局部極小值,但不利于算法的收斂,較小的慣性權(quán)重有利于算法的收斂,但容易陷入局部極小值,本文設(shè)計了一種自適應(yīng)的慣性權(quán)重,判斷當前粒子的適應(yīng)度值和粒子適應(yīng)度均值的大小,當適應(yīng)度小于均值時,計算其慣性權(quán)重:
(31)
式中:f為當前粒子的適應(yīng)度;fmin為粒子適應(yīng)度的極小值;favg為粒子適應(yīng)度均值;ωmin和ωmax為慣性權(quán)重的極小值和極大值。
當適應(yīng)度值大于均值時,選取最大的慣性權(quán)重,這樣既有利于算法跳出局部極小值,又能夠使算法收斂。
改進的參數(shù)自尋優(yōu)算法如下。
步驟 1根據(jù)約束條件,產(chǎn)生隨機的三維粒子。
步驟 2將三維粒子作為參數(shù)代入到橫列式雙旋翼飛行器的姿態(tài)控制算法中,計算適應(yīng)度值。
步驟 3將步驟2計算得到的適應(yīng)度值與粒子個體最優(yōu)Pi的適應(yīng)度值進行比較,如優(yōu)于Pi則更新個體最優(yōu)適應(yīng)度值Pi。
步驟 4比較步驟3計算得到的個體最優(yōu)適應(yīng)度值Pi和粒子全局最優(yōu)適應(yīng)值Pg,如Di 步驟 5計算所有粒子的適應(yīng)度均值,判斷當前粒子的適應(yīng)度值和適應(yīng)度均值的大小,并根據(jù)式(31)更新當前粒子的慣性權(quán)重。 步驟 6對粒子的速度和位置進行更新。 步驟 7判斷是否超過優(yōu)化迭代次數(shù),如果沒有則返回步驟2,超過則停止。 橫列式雙旋翼矢量飛行器的姿態(tài)角期望值由其軌跡控制器得到,姿態(tài)角初值為0,當20 圖4 3種算法的滾轉(zhuǎn)角控制曲線圖Fig.4 Roll angle control curves of three algorithms 圖5 3種算法的滾轉(zhuǎn)角控制誤差曲線圖Fig.5 Error curves of roll angle control for three algorithms 圖6 3種算法的滾轉(zhuǎn)角控制誤差放大圖Fig.6 Magnifying curve of roll angle control error for three algorithms 圖7~圖9為橫列式雙旋翼矢量飛行器的俯仰角曲線,從圖中可以看出,本文算法和反步控制及PID控制相比,抗干擾能力更強,控制精度更高。從局部放大圖中可以看出,在20 圖7 3種算法的俯仰角控制曲線圖Fig.7 Pitch angle control curves of three algorithms 圖8 3種算法的俯仰角控制誤差曲線圖Fig.8 Error curves of pitch angle control for three algorithms 圖9 3種算法的俯仰角控制誤差放大圖Fig.9 Magnifying curve of pitch angle control error for three algorithms 圖10為ESO對滾轉(zhuǎn)通道和俯仰通道復(fù)合干擾的估計,復(fù)合干擾包括外界擾動、狀態(tài)間耦合項和未建模動態(tài),從圖中可以看出,ESO可以實現(xiàn)對復(fù)合干擾項的精確估計。圖11為復(fù)合擾動下的軌跡跟蹤曲線,在出現(xiàn)外界干擾時,本文算法改善了飛行器的軌跡跟蹤性能。圖12為飛行器姿態(tài)控制系統(tǒng)的參數(shù)尋優(yōu)曲線,采用自適應(yīng)的慣性權(quán)重,改進PSO參數(shù)優(yōu)化的粒子為50個三維粒子,優(yōu)化迭代次數(shù)為40,控制量增益r∈(10,1 000),阻尼系數(shù)c∈(0.5,50),精度因子h1∈(0.000 01,0.01)。上升時間tr的權(quán)重λ1為1,超調(diào)量δ的權(quán)重λ2為700,控制誤差abs_e的權(quán)重λ3為100??梢钥闯?,相比傳統(tǒng)的PSO優(yōu)化算法其參數(shù)尋優(yōu)能力更強。在不同粒子數(shù)下,對本文改進PSO算法和傳統(tǒng)算法進行了詳細比較,其運行時間如表1所示,單位為s,改進PSO算法較傳統(tǒng)算法最長時間差為0.906 7 s,增加0.7%的運行時間,在合理范圍之內(nèi)。 圖10 ESO對復(fù)合干擾的估計曲線Fig.10 Estimation curve of compound interference 圖11 3種姿態(tài)控制算法的軌跡跟蹤對比曲線Fig.11 Trajectory tracking comparison curves of three attitude control algorithms 圖12 改進PSO參數(shù)尋優(yōu)曲線對比Fig.12 Comparison of improved PSO parameter optimization curves 表1 算法運行時間比較 圖13為進行的橫列式雙旋翼矢量飛行器的懸停實驗,飛行器可以在指定高度實現(xiàn)穩(wěn)定的懸停,由于雙旋翼飛行器的旋翼個數(shù)少,其飛行噪聲較低,續(xù)航時間也更長。 圖13 橫列式雙旋翼矢量飛行器懸停試驗Fig.13 Hover test of tilting dual-fan vector aircraft 本文針對一種新型的橫列式雙旋翼矢量飛行器,為解決其姿態(tài)間耦合嚴重,抗干擾能力弱等問題,提出了一種抗干擾姿態(tài)解耦控制算法,本文算法的創(chuàng)新性總結(jié)如下。 (1) 利用改進的ADRC算法實現(xiàn)對橫列式雙旋翼矢量飛行器姿態(tài)的高品質(zhì)控制,由于其姿態(tài)控制系統(tǒng)耦合嚴重,抗擾動能力弱,利用ESO實現(xiàn)對復(fù)合擾動的精確估計,并直接通過前饋的方式對擾動進行補償,由于復(fù)合擾動包括姿態(tài)間耦合項和外界干擾,從而實現(xiàn)了姿態(tài)間解耦控制,簡化了姿態(tài)控制器的設(shè)計,具有較強的抗外界干擾能力。 (2) 由于傳統(tǒng)PSO算法容易陷入局部極小值,本文引入一種自適應(yīng)的慣性權(quán)重,根據(jù)粒子的適應(yīng)度值來計算慣性權(quán)重,根據(jù)當前粒子的適應(yīng)度值和粒子適應(yīng)度均值關(guān)系,自適應(yīng)計算慣性權(quán)重,既有利于算法跳出局部極小值,又能夠使算法收斂。 (3) 設(shè)計了實際飛行控制硬件系統(tǒng),包括慣性導航系統(tǒng)和飛行控制系統(tǒng),可以實現(xiàn)對橫列式雙旋翼矢量飛行器的穩(wěn)定懸??刂啤?/p>4 算法仿真及實驗
4.1 姿態(tài)角跟蹤仿真
4.2 復(fù)合干擾的估計和改進PSO參數(shù)優(yōu)化
4.3 橫列式雙旋翼矢量飛行器懸停實驗
5 結(jié) 論