呂曉丹,吳次南
(貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院,貴陽550000)
比例積分微分(Proportion integral differential,PID)控制是較為傳統(tǒng)的控制算法,由于其具有算法簡單、魯棒性好、可靠性高的優(yōu)點(diǎn),被廣泛應(yīng)用在過程控制和運(yùn)動(dòng)控制中,尤其適用于可建立精確數(shù)學(xué)模型的系統(tǒng)。但是,實(shí)際工業(yè)自動(dòng)化過程往往具有非線性、時(shí)變、難以建立精確數(shù)學(xué)模型的特點(diǎn),而傳統(tǒng)PID控制器的3個(gè)控制參數(shù)(比例系數(shù)Kp、積分系數(shù)Ki、差分系數(shù)Kd)是一組根據(jù)經(jīng)驗(yàn)設(shè)定的固定值,無法實(shí)時(shí)在線調(diào)整,導(dǎo)致控制效果很難讓人滿意。
神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的自我學(xué)習(xí)能力和非線性映射能力,可以實(shí)現(xiàn)PID控制參數(shù)的實(shí)時(shí)在線調(diào)整。于是開始有學(xué)者將神經(jīng)網(wǎng)絡(luò)應(yīng)用到PID控制領(lǐng)域,形成神經(jīng)網(wǎng)絡(luò)PID控制器[1-2]。這種方法較之傳統(tǒng)PID控制器而言,實(shí)現(xiàn)了控制參數(shù)的在線調(diào)整,提高了PID控制的品質(zhì)。
但是,神經(jīng)網(wǎng)絡(luò)的缺點(diǎn)是推理能力差,而模糊控制有著很好的邏輯推理能力,于是,不少學(xué)者嘗試將神經(jīng)網(wǎng)絡(luò)與模糊控制這兩種智能控制技術(shù)結(jié)合起來。1990年,Takagi[3]概括性地探討了模糊控制與神經(jīng)網(wǎng)絡(luò)未來的發(fā)展趨勢。Jang等[4-5]分別證明了神經(jīng)網(wǎng)絡(luò)與模糊控制的函數(shù)等價(jià)性,為模糊控制與神經(jīng)網(wǎng)絡(luò)的結(jié)合打下了堅(jiān)實(shí)基礎(chǔ)。隨后,學(xué)者們在模糊神經(jīng)網(wǎng)絡(luò)領(lǐng)域有不少新發(fā)現(xiàn)。例如:一種帶有補(bǔ)償運(yùn)算層的5層補(bǔ)償模糊神經(jīng)網(wǎng)絡(luò)[6];一種基于免疫遺傳算法的動(dòng)態(tài)遞歸模糊神經(jīng)網(wǎng)絡(luò)[7];在線動(dòng)態(tài)增減規(guī)則層神經(jīng)元個(gè)數(shù)的改進(jìn)型模糊神經(jīng)網(wǎng)絡(luò)[8]等;除了對網(wǎng)絡(luò)的整體結(jié)構(gòu)進(jìn)行改進(jìn)外,也有學(xué)者對網(wǎng)絡(luò)中某一部分進(jìn)行了改進(jìn)和創(chuàng)新。眾所周知,網(wǎng)絡(luò)的性能受初值的影響很大,初值選擇不當(dāng)網(wǎng)絡(luò)很容易陷入局部最優(yōu)解[9]。于是有學(xué)者采用混沌遺傳算法離線粗調(diào)來選擇更加合適的參數(shù)初值,再利用反向傳播(Back propagation,BP)算法在線細(xì)調(diào)來得到最優(yōu)的網(wǎng)絡(luò)參數(shù)值,進(jìn)而有效改善了網(wǎng)絡(luò)的性能提高了控制效果[10]。還有學(xué)者將注意力集中在模糊規(guī)則的優(yōu)化上,試圖定義一個(gè)帶參的分段函數(shù)形式的模糊規(guī)則,然后使用思維進(jìn)化算法得到模糊規(guī)則的相關(guān)參數(shù)值。實(shí)驗(yàn)結(jié)果表明參數(shù)化的模糊規(guī)則對于改善控制效果是很有幫助的[11]。
但是將模糊神經(jīng)網(wǎng)絡(luò)應(yīng)用到PID控制領(lǐng)域的學(xué)者卻較少。蔣金偉等[12-13]設(shè)計(jì)了標(biāo)準(zhǔn)模糊神經(jīng)網(wǎng)絡(luò)PID控制器。本文在此基礎(chǔ)上,提出的改進(jìn)型模糊神經(jīng)網(wǎng)絡(luò)智能PID控制器,是一種融合了神經(jīng)網(wǎng)絡(luò)和模糊控制各自的優(yōu)點(diǎn),在模糊規(guī)則參數(shù)化及激活函數(shù)構(gòu)建等方面進(jìn)行改進(jìn)創(chuàng)新的新型智能PID控制器。其中,模糊規(guī)則部分采用含權(quán)重的規(guī)則解析式,讓模糊規(guī)則可以跟隨誤差和誤差變化率的大小而在線調(diào)整,豐富了專家經(jīng)驗(yàn)的內(nèi)容,提高了控制的精度。同時(shí),構(gòu)造了IThLU函數(shù)作為網(wǎng)絡(luò)的激活函數(shù),IThLU具有寬泛的敏感區(qū)并且梯度可調(diào)的特點(diǎn),避免了訓(xùn)練過程中的梯度消失及梯度爆炸現(xiàn)象的發(fā)生。最終的仿真結(jié)果表明本文提出的改進(jìn)型模糊神經(jīng)網(wǎng)絡(luò)PID控制器(Improved fuzzy neural network PID,IFNN-PID)較之傳統(tǒng)PID控制器(Traditional PID,T-PID)、神經(jīng)網(wǎng)絡(luò)PID控制器(Neural network PID,NN-PID)、標(biāo)準(zhǔn)模糊神經(jīng)網(wǎng)絡(luò)PID控制器(Standard fuzzy neural network PID,SFNN-PID)而言,提高了響應(yīng)性、準(zhǔn)確性和穩(wěn)定性,取得了良好的控制效果。
在工業(yè)自動(dòng)化控制領(lǐng)域,PID算法是常見的控制算法。PID算法的離散控制率為[1]
式中:e(k)為系統(tǒng)輸入與輸出之間的誤差,為誤差的累加和,e(k)-e(k-1)為誤差的變化率。比例環(huán)節(jié)Kpe(k)用于快速消除輸入與輸出間的誤差,比例系數(shù)Kp越大,系統(tǒng)響應(yīng)速度越快速;積分環(huán)節(jié)用于減小系統(tǒng)的靜態(tài)誤差,積分系數(shù)Ki越大,系統(tǒng)的響應(yīng)結(jié)果越精準(zhǔn);差分環(huán)節(jié)Kd[e(k)-e(k-1)]用于消除控制過程中的振蕩,差分系數(shù)Kd越大,系統(tǒng)的響應(yīng)過程越穩(wěn)健。因而,Kp、Ki、Kd3個(gè)控制參數(shù)的選擇直接影響到PID算法的控制效果。工程上,這3個(gè)控制參數(shù)大多依據(jù)專家經(jīng)驗(yàn)設(shè)定為固定值,其效果往往不能令人滿意,如何進(jìn)行控制參數(shù)的自適應(yīng)調(diào)整就成為PID控制領(lǐng)域的一大挑戰(zhàn)。
模糊控制可以通過專家經(jīng)驗(yàn)和實(shí)驗(yàn)構(gòu)建知識庫,模擬人類在控制過程中的決策行為,具備強(qiáng)大的邏輯推理能力。神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的自學(xué)習(xí)能力和非線性映射能力。為了能夠?qū)崿F(xiàn)PID控制參數(shù)的自我調(diào)整,從而實(shí)現(xiàn)對非線性復(fù)雜對象的有效控制,本文將模糊理論和神經(jīng)網(wǎng)絡(luò)結(jié)合起來形成模糊神經(jīng)網(wǎng)絡(luò)并應(yīng)用到PID控制算法中,來提高控制的響應(yīng)性、穩(wěn)定性和精確性。模糊神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示。
該模糊神經(jīng)網(wǎng)絡(luò)共分為4層:
第一層為輸入層,共兩個(gè)節(jié)點(diǎn)。該層的每個(gè)神經(jīng)元與輸入向量i1=[e(k),ec(k)]的各分量相連,其作用是接收誤差e(k)和誤差變化率ec(k)并傳至第二層。i1代表第一層輸入向量(1行2列),o1代表第一層輸出向量(1行2列)。
第二層為模糊化層,共14個(gè)節(jié)點(diǎn)。該層的每個(gè)神經(jīng)元代表1個(gè)高斯隸屬度函數(shù),其作用是對輸入值劃分成7個(gè)模糊區(qū)間并進(jìn)行模糊化處理。i2代表第二層的輸入向量(1行2列),o2代表第二層的輸出向量(2行7列),b和c均為隸屬度函數(shù)的參數(shù)矩陣(1行7列)。
第三層為模糊推理層(模糊規(guī)則層),共49個(gè)節(jié)點(diǎn)。該層的每個(gè)神經(jīng)元代表模糊規(guī)則庫的一條模糊規(guī)則,其作用是將第二層的模糊化結(jié)果經(jīng)過模糊規(guī)則函數(shù)f()處理后得到模糊推理輸出。i3代表第三層輸入矩陣(2行7列),o3代表第三層輸出矩陣(1行49列)。
第四層為輸出層,共3個(gè)節(jié)點(diǎn)。該層的3個(gè)神經(jīng)元代表3個(gè)計(jì)算節(jié)點(diǎn),其作用是進(jìn)行解模糊計(jì)算最終得到PID的3個(gè)控制參數(shù)Kp、Ki、Kd。i4代表第四層的輸入矩陣(1行3列),w代表第三層與第四層之間的連接權(quán)重矩陣(49行3列),g()代表激活函數(shù),o4代表第四層的輸出矩陣(1行3列)。
為了最大化利用神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力,取得更好的控制效果,本文將模糊化層、模糊推理層、解模糊層全部進(jìn)行參數(shù)化。其中模糊化層采用高斯隸屬度函數(shù)進(jìn)行參數(shù)化,而模糊推理層的模糊規(guī)則函數(shù)f()和解模糊層的激活函數(shù)g()將在第2節(jié)進(jìn)行詳細(xì)論述。
模糊規(guī)則是模糊控制的核心,規(guī)則的好壞直接影響著推理的結(jié)果及控制器的精度。在標(biāo)準(zhǔn)模糊神經(jīng)網(wǎng)絡(luò)PID控制器[12-13]中,僅考慮了模糊化層和解模糊化層的參數(shù)化,并沒有考慮模糊推理層的參數(shù)化。本節(jié)將對模糊規(guī)則進(jìn)行參數(shù)化處理,以期對標(biāo)準(zhǔn)模糊神經(jīng)網(wǎng)絡(luò)PID控制器進(jìn)行改進(jìn),取得更好的控制效果。
最初,模糊控制規(guī)則是由模糊語言進(jìn)行描述的,具有if-then結(jié)構(gòu):
If input 1 and input 2 then output。
If-then結(jié)構(gòu)的模糊規(guī)則通過大量的專家經(jīng)驗(yàn)和工程實(shí)驗(yàn)得到,以這種方式獲得的模糊規(guī)則成本高、精度低,難以達(dá)到最優(yōu)的控制效果。為了提高控制精度,學(xué)者們開始將模糊規(guī)則用解析式來表達(dá),常用的規(guī)則表達(dá)式為
式(10)為最小規(guī)則、式(11)為最大規(guī)則,核心原理都是取誤差及誤差變化率的最小/最大值作為控制量施加到被控對象上,來消除誤差或者誤差變化率。但是這種方式,每次只考慮了e或者ec中的一個(gè)量,信息利用率比較低,故而有學(xué)者采用式(12)累乘規(guī)則替代最小/最大規(guī)則。累乘規(guī)則同時(shí)考慮了e和ec兩個(gè)量。但是累乘規(guī)則中,e和ec的權(quán)重系數(shù)都是1,沒有考慮到兩者權(quán)重系數(shù)的差異。在工程實(shí)際中,被控對象在不同的狀態(tài)下,對e和ec的加權(quán)程度是不同的。例如,當(dāng)e較大時(shí),首先應(yīng)考慮快速消除偏差,這時(shí)e的權(quán)重系數(shù)應(yīng)該較大;當(dāng)e較小時(shí)為了系統(tǒng)盡快穩(wěn)定,這時(shí)ec的權(quán)重系數(shù)應(yīng)該較大。為了讓系統(tǒng)可以根據(jù)自身狀態(tài)來調(diào)整e和ec的權(quán)重,本文將模糊規(guī)則進(jìn)行參數(shù)化處理,采用式(13)作為模糊規(guī)則函數(shù)f()的解析式。
式中:α的取值直接影響著控制的品質(zhì)和效果。如何確定α也成為學(xué)者研究的內(nèi)容。比如有學(xué)者采用思維進(jìn)化算法來確定α的取值[11],其核心思想在于按照不同的誤差e等級引入不同α值,這樣u就成為e的分段函數(shù),然后利用思維進(jìn)化算法來尋求α的最優(yōu)解。這種方法可以在缺乏專家經(jīng)驗(yàn)的情況下得到較可靠的模糊控制規(guī)則。但是,用這種方法一旦確定了α值就不可能再次修改,即無法實(shí)現(xiàn)α值的在線實(shí)時(shí)調(diào)整,當(dāng)系統(tǒng)狀態(tài)發(fā)生變化時(shí),此前確定的α值就不再是當(dāng)前狀態(tài)下的最優(yōu)選擇了。
為了解決α值無法在線調(diào)整的問題,本文將列向量α(1*49)也作為神經(jīng)網(wǎng)絡(luò)需要在線實(shí)時(shí)調(diào)整的參數(shù),確定好代價(jià)函數(shù)后,讓α值沿著梯度下降的方向變化,進(jìn)而得到實(shí)時(shí)狀態(tài)下使代價(jià)函數(shù)最小的α值。此時(shí),控制規(guī)則中的誤差e和誤差變化率ec的權(quán)重系數(shù)此消彼長,隨著系統(tǒng)狀態(tài)變化而變化,提高了模糊規(guī)則的精度,改善了控制算法的效果。
各類實(shí)際系統(tǒng)的被控對象都具有非線性的特點(diǎn)。為了實(shí)現(xiàn)對這類系統(tǒng)的有效控制,常利用激活函數(shù)將非線性因素融入到神經(jīng)網(wǎng)絡(luò)中去,避免輸入與輸出的純線性關(guān)系,提高神經(jīng)網(wǎng)絡(luò)對模型的表達(dá)能力,解決線性模型所不能解決的問題。
起初,人們將sigmoid函數(shù)作為激活函數(shù)應(yīng)用在邏輯回歸中,它可以被理解為一種概率且求導(dǎo)容易。但是它不是一個(gè)零均值函數(shù),會(huì)造成信號丟失;后來,人們采用tanh函數(shù)作為激活函數(shù),相對于sigmoid函數(shù)來說tanh函數(shù)是零均值函數(shù)且收斂更快,但是仍然存在梯度消失的現(xiàn)象,不利于梯度下降法進(jìn)行網(wǎng)絡(luò)訓(xùn)練;為了避免梯度消失現(xiàn)象,研究者開始擴(kuò)展激活函數(shù)的敏感區(qū)間,Nair等[14]提出了修正線性單元(Rectified linear unit,ReLU)激活函數(shù),該函數(shù)在x為正數(shù)時(shí)梯度恒為1,這就避免了在正半軸的梯度消失,但是當(dāng)x為負(fù)數(shù)時(shí)梯度恒為0,會(huì)丟失信號的所有負(fù)數(shù)特征,造成神經(jīng)元死亡。為了解決這一問題,劉坤華等[15]提出了基于雙曲正切函數(shù)的修正線性單元(Tangent-based rectified linear unit,ThLU),ThLU函數(shù)的正半軸來自ReLU函數(shù)的正半軸,負(fù)半軸來自tanh函數(shù)的負(fù)半軸,其表達(dá)式為
為了方便作比較,現(xiàn)將sigmoid函數(shù)、tanh函數(shù)、ReLu函數(shù)以及ThLU函數(shù)繪制在一個(gè)坐標(biāo)系中(圖2)。
圖2 幾個(gè)激活函數(shù)的比較Fig.2 Comparison of several activation functions
由圖2可知,ThLU函數(shù)的敏感區(qū)間較sigmoid函數(shù)和tanh函數(shù)要寬很多,從而有效避免了梯度的消失;同時(shí)ThLU函數(shù)的負(fù)半軸梯度不全為零,可以保留信號的負(fù)數(shù)特征,從而有效避免了神經(jīng)元的死亡。所以ThLU在避免梯度消失和保存全部信號特征之間取得了折中的平衡。
但是由式(14)可知,當(dāng)x>0時(shí)ThLU的梯度始終為1,這樣固定的梯度值可能會(huì)引起梯度爆炸。即對于某些神經(jīng)網(wǎng)絡(luò)來說,會(huì)出現(xiàn)梯度下降過程中步子太大而越過代價(jià)函數(shù)最小值的情況,進(jìn)而導(dǎo)致網(wǎng)絡(luò)不穩(wěn)定且網(wǎng)絡(luò)無法收斂。為了進(jìn)一步控制ThLU函數(shù)的形狀,增加激活函數(shù)的柔性,避免梯度爆炸現(xiàn)象的發(fā)生,本文在ThLU基礎(chǔ)上構(gòu)建了一個(gè)改進(jìn)型基于雙曲正切函數(shù)的修正線性單元(Improved tangent-based rectified linear unit,IThLU)激活函數(shù),其定義為
由式(15)可知,IThLU激活函數(shù)較之ThLU激活函數(shù)而言,差別在于其正半軸的梯度d并不是固定值,而是一個(gè)可以通過神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)的值。這樣IThLU不僅避免了梯度消失、保存了全部信號特征還避免了可能出現(xiàn)的梯度爆炸現(xiàn)象,是對ThLU函數(shù)的有效改進(jìn)?;贗ThLU的上述優(yōu)點(diǎn),本文將IThLU函數(shù)作為模糊神經(jīng)網(wǎng)絡(luò)解模糊層的激活函數(shù)g(),以期獲得更好的控制效果。
改進(jìn)型模糊神經(jīng)網(wǎng)絡(luò)PID控制算法是在標(biāo)準(zhǔn)模糊神經(jīng)網(wǎng)絡(luò)PID控制算法的基礎(chǔ)上,對模糊規(guī)則進(jìn)行參數(shù)化并且構(gòu)造了IThLU激活函數(shù)后,形成的4層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
算法的具體流程為:
(1)確定網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)為2—14—49—3和代價(jià)函數(shù)L。
(2)隨機(jī)初始化向量b、向量c、矩陣w、參數(shù)d和參數(shù)α。
(3)經(jīng)神經(jīng)網(wǎng)絡(luò)的前向傳播過程,得到模糊推理的輸出Kp、Ki、Kd。
(4)經(jīng)式(1)計(jì)算控制量,施加到被控對象上,得到系統(tǒng)實(shí)際輸出。
(5)計(jì)算系統(tǒng)輸入與輸出間的誤差。
(6)經(jīng)神經(jīng)網(wǎng)絡(luò)的反向傳播過程,計(jì)算代價(jià)函數(shù)L關(guān)于步驟(2)中各個(gè)參數(shù)及參數(shù)矩陣的偏導(dǎo)。
(7)模糊神經(jīng)網(wǎng)絡(luò)以設(shè)定的學(xué)習(xí)率β更新向量b、向量c、矩陣w、參數(shù)d和參數(shù)α,即
式中Θ代表各個(gè)參數(shù)及參數(shù)矩陣的各分量。
(8)判斷是否達(dá)到仿真總時(shí)長。若否,則跳轉(zhuǎn)到第(3)步,繼續(xù)循環(huán)該過程;若是,則結(jié)束循環(huán),輸出最優(yōu)的Kp、Ki、Kd。
改進(jìn)型模糊神經(jīng)網(wǎng)絡(luò)PID控制器(Improved fuzzy neural network PID,IFNN-PID)的系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 IFNN-PID系統(tǒng)結(jié)構(gòu)圖Fig.3 Structure of IFNN-PID system
圖3中參考輸入X(k)是目標(biāo)值,經(jīng)過與實(shí)際輸出Y(k)相減得到誤差e(k),對誤差求差分后得到誤差變化率ec(k),再將e(k)和ec(k)一起輸入到改進(jìn)型模糊神經(jīng)網(wǎng)絡(luò)中,經(jīng)正向傳播得到Kp、Ki、Kd3個(gè)控制參數(shù),代入式(1)得到控制量u(k),u(k)作用于對象h(z),得到實(shí)際輸出Y(k),此時(shí)計(jì)算代價(jià)函數(shù)關(guān)于各參數(shù)的梯度,再根據(jù)反向傳播梯度下降過程調(diào)整神經(jīng)網(wǎng)絡(luò)中各參數(shù)的值,以此類推,循環(huán)往復(fù)直到仿真時(shí)間截止,最終將得到使代價(jià)函數(shù)最小的Kp、Ki和Kd。
通常評價(jià)一個(gè)控制算法的優(yōu)劣,主要是看該算法作用下系統(tǒng)的響應(yīng)性、穩(wěn)定性和精確性。為了方便對不同控制算法進(jìn)行對比,本文選取如下性能指標(biāo)[10]:
(1)調(diào)整時(shí)間。指輸出量第一次達(dá)到穩(wěn)態(tài)值時(shí)所需要的時(shí)間,記為ts。
(2)峰值。系統(tǒng)響應(yīng)最高點(diǎn)的值,記為max(y)。
(3)峰值時(shí)間。指輸出曲線首次達(dá)到最高點(diǎn)值的時(shí)間,記為tp。
(4)最大超調(diào)量。指輸出最大值Ymax與輸出穩(wěn)定值Y∞的相對誤差,記為σ。
(5)穩(wěn)態(tài)誤差。指系統(tǒng)穩(wěn)定時(shí)的輸出值Y∞與期望輸出Ye之間的差,記為δ。
為了驗(yàn)證本文所提出的IFNN-PID在控制效果上的優(yōu)勢,選擇T-PID、NN-PID、SFNN-PID作為對照組,在Simulink軟件中對它們進(jìn)行仿真分析。
為了方便比較和對照,本文采用單一變量原則進(jìn)行仿真實(shí)驗(yàn),即除了控制算法本身外,其他環(huán)境參數(shù)都一樣。環(huán)境參數(shù)的具體設(shè)置為:T-PID的3個(gè)控制參數(shù)選擇經(jīng)驗(yàn)值Kp=0.1、Ki=0.3、Kd=0,NN-PID、SFNN-PID、IFNN-PID均采用反向傳播標(biāo)準(zhǔn)梯度下降法進(jìn)行訓(xùn)練,學(xué)習(xí)率都是0.000 1,各個(gè)控制器的輸入信號源為同一個(gè)階躍信號,各算法的代價(jià)函數(shù)相同均為式(19),各控制器的控制對象均為同一二階對象如式(20)所示,仿真時(shí)長100 s。
式中:代價(jià)函數(shù)L是輸入與輸出之間偏差平方的二分之一。系統(tǒng)調(diào)參的目標(biāo)是消除系統(tǒng)的偏差。
各個(gè)控制器的階躍響應(yīng)曲線如圖4所示。
圖4 階躍響應(yīng)Fig.4 Step response
不同算法的代價(jià)函數(shù)曲線如圖5所示。
圖5 代價(jià)函數(shù)曲線Fig.5 Cost function curves
圖6為IFNN-PID控制器的各參數(shù)在線調(diào)整曲線。
結(jié)合圖4~6和表1評價(jià)指標(biāo),得出如下結(jié)論:
(1)4種控制器中,T-PID的控制效果最差,主要表現(xiàn)在調(diào)整時(shí)間過長且存在穩(wěn)態(tài)誤差。
(2)NN-PID的控制效果較T-PID有所提高,表現(xiàn)在調(diào)整時(shí)間縮短了39.24 s并且沒有穩(wěn)態(tài)誤差。其原因在于神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的自學(xué)習(xí)能力,可以實(shí)現(xiàn)控制參數(shù)Kp、Ki、Kd的在線自適應(yīng)調(diào)整。
(3)SFNN-PID的控制效果較NN-PID而言略有改進(jìn),表現(xiàn)在調(diào)整時(shí)間縮短了0.9 s。之所以只是略有改進(jìn)的原因在于,SFNN-PID中加入了模糊控制的過程,雖然增加了控制精度但也同時(shí)增加了網(wǎng)絡(luò)的復(fù)雜度和計(jì)算量。
(4)4種控制器中,IFNN-PID的響應(yīng)速度最快,只需要10.41 s就能達(dá)到期望值。雖然它與SFNN-PID相比在超調(diào)量上并不占優(yōu)勢,但是由于響應(yīng)迅速可以盡快抑制系統(tǒng)的超調(diào)量,使系統(tǒng)盡快進(jìn)入穩(wěn)定狀態(tài)。原因在于,IFNN-PID將模糊規(guī)則參數(shù)化后提高了控制的精度同時(shí)采用IThLU函數(shù)作為激活函數(shù)拓寬了敏感區(qū)域,避免了梯度消失和梯度爆炸,進(jìn)而加快了網(wǎng)絡(luò)收斂的速度。
圖6 IFNN-PID控制器的各參數(shù)在線調(diào)整曲線Fig.6 Several parameter online adjustment curve of IFNN-PID controller
表1 評價(jià)指標(biāo)Table 1 Evaluation index
綜上,本文所提出的改進(jìn)型模糊神經(jīng)網(wǎng)絡(luò)PID控制器是一種可以實(shí)時(shí)在線調(diào)整控制參數(shù)且響應(yīng)性快、穩(wěn)定性好、精確性高的高性能控制器,是對PID控制算法的有效改進(jìn)。
首先,本文將模糊控制的推理能力、神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力及PID算法的簡單實(shí)用融為一體,構(gòu)建了一款改進(jìn)型模糊神經(jīng)網(wǎng)絡(luò)PID控制器。
其次,通過對模糊規(guī)則進(jìn)行參數(shù)化,提高了控制的精度;通過構(gòu)建IThLU激活函數(shù)擴(kuò)展了敏感區(qū)域范圍,增強(qiáng)了激活函數(shù)的柔性,避免梯度消失和梯度爆炸現(xiàn)象的發(fā)生,進(jìn)而加快了網(wǎng)絡(luò)收斂的速度。
再次,通過在Simulink軟件中對二階被控對象進(jìn)行仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明本文設(shè)計(jì)的IFNN-PID較之T-PID、NN-PID和SFNN-PID,有著較好的控制性能,特別是在響應(yīng)性上有了很大的提高。
最后,得出結(jié)論:對模糊規(guī)則的參數(shù)化處理并構(gòu)建更加合適的激活函數(shù)應(yīng)用到模糊神經(jīng)網(wǎng)絡(luò)中,是一種行之有效的改進(jìn)方案,本文所設(shè)計(jì)的改進(jìn)型模糊神經(jīng)網(wǎng)絡(luò)PID控制器是一款高性能控制器。