鮑廣喜
(安徽工程大學(xué) 計算機與信息學(xué)院,安徽 蕪湖 241000)
模糊控制方法是以專家知識為基礎(chǔ)模擬人類推理方式一種近似推理控制方法.其適應(yīng)性強、容錯性和魯棒性好等優(yōu)點使得它在各個領(lǐng)域得到了廣泛的研究與應(yīng)用[1-2].閆安等人針對單軌雙輪機器人在靜止情況下存在固有靜不穩(wěn)定的問題,提出了一種基于模糊強化學(xué)習(xí)的控制方法,采用模糊理論泛化動作空間,改善控制精度,并使控制輸出連續(xù)[3].針對傳統(tǒng)電力應(yīng)急指揮系統(tǒng)自動控制策略在控制系統(tǒng)運行時控制指令傳輸所需時間過長的問題,劉軍等人設(shè)計了一種基于模糊控制器的電力應(yīng)急指揮系統(tǒng)自動控制策略[4],將模糊器結(jié)構(gòu)中的輸入、輸出物理量轉(zhuǎn)換為模糊量,計算轉(zhuǎn)換后模糊量的隸屬度,得到模糊器中的近似算法,構(gòu)建出一個前向樹,最終得到系統(tǒng)的控制方案進而實現(xiàn)了自動控制.為了探索出提高快速反射鏡伺服性能的控制方法,利用模糊控制和PID控制相結(jié)合的方法,高歆楊等人成功地設(shè)計了一種快速反射鏡伺服控制器,該模糊控制器既繼承了PID易于工程實現(xiàn)的優(yōu)點,又具有可自適應(yīng)調(diào)整定控制參數(shù)的特點,從而可提高現(xiàn)有快速反射鏡的伺服性能,更好地適應(yīng)各類運行工況[5].然而由于其本身過度依賴專家知識和經(jīng)驗,也就是在設(shè)計規(guī)則和隸屬度函數(shù)時完全憑經(jīng)驗設(shè)置,在這過程中,知識和經(jīng)驗的不確定性會降低控制精度并使得系統(tǒng)動態(tài)性能變差.為此系統(tǒng)中的參數(shù)需要進一步優(yōu)化調(diào)節(jié).
通常情況下,模糊系統(tǒng)中的參數(shù)是由輸入輸出變量個數(shù)和模糊劃分直接決定的[6].在輸入輸出變量個數(shù)確定時,如果模糊劃分越細,那么控制效果會更好,但是其規(guī)則和參數(shù)會成級數(shù)增加.因此如何在大量的參數(shù)中找到更加合理的參數(shù)成為解決最優(yōu)模糊問題的一個難點.為了找到合適的參數(shù),文獻[7]分別運用GA,蟻群算法(ACO)和RNA-GA對隸屬度中參數(shù)進行優(yōu)化并取得良好的控制效果.此外,郭衛(wèi)等人引入遺傳算法對方法進行參數(shù)優(yōu)化,使其更好地滿足速比控制的要求[8].針對開關(guān)磁阻電動機非線性、難以建立精確數(shù)學(xué)模型的問題,黃志凡在文獻[9]中利用粒子群優(yōu)化算法對模糊控制器進行調(diào)參,仿真實驗驗證了粒子群優(yōu)化算法優(yōu)化模糊控制器參數(shù)的有效性.在此基礎(chǔ)上,基于變異、交叉和選擇的差分進化(DE)算法是啟發(fā)式進化算法.相比其啟發(fā)式算法,該算法憑借其良好的全局搜索能力和收斂特性在最近幾年得到廣泛應(yīng)用和關(guān)注,尤其是解決高維尋優(yōu)問題時,其效果更加明顯[10].
二級倒立擺是一種不穩(wěn)定系統(tǒng),它是許多控制對象的簡化模型[11].對它的控制可以用來檢測控制方法的有效性.為此,本文根據(jù)其倒立擺特性,設(shè)定相應(yīng)的目標(biāo)函數(shù),并運用DE算法對模糊控制器參數(shù)進行優(yōu)化調(diào)節(jié),將優(yōu)化后的控制器應(yīng)用到倒立擺的擺角控制.實驗證明優(yōu)化后的模糊控制器控制性能更好.
DE優(yōu)化算法以變異、交叉和選擇三種基本操作為基礎(chǔ)進行迭代尋優(yōu),是一種實數(shù)編碼方式的全局優(yōu)化算法.
(1)
其中xj,max和xj,min分別表示第j維的上下界.
在一個父代種群中隨機進行選擇,選出兩個不同的個體向量,相位下降產(chǎn)生差分向量,并將差分向量賦予一定的權(quán)值,進而與另一個父代種群隨機選出的向量相加,產(chǎn)生變異個體[12].任意一個父代種群中的目標(biāo)向量xi,變異向量生成公式如下:
vi=xr1+F·(xr2-xr3),i=1,2,…,NP
(2)
其中{xr1,xr2,xr3}是父代種群中三個不同的隨機個體,并且xr1≠xr2≠xr3,F(xiàn)稱作縮放因子介于[0,2]之間.太小的縮放因子易導(dǎo)致收斂過早陷入局部最優(yōu),太大的縮放因子容易導(dǎo)致收斂性降低.經(jīng)驗證要想得到最好的收斂效果,F(xiàn)的取值范圍應(yīng)為[0.5,0.9].
交叉操作可實現(xiàn)種群多樣,將變異向量vi的各維分量與目標(biāo)向量xi的各維分量進行隨機重組,產(chǎn)生一個新的交叉向量ui=[ui,1,ui,2,…,ui,D],其生成公式如下:
(3)
其中,0≤p≤1表示隨機數(shù);randD∈[1,D]表示隨機整數(shù);Pc表示交叉概率.
“貪婪”選擇模式是DE算法通常采用的一種模式[13],即僅當(dāng)交叉向量ui比目標(biāo)向量xi具有更好的適應(yīng)度值時,ui才將會變?yōu)橐粋€下一代的新個體.反之xi將保留到下一代種群中.設(shè)minf(x)為最優(yōu)化問題,那么選擇操作表述公式如下:
(4)
基于以上描述理論,以目標(biāo)函數(shù)最小值求解為例,算法描述如下:
Step2:迭代次數(shù)更新g=g+1,目標(biāo)個體索引號設(shè)置為i=i+1.
Step3:除了目標(biāo)個體之外,再從種群中隨機選取三個與之不同的個體,按變異公式生成一個新的變異個體vi.
Step4:按交叉公式生成一個新的交叉?zhèn)€體ui.
Step5:計算適應(yīng)度值并執(zhí)行選擇操作.
Step6:更新目標(biāo)個體i=i+1返回Step3直至i=NP;否則執(zhí)行下一步.
Step7:判斷是否大于G,若不滿足返回Step2繼續(xù)迭代,滿足則算法結(jié)束.
依據(jù)二級倒立擺系統(tǒng)的性質(zhì),以誤差和誤差變化率為輸入變量,以控制力為輸出變量建立一個模糊系統(tǒng),輸入輸出變量采用在上五級模糊劃分,并采用高斯型隸屬度函數(shù).相應(yīng)的模糊規(guī)則如表1所示.
表1 模糊規(guī)則
由于模糊規(guī)則庫知識是給定的,只需調(diào)節(jié)輸入輸出變量的隸屬度參數(shù)即可[14].為了達到更好控制目標(biāo),我們根據(jù)被控對象的物理特性設(shè)定相應(yīng)的目標(biāo)函為:
(5)
其中x,θ1,θ2分別表示小車位移、下擺角和上擺角.
根據(jù)給定目標(biāo)函數(shù)公式,運用DE優(yōu)化算法[15]對上一節(jié)建立模糊控制器中的隸屬度參數(shù)進行調(diào)節(jié),相應(yīng)的優(yōu)化步驟和系統(tǒng)框圖如圖1所示:
圖1 模糊控制器優(yōu)化框架圖
Step1:設(shè)定輸入輸出變量各個模糊劃分下隸屬度函數(shù)參數(shù)范圍.
Step2:初始化DE優(yōu)化算法參數(shù)(G=100,F=0.85,Pc=0.5).
Step3:隨機產(chǎn)生NP=30組參數(shù),計算每組參數(shù)在倒立擺控制中目標(biāo)函數(shù)值.
Step4:選擇最好一組參數(shù),執(zhí)行變異操作和交叉操作,然后生成30組新的參數(shù),最后計算出目標(biāo)函數(shù)值.
Step5:進行迭代循環(huán)直至滿足g=G=100,并最終找到最優(yōu)參數(shù)值.
二級倒立擺屬于典型的非線性動態(tài)不穩(wěn)定系統(tǒng),通常用來檢查控制方法的有效性.如圖2所示,該裝置由一個小車和兩臺擺桿組成,用前后力作用于小車,使得擺桿垂直不倒.其相應(yīng)的動態(tài)模型為:
圖2 二級倒立擺系統(tǒng)
(6)
(7)
(8)
(9)
圖3 二級倒立擺仿真結(jié)果比較
由于DE優(yōu)化算法在全局搜索能力和解決實數(shù)優(yōu)化問題突出優(yōu)勢,針對模糊控制器本文提出了一種基于DE優(yōu)化算法的參數(shù)調(diào)節(jié)方法.由二級倒立擺的物理特性,設(shè)定相應(yīng)的適應(yīng)度函數(shù),對建立模糊控制器的參數(shù)進行優(yōu)化調(diào)節(jié).隨后采用優(yōu)化后的控制器參數(shù)對二級倒立擺進行仿真測試,實驗結(jié)果表明,優(yōu)化后的控制器比沒有優(yōu)化的控制器在性能上有了顯著提高,從而進一步證實了該方法的有效性.除此之外,該優(yōu)化和控制方法也可以用在生產(chǎn)調(diào)度,參數(shù)估計以及其他控制領(lǐng)域等.