蔣美仙,王振水,吳國(guó)興,黃蘇西,鄭佳美
(浙江工業(yè)大學(xué) 機(jī)械工程學(xué)院,浙江 杭州 310023)
為提高黃酒產(chǎn)量和品質(zhì),我國(guó)黃酒企業(yè)積極引進(jìn)自動(dòng)化釀造設(shè)備,逐步改進(jìn)傳統(tǒng)釀造工藝。但針對(duì)前發(fā)酵過(guò)程的溫度控制至今仍沒(méi)有切實(shí)有效的方法,嚴(yán)重制約了黃酒生產(chǎn)的自動(dòng)化水平及黃酒品質(zhì)的穩(wěn)定。近年來(lái)國(guó)內(nèi)外學(xué)者對(duì)啤酒以及工業(yè)注塑機(jī)的溫度控制方面有相關(guān)研究,但鮮有關(guān)于黃酒溫度控制的相關(guān)研究。杜鋒等[1]運(yùn)用模糊控制對(duì)啤酒發(fā)酵進(jìn)行溫度控制,提出了變論域的模糊PID控制方法;畢競(jìng)鍇[2]在啤酒發(fā)酵過(guò)程智能化自動(dòng)化控制過(guò)程中引入了自適應(yīng)調(diào)整的模糊控制;馮絮影[3]對(duì)發(fā)酵過(guò)程進(jìn)行建模并對(duì)溫度控制問(wèn)題進(jìn)行研究,提出基于生物發(fā)酵過(guò)程的建模與控制方法;Kanagalakshmi等[4]基于注塑成型溫度控制的實(shí)際需要,提出了一種基于多模態(tài)比例積分微分(PID)的實(shí)時(shí)控制方案;Nath等[5]基于傳統(tǒng)內(nèi)部模型控制(IMC)方法;李勝等[6]采用先進(jìn)的模糊控制算法與傳統(tǒng)的PID控制相結(jié)合的模糊PID控制策略,將模糊控制的魯棒性好、適應(yīng)性強(qiáng)以及PID控制可對(duì)控制參數(shù)進(jìn)行實(shí)時(shí)調(diào)節(jié)等有效地結(jié)合起來(lái)。
通過(guò)文獻(xiàn)分析可知:黃酒前發(fā)酵過(guò)程的溫度控制主要集中在內(nèi)部模型構(gòu)建及控制器參數(shù)調(diào)整這兩個(gè)方面。而黃酒前發(fā)酵過(guò)程溫度的變化是一個(gè)高度非線性的時(shí)變過(guò)程,難以建立精確的數(shù)學(xué)模型,即使建立了模糊數(shù)學(xué)模型,其參數(shù)調(diào)節(jié)也是個(gè)難點(diǎn)。因此,針對(duì)黃酒前酵過(guò)程的溫度控制研究,主要集中在控制器設(shè)計(jì)方面。當(dāng)前工業(yè)應(yīng)用較為廣泛的PID控制器具有高精度、快速響應(yīng)等優(yōu)點(diǎn),其參數(shù)調(diào)節(jié)一直是研究的關(guān)鍵。筆者將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于PID控制器的參數(shù)調(diào)節(jié),充分發(fā)揮BP神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力,實(shí)現(xiàn)控制參數(shù)的自動(dòng)調(diào)整。
黃酒的前酵過(guò)程中由于發(fā)酵罐內(nèi)酵液在酵母菌和酒曲的作用下發(fā)生著劇烈的生化反應(yīng),會(huì)釋放大量的熱量,而每個(gè)階段又要保持相對(duì)應(yīng)的溫度以控制發(fā)酵反應(yīng)的強(qiáng)度。
目前,黃酒發(fā)酵溫度依靠操作工的經(jīng)驗(yàn)進(jìn)行控制,操作工根據(jù)發(fā)酵液的溫度、發(fā)酵時(shí)間和實(shí)時(shí)溫度等因素決定冷卻水閥門的開(kāi)度[7]。由于人工操作自身存在著諸多不確定性,使得黃酒質(zhì)量的穩(wěn)定性得不到保障[8]。工業(yè)生產(chǎn)過(guò)程中常采用PID控制器對(duì)制造系統(tǒng)中某一變量進(jìn)行控制,但PID控制器對(duì)于不同的受控對(duì)象需要花費(fèi)大量時(shí)間進(jìn)行參數(shù)調(diào)試,同時(shí)PID控制器也存在被控量的超調(diào)、穩(wěn)態(tài)響應(yīng)時(shí)間較長(zhǎng)的問(wèn)題[9]。針對(duì)黃酒發(fā)酵過(guò)程的溫度控制,需要控制器進(jìn)行快速、穩(wěn)定控制,一旦發(fā)酵過(guò)程的溫度產(chǎn)生偏差,會(huì)嚴(yán)重影響酵母菌繁殖,進(jìn)而影響黃酒品質(zhì)。
由于發(fā)酵罐內(nèi)外的能量交換導(dǎo)致的溫度變化,以數(shù)學(xué)函數(shù)進(jìn)行系統(tǒng)辨識(shí)難度較大,且不同的發(fā)酵時(shí)間點(diǎn)、發(fā)酵罐容積、配方、外界環(huán)境,其數(shù)學(xué)規(guī)律是不同的,所以通過(guò)物理學(xué)及數(shù)學(xué)方法尋找控制律是行不通的[10]。通過(guò)系統(tǒng)輸出變化量的負(fù)反饋調(diào)節(jié)機(jī)制,根據(jù)系統(tǒng)實(shí)時(shí)變化情況,在不需知道系統(tǒng)內(nèi)部變化規(guī)律的情況下進(jìn)行有效調(diào)節(jié)。在工業(yè)過(guò)程中,負(fù)反饋調(diào)節(jié)機(jī)制的PID控制器應(yīng)用較普遍,但需經(jīng)歷漫長(zhǎng)的參數(shù)調(diào)節(jié)過(guò)程,對(duì)于要求精確且快速的控制過(guò)程,控制效果十分有限。
針對(duì)PID控制器參數(shù)調(diào)節(jié)問(wèn)題,筆者通過(guò)BP神經(jīng)網(wǎng)絡(luò)對(duì)PID控制器進(jìn)行改進(jìn),將比例、積分和微分三個(gè)控制部分設(shè)置成BP神經(jīng)網(wǎng)絡(luò)的隱含層。各層神經(jīng)元之間的連接權(quán)值相當(dāng)于原先PID控制器的控制參數(shù),通過(guò)BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練達(dá)到調(diào)節(jié)參數(shù)的目的。同時(shí)由于BP神經(jīng)網(wǎng)絡(luò)具有計(jì)算多輸入、多輸出的特點(diǎn),可同時(shí)對(duì)控制對(duì)象的多個(gè)控制量進(jìn)行控制。改進(jìn)后的溫控系統(tǒng)圖如圖1所示。
圖1 前酵溫控系統(tǒng)總體設(shè)計(jì)圖Fig.1 Overall design drawing of the temperature control system of the preleaven
神經(jīng)元網(wǎng)絡(luò)通過(guò)各神經(jīng)元之間的加權(quán)和形式輸出,只要神經(jīng)元數(shù)量足夠多、網(wǎng)絡(luò)結(jié)構(gòu)足夠復(fù)雜即可實(shí)現(xiàn)對(duì)任意變化規(guī)律的擬合[11]。并且利用BP神經(jīng)網(wǎng)絡(luò)作為非線性組合函數(shù),可用于多模型的輸出融合[12]。神經(jīng)元作為神經(jīng)網(wǎng)絡(luò)的處理單元,是神經(jīng)網(wǎng)絡(luò)最基本的組成部分,其模型結(jié)構(gòu)如圖2所示。
圖2 神經(jīng)元模型結(jié)構(gòu)框圖Fig.2 Structure block diagram of neuron model
神經(jīng)元j的狀態(tài)uj由此神經(jīng)元的狀態(tài)函數(shù)g決定。以神經(jīng)元當(dāng)前輸入netj和當(dāng)前狀態(tài)為自變量,按其狀態(tài)函數(shù)就可產(chǎn)生神經(jīng)元的下一個(gè)狀態(tài)。
神經(jīng)元j的輸出由此神經(jīng)元的輸出函數(shù)f決定。以神經(jīng)元狀態(tài)uj為自變量,按其輸出函數(shù)就可產(chǎn)生神經(jīng)元的輸出值,即
xj(t)=f(uj(t))
(1)
神經(jīng)元的輸出函數(shù)也有多種形式,包括恒等函數(shù)、閾值函數(shù)、統(tǒng)計(jì)函數(shù)和S型函數(shù)等,筆者采用如下比例閾值函數(shù),其數(shù)學(xué)表達(dá)式為
(2)
在控制系統(tǒng)的設(shè)計(jì)中,每個(gè)分支神經(jīng)網(wǎng)絡(luò)的隱含層從上到下依次劃分為比例層、積分層和微分層。筆者設(shè)計(jì)的控制系統(tǒng)采用三分支、三輸出的神經(jīng)網(wǎng)絡(luò),現(xiàn)設(shè)神經(jīng)元的分支序號(hào)為s(s=1,2,3)。在每個(gè)單獨(dú)的分支里輸入層神經(jīng)元(input)的序號(hào)為i(i=1,2,3),隱含層神經(jīng)元(hidden)的序號(hào)為h(h=1,2,3)。輸出層神經(jīng)元(output)的序號(hào)為o(o=1,2,3)。
每個(gè)分支神經(jīng)網(wǎng)絡(luò)有兩個(gè)輸入層神經(jīng)元,其輸入分別為系統(tǒng)給定參據(jù)量和被控對(duì)象前一采樣時(shí)刻的輸出量,即r(k)與y(k-1)。根據(jù)改進(jìn)PID控制器的設(shè)計(jì)原理,其狀態(tài)變換函數(shù)go[e(k)]=e(k),即對(duì)于任意時(shí)刻其狀態(tài)是不變的,輸入層神經(jīng)元的狀態(tài)可表示為
usi(k)=netsi(k)
(3)
設(shè)v(t)為控制器的輸出,e(t)為控制器的輸入,kP為比例系數(shù),則有
v(k)=gP[e(k)]=kPe(k)
(4)
比例元為s分支神經(jīng)網(wǎng)絡(luò)隱含層中的第1(h=1)個(gè)神經(jīng)元,有2 個(gè)輸入支路與其相連,則在任意k時(shí)刻,單元的總輸入為
(5)
式中:xsi(k)為其所在的第s分支神經(jīng)網(wǎng)絡(luò)的2 個(gè)與其相連的輸入層神經(jīng)元的輸出值;wsi1為相應(yīng)的連接權(quán)值。
現(xiàn)統(tǒng)一在隱含層相關(guān)變量末尾加上標(biāo)“′”,在輸出層相關(guān)變量末尾加上標(biāo)“″”。將輸入層至隱含層連接權(quán)值當(dāng)作輸入層相關(guān)變量;將隱含層至輸出層連接權(quán)值當(dāng)作隱含層相關(guān)變量,其末尾需加上標(biāo)“′”。該約定適用于全文,后文不再加以贅述。
比例元的狀態(tài)函數(shù)gp為比例函數(shù),根據(jù)改進(jìn)PID控制器的要求,其比例系數(shù)應(yīng)設(shè)置為1。則比例元在任意采樣時(shí)刻k的狀態(tài)為
(6)
因本文所有神經(jīng)元是比例閾值函數(shù),比例元的輸入—輸出狀態(tài)曲線如圖3所示。
圖3 比例閾值函數(shù)輸入—輸出狀態(tài)曲線Fig.3 Proportional threshold function input-output state curve
設(shè)v(t)為積分控制單元的輸出,e(t)為積分控制單元的輸入,TI為積分時(shí)間常數(shù),則積分控制部分的表達(dá)式為
(7)
式中g(shù)I[e(t)]為積分函數(shù)。
在實(shí)際應(yīng)用中只要采樣周期足夠小,就可以用累加近似代替積分。在任意采樣時(shí)刻k,如果設(shè)T為采樣周期,TI為積分時(shí)間常數(shù),kI為積分系數(shù),則積分元的計(jì)算公式為
(8)
式中g(shù)I[e(k),v(k-1)]為積分函數(shù)的離散形式。
積分元為s分支神經(jīng)網(wǎng)絡(luò)隱含層的第2 (h=2)個(gè)神經(jīng)元,有兩個(gè)輸入支路與其相連,則任意采樣時(shí)刻k,單元的總輸入為
(9)
式中:xsi為其所在的第s分支神經(jīng)網(wǎng)絡(luò)的2 個(gè)與其相連的輸入層神經(jīng)元的輸出值,wsi2為相應(yīng)的連接權(quán)值。
積分元的狀態(tài)函數(shù)gI為積分函數(shù),根據(jù)改進(jìn)PID控制器的要求,其積分系數(shù)應(yīng)設(shè)置為1。則積分元在任意采樣時(shí)刻k的狀態(tài)為
(10)
微分控制部分的輸出與輸入信號(hào)的變化率成正比,同積分元的計(jì)算過(guò)程,其在采樣周期足夠小的情況下,可用一階差分代替一階微分。在任意采樣時(shí)刻k,如果設(shè)T為采樣周期,TD為微分時(shí)間常數(shù),kD為微分系數(shù),則微分控制部分的表達(dá)式為
(11)
式中g(shù)D[e(k),e(k-1)]為微分函數(shù)的離散形式。
微分元為s分支神經(jīng)網(wǎng)絡(luò)隱含層的第3 (h=3)個(gè)神經(jīng)元,有2 個(gè)輸入支路與其相連,則任意采樣時(shí)刻k,單元的總輸入為
(12)
式中:xsi為其所在的第s分支神經(jīng)網(wǎng)絡(luò)的2 個(gè)與其相連的輸入層神經(jīng)元的輸出值;wsi2為相應(yīng)的連接權(quán)值。
積分元的狀態(tài)函數(shù)gI為積分函數(shù),根據(jù)改進(jìn)PID控制器的要求,其積分系數(shù)應(yīng)設(shè)置為1。則積分元在任意采樣時(shí)刻k的狀態(tài)為
(13)
微分元的輸出函數(shù)也和比例、積分元的輸出函數(shù)相同,同為比例閾值函數(shù)。
該改進(jìn)控制器是三輸出的,輸出層有三個(gè)神經(jīng)元(給其分別從上到下編號(hào):o=1,2,3),其輸入為所有隱含層神經(jīng)元的加權(quán)和,其輸入為
(14)
其狀轉(zhuǎn)移函數(shù)和輸入層神經(jīng)元一樣,任意時(shí)刻狀態(tài)保持不變,則其狀態(tài)為
(15)
對(duì)于整個(gè)控制系統(tǒng),其控制性能是根據(jù)被控量的輸出與系統(tǒng)給定參據(jù)量在對(duì)應(yīng)時(shí)間序列上的偏差平方均值。由于無(wú)法得知被控對(duì)象要求的輸入這一變量,如果仍以前者作為目標(biāo)函數(shù)去更新連接權(quán)值是行不通的。因此將后者作為目標(biāo)函數(shù),被控對(duì)象內(nèi)部也相當(dāng)于神經(jīng)網(wǎng)絡(luò)的一層。為避免數(shù)據(jù)的偶然性,采用批量學(xué)習(xí)方式,每批取200 個(gè)采樣點(diǎn)的數(shù)據(jù),則整個(gè)神經(jīng)網(wǎng)絡(luò)的目標(biāo)函數(shù)可表示為
(16)
即按梯度下降法調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)的連接權(quán)值,經(jīng)n步訓(xùn)練后,各層權(quán)重值迭代方程可表示為
(17)
式中ρ為學(xué)習(xí)步長(zhǎng)。
隱含層至輸出層連接權(quán)值調(diào)整計(jì)算式為
(18)
(19)
可求出
(20)
(21)
(22)
式中sgn為符號(hào)函數(shù),用于判斷自變量的正負(fù)屬性。
可求出
(23)
綜上所述,可得
(24)
輸入層至隱含層權(quán)值調(diào)整計(jì)算式為
(25)
式中ρ為學(xué)習(xí)步長(zhǎng)。
(26)
可得
(27)
可得
(28)
由隱含層輸出函數(shù)的特性可得
(29)
(30)
由輸入輸出關(guān)系可得
(31)
(32)
綜上
(33)
筆者設(shè)計(jì)的控制系統(tǒng)為典型的過(guò)程控制系統(tǒng),選用Simulink軟件對(duì)其進(jìn)行仿真分析。Simulink是MathWorks公司開(kāi)發(fā)的一個(gè)Matlab數(shù)據(jù)模型處理工具,其基于控制系統(tǒng)框圖的設(shè)計(jì)原理,被廣泛用于動(dòng)態(tài)系統(tǒng)的建模與仿真。Simulink軟件內(nèi)部設(shè)計(jì)了各種API模塊,可以實(shí)現(xiàn)多種信號(hào)的產(chǎn)生,信號(hào)的放大、過(guò)濾、遲延、整合與分流,信號(hào)變化的動(dòng)態(tài)展示等多種功能[13]。通過(guò)仿真可以更加直觀地比較傳統(tǒng)PID控制器、改進(jìn)后的PID控制器以及經(jīng)過(guò)BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練的PID控制器之間的響應(yīng)速度、精度以及性能等。為了滿足用戶的個(gè)性化需求,Simulink軟件還支持開(kāi)發(fā)自定義函數(shù),用戶可根據(jù)自己的要求編寫S函數(shù),再將S函數(shù)封裝成S函數(shù)模塊,即實(shí)現(xiàn)了自定義開(kāi)發(fā)API的過(guò)程。
根據(jù)溫控系統(tǒng)的整體設(shè)計(jì)的要求,sub子模塊設(shè)計(jì)如圖4所示,搭建的Simulink仿真系統(tǒng)框圖如圖5所示。
圖4 輸入信號(hào)處理子模塊Fig.4 Input signal processing sub-module
圖5 溫控系統(tǒng)仿真框圖Fig.5 Simulation block diagram of temperature control system
按PID控制器控制規(guī)律,輸入S函數(shù)的參數(shù)kp=0.1,ki=0.2,kd=0.3,實(shí)現(xiàn)連接權(quán)值初始化。其次設(shè)置隱含層至輸出層、輸入層至隱含層的連接權(quán)值梯度下降步長(zhǎng):StepLength1=0.01,StepLength2=0.01。最后對(duì)求解器的相關(guān)參數(shù)進(jìn)行設(shè)置,仿真時(shí)長(zhǎng)為200 s,固定采樣步長(zhǎng)SampleTime為0.25 s,將控制器換成傳統(tǒng)PID控制器作為對(duì)照組,仿真結(jié)果分別如圖6,7所示。
圖6 未經(jīng)訓(xùn)練的改進(jìn)PID控制器的單位階躍響應(yīng)Fig.6 Unit step response of an untrained modified PID controller
圖7 傳統(tǒng)PID控制器的單位階躍響應(yīng)Fig.7 Unit step response of traditional PID controller
神經(jīng)網(wǎng)絡(luò)模型設(shè)立200 個(gè)樣本采樣周期,采用每周期更新一次權(quán)值的批量學(xué)習(xí)法,分別將學(xué)習(xí)500,1 000 次后的連接權(quán)值作為初始權(quán)值進(jìn)行仿真,其結(jié)果分別如圖8,9所示。
圖8 訓(xùn)練500 次后的改進(jìn)PID控制器的單位階躍響應(yīng)Fig.8 Unit step response of improved PID controller after 500 times of training
圖9 訓(xùn)練1 000 次后的改進(jìn)PID控制器的單位階躍響應(yīng)Fig.9 Unit step response of improved PID controller after 1 000 times of training
通過(guò)對(duì)比訓(xùn)練500,1 000 次的單位階躍響應(yīng)圖曲線,得出改進(jìn)的控制器經(jīng)過(guò)訓(xùn)練次數(shù)越多,其對(duì)系統(tǒng)給定參據(jù)量的響應(yīng)速度越快,對(duì)被控對(duì)象的控制效果越佳。
對(duì)于一個(gè)多變量控制系統(tǒng),現(xiàn)假設(shè)黃酒前酵罐中3 個(gè)不同的測(cè)溫點(diǎn),分別給定不同的系統(tǒng)參數(shù),研究改進(jìn)控制器對(duì)多個(gè)被控對(duì)象的控制性能。3 個(gè)被控對(duì)象的系統(tǒng)參數(shù),分別設(shè)定為單位階躍、4/5單位階躍及2/5單位階躍,其響應(yīng)如圖10所示。由圖10可知:3 個(gè)被控量均達(dá)到了穩(wěn)態(tài)響應(yīng),因此改進(jìn)后的PID控制器對(duì)多變量系統(tǒng)具有良好的控制效果。
圖10 改進(jìn)PID控制器對(duì)多變量的階躍響應(yīng)Fig.10 Step response of improved PID controller to multivariable
鑒于黃酒前酵過(guò)程發(fā)酵液的溫度具有強(qiáng)耦合、時(shí)滯性和區(qū)域差異性等復(fù)雜特性,難以建立精確的內(nèi)部數(shù)學(xué)模型,而傳統(tǒng)的控制方法難以達(dá)到理想的控制效果,故將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于PID控制器的參數(shù)調(diào)節(jié)過(guò)程,對(duì)PID控制器進(jìn)行了改進(jìn)設(shè)計(jì),將PID控制器的比例、積分和微分3 個(gè)控制部分分別作為神經(jīng)網(wǎng)絡(luò)的3 個(gè)隱含層節(jié)點(diǎn),通過(guò)神經(jīng)網(wǎng)絡(luò)的連接權(quán)值調(diào)整實(shí)現(xiàn)了參數(shù)的自動(dòng)調(diào)節(jié)。通過(guò)Simulink
軟件進(jìn)行仿真,結(jié)果表明在經(jīng)歷多次訓(xùn)練后,改進(jìn)后的控制器擁有更高的精度和更良好的性能,且隨著訓(xùn)練次數(shù)的增加,控制器的精度和性能也得到明顯提高。