王曉海, 孟秀云, 李傳旭
(北京理工大學(xué)宇航學(xué)院, 北京 100081)
近年來,無人機(jī)在軍事領(lǐng)域和民用領(lǐng)域中的應(yīng)用越來越廣泛,其中固定翼無人機(jī)以其航程長、飛行速度快、載重量大等優(yōu)點(diǎn)引起了人們的重視。固定翼無人機(jī)主要采用傾斜轉(zhuǎn)彎(bank-to-turn, BTT)的控制方式,目前主要的BTT航跡跟蹤方法有基于比例積分微分(proportional integral derivative,PID)控制的跟蹤算法、非線性制導(dǎo)算法、向量場算法及純追蹤與視線角(pure pursuit and line of sight, PLOS)組合制導(dǎo)算法等。文獻(xiàn)[1]使用PID控制方法與微分幾何制導(dǎo)算法對(duì)無人機(jī)航跡跟蹤方法進(jìn)行了設(shè)計(jì)與驗(yàn)證;文獻(xiàn)[2]將非線性制導(dǎo)算法進(jìn)行了改進(jìn),引入了一種自適應(yīng)引導(dǎo)長度,提高了算法的跟蹤性能;文獻(xiàn)[3-4]提出了向量場算法,并使用Lyapunov方法對(duì)算法的穩(wěn)定性進(jìn)行了證明;文獻(xiàn)[5]對(duì)PLOS算法的抗干擾能力進(jìn)行了討論。
模型預(yù)測控制(model predictive control, MPC)是20世紀(jì)70年代后期提出的一類新型計(jì)算機(jī)控制算法,是一種屬于基于模型預(yù)測的啟發(fā)式控制算法[6]。模型預(yù)測控制器具有設(shè)計(jì)簡單、易于實(shí)現(xiàn)等優(yōu)點(diǎn),一經(jīng)問世,便在電力、化工等復(fù)雜工業(yè)過程控制中取得了巨大成功。近年來,MPC在飛行器控制問題中得到了大量應(yīng)用。文獻(xiàn)[7]對(duì)MPC中用于預(yù)測的模型進(jìn)行泰勒展開,得到近似的線性模型,并對(duì)線性化后的模型應(yīng)用了預(yù)測控制。文獻(xiàn)[8-10]將目標(biāo)的運(yùn)動(dòng)考慮到預(yù)測模型中,用MPC實(shí)現(xiàn)了無人飛行器對(duì)運(yùn)動(dòng)目標(biāo)的跟蹤與著陸。
本文針對(duì)固定翼無人機(jī)BTT的側(cè)向航跡跟蹤問題,采用動(dòng)態(tài)逆方法將模型線性化,基于線性化后的模型,設(shè)計(jì)基于狀態(tài)擴(kuò)展的雙反饋模型預(yù)測控制器,并使用量子粒子群優(yōu)化(quantum particle swarm optimization, QPSO)算法對(duì)控制器參數(shù)進(jìn)行優(yōu)化,為進(jìn)一步提高控制器的抗干擾性能,引入擴(kuò)張狀態(tài)觀測器(extended states observer, ESO)對(duì)未知干擾進(jìn)行觀測,并在控制律中進(jìn)行補(bǔ)償。最后,結(jié)合實(shí)際工程應(yīng)用對(duì)本文設(shè)計(jì)的控制器性能進(jìn)行了仿真分析。
可推導(dǎo)出無人機(jī)側(cè)向航跡跟蹤模型為
(1)
式中,an為無人機(jī)的側(cè)向過載,忽略無人機(jī)的側(cè)滑角影響,則an與無人機(jī)滾轉(zhuǎn)角γ的關(guān)系為
an=gtanγ
(2)
由滾轉(zhuǎn)舵偏角δx到滾轉(zhuǎn)角運(yùn)動(dòng)的傳遞函數(shù)[11]為
(3)
式中,Kx為無人機(jī)滾轉(zhuǎn)運(yùn)動(dòng)傳遞系數(shù);Tx為無人機(jī)滾轉(zhuǎn)運(yùn)動(dòng)時(shí)間常數(shù)。由式(1)~式(3)可得完整的無人機(jī)側(cè)向航跡跟蹤模型為
(4)
(5)
考慮式(4)所示的單輸入單輸出非線性系統(tǒng)
定義 1系統(tǒng)的相對(duì)階。當(dāng)以下條件滿足時(shí),式(4)所描述的非線性系統(tǒng)在x=x(t0)的鄰域內(nèi)存在相對(duì)階r:
(6)
若系統(tǒng)在x=x(t0)處的相對(duì)階與狀態(tài)空間的維數(shù)相等,則通過坐標(biāo)變換
(7)
可得原系統(tǒng)的狀態(tài)變量經(jīng)坐標(biāo)變換后的坐標(biāo)zi=φi(x),經(jīng)坐標(biāo)變換后的系統(tǒng)的狀態(tài)空間方程為
(8)
(9)
預(yù)測控制中的預(yù)測模型可分為參數(shù)化模型和輸入/輸出模型。參數(shù)化模型指根據(jù)系統(tǒng)運(yùn)作原理進(jìn)行建模得到的模型,如參數(shù)化狀態(tài)空間模型等。輸入/輸出模型指對(duì)系統(tǒng)的輸入與輸出之間的關(guān)系進(jìn)行處理得到的模型,如階躍響應(yīng)模型、脈沖響應(yīng)模型、Wiener模型[12]、Hammmerstein模型[13-15]、Volterra模型[16],以及神經(jīng)網(wǎng)絡(luò)模型[17-19]與模糊模型等智能模型[20-21]。使用參數(shù)化模型的優(yōu)點(diǎn)是可以較為容易地對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)和穩(wěn)定性分析;缺點(diǎn)是在實(shí)際情況中,有時(shí)系統(tǒng)較為復(fù)雜,往往很難以較高的準(zhǔn)確度建立參數(shù)化模型。輸入/輸出模型的優(yōu)點(diǎn)是不需要詳細(xì)了解系統(tǒng)內(nèi)部運(yùn)作機(jī)理,對(duì)于難以獲得參數(shù)化模型的系統(tǒng)較為適用;其缺點(diǎn)在于需要對(duì)噪聲等干擾因素進(jìn)行建模,需要進(jìn)行參數(shù)辨識(shí)和模型校驗(yàn),過程相比于使用參數(shù)化模型來說更為繁瑣,并且有的模型(如階躍響應(yīng)模型等)只適用于描述穩(wěn)定的系統(tǒng)。無人機(jī)的參數(shù)化動(dòng)力學(xué)模型可以較為容易地根據(jù)氣動(dòng)數(shù)據(jù)計(jì)算得出,故本文采用參數(shù)化狀態(tài)空間模型進(jìn)行設(shè)計(jì)。
對(duì)于一個(gè)單輸入單輸出線性系統(tǒng)
(10)
對(duì)其進(jìn)行離散化可得
(11)
將式(11)的第一式的兩相鄰時(shí)刻的狀態(tài)作差,可得
x(k+1)-x(k)=Ad(x(k)-x(k-1))+Bd(u(k)-u(k-1))
(12)
x(k+1)=x(k)+AdΔx(k)+BdΔu(k)
(13)
則基于第k步系統(tǒng)狀態(tài),對(duì)k時(shí)刻之后i步系統(tǒng)狀態(tài)的預(yù)測值為
(14)
式中,NC為控制時(shí)域。
對(duì)于系統(tǒng)的輸出y(k),有
y(k+1)=y(k)+CdAdΔx(k)+CdBdΔu(k)
(15)
將y(k+1)擴(kuò)展為一個(gè)新的狀態(tài)變量,擴(kuò)展后的狀態(tài)空間模型為
xu(k+1)=Auxu(k)+BuΔu(k)
(16)
(17)
由擴(kuò)展后的狀態(tài)空間模型可得狀態(tài)變量在未來時(shí)刻的預(yù)測值為
(18)
(19)
式中,NP為預(yù)測時(shí)域,則系統(tǒng)在未來NP個(gè)時(shí)刻的輸出預(yù)測可以表示為
1922年5月前后,中共湘區(qū)委員會(huì)成立(湘區(qū)轄湖南及江西萍鄉(xiāng)),毛澤東任書記,委員有何叔衡、易禮容、李立三、郭亮、劉少奇等,區(qū)委機(jī)關(guān)仍設(shè)于此。
Y=Fxu(k)+ΘΔU
(20)
式中,
MPC以滾動(dòng)優(yōu)化確定控制策略。在每個(gè)時(shí)刻k,要計(jì)算出未來NC個(gè)時(shí)刻的控制增量,使系統(tǒng)在未來NP個(gè)時(shí)刻的預(yù)測輸出值逼近給定的期望值。將優(yōu)化性能指標(biāo)式定義為
J=(Yref-Y)TQ(Yref-Y)+ΔUTRΔU
(21)
式中,Q=diag(q1,q2,…,qNP)為誤差加權(quán)矩陣;R=diag(r1,r2,…,rNC)為控制增量加權(quán)矩陣。聯(lián)立式(20)與式(21),得
J=[Yref-Fxu(k)]TQ[Yref-Fxu(k)]-2ΔUTΘTQ[Yref-Fxu(k)]+ΔUT(ΘTQΘ+R)ΔU
(22)
ΔU=(ΘTQΘ+R)-1ΘTQ[Yref-Fxu(k)]
(23)
在滾動(dòng)優(yōu)化的策略下,只取ΔU中的第一個(gè)元素作為實(shí)際加入到系統(tǒng)輸入的控制增量,下一采樣時(shí)刻時(shí)刻加入系統(tǒng)輸入的控制增量則根據(jù)下一采樣時(shí)刻的系統(tǒng)狀態(tài)重新計(jì)算。式(23)可改寫為
ΔU=(ΘTQΘ+R)-1ΘTQYref-(ΘTQΘ+R)-1ΘTQFxu(k)
(24)
下一時(shí)刻控制變量的增量可以看作是由兩個(gè)部分組成,第一個(gè)部分是(ΘTQΘ+R)-1ΘTQYref的第一個(gè)元素,記為Kryref(k),第二個(gè)部分是(ΘTQΘ+R)-1ΘTQFxu(k)的第一個(gè)元素,記為Ksxu(k),則下一時(shí)刻系統(tǒng)狀態(tài)的預(yù)測值為
xu(k+1)=Axu(k)+BΔu(k)=(A-BKs)xu(k)+BKryref(k)
(25)
在狀態(tài)擴(kuò)展MPC中,Ks的最后一列與Kr相等,將Ks寫為Ks=[Kx,Kr],而狀態(tài)變量xu(k)=[Δx(k)T,y(k)]T,故Kx表示與原系統(tǒng)狀態(tài)變量相關(guān)的增益系數(shù),Kr表示為與原系統(tǒng)中輸出變量相關(guān)的增益系數(shù)。狀態(tài)擴(kuò)展MPC的框圖如圖2所示。
圖2 狀態(tài)擴(kuò)展MPC框圖
從圖2中可以看出,狀態(tài)擴(kuò)展MPC的形式為狀態(tài)與輸出雙反饋的結(jié)構(gòu)。而在常規(guī)的MPC中,由于沒有在狀態(tài)變量中擴(kuò)展輸出變量,故其結(jié)構(gòu)上只有狀態(tài)反饋而無輸出反饋。相比于常規(guī)的MPC,由于加入了輸出反饋,將輸出擴(kuò)展為新的狀態(tài)變量的MPC的輸出變量的控制趨勢會(huì)更快。
以第2節(jié)所述的模型作為被控模型,取采樣周期為0.1 s,預(yù)測時(shí)域?yàn)?00,指令為常值1,對(duì)比實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 對(duì)比實(shí)驗(yàn)仿真結(jié)果
從圖3中可以看出,當(dāng)控制時(shí)域相同時(shí),狀態(tài)擴(kuò)展MPC比常規(guī)的MPC更快進(jìn)入穩(wěn)態(tài)。由于控制時(shí)域?qū)PC算法的計(jì)算量有著較大的影響,故縮短控制時(shí)域?qū)τ诮档陀?jì)算量具有較大的意義。從仿真結(jié)果中可以推測出,當(dāng)二者響應(yīng)速度相同時(shí),狀態(tài)擴(kuò)展MPC所需的控制時(shí)域會(huì)小于常規(guī)MPC,狀態(tài)擴(kuò)展MPC的運(yùn)算速度具有一定的先進(jìn)性。
2.3.1 粒子更新方式
近年來,粒子群算法由于其建模簡單、易于實(shí)現(xiàn)等優(yōu)點(diǎn)在優(yōu)化問題中得到了廣泛的應(yīng)用。粒子群算法是一種群智能算法,其基本理論來源于對(duì)鳥群覓食活動(dòng)特征的觀察和仿真實(shí)驗(yàn)分析結(jié)果[22]。本文采用QPSO對(duì)MPC控制器參數(shù)進(jìn)行優(yōu)化。QPSO中粒子位置更新方式如式(26)~式(28)所示
(26)
(27)
(28)
2.3.2 粒子的評(píng)價(jià)
粒子的評(píng)價(jià)方式?jīng)Q定了粒子群算法優(yōu)化的方向,在實(shí)際工程應(yīng)用中,往往不希望舵機(jī)偏轉(zhuǎn)角度過大。故本文中對(duì)MPC航跡跟蹤控制器參數(shù)進(jìn)行優(yōu)化的目標(biāo)有兩個(gè),一個(gè)是使系統(tǒng)具有較好的動(dòng)態(tài)特性,另一個(gè)是使控制輸入量較小。取粒子代價(jià)函數(shù)為
fcost=ω1f1+ω2f2
(29)
式中,f1表示與系統(tǒng)動(dòng)態(tài)特性相關(guān)的代價(jià);f2表示與控制量相關(guān)的代價(jià);ω1和ω2為權(quán)值,為使權(quán)值更具有效性,需對(duì)f1與f2進(jìn)行標(biāo)準(zhǔn)化處理。
(30)
式中,e(t)是系統(tǒng)響應(yīng)與期望值之差;te為優(yōu)化過程中所取的最大仿真時(shí)間;emax為優(yōu)化過程中人為設(shè)置的最大誤差限值,當(dāng)|e(t)|>|emax|時(shí),取|e(t)|=|emax|,emax不宜取得過小。
標(biāo)準(zhǔn)化后的與控制量相關(guān)的代價(jià)f2定義為
(31)
式中,u(t)為控制輸入量;umax為實(shí)際系統(tǒng)中控制輸入的限幅值。則粒子的代價(jià)函數(shù)為
(32)
粒子的代價(jià)函數(shù)值越低,粒子的適應(yīng)度越高,粒子越符合優(yōu)化目標(biāo)的要求。
表1 標(biāo)準(zhǔn)化處理前后代價(jià)值對(duì)比
2.3.3 QPSO算法流程
QPSO算法的流程如下:
步驟 1確定優(yōu)化維數(shù)以及每一維的上下界,確定粒子評(píng)價(jià)方式,確定迭代終止條件,本文中終止條件為迭代到最大迭代次數(shù);
步驟 2初始化粒子種群;
步驟 3根據(jù)式(32)計(jì)算種群中每個(gè)粒子的代價(jià)值,記錄當(dāng)前代最優(yōu)粒子pO與全局最優(yōu)粒子pGO的位置;
步驟 4根據(jù)式(26)~式(28)所描述的方法進(jìn)行粒子更新;
步驟 5判斷是否達(dá)到終止條件,若達(dá)到則結(jié)束,輸出全局最優(yōu)粒子的位置,若未達(dá)到則轉(zhuǎn)到步驟3。
2.3.4 MPC參數(shù)設(shè)計(jì)
MPC控制器需要設(shè)計(jì)的參數(shù)包括采樣時(shí)間T、預(yù)測時(shí)域NP、控制時(shí)域NC、誤差加權(quán)矩陣Q和控制增量加權(quán)矩陣R。在MPC實(shí)際應(yīng)用中,要求采樣時(shí)間T滿足Shannon采樣定理。控制時(shí)域NC表示了所需要得到的控制增量改變的次數(shù),由于優(yōu)化是針對(duì)預(yù)測時(shí)域NP內(nèi)的系統(tǒng)狀態(tài)進(jìn)行的,故要求NC≤NP,NC的實(shí)際含義為用NC個(gè)優(yōu)化變量實(shí)現(xiàn)NP個(gè)點(diǎn)的輸出優(yōu)化,NP確定時(shí),NC越小,控制的機(jī)動(dòng)性越弱;NC越大,控制的機(jī)動(dòng)性越強(qiáng),但系統(tǒng)魯棒性越差[6]。誤差加權(quán)系數(shù)qi(i=1,2,…,P)通常取為同一個(gè)值q,控制增量加權(quán)系數(shù)ri(i=1,2,…,M)也取為同一個(gè)值r,q取得較大而r取得較小時(shí),系統(tǒng)的響應(yīng)較快,同時(shí)控制量變化也較大;相反,當(dāng)q取得較小而r取得較大時(shí),系統(tǒng)響應(yīng)較慢,同時(shí)控制量變化較小。
可以看出,MPC需要設(shè)計(jì)的參數(shù)較多,且參數(shù)之間存在一定的相互影響,若對(duì)簡單地對(duì)所有參數(shù)優(yōu)化范圍進(jìn)行設(shè)置,則參數(shù)在取值范圍內(nèi)的變化規(guī)律不具有實(shí)際意義,且優(yōu)化結(jié)果會(huì)較差,故本文對(duì)設(shè)計(jì)參數(shù)進(jìn)行一定的修改與簡化。對(duì)于控制時(shí)域NC,相較于自身的取值,其與NP的比值更加具有參考意義,故本文在優(yōu)化時(shí)將其取值范圍用(0,1]來簡化代替;誤差加權(quán)系數(shù)q和控制增量加權(quán)系數(shù)r的取值是相對(duì)的,故可取r為一固定值,只改變q。對(duì)于q,在優(yōu)化時(shí),若使其簡單地在一個(gè)線性范圍內(nèi)變化,則會(huì)使取值尺度失衡,即當(dāng)q=0.5r時(shí),q的取值為0.5,與q=r時(shí)q的取值相差為0.5,而當(dāng)q=2r時(shí),q的取值為2,與q=r時(shí)q的取值相差為1,也即粒子朝兩個(gè)方向運(yùn)動(dòng)時(shí)移動(dòng)的距離與產(chǎn)生的效果不均等,若初始粒子種群是在全優(yōu)化空間內(nèi)隨機(jī)產(chǎn)生的,則更多地粒子會(huì)處于q>r的位置上,不利于算法尋優(yōu),故采用如下方法對(duì)q進(jìn)行優(yōu)化,首先定義一變量qitm,取值范圍為(0,2),q與qitm的關(guān)系為
(33)
這樣,初始粒子在q>r和q 固定翼無人機(jī)航程跨度較大,飛行過程中模型參數(shù)不確定性較高,且可能存在其他未知干擾。為進(jìn)一步提高系統(tǒng)的魯棒性,對(duì)無人機(jī)側(cè)向航跡跟蹤系統(tǒng)引入干擾觀測器。將系統(tǒng)參數(shù)不確定性與未知干擾合并看作系統(tǒng)的總干擾,無人機(jī)側(cè)向航跡跟蹤系統(tǒng)模型可以表示為 (34) 則系統(tǒng)的總干擾為 (35) (36) (37) 式中,ωo為觀測器的觀測帶寬。將觀測的總干擾代入到控制律中,實(shí)現(xiàn)對(duì)干擾的補(bǔ)償,則基于ESO的控制律為 (38) 圖4 仿真結(jié)果分析 從仿真結(jié)果中可以看出,本文設(shè)計(jì)的控制器能夠?qū)χ噶钸M(jìn)行較好的跟蹤,響應(yīng)無超調(diào),無靜差。 為驗(yàn)證系統(tǒng)的抗干擾能力,現(xiàn)將干擾加入到系統(tǒng)中??紤]無人機(jī)氣動(dòng)參數(shù)的不確定性和飛行過程中飛行速度變化、測量元件的誤差以及執(zhí)行機(jī)構(gòu)的響應(yīng)過程等干擾因素,在數(shù)學(xué)仿真中加入干擾,動(dòng)力系數(shù)拉偏為1.2,對(duì)于飛行速度的干擾施加形式為在Vm上加入一個(gè)幅值為20 m/s的正弦擾動(dòng),即Vm=120+20 sin(0.5t),單位為m/s,在仿真系統(tǒng)中的滾轉(zhuǎn)角測量值上加入一個(gè)幅值為±0.5°的均勻分布誤差,對(duì)于執(zhí)行機(jī)構(gòu)的響應(yīng)過程這一干擾因素,本文中的側(cè)向航跡跟蹤系統(tǒng)的執(zhí)行機(jī)構(gòu)為無人機(jī)的滾轉(zhuǎn)舵,將舵機(jī)等效為一個(gè)二階環(huán)節(jié),如式(39)所示。 (39) 圖5 加入干擾后的仿真結(jié)果 可以看出,在無人機(jī)速度存在一定變化且測量元件與執(zhí)行機(jī)構(gòu)存在一定誤差的情況下,本文設(shè)計(jì)的控制器的響應(yīng)依然較為平滑且無超調(diào),在存在常值干擾力矩時(shí),控制器能夠消除干擾力矩的影響,使系統(tǒng)響應(yīng)無靜差。 在實(shí)際情況中,期望航跡往往不是一條一成不變的直線,而是由多個(gè)連續(xù)折線段組成的。當(dāng)需要無人機(jī)對(duì)折線航跡進(jìn)行跟蹤時(shí),可以選取水平面內(nèi)某一直線為基準(zhǔn)線,以基準(zhǔn)線為x軸,基準(zhǔn)線所對(duì)應(yīng)的z坐標(biāo)為0,MPC中的側(cè)向航跡偏差指令序列zΔei(i=1,2,…,NP)為 (40) 式中,其中k為期望航跡的斜率;b為期望航跡的截距。假設(shè)無人機(jī)初始位置的(x,z)坐標(biāo)為(0 m,2 000 m),第一段期望航跡與基準(zhǔn)線平行,距離基準(zhǔn)線2 000 m,長度為500 m,起點(diǎn)為(0 m,2 000 m),終點(diǎn)為(500 m,2 000 m),第二段期望航跡為z=-x+2 500,起點(diǎn)為(500 m,2 000 m),終點(diǎn)為(2 500 m,0 m),第三段期望航跡與基準(zhǔn)線重合,起始位置坐標(biāo)為(2 500 m,0 m)。仿真結(jié)果如圖6所示。可以看出,無人機(jī)在航跡段切換時(shí)具有一定的預(yù)見性,這是因?yàn)镸PC的輸入是一個(gè)指令序列,而不是一個(gè)單獨(dú)的指令。仿真結(jié)果表明本文設(shè)計(jì)的無人機(jī)側(cè)向航跡跟蹤控制器可以較好地對(duì)折線航跡進(jìn)行跟蹤。 圖6 折線航跡跟蹤效果 本文針對(duì)固定翼無人機(jī)BTT的轉(zhuǎn)彎控制問題,首先建立了固定翼無人機(jī)BTT側(cè)向航跡跟蹤運(yùn)動(dòng)模型,使用動(dòng)態(tài)逆方法對(duì)建立的模型進(jìn)行線性化,針對(duì)線性化后的模型設(shè)計(jì)了基于狀態(tài)擴(kuò)展的雙反饋模型預(yù)測控制器。之后,利用QPSO對(duì)預(yù)測控制的參數(shù)進(jìn)行優(yōu)化,并引入ESO對(duì)未知干擾進(jìn)行觀測,進(jìn)一步提高系統(tǒng)的魯棒性。最后,結(jié)合實(shí)際工程應(yīng)用,對(duì)控制器進(jìn)行數(shù)學(xué)仿真,并對(duì)控制器的響應(yīng)性能與抗干擾能力進(jìn)行了分析。仿真結(jié)果表明,本文設(shè)計(jì)的基于狀態(tài)擴(kuò)展雙反饋模型預(yù)測控制的無人機(jī)側(cè)向航跡跟蹤控制器能夠在系統(tǒng)存在模型不確定性與受到動(dòng)態(tài)干擾時(shí)對(duì)期望航跡進(jìn)行準(zhǔn)確、穩(wěn)定的跟蹤。2.4 ESO設(shè)計(jì)
3 仿真結(jié)果與分析
4 結(jié) 論