殷建國(guó),呂寶林,張繼紅
(合肥通用機(jī)械研究院有限公司,安徽合肥 230031)
機(jī)器學(xué)習(xí)理論主要是設(shè)計(jì)和分析一些讓計(jì)算機(jī)可以自動(dòng)“學(xué)習(xí)”的算法。機(jī)器學(xué)習(xí)算法是一類(lèi)從數(shù)據(jù)中自動(dòng)分析獲得規(guī)律,并利用規(guī)律對(duì)未知數(shù)據(jù)進(jìn)行預(yù)測(cè)的算法。對(duì)此,提出使用一種機(jī)器學(xué)習(xí)的方法對(duì)傳統(tǒng)的PID 控制進(jìn)行改進(jìn),從而實(shí)現(xiàn)智能控制的目的。
作者在此使用的是實(shí)數(shù)編碼,不需要預(yù)先定義解的精度。此外,采用實(shí)數(shù)編碼時(shí)計(jì)算適應(yīng)度時(shí)不需要在解碼和編碼之間來(lái)回切換。
因?yàn)锽P 神經(jīng)網(wǎng)絡(luò)神經(jīng)元之間的權(quán)值具有相關(guān)性,因此選用輪盤(pán)賭策略作為遺傳策略,設(shè)適應(yīng)度函數(shù)為:
交叉遺傳算子采用可變的交叉概率,即在算法的初期使用大的交叉概率來(lái)加劇種群的變化,有利于加快尋找優(yōu)良種群所處的區(qū)域。隨著進(jìn)化的進(jìn)行,逐漸減小交叉概率,從而解決由于交叉概率取值過(guò)大使得適應(yīng)度較高的個(gè)體很快被破壞掉和取值過(guò)小使搜索速度緩慢的矛盾。變異算子在遺傳操作中是一種很重要的算子,這里采用自適應(yīng)變異,即可以根據(jù)個(gè)體的適應(yīng)值大小來(lái)增加算法的局部搜索能力。
在對(duì)整個(gè)系統(tǒng)進(jìn)行理論分析后,使用的MATLAB 軟件對(duì)設(shè)計(jì)基于遺傳算法的自適應(yīng)控制系統(tǒng)進(jìn)行軟件仿真分析,MATLAB 軟件是一種較為適合做一些算法、設(shè)計(jì)的軟件。使用MATLAB 軟件中的simulink 模塊,利用其相對(duì)簡(jiǎn)單和直觀的圖形界面來(lái)完整對(duì)設(shè)計(jì)的系統(tǒng)和算法進(jìn)行仿真分析。
圖中,輸入信號(hào)選用階躍信號(hào),因?yàn)橄到y(tǒng)的動(dòng)態(tài)性能以系統(tǒng)階躍響應(yīng)為基礎(chǔ)衡量。因?yàn)殡A躍響應(yīng)對(duì)系統(tǒng)的要求較高,即從0 變到1,變化的幅度較大。運(yùn)用階躍響應(yīng)對(duì)系統(tǒng)進(jìn)行測(cè)試能得到較為理想的結(jié)果。在MATLAB 的控制命令行中編寫(xiě)相對(duì)應(yīng)的遺傳算法的代碼,設(shè)定相對(duì)應(yīng)的仿真時(shí)間和仿真時(shí)間,仿真結(jié)果如圖1 所示。
圖1 響應(yīng)結(jié)果和最優(yōu)個(gè)體適應(yīng)值
圖1 為仿真的PID 控制系統(tǒng)的響應(yīng)結(jié)果圖和最優(yōu)個(gè)體的適應(yīng)值曲線,可以看到,在第十代的時(shí)候適應(yīng)度函數(shù)的值基本趨向于平穩(wěn)的狀態(tài),表明系統(tǒng)此時(shí)基本保持了穩(wěn)定,最佳的PID 參數(shù)已經(jīng)得出。
圖2 為整個(gè)控制系統(tǒng)輸入輸出的響應(yīng)誤差曲線,在曲線中可以看到隨著仿真時(shí)間的增加,仿真響應(yīng)誤差值愈來(lái)愈小,幾乎趨向于0,表示系統(tǒng)基本保持平穩(wěn),但是在圖中可以看到有一些起伏,可能由于低適應(yīng)度的個(gè)體被選上導(dǎo)致了節(jié)約誤差的短時(shí)間增加,但總體趨勢(shì)仍然是持續(xù)下降的。
選取近年運(yùn)用較為廣泛的PID 控制系統(tǒng)進(jìn)行對(duì)比分析,選取模糊PID 進(jìn)行對(duì)比,通過(guò)分析PID 控制和模糊控制的特點(diǎn)。設(shè)計(jì)出模糊自適應(yīng)PID 控制器,如圖3 所示。通過(guò)對(duì)PID 控制器的研究,可以得出當(dāng)建立起控制對(duì)象的精確數(shù)學(xué)模型時(shí),只要正確設(shè)定參數(shù)KP、KI、KD,即比例系數(shù)、積分系數(shù)、微分系數(shù)時(shí),PID 即可發(fā)揮作用,但是對(duì)于非線性、時(shí)變性等不確定性因素,常規(guī)PID 控制效果不理想。因?yàn)槌R?guī)PID 控制器的參數(shù)KP、KI、KD在不同的工況下應(yīng)該有所不同,才能取得好的控制效果,這就要求PID 控制器具有參數(shù)自適應(yīng)功能。利用模糊控制規(guī)則在線地對(duì)PID 參數(shù)進(jìn)行自動(dòng)修正,就形成了模糊自適應(yīng)策略。模糊自適應(yīng)PID 控制器以誤差e(實(shí)際測(cè)量值與設(shè)定值之差)和誤差變化率ec 作為輸入,當(dāng)誤差和誤差的變化率輸出進(jìn)模糊推理器之后,根據(jù)誤差規(guī)則(本文選用MADAMI 規(guī)則),結(jié)合誤差和誤差變化率得出相對(duì)應(yīng)比例、積分、微分3 個(gè)值。從而實(shí)現(xiàn)根據(jù)不同的系統(tǒng)、不同的工況自主的調(diào)整KP、KI、KD等3 個(gè)參數(shù)的大小,完成自適應(yīng)的功能,提高控制的精度。
圖2 階躍響應(yīng)誤差曲線
圖3 模糊自適應(yīng)PID 控制器
設(shè)計(jì)完成相對(duì)應(yīng)的模糊PID 控制系統(tǒng),設(shè)計(jì)相同的控制實(shí)現(xiàn),選取相同的控制實(shí)現(xiàn)系統(tǒng),進(jìn)行基于遺傳算法的PID 控制和模糊PID 控制進(jìn)行對(duì)比試驗(yàn),對(duì)比試驗(yàn)的結(jié)果見(jiàn)表1。
對(duì)比模糊PID 和遺傳算法PID 兩個(gè)先進(jìn)控制系統(tǒng)可以看出,基于遺傳算法的PID 在位置控制的表現(xiàn)要強(qiáng)于模糊PID 控制,可以看到在7 組對(duì)比實(shí)驗(yàn)中,實(shí)際與設(shè)定位置的誤差,基于遺傳的PID 控制算法的控制誤差基本都小于模糊控制PID 算法,可以從該對(duì)比實(shí)驗(yàn)中看到遺傳算法PID 的優(yōu)勢(shì)所在。
表1 基于遺傳算法的PID 控制和模糊PID 控制試驗(yàn)對(duì)比結(jié)果
首先,實(shí)驗(yàn)在同一臺(tái)設(shè)備上進(jìn)行,傳遞函數(shù)、實(shí)驗(yàn)室狀況均相同,兩者的主要對(duì)比差異在參數(shù)上,本實(shí)驗(yàn)具有很高的對(duì)比性,通過(guò)控制參數(shù)的不同得出可信的對(duì)比結(jié)論。
通過(guò)對(duì)比的實(shí)驗(yàn)可以看出,未使用基于遺傳算法的傳統(tǒng)PID 時(shí),實(shí)驗(yàn)的PID 參數(shù)調(diào)節(jié)遵循著先設(shè)定P 參數(shù),其他兩參數(shù)設(shè)定為零的狀態(tài),調(diào)節(jié)后再調(diào)整I 和D 的參數(shù)??梢钥吹?,每個(gè)位置要想控制較為穩(wěn)定至少需要調(diào)節(jié)5 次以上,途中實(shí)驗(yàn)結(jié)果中很多數(shù)據(jù)并沒(méi)有直接給出來(lái)??梢钥闯鰝鹘y(tǒng)的PID 參數(shù)調(diào)節(jié)費(fèi)時(shí)費(fèi)力,且部分時(shí)候效果并不好,基本上每次PID 調(diào)節(jié)參數(shù)的時(shí)間都在2 min 左右(由于每次調(diào)節(jié)后需要對(duì)液壓缸進(jìn)行復(fù)位,因此浪費(fèi)了較多時(shí)間)。
而使用基于遺傳算法的PID 控制系統(tǒng),首先計(jì)算出系統(tǒng)的傳遞函數(shù),再使用電腦進(jìn)行仿真,將仿真得出數(shù)據(jù)帶入實(shí)驗(yàn)中,可以大幅降低PID 參數(shù)的調(diào)節(jié)時(shí)間,大大的減少調(diào)參師的工作強(qiáng)度。從結(jié)果上看,使用遺傳算法對(duì)系統(tǒng)進(jìn)行仿真后,帶入的PID 參數(shù)調(diào)試的結(jié)果基本滿(mǎn)足需要,大部分都處于最佳狀態(tài),少部分可能需要修正,但算法基本滿(mǎn)足功能需要。