廖興勇,李智
(四川大學(xué) 電子信息學(xué)院,四川成都,610065)
傳統(tǒng)無(wú)人直升機(jī)憑借其可懸停、可低空低速、可機(jī)頭方向不動(dòng)的機(jī)動(dòng)飛行、能垂直起降等優(yōu)點(diǎn)使其一直具有廣闊發(fā)展前景,并廣泛用于軍事、農(nóng)業(yè)等方面。目前國(guó)內(nèi)外軍事競(jìng)備激烈,更需要性能更強(qiáng)大、低噪聲、抗干擾、高穩(wěn)定性的無(wú)人直升機(jī)。傳統(tǒng)無(wú)人直升機(jī)的姿態(tài)控制方法主要有比例積分微分控制、反步控制、模糊控制、滑??刂?、線性二次型調(diào)節(jié)器、反饋線性化等方法。但上述方法往往具有一定的局限性和缺陷,例如:依賴(lài)數(shù)學(xué)模型、收斂速度過(guò)低、控制復(fù)雜度過(guò)高、設(shè)計(jì)缺乏系統(tǒng)性。無(wú)人直升機(jī)的姿態(tài)控制是一個(gè)高階、非線性、強(qiáng)耦合的控制系統(tǒng),在這方面,自抗擾控制算法(ADRC)本身具有天然的解耦性,且自抗擾控制算法中的擴(kuò)張狀態(tài)觀測(cè)器(ESO)能應(yīng)對(duì)不同高階系統(tǒng)進(jìn)行擴(kuò)張,并且自抗擾控制算法中的跟蹤微分器(TD)具有天然的濾波特性,可以有效提高系統(tǒng)的抗干擾能力和魯棒性。
ADRC 算法的核心在于擴(kuò)張狀態(tài)觀測(cè)器,其思想在于將系統(tǒng)的內(nèi)部擾動(dòng)和外部干擾都?xì)w結(jié)為總擾動(dòng),將此總擾動(dòng)作為新的狀態(tài)量加入原系統(tǒng)中,并將系統(tǒng)的輸入和輸出作為觀測(cè)器的輸入值,結(jié)合系統(tǒng)的狀態(tài)量對(duì)該總擾動(dòng)進(jìn)行估計(jì),在系統(tǒng)最終輸出前對(duì)估計(jì)的擾動(dòng)值進(jìn)行修正從而抵消干擾,達(dá)到抗干擾的能力,觀測(cè)器藉由對(duì)擾動(dòng)的估計(jì)準(zhǔn)確性能決定ADRC 算法的抗干擾能力。目前為應(yīng)對(duì)不同的系統(tǒng)和環(huán)境,ADRC 也衍生出了許多改進(jìn)思路,其中最主要的改進(jìn)方向分為自身算法改進(jìn)和融合算法改進(jìn)。自身算法方改進(jìn)方面,又細(xì)分為ADRC 結(jié)構(gòu)改進(jìn)和算法改進(jìn)[1]。ADRC 算法分為跟蹤微分器,非線性反饋律與擴(kuò)張狀態(tài)觀測(cè)器三個(gè)部分,結(jié)構(gòu)改進(jìn)體現(xiàn)在其中某個(gè)模塊的構(gòu)成或者結(jié)合上的改進(jìn);算法方面的改進(jìn)主要體現(xiàn)在fal 函數(shù)的改進(jìn),fal 函數(shù)作為擴(kuò)張狀態(tài)觀測(cè)器的核心函數(shù),其主要作用在于對(duì)非線性系統(tǒng)的近似替換,fal 函數(shù)的設(shè)計(jì)直接影響了ESO 的觀測(cè)效果,本文便是基于對(duì)fal 函數(shù)的改進(jìn)提出一種新的ADRC 算法,并通過(guò)理論和實(shí)驗(yàn)證明新的ADRC 算法在直升機(jī)姿態(tài)控制上有著更好的抗干擾能力。
以傳統(tǒng)直升機(jī)為研究對(duì)象,直升機(jī)的動(dòng)力學(xué)方程如下:
其中,θ為俯仰角,ψ為偏航角,φ為滾轉(zhuǎn)角;p為滾轉(zhuǎn)角速度、q為俯仰角速度、r為偏航角速度;u、v、w為三軸軸向速度;L、M、N為三軸力矩;X、Y、Z為三軸的力;m為機(jī)體質(zhì)量;Ix、Iy、Iz為三軸轉(zhuǎn)動(dòng)慣量;Ixz為直升機(jī)對(duì)Ox和Oz軸的慣性積。
得到直升機(jī)的非線性動(dòng)力學(xué)方程后,需要對(duì)非線性模型進(jìn)行線性化。根據(jù)小擾動(dòng)法,利用泰勒級(jí)數(shù)在平衡點(diǎn)處展開(kāi),解析地得到懸停條件下的矩陣A 和B,可得到線性狀態(tài)空間模型的表達(dá):
在線性狀態(tài)空間模型中,u為輸入量,x為狀態(tài)量,形式如下:
設(shè)無(wú)擾動(dòng)情況下的無(wú)人直升機(jī)運(yùn)動(dòng)狀態(tài)為:
小擾動(dòng)為:
其中:
忽略高階量,對(duì)上式中增量進(jìn)行泰勒展開(kāi)便可得到狀態(tài)空間模型矩陣A 和B。
目前普遍的ADRC 控制器通常由3個(gè)部分組成(不排除有其他改進(jìn)后融合了其他算法的ADRC 控制器可能不只是3 部分):分別是TD 跟蹤微分器、ESO 擴(kuò)張狀態(tài)觀測(cè)器、NLSEF 非線性反饋律,組成結(jié)構(gòu)如圖1 所示。
圖1 ADRC 控制器
ADRC 算法是由解決傳統(tǒng)PID 算法的缺點(diǎn)并保留其優(yōu)點(diǎn)而設(shè)計(jì)的算法[2],主要優(yōu)化的部分在于:
(1)以跟蹤微分器替代PID 由誤差提取微分的方法,解決線性微分器的缺陷。
(2)以非線性反饋替代加權(quán)和策略,解決加權(quán)和的缺陷。
(3)以擴(kuò)張狀態(tài)觀測(cè)器替代積分反饋,解決傳統(tǒng)積分消除誤差帶來(lái)的系統(tǒng)延后的缺陷。
本文重點(diǎn)關(guān)注ESO 擴(kuò)張狀態(tài)觀測(cè)器的設(shè)計(jì)與優(yōu)化,ESO 把系統(tǒng)中的不確定項(xiàng)和干擾項(xiàng)視為系統(tǒng)的狀態(tài)之一,并建立新的狀態(tài)空間,對(duì)這個(gè)新的狀態(tài)空間中的狀態(tài)進(jìn)行觀測(cè),即可得到不確定項(xiàng)的估計(jì)值??紤]如下非線性系統(tǒng):
對(duì)非線性系統(tǒng)中的不確定項(xiàng)f(x1,x2)定義為x3 ,并定義x3′=w(t),可將原非線性系統(tǒng)擴(kuò)張為增廣系統(tǒng),不確定項(xiàng)f(x1,x2)作為狀態(tài)之一參與到狀態(tài)空間中。
對(duì)新的增廣狀態(tài)空間建立ESO 擴(kuò)張狀態(tài)觀測(cè)器形式如下,其中β0i是可調(diào)參數(shù)。
其中αi,σ為fal函數(shù)的可調(diào)參數(shù)。fal函數(shù)的設(shè)計(jì)思想是符合“大誤差,小增益;小誤差,大增益;光滑連續(xù),處處可導(dǎo),關(guān)于原點(diǎn)對(duì)稱(chēng),原點(diǎn)增益有限”的原則,雖然fal函數(shù)基本滿(mǎn)足這個(gè)設(shè)計(jì)原則,但是仍然存在諸多缺點(diǎn)。
ADRC 算法的核心是ESO,而決定ESO 觀測(cè)性能的是非線性函數(shù)??紤]到原始fal函數(shù)的缺點(diǎn),設(shè)計(jì)新的lnfal函數(shù)的形式如下:
lnfal與原fal函數(shù)對(duì)比圖如圖2~3 所示。
圖2 fal 與lnfal 原點(diǎn)波形對(duì)比
圖3 fal 與lnfal 增益波形對(duì)比
圖4 階躍信號(hào)波形
圖5 階躍信號(hào)局部波形
圖6 含輸入噪聲階躍信號(hào)波形
圖7 含輸入噪聲階躍信號(hào)局部波形
圖8 正弦信號(hào)波形
圖9 正弦信號(hào)局部波形
圖10 含反饋噪聲階躍信號(hào)波形
圖11 含反饋噪聲階躍信號(hào)局部波形
圖12 含輸入/反饋噪聲階躍信號(hào)波形
圖13 含輸入/反饋噪聲階躍信號(hào)局部波形
對(duì)比兩者的波形可以看出,fal函數(shù)在切換區(qū)間處的增益過(guò)大,容易引起系統(tǒng)抖振;在小誤差區(qū)間內(nèi)的增益雖然較大,但是并不連續(xù);在大誤差區(qū)間內(nèi)的增益也大于lnfal函數(shù),這在抑制過(guò)沖上效果不如lnfal函數(shù)。
基于lnfal函數(shù)設(shè)計(jì)的ESO 擴(kuò)張觀測(cè)器形式如下:
以新的ESO 計(jì)算新的誤差方程為:
誤差方程表示了原系統(tǒng)與觀測(cè)系統(tǒng)狀態(tài)變量之間的觀測(cè)誤差,要滿(mǎn)足e' 趨近于e,也就是觀測(cè)準(zhǔn)確,這需要觀測(cè)矩陣穩(wěn)定,其中:
引理1[3]若存在矩陣:
矩陣D 的主對(duì)角線的值均為正,并且矩陣DA(e)為正定對(duì)稱(chēng)陣,則系統(tǒng)的零解是Lyapunov 漸近穩(wěn)定的,從而觀測(cè)器的狀態(tài) 1z,z2 ,z3 可以很好地跟蹤 1x,x2 ,x3 。
計(jì)算矩陣DA(e)可知:
這里的lnfal(e,k)/e代表的是函數(shù)lnfal(e,k)在x=e處的切線斜率,從lnfal(e,k)的函數(shù)波形可以看出,該函數(shù)在全區(qū)間內(nèi)的切線斜率的范圍是:0
其中,β=β01β02-β03;f=lnfal(e,k)/e;ε1,ε2,ε3 都是趨近于無(wú)窮小的正數(shù)。
綜上所述,可知當(dāng)f=lnfal(e,k)/e為(0,k)中的有界值,β=β01β02-β03 > 0,A矩陣是漸近穩(wěn)定的。
為驗(yàn)證本文所提出改進(jìn)ESO 方案的可行性,在matlab上設(shè)計(jì)多組對(duì)比實(shí)驗(yàn),與直升機(jī)三軸通道的一致性,本文只對(duì)直升機(jī)俯仰通道進(jìn)行仿真實(shí)驗(yàn)。ADRC 參數(shù)如表1 所示。
表 1 ADRC參數(shù)
為進(jìn)一步驗(yàn)證改進(jìn)fal 函數(shù)的ADRC 算法在直升機(jī)姿態(tài)控制中有更好的抗干擾性能,在matlab 的simulink 進(jìn)行仿真實(shí)驗(yàn),與原始fal 函數(shù)、文獻(xiàn)[4]提出的faln 函數(shù)、文獻(xiàn)[5]提出的xfal 函數(shù)進(jìn)行對(duì)比實(shí)驗(yàn),本文以俯仰通道為例進(jìn)行以下幾組仿真驗(yàn)證:
(1)幅值為10 的方波信號(hào)輸入,模擬直升機(jī)遇到突發(fā)干擾;
(2)幅值為10 且含噪聲的方波信號(hào)輸入,模擬含噪聲的突發(fā)干擾;
(3)幅值為27 的正弦波信號(hào)輸入,模擬直升機(jī)遇到持續(xù)且平滑變化的干擾;
(4)包含反饋角度噪聲的幅值為10 的方波信號(hào)輸入,模擬直升機(jī)實(shí)際情況下傳感器數(shù)據(jù)有噪聲的突發(fā)干擾;
(5)包含反饋角度噪聲且包含輸入噪聲的幅值為10的方波信號(hào)輸入,模擬直升機(jī)實(shí)際情況下傳感器數(shù)據(jù)有噪聲且輸入信號(hào)也有噪聲的突發(fā)干擾。
對(duì)比上圖中的不同fal 函數(shù)構(gòu)造的ADRC 算法的角度跟蹤效果,可以看出在階躍信號(hào)發(fā)生時(shí),不同ADRC 算法均能迅速做出跟蹤,且跟蹤性能相差不大,但是在超調(diào)量和收斂速度對(duì)比上,lnfal 函數(shù)的ADRC 算法比其他fal 函數(shù)的ADRC 算法效果更好,其收斂速度更快,超調(diào)量也更小,并且相比其他算法,lnfal 在階躍信號(hào)的跟蹤上并未出現(xiàn)振蕩現(xiàn)象;無(wú)論是包含噪聲的階躍信號(hào),還是在實(shí)際角度的反饋過(guò)程中加入噪聲,各ADRC 算法在階躍信號(hào)的跟蹤性能上都相似,主要的區(qū)別在于超調(diào)量和收斂速度;在正弦波信號(hào)的跟蹤上,各ADRC 算法體現(xiàn)了幾乎一致的性能。結(jié)合上述現(xiàn)象可以得出結(jié)論,改進(jìn)后的lnfal 函數(shù)構(gòu)成的ADRC 算法在直升機(jī)姿態(tài)控制中,會(huì)比其他ADRC 算法起到更好地抑制過(guò)沖和超調(diào)的效果,且有著更快的收斂速度,說(shuō)明改進(jìn)的ADRC 算法具有更強(qiáng)的抗干擾能力。
本文基于對(duì)ADRC 算法中ESO 模塊的fal 函數(shù)的改進(jìn),針對(duì)原ADRC 算法的fal 函數(shù)不光滑、切換區(qū)間與大誤差區(qū)間增益過(guò)大的問(wèn)題,遵循fal 函數(shù)的設(shè)計(jì)原則提出了lnfal函數(shù)。首先在原理上驗(yàn)證了lnfal 相較于fal 的優(yōu)越性以及證明了A 矩陣的穩(wěn)定性,其次通過(guò)設(shè)計(jì)幾組仿真實(shí)驗(yàn),在matlab 上對(duì)比目前已提出的不同改進(jìn)fal 函數(shù)的ADRC 算法分別作用于直升機(jī)的姿態(tài)控制,最后分析不同fal 函數(shù)的控制效果波形可以得出基于lnfal 函數(shù)的ADRC 算法在直升機(jī)姿態(tài)控制上有著更好抑制過(guò)沖效果以及更快的收斂速度。