李茂林 王勇杰 介 丹
(運(yùn)城職業(yè)技術(shù)大學(xué)電子信息工程系 山西 運(yùn)城 044000)
四旋翼飛行器是一類(lèi)多輸入多輸出的非線(xiàn)性飛行器,具有強(qiáng)耦合性且難以建立精確的數(shù)學(xué)模型[1],傳統(tǒng)的PID控制[2]、魯棒控制[3]和神經(jīng)網(wǎng)絡(luò)控制[4]等控制策略的控制效果均依賴(lài)被控對(duì)象的數(shù)學(xué)模型,因此針對(duì)具有難以建立精確數(shù)學(xué)模型特點(diǎn)的被控對(duì)象,傳統(tǒng)的控制策略難以得到最優(yōu)控制效果。此外,四旋翼飛行器在飛行過(guò)程中,易受到外界擾動(dòng),偏離預(yù)定飛行高度或飛行航線(xiàn),導(dǎo)致飛行器在飛行過(guò)程中對(duì)于控制器的抗擾動(dòng)能力要求極高。因此,針對(duì)上述特點(diǎn),四旋翼飛行器的控制設(shè)計(jì)成為了國(guó)內(nèi)外研究學(xué)者的研究重點(diǎn)。
古訓(xùn)等[5]提出一種自適應(yīng)滑??刂撇呗?,實(shí)現(xiàn)了飛行器的姿態(tài)控制和高度控制,提高了控制精度和響應(yīng)速度。胡文華等[6]提出一種基于改進(jìn)粒子群算法的自抗擾四旋翼控制策略,該策略針對(duì)傳統(tǒng)粒子群算法求解精度不高的問(wèn)題進(jìn)行改進(jìn),并用于自抗擾參數(shù)整定,提高了控制精度。陳林奇等[7]提出一種雙空間粒子群算法的自抗擾四旋翼控制策略,該策略實(shí)現(xiàn)了飛行器到達(dá)指令高度的快速無(wú)超調(diào),但該策略中粒子群算法難以針對(duì)擾動(dòng)計(jì)算出當(dāng)前有效的控制參數(shù),使得控制器的抗擾動(dòng)能力不強(qiáng)。Wang等[8]提出一種基于干擾觀測(cè)器的四旋翼自適應(yīng)容錯(cuò)控制,針對(duì)外負(fù)載擾動(dòng)具有較強(qiáng)的觀測(cè)能力,但該策略的缺點(diǎn)在于系統(tǒng)受到擾動(dòng)后,再次達(dá)到穩(wěn)態(tài)的時(shí)間較長(zhǎng)。盧凱文等[9]提出一種具有LQR的四旋翼控制策略,該策略較傳統(tǒng)PID控制的控制精度更高,但抗擾動(dòng)能力較差。
為提高四旋翼飛行器的控制精度和抗擾動(dòng)能力,本文首先選取非線(xiàn)性自抗擾作為四旋翼飛行器的控制器。其次針對(duì)非線(xiàn)性自抗擾控制器參數(shù)難以整定的問(wèn)題,通過(guò)動(dòng)態(tài)混沌權(quán)重、位置遺棄和多種群策略對(duì)蜻蜓算法進(jìn)行改進(jìn),將改進(jìn)后的蜻蜓算法用于自抗擾控制器參數(shù)的在線(xiàn)整定。最后將優(yōu)化后的自抗擾控制器對(duì)四旋翼飛行器進(jìn)行姿態(tài)控制和高度控制。
設(shè)四旋翼飛行器在地面坐標(biāo)系下的坐標(biāo)為OL=(x,y,z),飛行器的俯仰角、滾動(dòng)角和航向角分別記為α、β和γ。因此定義四旋翼飛行器的動(dòng)力學(xué)方程的數(shù)學(xué)模型為:
(1)
式中:Ix、Iy和Iz分別為飛行器繞x、y、z三軸的慣性張量;m為飛行器質(zhì)量;U1、U2、U3和U4分別為飛行器高度、俯仰角、滾動(dòng)角和航向角的系統(tǒng)控制量;g為重力加速度;l表示四旋翼飛機(jī)質(zhì)心與機(jī)翼中心點(diǎn)的距離。定義飛行器四個(gè)旋翼的轉(zhuǎn)速分別為Ω1、Ω2、Ω3和Ω4。因此系統(tǒng)控制量和四個(gè)旋翼轉(zhuǎn)速之間關(guān)系的數(shù)學(xué)表達(dá)式如下:
(2)
式中:b為升力系數(shù);d為反扭矩系數(shù)。
由式(1)和式(2)可知,飛行器中,航向角、俯仰角和滾動(dòng)角之間相互耦合,自抗擾控制器可將三通道之間的耦合量作為控制系統(tǒng)中的內(nèi)部擾動(dòng),并與外部與擾動(dòng)一起作為觀測(cè)器觀測(cè)的總擾動(dòng),對(duì)總擾動(dòng)進(jìn)行觀測(cè)和補(bǔ)償。因此可將式(1)和式(2)改寫(xiě)成與自抗擾控制數(shù)學(xué)模型的相對(duì)形式:
(3)
式中:ωi=(ω1,ω2,ω3,ω4)為系統(tǒng)四通道所受外負(fù)載擾動(dòng);fi為系統(tǒng)內(nèi)部擾動(dòng);b1≈m-1,b2≈Ix-1,b3≈Iy-1,b4≈Iz-1。
自抗擾控制器是一類(lèi)不基于精確數(shù)學(xué)模型且抗擾動(dòng)能力強(qiáng)的非線(xiàn)性控制器[10]。控制器由微分跟蹤器、擴(kuò)張狀態(tài)觀測(cè)器和非線(xiàn)性反饋控制率三部分構(gòu)成。以航向角為例,設(shè)計(jì)航向角自抗擾控制器如下。被控對(duì)象可表示為:
(4)
1) 微分跟蹤器的數(shù)學(xué)表達(dá)式如下:
(5)
式中:γd為航向角期望輸入;h0為濾波因子;h為步長(zhǎng);r為速度因子,調(diào)節(jié)微分跟蹤器對(duì)輸入信號(hào)的跟蹤速度;fst()為最速綜合函數(shù),安排系統(tǒng)的過(guò)渡過(guò)程。
2) 擴(kuò)張狀態(tài)觀測(cè)器的數(shù)學(xué)表達(dá)式如下:
(6)
式中:β1、β2和β3為反饋增益參數(shù),決定擴(kuò)張狀態(tài)觀測(cè)器對(duì)擾動(dòng)的觀測(cè)和補(bǔ)償效果;z1和z2為被動(dòng)對(duì)象輸入值和其微分信號(hào)的觀測(cè)值;z3為系統(tǒng)總擾動(dòng)觀測(cè)值;α1通常取0.5;α2通常取0.25;δ通常取0.1。fal()函數(shù)的定義如下:
(7)
式中:e表示系統(tǒng)反饋誤差。
3) 非線(xiàn)性誤差反饋控制率根據(jù)輸入輸出反饋所得誤差和擾動(dòng)觀測(cè)量z3,計(jì)算被控對(duì)象的最終控制量U4。其數(shù)學(xué)表達(dá)式如下所示:
(8)
式中:β11和β12為控制器增益參數(shù),β11越大響應(yīng)速度越快,但會(huì)引起系統(tǒng)震蕩,β12越大,系統(tǒng)不易出現(xiàn)超調(diào),但會(huì)導(dǎo)致系統(tǒng)調(diào)節(jié)時(shí)間過(guò)長(zhǎng);α1一般取0.5;α2一般取1.5;b為補(bǔ)償系數(shù)。因此,非線(xiàn)性自抗擾控制器中,待整定參數(shù)為β1、β2、β3、β11、β12和b。
本文將改進(jìn)的蜻蜓算法在線(xiàn)整定自抗擾控制坐騎參數(shù),并將優(yōu)化的自抗擾控制器對(duì)四旋翼飛行器進(jìn)行姿態(tài)控制和高度控制,進(jìn)行實(shí)驗(yàn)。系統(tǒng)分為四個(gè)獨(dú)立回路通道,分別控制高度、航向角、俯仰角和滾動(dòng)角。設(shè)系統(tǒng)高度的期望輸入為zd、航向角期望輸入為γd、俯仰角期望輸入為αd、滾動(dòng)角期望輸入為βd。則基于改進(jìn)蜻蜓算法的自抗擾四旋翼控制系統(tǒng)的控制結(jié)構(gòu)如圖1所示。
圖1 控制結(jié)構(gòu)
蜻蜓優(yōu)化算法[11]在尋優(yōu)過(guò)程中會(huì)分為靜態(tài)和動(dòng)態(tài)兩個(gè)群體,其中靜態(tài)群體在食物源附近進(jìn)行小規(guī)模的范圍性搜索,不斷尋找其他獵物,直到找到最優(yōu)食物源,這類(lèi)行為被稱(chēng)為捕食行為。動(dòng)態(tài)群體不斷向最優(yōu)食物源靠近,并沿當(dāng)前尋優(yōu)路徑進(jìn)行位置更新,尋找全局最優(yōu)解,這類(lèi)行為被稱(chēng)為遷徙行為。按照捕食和遷徙行為,蜻蜓算法主要通過(guò)以下五個(gè)方面進(jìn)行迭代尋優(yōu)。
1) 蜻蜓算法在尋優(yōu)過(guò)程中,種群中的蜻蜓個(gè)體會(huì)不斷與相鄰個(gè)體進(jìn)行分離,其數(shù)學(xué)表達(dá)式如下:
(9)
式中:Si為第i個(gè)個(gè)體與其相鄰個(gè)體的分離度;N為相鄰個(gè)體的數(shù)量;i=1,2,…,NP,NP為種群規(guī)模;xi為蜻蜓個(gè)體的位置;xj為相鄰個(gè)體的位置,j=1,2,…,N。
2) 蜻蜓個(gè)體在尋優(yōu)過(guò)程中,位置會(huì)不斷發(fā)生改變,并與相近個(gè)體進(jìn)行速度匹配,防止蜻蜓個(gè)體脫離群體,其數(shù)學(xué)表達(dá)式如下:
(10)
式中:Ai為第i個(gè)個(gè)體與相鄰個(gè)體的速度對(duì)齊度;vj為相鄰個(gè)體的速度。
3) 蜻蜓種群在尋優(yōu)過(guò)程中,會(huì)形成一個(gè)小集體在尋優(yōu)路徑上進(jìn)行小范圍尋優(yōu),尋優(yōu)完成后,小集體中的全部個(gè)體會(huì)向種群聚攏,其數(shù)學(xué)表達(dá)式如下:
(11)
式中:Ci為第i個(gè)個(gè)體與其相鄰個(gè)體的聚攏度。
4) 蜻蜓個(gè)體會(huì)朝最優(yōu)解方向不斷靠近,并在路徑中尋找更優(yōu)質(zhì)的解,其數(shù)學(xué)表達(dá)式如下:
Fi=xbest-xi
(12)
式中:xbest為食物源,即當(dāng)前迭代產(chǎn)生的最優(yōu)解;Fi為食物源對(duì)第i個(gè)個(gè)體的吸引力。
5) 蜻蜓個(gè)體在捕獵過(guò)程中,會(huì)不斷躲避天敵,這種行為的數(shù)學(xué)表達(dá)式如下:
Ei=xworst-xi
(13)
式中:xworst為蜻蜓個(gè)體的天敵,即當(dāng)前迭代中的最差解;Ei為第i個(gè)個(gè)體對(duì)天敵的排斥力。
綜合以上五種蜻蜓在捕獵時(shí)的行為,定義在蜻蜓算法中,蜻蜓個(gè)體的位置更新公式如下:
X(t+1)=X(t)+ΔX(t+1)
(14)
式中:t=1,2,…,Tmax為當(dāng)前迭代次數(shù),Tmax為最大迭代次數(shù);X(t)為蜻蜓種群中個(gè)體的位置;ΔX表示蜻蜓個(gè)體的更新步長(zhǎng)。ΔX更新公式如下:
ΔX(t+1)=αsSi+αAAi+αCCi+αFFi+
αEEi+ωΔX(t)
(15)
式中:αs為個(gè)體的分離權(quán)重;αA為速度匹配權(quán)重;αC為聚攏權(quán)重;αF為食物因子;αE為天敵因子;ω為步長(zhǎng)更新權(quán)重。
蜻蜓算法在位置更新過(guò)程中,步長(zhǎng)更新權(quán)重ω會(huì)隨機(jī)更改搜索步長(zhǎng),其優(yōu)點(diǎn)在于搜索過(guò)程中不會(huì)喪失種群多樣性,但缺點(diǎn)在于隨機(jī)搜索極大概率會(huì)破壞算法全局收斂和局部搜索的平衡性。根據(jù)大量的實(shí)驗(yàn)研究表明,算法在迭代前期,應(yīng)具有較大的搜索步長(zhǎng),擴(kuò)大種群的搜索范圍,保證全局最優(yōu)解可以包含在解空間范圍內(nèi),提高算法的全局搜索能力。同時(shí)大范圍的搜索會(huì)使得算法的收斂精度降低,因此算法在迭代后期,應(yīng)縮短搜索步長(zhǎng),減小搜索范圍,使得算法可以在當(dāng)前最優(yōu)解附近進(jìn)行精確搜索,提高算法的局部收斂精度。因此本文通過(guò)提出一種動(dòng)態(tài)混沌步長(zhǎng)更新權(quán)重對(duì)蜻蜓算法的位置更新方式進(jìn)行改進(jìn)。改進(jìn)后的步長(zhǎng)更新權(quán)重如下:
(16)
ΔX(t+1)=(αsSi+αAAi+αCCi+αFFi+
αEEi)+ωcΔX(t)
(17)
在蜻蜓個(gè)體尋優(yōu)過(guò)程中,由于局部極值對(duì)其附近個(gè)體具有較強(qiáng)的吸引力,動(dòng)態(tài)群體中的全部個(gè)體會(huì)向局部極值點(diǎn)不斷靠近,使得個(gè)體無(wú)法跳出當(dāng)前位置,導(dǎo)致算法早熟收斂,陷入局部最優(yōu),降低算法的收斂精度。傳統(tǒng)的變異策略,通過(guò)使陷入局部最優(yōu)的個(gè)體獲得一個(gè)較大的擾動(dòng)力,幫助個(gè)體跳出局部最優(yōu),但并不能保證跳出局部最優(yōu)的個(gè)體不會(huì)再次受到局部極值的吸引,重新陷入局部最優(yōu)。因此本文引入一種新的最差個(gè)體位置遺棄策略,對(duì)算法中適應(yīng)度值較差的群體進(jìn)行改進(jìn)。最差個(gè)體位置遺棄是指,若當(dāng)前個(gè)體在同一個(gè)位置被搜索Lmax次,且適應(yīng)度值并沒(méi)有得到有效的改善,則認(rèn)為該個(gè)體在當(dāng)前位置陷入局部最優(yōu),算法在之后的若干次迭代過(guò)程中,不會(huì)對(duì)當(dāng)前位置進(jìn)行搜索,此位置被標(biāo)記為遺棄位置,并被生成的新位置所代替,新位置生成的數(shù)學(xué)表達(dá)式如下:
Xnew=(1-η(t))Xbest(t)+λ(Xbest(t)-X(t))
(18)
式中:Xnew為遺棄位置后產(chǎn)生的新位置;λ=2-(rand-0.5)×e-0.35t為位置因子,是一個(gè)隨機(jī)數(shù);Xbest(t)為當(dāng)前迭代計(jì)算所得最優(yōu)個(gè)體的位置;η(t)表示第t次迭代時(shí)位置更新權(quán)重。η(t)計(jì)算公式如下:
η(t)=ηmin+(ηmax-ηmin)×e-0.35t
(19)
式中:ηmax和ηmin為位置更新權(quán)重的最大值和最小值。
本文通過(guò)引入最差粒子位置遺棄策略的基本蜻蜓算法進(jìn)行改進(jìn),可以有效避免個(gè)體陷入局部最優(yōu),早熟收斂。但新位置生成的條件,是指?jìng)€(gè)體在一個(gè)位置被多次搜索到,但適應(yīng)度值并沒(méi)有被改善。該策略的優(yōu)點(diǎn)在于,若被搜索到的個(gè)體適應(yīng)度值較差,幫助該個(gè)體跳出局部最優(yōu),避免算法早熟收斂陷入局部最優(yōu)。缺點(diǎn)在于,若被搜索到的個(gè)體適應(yīng)度值較優(yōu),但該位置同樣被搜索多次,且未改變?cè)搨€(gè)體的適應(yīng)度函數(shù)值,說(shuō)明該個(gè)體很有可能為全局最優(yōu)解,若此時(shí)將該個(gè)體的位置進(jìn)行遺棄,則會(huì)導(dǎo)致算法跳出極值點(diǎn),難以找到全局最優(yōu)解。因此本文通過(guò)多種群策略對(duì)算法進(jìn)行改進(jìn),雙種群尋優(yōu)過(guò)程如下:
Step1種群初始化后,計(jì)算全部種群的適應(yīng)度函數(shù)值,并進(jìn)行排序。選擇前10%的個(gè)體作為一個(gè)子種群,記為S1。其余個(gè)體作為另一個(gè)子種群,記為S2。
Step2在每次迭代過(guò)程中,通過(guò)動(dòng)態(tài)混沌慣性權(quán)重對(duì)子種群S1中的個(gè)體進(jìn)行位置更新,通過(guò)最差粒子位置遺棄策略對(duì)子種群S2中的個(gè)體進(jìn)行位置更新。
Step3計(jì)算子種群S1和S2中的全部個(gè)體的適應(yīng)度函數(shù)值。將種群S2中的個(gè)體按照適應(yīng)度函數(shù)值進(jìn)行排序,并比較子種群S2中前10%的個(gè)體與子種群S1中個(gè)體的適應(yīng)度函數(shù)值,若優(yōu)于S1中的個(gè)體,則進(jìn)行替換。
Step1蜻蜓種群初始化,包括種群規(guī)模NP、維數(shù)為D、ηmax、ηmin、Lmax、Tmax、種群中全部個(gè)體的位置Xi和初始步長(zhǎng)ΔX。
Step2計(jì)算蜻蜓種群中全部個(gè)體的適應(yīng)度函數(shù)值并進(jìn)行排序,選取前10%的個(gè)體作為一個(gè)子種群,記為S1。其余個(gè)體作為另一個(gè)子種群,記為S2。
Step3通過(guò)式(9)-式(13)計(jì)算Si、Ai、Ci、Fi和Ei。
Step4通過(guò)式(10)、式(11)和式(12)對(duì)子種群S1中個(gè)體的位置和補(bǔ)償進(jìn)行更新。
Step5通過(guò)式(10)、式(11)和式(13)對(duì)子種群S2中個(gè)體的位置和補(bǔ)償進(jìn)行更新,判斷是否進(jìn)行位置遺棄并產(chǎn)生新位置。
Step6計(jì)算子種群S1和S2中的全部個(gè)體的適應(yīng)度函數(shù)值,并比較子種群S2中前10%的個(gè)體與子種群S1中個(gè)體的適應(yīng)度函數(shù)值,若優(yōu)于S1中的個(gè)體,則進(jìn)行替換。
Step7判斷是否達(dá)到最大迭代次數(shù)Tmax,是則輸出最優(yōu)解,否則返回Step 3。
為了驗(yàn)證本文所提多種群蜻蜓算法的性能,選取10個(gè)國(guó)際通用的標(biāo)準(zhǔn)測(cè)試函數(shù)進(jìn)行實(shí)驗(yàn)驗(yàn)證。其中F1-F5為單峰測(cè)試函數(shù),主要驗(yàn)證算法的收斂速度和全局搜索能力。F6-F10為多峰測(cè)試函數(shù),主要驗(yàn)證算法的局部收斂能力和收斂精度。其中測(cè)試函數(shù)的具體信息如表1所示。為了可以更加直觀地表現(xiàn)出多種群蜻蜓算法的尋優(yōu)性能,本文將多種群蜻蜓算法的實(shí)驗(yàn)結(jié)果與雙空間粒子群算法[7]、改進(jìn)樽海鞘群算法[12]、交叉保優(yōu)粒子群算法[6]的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,為了保證實(shí)驗(yàn)的公平性,四種算法獨(dú)立運(yùn)行50次并對(duì)全部實(shí)驗(yàn)結(jié)果去平均值(Ave)、最小值(Min)、標(biāo)準(zhǔn)差(Std)、尋優(yōu)成功率(SR),種群規(guī)模均為100,迭代次數(shù)均為100。具體實(shí)驗(yàn)結(jié)果如表2所示,其中最優(yōu)解用加粗字體表示。四種算法的參數(shù)設(shè)置如下:其中本文所提多種群蜻蜓算法的位置更新權(quán)重的最大值ηmax、最小值ηmin和最大搜索次數(shù)Lmax通過(guò)多次數(shù)值仿真實(shí)驗(yàn)所得最優(yōu)取值。
1) 多種群蜻蜓算法:ηmin=0.25,ηmax=0.9,Lmax=5。
2) 雙空間粒子群算法:加速度因子c1=c2=2,慣性權(quán)重ω=0.6,搜索范圍因子r1=0.75,搜索范圍因子r2=0.25。
3) 交叉保優(yōu)粒子群算法:加速度因子c1=2,加速度因子c2=2,慣性權(quán)重最小值ωmin=0.4,慣性權(quán)重最大值ωmax=0.9。
表1 測(cè)試函數(shù)
續(xù)表1
表2 測(cè)試結(jié)果
續(xù)表2
從表2中可知,對(duì)于單峰測(cè)試函數(shù)而言,本文所提多種群蜻蜓優(yōu)化算法求解的平均值和最小值最小,說(shuō)明多種群蜻蜓優(yōu)化算法的全局收斂精度和尋優(yōu)能力要優(yōu)于其他三種算法。同時(shí)對(duì)于單峰測(cè)試函數(shù)F2和F5而言,交叉保優(yōu)粒子群算法和改進(jìn)樽海鞘群算法均早熟收斂,無(wú)法找到全局最優(yōu)解,但多種群蜻蜓算法仍可找到全局最優(yōu)解,說(shuō)明動(dòng)態(tài)混沌權(quán)重在尋優(yōu)初期給予算法較大的搜索步長(zhǎng),擴(kuò)大算法的尋優(yōu)范圍并成功覆蓋了全局極值點(diǎn)。此外隨求解維數(shù)增加,算法求解難度也急劇增加,雙空間粒子群算法、交叉保優(yōu)粒子群算法和改進(jìn)樽海鞘群算法均很大程度地降低了算法的須有精度,尋優(yōu)成功率也不同程度地降低,但多種群蜻蜓算法的尋優(yōu)成功率均為100%且收斂精度變化不大,說(shuō)明動(dòng)態(tài)混沌權(quán)重在迭代后期有效縮短搜索步長(zhǎng),使得算法可以小范圍精確搜索,提高了算法的收斂精度。
對(duì)于多峰測(cè)試函數(shù)F6-F9而言,本文所提多種群蜻蜓算法求解的平均值和最小值相較其他三種算法而言,同樣最小,僅在測(cè)試函數(shù)F10上,雙空間粒子群算法的求解精度要略?xún)?yōu)于本文算法,說(shuō)明本文所提多種群蜻蜓算法的局部尋優(yōu)能力要優(yōu)于其他三種算法。同樣,隨求解維數(shù)的增加,四種算法的局部搜索能力均有所下降,但本文算法的局部尋優(yōu)精度變化不大,且成功率為100%。值得注意的是,對(duì)于測(cè)試函數(shù)F7而言,本文算法可以求解到理論最優(yōu)值,說(shuō)明本文算法在迭代后期通過(guò)在極值點(diǎn)附近進(jìn)行小范圍搜索可以有效提高算法的尋優(yōu)精度。
同時(shí),對(duì)于全部測(cè)試函數(shù)而言,本文所提多種群蜻蜓算法求解的標(biāo)準(zhǔn)差較其他三種算法而言同樣最小,說(shuō)明本文算法的尋優(yōu)穩(wěn)定性要強(qiáng)于其他三種算法。隨求解維數(shù)的增加,雙空間粒子群算法、交叉保優(yōu)粒子群算法和改進(jìn)樽海鞘群算法在求解穩(wěn)定性上表現(xiàn)的能力較差,但本文所提多種群蜻蜓算法求解的標(biāo)準(zhǔn)差變化不大,說(shuō)明多種群蜻蜓算法對(duì)于求解具有復(fù)雜非線(xiàn)性數(shù)學(xué)模型的問(wèn)題上,具有較強(qiáng)的尋優(yōu)精度和尋優(yōu)穩(wěn)定性。
本文通過(guò)多種群蜻蜓算法優(yōu)化后的自抗擾控制器對(duì)飛行器進(jìn)行姿態(tài)控制和高度控制實(shí)驗(yàn),其中飛行器參數(shù)如表3所示。優(yōu)化后的自抗擾控制器參數(shù)如表4所示。
表3 飛行器參數(shù)
表4 優(yōu)化后的自抗擾控制器參數(shù)
本文選擇ITAE評(píng)價(jià)指標(biāo)作為多種群蜻蜓算法的適應(yīng)度函數(shù),該函數(shù)可較好地抑制長(zhǎng)時(shí)間存在的誤差,是一類(lèi)具有很好工程實(shí)用性和選擇性的控制系統(tǒng)性能評(píng)價(jià)指標(biāo)。該指標(biāo)的輸入為系統(tǒng)期望值和系統(tǒng)輸出值之間的誤差。本文將基于多種群蜻蜓算法求解所得的ITAE評(píng)價(jià)函數(shù)指標(biāo)值與雙空間粒子群算法、改進(jìn)樽海鞘群算法、交叉保優(yōu)粒子群算法求解取得的ITAE評(píng)價(jià)函數(shù)指標(biāo)值進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖2所示。
(a) 高度評(píng)價(jià)函數(shù)值
(b) 航向角評(píng)價(jià)函數(shù)值
(c) 俯仰角評(píng)價(jià)函數(shù)值
(d) 滾動(dòng)角評(píng)價(jià)函數(shù)值圖2 評(píng)價(jià)函數(shù)對(duì)比
可以看出,在迭代初期,本文所提多種群蜻蜓算法求解的評(píng)價(jià)函數(shù)值下降趨勢(shì)最快且范圍最大,說(shuō)明本文算法相較其他三種算法在迭代前期具有較大的搜索范圍,全局搜索能力更強(qiáng)。評(píng)價(jià)函數(shù)值下降速度最快說(shuō)明本文算法的搜索速度最快。此外,在高度ITAE值、航向ITAE值、俯仰ITAE值和滾動(dòng)ITAE值的求解上,多種群蜻蜓算法分別在23代、34代、33代和33代完成收斂,且ITAE值相較其他三種算法均為最小,到達(dá)穩(wěn)態(tài)時(shí)間最短。說(shuō)明本文算法在線(xiàn)整定自抗擾參數(shù)所需時(shí)間最短且精度最高。
本文通過(guò)優(yōu)化后的自抗擾控制器對(duì)飛行器進(jìn)行姿態(tài)控制和高度控制,實(shí)驗(yàn)結(jié)果如圖3所示。其中高度輸入為5 m,即幅值為5的階躍信號(hào)。航線(xiàn)角期望輸入為方波增益為15度的周期性方波,滾動(dòng)角和俯仰角的期望輸入為方波增益為40度的周期性方波。在實(shí)驗(yàn)過(guò)程中,為了對(duì)比驗(yàn)證本文所提改進(jìn)策略的抗擾動(dòng)能力,在控制過(guò)程中加入白噪聲信號(hào)模擬外界擾動(dòng)。
(a) 高度控制
(b) 航向角控制
(c) 俯仰角控制
(d) 滾動(dòng)角控制圖3 系統(tǒng)控制對(duì)比
可以看出,首先,本文所提改進(jìn)策略在高度控制和歐拉角控制上,取得的控制精度最高,最大相對(duì)誤差分別為0.2%、0.8%、0.93%和0.84%,且可以實(shí)現(xiàn)快速無(wú)超調(diào)。雖然基于改進(jìn)樽海鞘群算法的優(yōu)化控制策略在高度控制上,到達(dá)指定高度的時(shí)間略快于本文所提多種群蜻蜓算法的優(yōu)化控制策略,但存在較大超調(diào),且再次到達(dá)穩(wěn)態(tài)的時(shí)間要慢于本文所提優(yōu)化策略。此外,在航向角、俯仰角和滾動(dòng)角的控制上,本文所提優(yōu)化策略很好地對(duì)期望輸入信號(hào)進(jìn)行了跟蹤,三個(gè)角之間的誤差相差不大,說(shuō)明優(yōu)化后的自抗擾控制器很好地對(duì)三個(gè)歐拉角之間的耦合關(guān)系進(jìn)行了解耦,較大程度地提高了控制精度,減小了飛行器的姿態(tài)控制誤差。其次,加入白噪聲后,本文所提多種群蜻蜓算法的自抗擾優(yōu)化控制策略受擾動(dòng)影響最小,三個(gè)歐拉角受擾動(dòng)后,最大相對(duì)誤差為0.93%、1.1%和0.96%,遠(yuǎn)優(yōu)于其他三種優(yōu)化控制策略受到擾動(dòng)后的控制誤差,說(shuō)明多種群蜻蜓算法優(yōu)化后的自抗擾控制器相較其他三種優(yōu)化控制策略,具有較高的抗擾動(dòng)能力。
本文針對(duì)四旋翼飛行器姿態(tài)角難以控制的問(wèn)題,提出一種多種群蜻蜓算法自抗擾控制策略。對(duì)控制器參數(shù)難以整定問(wèn)題,首先通過(guò)動(dòng)態(tài)混沌權(quán)重、最差粒子遺棄和多種群策略對(duì)基本蜻蜓算法進(jìn)行改進(jìn),提高算法的尋優(yōu)精度,平衡算法全局局部收斂能力。其次將改進(jìn)后的蜻蜓算法在線(xiàn)優(yōu)化自抗擾控制器參數(shù)。最后將優(yōu)化后的自抗擾控制器對(duì)四旋翼飛行器進(jìn)行高度控制和姿態(tài)控制,在控制過(guò)程中加入白噪聲擾動(dòng)。實(shí)驗(yàn)結(jié)果表明,多種群蜻蜓算法優(yōu)化后的自抗擾控制策略有效提高了飛行器的控制精度和抗擾動(dòng)能力。