王術(shù)波, 韓宇, 陳建,*, 張自超, 劉旭贊
1. 中國(guó)農(nóng)業(yè)大學(xué) 工學(xué)院,北京 100083 2. 中國(guó)農(nóng)業(yè)大學(xué) 水利與土木工程學(xué)院,北京 100083 3. 武漢大學(xué) 測(cè)繪遙感信息工程國(guó)家重點(diǎn)實(shí)驗(yàn)室,武漢 430079
農(nóng)用四旋翼無(wú)人機(jī)在對(duì)作物進(jìn)行表型探測(cè)及噴藥時(shí),需要超低空精準(zhǔn)懸停[1-3]。懸停過(guò)程中無(wú)人機(jī)螺旋槳轉(zhuǎn)動(dòng)產(chǎn)生的下洗氣流遇到地面及作物冠層平面會(huì)產(chǎn)生渦流等不規(guī)則氣流擾動(dòng)(稱為“地效擾動(dòng)”),此時(shí)如果遇到自然風(fēng)疊加,會(huì)加劇該擾動(dòng)對(duì)四旋翼無(wú)人機(jī)超低空精準(zhǔn)懸停的影響。這對(duì)無(wú)人機(jī)姿態(tài)控制器提出較高要求,而構(gòu)建一種可以及時(shí)觀測(cè)擾動(dòng)、并對(duì)控制量進(jìn)行補(bǔ)償?shù)淖钥箶_控制方法可解決以上問(wèn)題。
現(xiàn)階段,四旋翼無(wú)人機(jī)姿態(tài)控制方法主要有PID控制[4-5]、滑??刂芠6-7]、反步控制[8-9]、神經(jīng)網(wǎng)絡(luò)控制[10-11]等。上述方法都是基于誤差從而消除誤差的控制方法,當(dāng)存在外界未知擾動(dòng)和內(nèi)部不確定性時(shí),不能較好預(yù)測(cè)擾動(dòng)來(lái)給出控制補(bǔ)償量,控制效果不能達(dá)到理想控制要求。采用自抗擾控制(Active Disturbance Rejection Control, ADRC)可以克服以上困難。ADRC控制是韓京清教授提出的一種能夠補(bǔ)償不確定因素的控制技術(shù)[12],其中不確定因素包括內(nèi)部擾動(dòng)和外部擾動(dòng)兩種。伍詠成等[13]提出了一種基于模糊LADRC的傾轉(zhuǎn)四旋翼無(wú)人機(jī)縱向姿態(tài)控制方法,設(shè)計(jì)了基于線性自抗擾控制(LADRC)的姿態(tài)控制器并采用模糊控制對(duì)其參數(shù)進(jìn)行在線整定,進(jìn)行了飛機(jī)縱向飛行控制仿真實(shí)驗(yàn)驗(yàn)證。
作為一種不依賴于被控對(duì)象數(shù)學(xué)模型的控制方法,ADRC控制器帶寬是基于經(jīng)驗(yàn)及參考法設(shè)置的??紤]到干擾和偏差的動(dòng)態(tài)性,ADRC控制器帶寬不能為定值。ADRC帶寬越大,系統(tǒng)的輸出跟隨輸入指令的能力就越強(qiáng),系統(tǒng)的動(dòng)態(tài)性能就越好。所以帶寬越大,對(duì)控制量的補(bǔ)償越大,即控制量補(bǔ)償估計(jì)較大,這時(shí)稱為高增益狀態(tài)觀測(cè)器。當(dāng)外界擾動(dòng)較小時(shí),高增益觀測(cè)器輸出抖振較大,則控制量輸出抖振會(huì)很大,被控對(duì)象輸出將振蕩嚴(yán)重[14]。選擇合適的帶寬,構(gòu)建自適應(yīng)ADRC,在大誤差、大擾動(dòng)時(shí),選用大帶寬;在小誤差、小擾動(dòng)時(shí),選用小帶寬。基于以上問(wèn)題提出一種基于迭代學(xué)習(xí)控制(Iterative Learning Control,ILC)的ADRC控制策略。迭代學(xué)習(xí)控制能針對(duì)干擾和誤差量在線整定ADRC帶寬,構(gòu)建自適應(yīng)ADRC姿態(tài)控制器。迭代學(xué)習(xí)控制是一種擬人的學(xué)習(xí)過(guò)程與特性的智能控制方法。迭代學(xué)習(xí)被應(yīng)用于工業(yè)機(jī)器人[15-16]、數(shù)控機(jī)床[17]、電力系統(tǒng)控制[18]等重復(fù)運(yùn)動(dòng)型軌跡跟蹤領(lǐng)域,并因其不依賴于系統(tǒng)的精確數(shù)學(xué)模型即可高精度的跟蹤給定的期望軌跡,被許多學(xué)者及工程人員研究與使用。
基于以上研究綜述,本文提出了一種自適應(yīng)ADRC姿態(tài)控制器,首先對(duì)四旋翼無(wú)人機(jī)建模,然后構(gòu)建ADRC姿態(tài)控制器,提出了一種基于迭代學(xué)習(xí)控制的自適應(yīng)ADRC姿態(tài)控制器,并進(jìn)行了相應(yīng)實(shí)驗(yàn)驗(yàn)證。
四旋翼無(wú)人機(jī)擁有4個(gè)螺旋槳,呈十字或交叉型對(duì)稱分布,無(wú)人機(jī)獲得的動(dòng)力是由4個(gè)螺旋槳轉(zhuǎn)動(dòng)產(chǎn)生。同時(shí)通過(guò)4個(gè)旋翼產(chǎn)生升力差來(lái)進(jìn)行飛行狀態(tài)的控制。交叉型四旋翼示意圖如圖1所示,坐標(biāo)原點(diǎn)為無(wú)人機(jī)重心,x軸為無(wú)人機(jī)重心指向機(jī)頭方向,y軸為無(wú)人機(jī)重心指向左側(cè),z軸由重心按右手法則指向無(wú)人機(jī)上方。產(chǎn)生升力時(shí)
圖1 四旋翼無(wú)人機(jī)示意圖Fig.1 Schematic diagram of four-rotor UAV movement
同時(shí)增加4個(gè)旋翼的轉(zhuǎn)速實(shí)現(xiàn)上升或下降;同時(shí)差動(dòng)改變1、3和2、4的轉(zhuǎn)速,產(chǎn)生反扭力,實(shí)現(xiàn)繞z軸的偏航;同時(shí)差動(dòng)改變2、3和1、4,機(jī)體繞x軸滾動(dòng),并沿y軸移動(dòng),實(shí)現(xiàn)滾轉(zhuǎn)運(yùn)動(dòng);同時(shí)差動(dòng)改變1、2和3、4,機(jī)體繞y軸滾動(dòng),并沿x軸移動(dòng),實(shí)現(xiàn)俯仰運(yùn)動(dòng)。
四旋翼無(wú)人機(jī)姿態(tài)動(dòng)力學(xué)模型為[19]
(1)
定義四旋翼無(wú)人機(jī)控制輸入為U={ui},i=1,2,3,4,即
(2)
式中:u1、u2、u3和u4分別為高度、滾轉(zhuǎn)、俯仰和偏航4個(gè)通道的輸入。故其姿態(tài)動(dòng)力學(xué)模型為
(3)
在農(nóng)用無(wú)人機(jī)對(duì)小型作物表型探測(cè)和噴藥時(shí),需精準(zhǔn)定點(diǎn)懸停,靠控制滾轉(zhuǎn)角、俯仰角、偏航角來(lái)抵抗地效擾動(dòng)。所以在控制通道φ、θ、φ中分別加上w1(t)、w2(t)、w3(t)各自代表系統(tǒng)未知內(nèi)部擾動(dòng)和系統(tǒng)外部的地效和自然風(fēng)擾動(dòng)。φ、θ和φ控制通道改寫(xiě)為
(4)
采用歐拉近似法[20-21]將式(4)離散化為
(5)
式中:Ts為采樣周期。
針對(duì)1.1節(jié)提出的四旋翼無(wú)人機(jī)運(yùn)動(dòng)學(xué)模型,通過(guò)設(shè)計(jì)跟蹤微分器(TD)、擴(kuò)張狀態(tài)觀測(cè)器(ESO)、非線性狀態(tài)誤差反饋律(NLSEF),構(gòu)建自抗擾控制器。自抗擾控制將作用于被控對(duì)象的所有不確定因素都?xì)w結(jié)為未知擾動(dòng),并利用無(wú)人機(jī)姿態(tài)角的輸入輸出對(duì)未知風(fēng)擾動(dòng)進(jìn)行估計(jì)并給予補(bǔ)償。風(fēng)擾動(dòng)在影響無(wú)人機(jī)最終輸出前,各個(gè)通道被自抗擾控制估計(jì)、提取并提前補(bǔ)償,這將降低了未知風(fēng)擾動(dòng)對(duì)無(wú)人機(jī)姿態(tài)的影響。
以四旋翼無(wú)人機(jī)俯仰通道為例,其自抗擾控制器設(shè)計(jì)如下:
跟蹤微分器(TD)實(shí)現(xiàn)了系統(tǒng)過(guò)渡過(guò)程的安排,得到控制信號(hào)的跟蹤信號(hào)和一系列微分信號(hào),起到濾波和降低初始誤差作用。
跟蹤微分器(TD)數(shù)學(xué)表達(dá)式為
(6)
式中:fhan函數(shù)為
(7)
式中:θexpect為期望的俯仰角;v1為對(duì)θexpect的估計(jì);v2為對(duì)θexpect的微分;參數(shù)r0為快速因子,其決定了跟蹤速度的快慢,越大則跟蹤速度越快,但同時(shí)也放大了噪聲,h0為積分步長(zhǎng),值越大濾波效果越好,但同時(shí)跟蹤信號(hào)相位損失也隨之增大。
擴(kuò)張狀態(tài)觀測(cè)器(ESO)在線實(shí)時(shí)估計(jì)系統(tǒng)的總擾動(dòng),反饋系統(tǒng)的狀態(tài)變量和擾動(dòng)觀測(cè)。
二階擴(kuò)張狀態(tài)觀測(cè)器(ESO)數(shù)學(xué)表達(dá)式為
(8)
(9)
式中:被控對(duì)象的輸入u3和輸出θ為ESO輸入;z1、z2和z3為輸出;z1、z2為對(duì)v1、v2的估計(jì);z3為對(duì)系統(tǒng)總擾動(dòng)的估計(jì);β01、β02和β03為觀測(cè)器反饋增益;ω0為觀測(cè)器帶寬;δ為函數(shù)fal(x,a,δ) 線性區(qū)間寬度;b0為增益參數(shù)。
非線性狀態(tài)誤差反饋律(NLSEF)利用基于誤差來(lái)消除誤差思想,利用非線性的高效率構(gòu)建非線性誤差反饋律。
非線性狀態(tài)誤差反饋律(NLSEF)數(shù)學(xué)表達(dá)式為
(10)
式中:c、r1和h1為非線性狀態(tài)誤差反饋律待調(diào)參數(shù)。
對(duì)俯仰通道設(shè)計(jì)ADRC姿態(tài)控制如圖2所示。
圖2 俯仰通道ADRC姿態(tài)控制器Fig.2 ADRC attitude controller of pitch channel
對(duì)俯仰通道的控制為單輸入單輸出系統(tǒng),系統(tǒng)輸入為期望俯仰角度,輸出為對(duì)俯仰通道的控制量,無(wú)人機(jī)慣性測(cè)量單元(IMU)反饋實(shí)際俯仰角給ADRC控制器。同樣,對(duì)滾轉(zhuǎn)、偏航通道設(shè)計(jì)如上控制器,最終構(gòu)建3輸入3輸出的3通道控制系統(tǒng),如圖3所示。
針對(duì)3通道ADRC觀測(cè)器帶寬相同,采用迭代控制,根據(jù)誤差和擾動(dòng)在線更新ADRC帶寬,實(shí)現(xiàn)不同風(fēng)向擾動(dòng)和初始誤差下,ADRC實(shí)時(shí)自適應(yīng)姿態(tài)控制。
迭代學(xué)習(xí)控制是人工智能與自動(dòng)控制相結(jié)合的新的學(xué)習(xí)控制技術(shù)。迭代學(xué)習(xí)控制具有擬人的學(xué)習(xí)過(guò)程與特性,模擬人的循序漸進(jìn)與邊干邊學(xué)的方法,廣泛適用于不確知、不確定的非線性復(fù)雜系統(tǒng)。迭代學(xué)習(xí)控制算法流程如圖4所示。
記x(r)為系統(tǒng)的狀態(tài)向量,為n維向量;u(t)為r維控制向量。當(dāng)輸出y(t)為狀態(tài)的某種向量函數(shù)時(shí),系統(tǒng)可以表示為
(11)
假設(shè)系統(tǒng)在有限時(shí)間區(qū)間[0,T]上重復(fù)運(yùn)行。以k=0,1,2,…表示重復(fù)次數(shù),那么可重復(fù)控制系統(tǒng)可以表示為
(12)
圖3 三通道ADRC姿態(tài)控制器Fig.3 ADRC attitude controller of three channels
圖4 迭代學(xué)習(xí)控制算法流程Fig.4 ILC algorithm flow
定義輸出誤差為
ek(t)=yd(t)-yk(t)
(13)
由當(dāng)前控制uk(t)和輸出誤差ek(t)構(gòu)成學(xué)習(xí)律,產(chǎn)生下一次迭代時(shí)的控制uk+1(t),由于四旋翼無(wú)人機(jī)抗干擾控制要求較短的調(diào)節(jié)時(shí)間,采用PD型學(xué)習(xí)律,學(xué)習(xí)律表示為
(14)
式中:Ψ、Γ為定常增益矩陣。
目前迭代學(xué)習(xí)控制主要討論通過(guò)改變輸入達(dá)到控制效果,對(duì)于控制器的參數(shù)沒(méi)有進(jìn)行修正,也稱為靜態(tài)控制器,即在控制過(guò)程中,控制器的參數(shù)是確定不會(huì)發(fā)生變化的。間接型迭代學(xué)習(xí)控制是指系統(tǒng)有基本的反饋控制器,學(xué)習(xí)控制用于更新優(yōu)化局部控制器的參數(shù),也稱為動(dòng)態(tài)控制器,即控制器本身會(huì)隨著迭代的變化而變化。
間接迭代控制在控制對(duì)象受到未知或不可預(yù)知的輸入情況下,通過(guò)控制器的在線自動(dòng)調(diào)整,最優(yōu)實(shí)現(xiàn)某性能指標(biāo)。間接迭代學(xué)習(xí)控制通過(guò)在線調(diào)整ADRC中擴(kuò)張狀態(tài)觀測(cè)器中帶寬ω0,實(shí)現(xiàn)自適應(yīng)構(gòu)建ADRC。俯仰通道控制系統(tǒng)如圖5所示。圖中自適應(yīng)構(gòu)建ADRC分為ADRC和間接ILC控制器,輸入為期望俯仰角,懸停實(shí)驗(yàn)中為0°,輸出為對(duì)無(wú)人機(jī)俯仰通道控制量,無(wú)人機(jī)反饋實(shí)際俯仰角度分別給ADRC和間接ILC控制器。間接ILC控制器根據(jù)k-1 時(shí)刻俯仰角誤差和上一時(shí)刻的輸出uk-1,由PD型學(xué)習(xí)律輸出控制量uk,即該時(shí)刻ADRC擴(kuò)張狀態(tài)觀測(cè)器帶寬ω0;ADRC控制器結(jié)合ILC輸出帶寬,根據(jù)俯仰角誤差,輸出無(wú)人機(jī)俯仰通道控制量u3。
擴(kuò)張狀態(tài)觀測(cè)器(7)改寫(xiě)成狀態(tài)空間表達(dá)式為
(15)
(16)
通過(guò)輸出誤差估計(jì),給出PD型學(xué)習(xí)律收斂性充分條件與證明如下。
引理當(dāng)初態(tài)位于xk(0)時(shí)施加控制uk(t),若系統(tǒng)滿足條件:
2)xk(0)=x0,y0(0)=yd(0)
則當(dāng)k→∞時(shí),yk(t)→yd(t)
證明:
第k+1次迭代的控制誤差為
Δuk+1(t)=ud(t)-uk+1(t)=
(17)
式中:Δuk+1(t)為實(shí)際控制輸出與期望控制輸出之差;ud(t)為系統(tǒng)達(dá)到期望輸出對(duì)應(yīng)的控制信號(hào)。
輸出誤差表示為
ek(t)=yd(t)-yk(t)=C(zd(t)-zk(t))
(18)
(19)
兩邊求導(dǎo)可得
(20)
Δuk+1(t)=(I-ΓCB)Δuk(t)-
(21)
圖5 俯仰通道基于間接迭代學(xué)習(xí)控制的ADRC姿態(tài)控制器Fig.5 Design of ADRC attitude controller based on ILC for pitch channel
兩邊同時(shí)取范數(shù):
(22)
由范數(shù)定義:
(23)
式中:
(24)
ρ可取小于1,此時(shí)
(25)
由式(18)可得
(26)
因此,所設(shè)計(jì)的間接PD型學(xué)習(xí)律收斂。證畢。
本實(shí)驗(yàn)為模擬無(wú)規(guī)則氣流擾動(dòng),摒棄風(fēng)洞裝置,采用自構(gòu)建氣流擾動(dòng)裝置,利用扇葉轉(zhuǎn)動(dòng)模擬超低空飛行的地效擾動(dòng)和自然風(fēng)疊加的無(wú)規(guī)則氣流干擾。裝置如圖6所示。實(shí)驗(yàn)分別構(gòu)建如圖7所示側(cè)向水平風(fēng)、前俯向風(fēng)、側(cè)俯向風(fēng),黃色箭頭為無(wú)人機(jī)機(jī)頭朝向,藍(lán)色為風(fēng)場(chǎng)中心,圖7(b)、圖7(c)風(fēng)場(chǎng)斜向上。
實(shí)驗(yàn)采用Tello開(kāi)源無(wú)人機(jī)平臺(tái),通過(guò)Wifi通信,地面站接收無(wú)人機(jī)IMU數(shù)據(jù),并返回控制指令。Tello無(wú)人機(jī)重量100 g,漿直徑7.6 cm,機(jī)體中心長(zhǎng)3.5 cm,寬6.5 cm,高2.5 cm。懸停實(shí)驗(yàn)中期望俯仰角、滾轉(zhuǎn)角、偏航角都為0°。通過(guò)分別利用ADRC姿態(tài)控制器和不加ADRC姿態(tài)控制器控制,IMU輸出無(wú)人機(jī)俯仰角度、滾轉(zhuǎn)角度、偏航角度信息,控制周期約為0.1 s。實(shí)驗(yàn)過(guò)程中ADRC和ILC控制器參數(shù)如表1所示。
圖6 實(shí)驗(yàn)環(huán)境Fig.6 Experimental environment
圖7 不同風(fēng)速和風(fēng)向示意圖Fig.7 Schematic diagram of different wind speeds and directions
表1 控制器參數(shù)Table 1 Controller parameters
實(shí)驗(yàn)分別在無(wú)風(fēng)狀態(tài)和側(cè)向水平風(fēng)、前俯向風(fēng)、側(cè)俯向風(fēng)3種不同風(fēng)向下進(jìn)行,并對(duì)風(fēng)速和風(fēng)向角度調(diào)節(jié),驗(yàn)證ADRC對(duì)未知擾動(dòng)觀測(cè)與補(bǔ)償。進(jìn)行了無(wú)ADRC和有ADRC實(shí)驗(yàn)對(duì)比,其中無(wú)ADRC直接采用Tello內(nèi)置姿態(tài)控制算法。
實(shí)驗(yàn)首先進(jìn)行無(wú)風(fēng)狀態(tài)下Tello內(nèi)置姿態(tài)控制器、ADRC姿態(tài)控制器、ILC-ADRC姿態(tài)控制器實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。實(shí)驗(yàn)可以看出ILC-ADRC相較于ADRC和Tello內(nèi)置姿態(tài)控制器,姿態(tài)角累計(jì)誤差有較大程度降低。側(cè)向水平風(fēng)實(shí)驗(yàn)中,風(fēng)速分別為0.9~1.1、1.1~1.3、1.4~1.6、2.0~2.4、2.5~2.9、3.3~3.6 m/s,風(fēng)場(chǎng)中心與無(wú)人機(jī)飛行高度位于同一水平線,以驗(yàn)證四旋翼無(wú)人機(jī)對(duì)側(cè)向水平風(fēng)的抗干擾能力。表2為側(cè)向水平風(fēng)存在下的實(shí)驗(yàn)結(jié)果,表中θae為俯仰角累計(jì)誤差,φae為滾轉(zhuǎn)角累積誤差,φae為偏航角累積誤差。在側(cè)向水平風(fēng)干擾存在時(shí),偏航角受影響最大。從表2看出,沒(méi)有采用ADRC控制器的3種姿態(tài)角度累計(jì)誤差均大于采用ADRC控制器。特別是在風(fēng)速較大的情況下,未使用ADRC控制器偏航角出現(xiàn)較大的累計(jì)誤差。實(shí)驗(yàn)過(guò)程中無(wú)ADRC姿態(tài)控制環(huán)節(jié)在2.5~2.9 m/s 風(fēng)速時(shí)出現(xiàn)失控現(xiàn)象,有ADRC姿態(tài)控制環(huán)節(jié)在3.3~3.6 m/s風(fēng)速時(shí)出現(xiàn)失控現(xiàn)象。
圖8為無(wú)ADRC和有ADRC在2.0~2.4、2.5~2.9、3.3~3.6 m/s側(cè)向水平風(fēng)速下,即臨界風(fēng)速下,偏航角的輸出曲線。從曲線中可以看出,無(wú)ADRC姿態(tài)控制環(huán)節(jié)在2.5~2.9 m/s風(fēng)速時(shí),在第75~80次控制周期過(guò)程中,無(wú)人機(jī)偏航角出現(xiàn)嚴(yán)重失控。在運(yùn)動(dòng)過(guò)程中出現(xiàn)無(wú)人機(jī)360°旋轉(zhuǎn)現(xiàn)象,無(wú)人機(jī)順時(shí)針旋轉(zhuǎn)一周。采用ADRC姿態(tài)控制器在該風(fēng)速下,仍能抵抗水平風(fēng)干擾,未出現(xiàn)較大角度的偏差。繼續(xù)加大風(fēng)速在3.3~3.6 m/s時(shí),ADRC抗干擾控制器失效,無(wú)人機(jī)在55~62次 控制周期,出現(xiàn)360°旋轉(zhuǎn)失控現(xiàn)象。綜上,2.0~2.4 m/s為內(nèi)置姿態(tài)控制器所能承受最大水平風(fēng)速,2.5~2.9 m/s為ADRC姿態(tài)控制器所能承受最大水平風(fēng)速。
進(jìn)一步進(jìn)行了在前俯向風(fēng)下無(wú)人機(jī)抗擾實(shí)驗(yàn),分別在0.9~1.1 m/s(11°)、1.1~1.3 m/s(13°)、1.4~1.6 m/s(18°)、1.8~2.0 m/s(18°)、2.1~2.5 m/s(18°)風(fēng)速進(jìn)行。其中風(fēng)場(chǎng)中心射線與無(wú)人機(jī)飛行水平面夾角稱為前俯風(fēng)角。0.9~1.1 m/s(11°)表示前俯向風(fēng)速為0.9~1.1 m/s,風(fēng)場(chǎng)中心射線與無(wú)人機(jī)飛行水平面夾角為11°。
表3為無(wú)人機(jī)在前俯向風(fēng)干擾下三姿態(tài)角累積誤差,從表中看出未使用ADRC控制器俯仰角累計(jì)誤差均大于使用ADRC控制器。在前俯向風(fēng)干擾下,無(wú)人機(jī)俯仰角受到影響最大,圖9為臨界風(fēng)速下無(wú)人機(jī)俯仰角輸出。從圖中看出,1.8~2.0 m/s 風(fēng)速,風(fēng)場(chǎng)角18°時(shí),未使用ADRC姿態(tài)控制器無(wú)人機(jī)俯仰角度在43次控制周期時(shí)出現(xiàn)較大的俯仰角誤差,偏離程度達(dá)到10°,此時(shí)無(wú)人機(jī)偏離風(fēng)擾作用時(shí)懸停點(diǎn);在20~28次控制周期時(shí),出現(xiàn)持續(xù)誤差,無(wú)人機(jī)嚴(yán)重偏離風(fēng)擾作用時(shí)懸停點(diǎn),此時(shí)姿態(tài)控制失效。同時(shí)在該風(fēng)速下,使用ADRC姿態(tài)控制器無(wú)人機(jī)姿態(tài)角控制在-4°~+4°之內(nèi),滿足控制要求。繼續(xù)加大風(fēng)速在 2.1~2.5 m/s,前俯風(fēng)角18°時(shí),ADRC姿態(tài)控制器在20~22、103~113次 控制周期,均出現(xiàn)較大的持續(xù)誤差,無(wú)人機(jī)偏離風(fēng)擾作用時(shí)懸停點(diǎn),姿態(tài)控制失效。綜上,1.4~1.6 m/s (18°)為內(nèi)置姿態(tài)控制器所能承受最大前俯風(fēng)速和風(fēng)向角,1.8~2.0 m/s (18°)為ADRC姿態(tài)控制器所能承受最大前俯風(fēng)速和風(fēng)向角。
表2 側(cè)向水平風(fēng)干擾下四旋翼無(wú)人機(jī)姿態(tài)角累積誤差Table 2 Cumulative errors of UAV attitude angles with lateral horizontal wind disturbance
圖8 臨界風(fēng)速下四旋翼無(wú)人機(jī)偏航角輸出Fig.8 Yaw angle output of UAV at critical wind speed
同樣,進(jìn)一步進(jìn)行了在側(cè)俯向風(fēng)下無(wú)人機(jī)抗擾實(shí)驗(yàn),分別在0.9~1.1 m/s(11°)、1.1~1.3 m/s(13°)、1.4~1.6 m/s(18°)、1.8~2.0 m/s(18°)、2.1~2.5 m/s(18°)風(fēng)速進(jìn)行。其中風(fēng)場(chǎng)中心射線與無(wú)人機(jī)飛行水平面稱為側(cè)俯風(fēng)角。
表3 前俯向風(fēng)干擾下四旋翼無(wú)人機(jī)姿態(tài)角累積誤差Table 3 Cumulative errors of UAV attitude angles with forward pitch wind disturbance
圖9 臨界風(fēng)速下四旋翼無(wú)人機(jī)俯仰角輸出Fig.9 Pitch angle output of UAV at critical wind speed
表4 側(cè)俯向風(fēng)干擾下四旋翼無(wú)人機(jī)姿態(tài)角累積誤差Table 4 Cumulative errors of UAV attitude angles with sideways wind disturbance
圖10 臨界風(fēng)速下四旋翼無(wú)人機(jī)滾轉(zhuǎn)角輸出Fig.10 Roll angle output of UAV at critical wind speed
表4為無(wú)人機(jī)在側(cè)俯向風(fēng)干擾下三姿態(tài)角累積誤差,從表中看出未使用ADRC控制器滾轉(zhuǎn)角累計(jì)誤差均大于使用ADRC控制器。在前俯仰風(fēng)干擾下,無(wú)人機(jī)滾轉(zhuǎn)角受到影響最大,圖10為臨界風(fēng)速下無(wú)人機(jī)滾轉(zhuǎn)角輸出。
在1.8~2.0 m/s風(fēng)速時(shí),未使用ADRC姿態(tài)控制器無(wú)人機(jī)滾轉(zhuǎn)角度在50~61、81~87次控制周期時(shí)出現(xiàn)持續(xù)較大滾轉(zhuǎn)角誤差,誤差范圍在-7°~6°,無(wú)人機(jī)嚴(yán)重偏離風(fēng)擾作用時(shí)懸停點(diǎn),控制失效。在該干擾風(fēng)下,使用ADRC姿態(tài)控制器無(wú)人機(jī)滾轉(zhuǎn)角未出現(xiàn)持續(xù)誤差。繼續(xù)加大風(fēng)速2.1~2.5 m/s 時(shí),使用ADRC姿態(tài)控制器無(wú)人機(jī)在90~106次控制周期,才出現(xiàn)持續(xù)較大滾轉(zhuǎn)角誤差,姿態(tài)控制失效。綜上,1.4~1.6 m/s (18°)為內(nèi)置姿態(tài)控制器所能承受最大側(cè)俯風(fēng)速和風(fēng)向角,1.8~2.0 m/s (18°)為ADRC姿態(tài)控制器所能承受最大側(cè)俯風(fēng)速和風(fēng)向角。
為進(jìn)一步驗(yàn)證自適應(yīng)自抗擾控制器,即基于迭代學(xué)習(xí)控制自抗擾控制(ILC-ADRC)對(duì)未知干擾觀測(cè)和補(bǔ)償?shù)挠行浴?shí)驗(yàn)設(shè)計(jì)了基于初始誤差下的干擾風(fēng)實(shí)驗(yàn),在本次實(shí)驗(yàn)中將初始誤差和風(fēng)擾動(dòng)同時(shí)視為一種外部擾動(dòng),采用ADRC和基于ILC的自適應(yīng)ADRC分別進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)分別采用迎頭55°、90°、180°,水平風(fēng)速1.1~1.3、1.4~ 1.6、2.0~2.4、2.5~2.9 m/s下使用ADRC和ILC-ADRC進(jìn)行對(duì)比實(shí)驗(yàn)。
表5中A表示采用ADRC姿態(tài)控制器,IA表示采用ILC-ADRC姿態(tài)控制器,φae為偏航角累計(jì)誤差,x(t)為輸出峰值,Mp為超調(diào)量,ts為調(diào)節(jié)時(shí)間。通常四旋翼無(wú)人機(jī)偏航角度誤差需要控制在15°以內(nèi),由表5可知除180°初始誤差外,ILC-ADRC偏航角誤差均小于或等于15°,即滿足偏航角控制要求。調(diào)節(jié)時(shí)間方面,ILC-ADRC相較于ADRC縮短較多。定義調(diào)節(jié)時(shí)間提高率η為
(2)
相較于ADRC,采用ILC-ADRC調(diào)節(jié)時(shí)間分別縮短了40%,16.67%,12.5%,53.33%,10.34%, 13.95%,27.27%,58.66%,11.86%。
圖11為臨界風(fēng)速和初始誤差角度下無(wú)人機(jī)偏航角輸出。在1.1~1.3 m/s水平風(fēng)速、180°初始誤差下,采用ADRC在第103~125、133~150次控制周期時(shí),無(wú)人機(jī)偏航角誤差加大,分別出現(xiàn)無(wú)人機(jī)360°旋轉(zhuǎn)現(xiàn)象,無(wú)人機(jī)順時(shí)針旋轉(zhuǎn)一周,此時(shí)無(wú)人機(jī)偏航角控制失效。在該風(fēng)速和初始誤差下,采用ILC-ADRC姿態(tài)控制器偏航角誤差在-15°~15°之間,滿足控制精度要求。在2.0~2.4 m/s, 90°初始誤差下,采用ADRC姿態(tài)控制器在100~115、130~140次控制周期均出現(xiàn)大于15°和小于-15°偏航角誤差;在2.5~2.9 m/s、90°初始誤差下,第25~60、79~100、120~150次控制也出現(xiàn)大于15°和小于-15°偏航角誤差,以上2個(gè)實(shí)驗(yàn)ADRC控制器均失效。而采用ILC-ADRC姿態(tài)控制器,在150次控制周期內(nèi),偏航角誤差均在-15°~15°之間,滿足四旋翼無(wú)人機(jī)偏航角控制精度。綜上,2.0~2.4 m/s、55°為ADRC控制器所能承受最大水平風(fēng)速和初始偏差,2.5~2.9 m/s、90°為ILC-ADRC姿態(tài)控制器所能承受最大水平風(fēng)速和初始偏差。
表5 初始誤差及水平風(fēng)干擾下四旋翼無(wú)人機(jī)控制結(jié)果Table 5 UAV control with initial errors and horizontal wind disturbance
圖11 臨界風(fēng)速和初始誤差下四旋翼無(wú)人機(jī)偏航角輸出Fig.11 Yaw angle output of UAV at critical wind speed with initial error
1) 通過(guò)構(gòu)建ADRC姿態(tài)控制器實(shí)現(xiàn)四旋翼無(wú)人機(jī)平臺(tái)精準(zhǔn)懸停,實(shí)驗(yàn)在0.9~1.1、1.1~1.3、1.4~1.6、2.0~2.4、2.5~2.9、3.3~3.6 m/s側(cè)向水平風(fēng)、0.9~1.1 m/s(11°)、1.1~1.3 m/s(13°)、1.4~1.6 m/s(18°)、1.8~ 2.0 m/s(18°)、2.1~2.5 m/s(18°) 前俯向風(fēng)和側(cè)俯向風(fēng)下驗(yàn)證ADRC姿態(tài)控制器對(duì)未知干擾的補(bǔ)償能力,實(shí)驗(yàn)結(jié)果表明,采用ADRC姿態(tài)控制器后無(wú)人機(jī)抗風(fēng)擾能力有較大提升。
2) 在有初始誤差和風(fēng)擾下,構(gòu)建自適應(yīng)ADRC 姿態(tài)控制器,通過(guò)迭代學(xué)習(xí)控制在線整定ADRC 控制器帶寬,并證明了ILC-ADRC控制器的穩(wěn)定性。
3) 實(shí)驗(yàn)分別進(jìn)行了機(jī)頭實(shí)際方向與期望方向偏離55°、90°、180°,水平風(fēng)速1.1~1.3、1.4~1.6、2.0~2.4、2.5~2.9 m/s下使用ADRC和ILC-ADRC的對(duì)比。采用ILC-ADRC姿態(tài)控制的真實(shí)四旋翼無(wú)人機(jī)平臺(tái)偏航角誤差均在-15°~15°之間,具備快速的暫態(tài)響應(yīng)和改善的無(wú)抖振穩(wěn)態(tài)性能。