(遼寧石油化工大學(xué) 信息與控制工程學(xué)院,撫順 113001)
四旋翼飛行器的關(guān)鍵技術(shù)是姿態(tài)控制,它決定且影響著飛行器的飛行狀態(tài)。但干擾其飛行因素有很多,比如模型參數(shù)、氣流、風(fēng)速、大氣壓、磁場(chǎng)等。隨著國(guó)內(nèi)外計(jì)算機(jī)技術(shù)與MEMS技術(shù)的不斷發(fā)展,四旋翼飛行器控制方法也取得了相應(yīng)進(jìn)展,研究人員分別提出了 PD 控制[1]、PID 控制[2]、PID 神經(jīng)網(wǎng)絡(luò)[3]、反步法[4]、滑??刂芠5]等控制方式。這些算法基本上能夠?qū)崿F(xiàn)對(duì)飛行器的姿態(tài)控制,但仍有很多缺點(diǎn)。PD控制魯棒性不強(qiáng),在陣風(fēng)干擾和模型參數(shù)擾動(dòng)下控制效果不理想;PID控制、反步法以及滑??刂凭鶎?duì)模型作了線(xiàn)性化處理,但忽略了模型非線(xiàn)性部分,導(dǎo)致精度不高,控制效果受到影響;PID神經(jīng)網(wǎng)絡(luò)由于需要大量數(shù)據(jù)而不好實(shí)現(xiàn),對(duì)于大的干擾很難達(dá)到理想控制效果。并且PID控制器不能進(jìn)行在線(xiàn)整定控制參數(shù),預(yù)測(cè)控制算法在線(xiàn)計(jì)算量很大,降低控制實(shí)時(shí)性。
預(yù)測(cè)函數(shù)控制(PFC)在 1986年由 Richalet和Kuntze等人共同提出[6-7],其適用于跟蹤控制迅速、精度要求高的機(jī)器人。該控制方法主要強(qiáng)調(diào)控制量的結(jié)構(gòu)性,特點(diǎn)是計(jì)算量小、魯棒性強(qiáng)、具有較好的跟蹤速度與精度。如今,許多學(xué)者已經(jīng)提出了新型控制算法,它將PID與傳統(tǒng)預(yù)測(cè)控制相結(jié)合[8],而本文將PID與增量型預(yù)測(cè)函數(shù)控制相結(jié)合,提出了一種基于增量型預(yù)測(cè)函數(shù)自整定PID的控制策略,并應(yīng)用于控制四旋翼飛行器的飛行姿態(tài)。
預(yù)測(cè)函數(shù)控制是第三代模型預(yù)測(cè)算法,仍然屬于預(yù)測(cè)控制理論領(lǐng)域,因此具備傳統(tǒng)預(yù)測(cè)控制方法的特點(diǎn):預(yù)測(cè)模型、滾動(dòng)優(yōu)化、反饋校正。
與傳統(tǒng)預(yù)測(cè)控制不同,控制輸入結(jié)構(gòu)化是控制性能的關(guān)鍵,且預(yù)測(cè)函數(shù)引入了基函數(shù),新的控制策略被表示為幾個(gè)已知基函數(shù)的線(xiàn)性組合?;瘮?shù)的選取關(guān)鍵在于被控對(duì)象和設(shè)定值的特性,通常為階躍、斜坡和指數(shù)函數(shù)。
控制輸入被表示為一系列基函數(shù)的線(xiàn)性組合,具體表達(dá)式為
式中:J為基函數(shù)個(gè)數(shù);μj為基函數(shù)線(xiàn)性組合的系數(shù);p為預(yù)測(cè)優(yōu)化的步長(zhǎng)。
四旋翼飛行器預(yù)測(cè)模型輸出ym(k)由模型自由響應(yīng)yl和強(qiáng)迫響應(yīng)yf兩部分組成,k+i時(shí)刻的模型輸出為
本文考慮四旋翼飛行器的MIMO非線(xiàn)性系統(tǒng),采用離散狀態(tài)空間表達(dá)式:
式中:ΔXm(k+1)為 k+1 時(shí)刻狀態(tài)增量;ΔYm(k)為 k時(shí)刻模型輸出增量;Am,Bm,Cm為模型矩陣;ΔU(k)為在k時(shí)刻輸入增加的控制量。
根據(jù)式(3)可以推出在k+p時(shí)刻的模型狀態(tài)表示為
根據(jù)式(1)、式(3)和式(4)推出在 k+p 步后模型輸出表示為
式中:ΔYm(k+p)為在k+p時(shí)刻輸出增量值。
為了克服系統(tǒng)模型失配,引入誤差值,即當(dāng)前時(shí)刻系統(tǒng)的輸出和模型輸出的差值來(lái)校正預(yù)測(cè)輸出:
式中:ypi(k)和 ymi(k)分別為當(dāng)前時(shí)刻系統(tǒng)的輸出和模型的輸出。
為了提高其準(zhǔn)確性,未來(lái)k+p時(shí)刻誤差的預(yù)測(cè)通常選用已知時(shí)刻數(shù)值基礎(chǔ)上的多項(xiàng)式擬合法進(jìn)行預(yù)計(jì)。誤差預(yù)測(cè)公式為
式中:eb(k)為擬合多項(xiàng)式的系數(shù);g為擬合多項(xiàng)式展開(kāi)的階數(shù)。
根據(jù)式(6)、式(7)和式(8),校正后的預(yù)測(cè)輸出表達(dá)式:
取未來(lái)的參考軌跡為
式中:Ci(k+p)為未來(lái)時(shí)刻的設(shè)定值;Ci(k)為當(dāng)前時(shí)刻的設(shè)定值為參考軌跡柔化因子;ypi(k)為k時(shí)刻系統(tǒng)的實(shí)際輸出。
未來(lái)時(shí)刻的設(shè)定值通常都被表示為多項(xiàng)式的形式,即:
將式(11)代入式(10)后得到:
通過(guò)最優(yōu)點(diǎn)上的參考軌跡和預(yù)測(cè)未來(lái)過(guò)程輸出值的誤差平方進(jìn)行最小優(yōu)化,得其優(yōu)化目標(biāo)函數(shù)表達(dá)式:
式中:Ri=Cm(1-Amp);Yp={ym1…ymi}。
傳統(tǒng)PID控制算法在工業(yè)上發(fā)展較早,應(yīng)用廣泛。該算法是由比例積分微分線(xiàn)性組合的控制量。
PID控制算法表達(dá)式為
式中:Kp為比例系數(shù);Ti為積分時(shí)間常數(shù);Td為微分時(shí)間常數(shù);e(t)為系統(tǒng)偏差量,其值等于輸出值與給定值之差。
設(shè)u(k)是第k次采樣控制輸出值,其離散的PID表達(dá)式:
即PID增量型表達(dá)式為
為了簡(jiǎn)化計(jì)算方便將式(18)轉(zhuǎn)換為如下形式:
將預(yù)測(cè)函數(shù)控制與PID算法的優(yōu)點(diǎn)相結(jié)合,使新的優(yōu)化目標(biāo)函數(shù)具有比例、積分、微分的結(jié)構(gòu)特點(diǎn)。
將增量式PID控制算法,即式(19)代入預(yù)測(cè)函數(shù)控制的最優(yōu)化表達(dá)式(13)中,我們可以得到新的最優(yōu)控制律表達(dá)式:
由式(20)可推導(dǎo)出:
然而,仔細(xì)觀(guān)察式(19),誤差 e(k)如果無(wú)限接近零,w(k)將是無(wú)限的這是不可能實(shí)現(xiàn)的。所以設(shè)定一個(gè)微小且有限的輸出誤差值σ,會(huì)導(dǎo)出如下的實(shí)際控制的公式:
四旋翼飛行器在空間中共有6個(gè)自由度,只要調(diào)節(jié)4個(gè)旋翼的轉(zhuǎn)速,即能夠改變其飛行姿態(tài)[13],其模型如圖1所示。
圖1 四旋翼飛行器模型結(jié)構(gòu)Fig.1 Four rotor aircraft model structure
它的構(gòu)造由主控板和呈十字交織的4個(gè)電子調(diào)速器、電機(jī)、旋漿組成,而且布局簡(jiǎn)單、靈活性強(qiáng)、負(fù)載能力大,可以實(shí)現(xiàn)俯仰、偏航、翻轉(zhuǎn)、垂直起降以及空中懸停等動(dòng)作。電機(jī)是由電子調(diào)速器控制,主控板主要用于解算當(dāng)前飛行姿態(tài)、控制電調(diào)等功能。四旋翼飛行器其強(qiáng)耦合、非線(xiàn)性、多變量欠驅(qū)動(dòng)系統(tǒng)的特點(diǎn),且快速實(shí)時(shí)控制及不穩(wěn)定性均對(duì)控制算法提出了十分高的要求。
依據(jù)文獻(xiàn)[14]將飛行器的運(yùn)動(dòng)過(guò)程分解為線(xiàn)運(yùn)動(dòng)和角運(yùn)動(dòng)。根據(jù)牛頓定律和歐拉方程,構(gòu)建線(xiàn)運(yùn)動(dòng)與角運(yùn)動(dòng)的非線(xiàn)性動(dòng)力學(xué)模型??紤]實(shí)際飛行條件,試飛時(shí)飛行器速率較低,可忽略空氣阻力,得到飛行器簡(jiǎn)易非線(xiàn)性化模型,如式(23)所示:
式中:Δu(1),Δu(2),Δu(3),Δu(4)分別是總升力,橫滾、俯仰、偏航力矩的增量;Ix,Iy,Iz為對(duì)應(yīng)軸的轉(zhuǎn)動(dòng)慣量;l是飛行器質(zhì)心到電機(jī)之間距離。
利用解耦控制算法將復(fù)雜非線(xiàn)性耦合模型分解為獨(dú)立控制通道。在控制飛行器航跡的過(guò)程中,角速度控制作為內(nèi)環(huán),角度控制作為外環(huán),通過(guò)姿態(tài)解算(IMU)計(jì)算出歐拉角,并用于姿態(tài)控制反饋,及進(jìn)行姿態(tài)閉環(huán)控制。針對(duì)傳統(tǒng)PID控制策略不能達(dá)到滿(mǎn)意姿態(tài)控制的效果,本文在傳統(tǒng)PID姿態(tài)控制方法基礎(chǔ)上進(jìn)行改進(jìn),應(yīng)用前面所論述的增量式預(yù)測(cè)函數(shù)自整定PID控制策略(IPFC-PID)。其姿態(tài)控制流程如圖2所示。
圖2 姿態(tài)IPFC-PID控制Fig.2 Posture IPFC-PID control block
為了驗(yàn)證預(yù)測(cè)函數(shù)在線(xiàn)實(shí)時(shí)自整定PID算法的有效性,利用Matlab仿真軟件搭建實(shí)驗(yàn)環(huán)境,仿真時(shí)間為10 s;采樣時(shí)間Ts=1 s;俯仰角通道Tr=30,P=80;翻轉(zhuǎn)角通道 Tr=50,P=80;偏航角通道 Tr=60,P=80。
圖3 俯仰角的單位階躍響應(yīng)Fig.3 Pitch angle of the unit of step response
圖3所示為運(yùn)用PID控制和本文算法飛行器的俯仰角仿真效果圖,由圖中可以看出本文所提出的改進(jìn)算法系統(tǒng)反應(yīng)迅速,并且超調(diào)量較小,經(jīng)過(guò)調(diào)整后在5s左右處可達(dá)到穩(wěn)定平衡狀態(tài),加上干擾后也可以迅速達(dá)到穩(wěn)定效果。
圖4所示為運(yùn)用PID控制和本文算法控制系統(tǒng)的翻轉(zhuǎn)角仿真效果圖,由圖可知本文算法系統(tǒng)反應(yīng)迅速,無(wú)超調(diào),在1 s左右使系統(tǒng)進(jìn)入穩(wěn)定控制,加上干擾后迅速達(dá)到穩(wěn)定狀態(tài)。
圖4 翻轉(zhuǎn)角的單位階躍響應(yīng)Fig.4 Roll angle of the unit of step response
圖5所示為運(yùn)用PID控制和本文算法控制系統(tǒng)的偏航角仿真效果圖,PID控制超調(diào)量較大而本文提出算法無(wú)超調(diào),并且3 s左右就能夠達(dá)到了穩(wěn)定,加上干擾后迅速達(dá)到穩(wěn)定效果。
圖5 偏航角的單位階躍響應(yīng)Fig.5 Yaw angle of the unit of step response
姿態(tài)控制在單位階躍信號(hào)輸入的情況下,各姿態(tài)角的仿真結(jié)果對(duì)比表明,本文改進(jìn)算法的階躍曲線(xiàn)超調(diào)量較小,穩(wěn)態(tài)誤差幾乎為零,響應(yīng)速度較快,很快進(jìn)入了穩(wěn)定的狀態(tài),其控制效果優(yōu)于傳統(tǒng)的PID控制。
由于四旋翼飛行器的實(shí)際飛行和仿真存在一些區(qū)別,因?yàn)閷w行器定點(diǎn)懸停來(lái)驗(yàn)證本文所提出控制策略的可行性。
設(shè)四旋翼飛行器的初始狀態(tài)為x=y=0,z=0.5,Φ=θ=φ=0??刂颇繕?biāo)從起始位置飛至點(diǎn)處于懸停狀態(tài)。通過(guò)NRF24L01無(wú)線(xiàn)通訊模塊獲得飛行器的數(shù)據(jù)并連接上位機(jī),觀(guān)察翻轉(zhuǎn)角、俯仰角、偏航角的變化,如圖6~圖8所示。
圖6 定點(diǎn)懸停的翻轉(zhuǎn)角Fig.6 Dot hovering roll attitude angle
圖7 定點(diǎn)懸停的俯仰角Fig.7 Dot hovering pitch attitude angle
圖8 定點(diǎn)懸停的偏航角Fig.8 Dot hovering yaw attitude angle
由圖可以觀(guān)察到飛行器在定點(diǎn)懸停時(shí),姿態(tài)角在±1.5°左右范圍內(nèi)波動(dòng),其波動(dòng)非常小且快速準(zhǔn)確地跟蹤給定姿態(tài)角信號(hào),基本實(shí)現(xiàn)了本文所提出算法姿態(tài)控制的有效性。
根據(jù)四旋翼飛行器姿態(tài)控制系統(tǒng),在傳統(tǒng)PID控制算法的基礎(chǔ)上改進(jìn)并提出了一種增量式預(yù)測(cè)函數(shù)自整定PID控制。經(jīng)過(guò)Matlab仿真與飛行器懸停狀態(tài)的實(shí)際應(yīng)用,本文提出算法均能夠有效地完成姿態(tài)控制,因此IPFC-PID控制策略具有良好的控制效果,使飛行姿態(tài)抗干擾能力強(qiáng),反應(yīng)迅速,并且增強(qiáng)了系統(tǒng)的魯棒性。
[1]侯永鋒,陸連山,高尚德,等.基于PD算法的四旋翼飛行器控制系統(tǒng)研究[J].機(jī)械科學(xué)與技術(shù),2012,31(3):359-362.
[2]葉樹(shù)球,詹林.基于PID的四旋翼飛行器姿態(tài)控制系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化,2015(5),117-120.
[3]胡錦添,舒懷林.基于PID神經(jīng)網(wǎng)絡(luò)的四旋翼飛行器控制算法的研究[J].自動(dòng)化與信息工程,2015,36(1):18-22.
[4]趙元偉,盧京朝.四旋翼飛行器的建模及基于反步法的控制[J].科學(xué)技術(shù)與工程,2013,13(34):10426-10430.
[5]蔡偉平,胡越黎.四旋翼雙環(huán)滑模姿態(tài)控制系統(tǒng)設(shè)計(jì)與仿真[J].電子技術(shù)應(yīng)用,2015,41(7):150-153.
[6]Kuntze H B,Jacubasch A,Rlchalet J,et al.On the predictive functional control of an elastic industrial robot[C]//Proc of 25th CDC,Athens,1986:1877-1881.
[7]Richalet J.Predictive functional control-application to fast and accurate robots[C]//Pro of IFAC 10th World Congress Munich,1987:251-258.
[8]Lee K N,Yeo Y K.A new predictive PID controller for the processes with time delay[J].Korean Journal of Chemical Engineering,2009,26(5):1194-1200.
[9]Ridong Zhang,Sheng Wu,F(xiàn)urong Gao.Improved PI controller based on predictive functional control for liquid level regulation in a coke fractionation tower[J].Journal of Process Control,2014(24):125-132.
[10]周磊,付樹(shù)岷,黃家才,等.一種新型的預(yù)測(cè)函數(shù)PID控制算法的研究[J].自動(dòng)化儀表,2013,34(9):63-66.
[11]岳俊紅,劉吉臻,譚文,等.改進(jìn)的預(yù)測(cè)函數(shù)控制算法及其應(yīng)用研究[J].中國(guó)電機(jī)工程學(xué)報(bào),2007,27(11):93-97.
[12]張智煥,王樹(shù)青,王寧.液壓機(jī)器人的預(yù)測(cè)函數(shù)控制[J].控制與決策,2002,17(1):1120-122.
[13]李俊.四旋翼飛行器的動(dòng)力學(xué)建模及PID控制[J].遼寧工程技術(shù)大學(xué)學(xué)報(bào):自然科學(xué)版,2012,31(1):114-117.
[14]賈峰,孫曼,秦磊.基于STM32的四旋翼飛行器飛行姿態(tài)串級(jí)控制[J].科學(xué)技術(shù)與工程,2015,15(6):221-225.
[15]陸偉男,蔡啟仲,李剛,等.基于四軸飛行器的雙閉環(huán)PID控制[J].科學(xué)技術(shù)與工程,2014,14(33):127-131.
[16]楊萌,雷建和,胡廷軒,等.基于STM32的四旋翼飛行器控制系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015,34(12):76-78.
[17]魏麗文,陳平.四旋翼飛行器的控制系統(tǒng)的研究[J].控制工程,2010,17(增刊):13-17.
[18]劉方滔.多傳感器融合的四旋翼飛行器關(guān)鍵技術(shù)研究[D].天津:天津科技大學(xué),2011.