張立優(yōu),馬 珺,賈華宇,王 曦,張朝霞
(1.太原理工大學(xué)物理與光電工程學(xué)院,山西晉中 030600; 2.太原理工大學(xué)信息工程學(xué)院,山西晉中 030600;3.山西農(nóng)機(jī)新技術(shù)服務(wù)中心,山西太原 030031)
近年來(lái),隨著溫室生產(chǎn)的大面積應(yīng)用和推廣,溫室生產(chǎn)較大田農(nóng)作物生產(chǎn)在產(chǎn)量和質(zhì)量上都有很大的提高,而溫度控制是影響作物高產(chǎn)量、高質(zhì)量和高品質(zhì)生產(chǎn)最主要的環(huán)節(jié)。但溫室大棚是一個(gè)復(fù)雜熱力學(xué)系統(tǒng)[1],且溫室系統(tǒng)具有非線性、強(qiáng)耦合和時(shí)變性的特點(diǎn),對(duì)溫室系統(tǒng)的溫度及其他環(huán)境因子的控制帶來(lái)了諸多不便。
因此,設(shè)計(jì)者在溫室環(huán)境的控制方面進(jìn)行了許多的研究[2],并且采取了許多的改進(jìn)方法。Azaza等提出基于模糊控制的智能溫室控制系統(tǒng)設(shè)計(jì),為所有被控對(duì)象設(shè)計(jì)了相應(yīng)的模糊邏輯控制器(fuzzy logic controller,簡(jiǎn)稱FLC),并通過(guò)優(yōu)化控制方案解決了溫濕度控制中的耦合問(wèn)題,但在設(shè)計(jì)中嚴(yán)重依賴專家經(jīng)驗(yàn)且其設(shè)計(jì)無(wú)法滿足自適應(yīng)控制要求[3]。Ali等通過(guò)構(gòu)建溫室系統(tǒng)的物理模型和設(shè)計(jì)模糊控制器對(duì)溫室系統(tǒng)的溫濕度進(jìn)行控制,但所建模型涉及大量的物理參數(shù),且無(wú)法對(duì)控制器參數(shù)進(jìn)行在線調(diào)整[4]。Revathi等通過(guò)建立溫室溫濕度的預(yù)測(cè)模型和設(shè)計(jì)對(duì)應(yīng)的模糊控制器,并采用粒子群優(yōu)化算法(particle swarm optimization,簡(jiǎn)稱PSO)優(yōu)化控制器參數(shù)來(lái)實(shí)現(xiàn)對(duì)溫室溫濕度的控制,但無(wú)法滿足溫室溫濕度預(yù)測(cè)模型的自適應(yīng)控制要求[5]。龍鳳等采用模糊神經(jīng)網(wǎng)絡(luò)控制器對(duì)溫室溫濕度進(jìn)行控制,并通過(guò)遺傳算法(genetic algorithm,簡(jiǎn)稱GA)優(yōu)化調(diào)整控制器參數(shù),但此控制器無(wú)法對(duì)溫室溫濕度進(jìn)行在線預(yù)測(cè),使得控制系統(tǒng)存在響應(yīng)不及時(shí)和控制精度不高等問(wèn)題[6]。
針對(duì)上述問(wèn)題,本研究結(jié)合在線序貫極限學(xué)習(xí)機(jī)(online sequential extreme learning machine,簡(jiǎn)稱OS-ELM)算法、模糊神經(jīng)網(wǎng)絡(luò)控制器(fuzzy neural network controller,簡(jiǎn)稱FNNC)和GA的優(yōu)點(diǎn),對(duì)溫室氣候的自適應(yīng)控制提出新的設(shè)計(jì)方案,以期實(shí)現(xiàn)在線溫室系統(tǒng)溫度預(yù)測(cè)模型的自適應(yīng)調(diào)整。同時(shí)探討執(zhí)行機(jī)構(gòu)性能差異對(duì)溫室控制的影響,對(duì)FNNC輸出層執(zhí)行機(jī)構(gòu)的隸屬函數(shù)參數(shù)進(jìn)行在線調(diào)整,并適當(dāng)改變溫室系統(tǒng)的輸入量,以減少執(zhí)行機(jī)構(gòu)性能差異對(duì)溫室氣候控制的影響,有效提高溫室系統(tǒng)的自適應(yīng)控制能力。
考慮到實(shí)際溫室系統(tǒng)中的溫濕度變化存在非線性、時(shí)變性等特點(diǎn),本研究選用OS-ELM神經(jīng)網(wǎng)絡(luò)構(gòu)建溫室溫度預(yù)測(cè)模型。OS-ELM神經(jīng)網(wǎng)絡(luò)可將訓(xùn)練過(guò)的歷史數(shù)據(jù)固化到隱層輸出矩陣中,當(dāng)模型更新時(shí),只須對(duì)新數(shù)據(jù)進(jìn)行學(xué)習(xí)即可,具有訓(xùn)練速度快、受初始化影響小、泛化能力強(qiáng)等優(yōu)點(diǎn)。
本研究采用OS-ELM神經(jīng)網(wǎng)絡(luò)建立溫室系統(tǒng)中每個(gè)被控對(duì)象的預(yù)測(cè)模型,其中影響溫室溫度變化的系統(tǒng)變量如圖1所示。
(1)溫室溫度預(yù)測(cè)模型
yk+1=f0[xk]+f1[xk]uk+f2[xk]vk。
(1)
其中,xk=[yk-n+1,…,yk,uk+m,…,uk-1,vk+m,…,vk-1],且f0[xk]、f1[xk]、f2[xk]分別為k時(shí)刻學(xué)習(xí)的系統(tǒng)變量,可分別通過(guò)構(gòu)建的OS-ELM神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)獲取近似值;xk為k時(shí)刻已知的系統(tǒng)變量;yk+1為k+1時(shí)刻系統(tǒng)輸出量;uk、vk分別表示溫室系統(tǒng)執(zhí)行機(jī)構(gòu)輸入量。
(2)OS-ELM神經(jīng)網(wǎng)絡(luò)構(gòu)建
(2)
(3)利用OS-ELM神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法自適應(yīng)調(diào)整參數(shù)ai、bi并隨機(jī)生成,并保持不變,式(2)可通過(guò)下式進(jìn)行表達(dá):
yk+1=Φkθ*。
(3)
設(shè)第k次學(xué)習(xí)對(duì)應(yīng)的隱層權(quán)值向量為w0k、w1k、w2k,則預(yù)測(cè)值可表示為
(4)
(5)
根據(jù)算法原理,當(dāng)式(5)最小時(shí),滿足的參數(shù)表達(dá)式為
(6)
(7)
通過(guò)式(1)至式(7)建立OS-ELM神經(jīng)網(wǎng)絡(luò)的溫室溫度預(yù)測(cè)模型,經(jīng)過(guò)大量的訓(xùn)練和學(xué)習(xí)后,獲得用于溫室溫度預(yù)測(cè)的對(duì)應(yīng)系統(tǒng)等效模型。
在設(shè)置好被控量理想輸出值的情況下,結(jié)合OS-ELM神經(jīng)網(wǎng)絡(luò)的在線學(xué)習(xí)方式[7-8],OS-ELM神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計(jì)過(guò)程如下。
(1)初始化階段
(2)自適應(yīng)控制階段
(8)
通過(guò)對(duì)溫室溫度預(yù)測(cè)模型的建立,由式(8)得出FNNC的理想輸出參考量,結(jié)合FNNC的實(shí)際輸出量,將FNNC輸出誤差作為GA優(yōu)化FNNC參數(shù)的目標(biāo)函數(shù)。對(duì)FNNC的輸出層執(zhí)行機(jī)構(gòu)隸屬函數(shù)參數(shù)進(jìn)行優(yōu)化,以減少執(zhí)行機(jī)構(gòu)對(duì)溫室環(huán)境控制的影響,有效增強(qiáng)控制器的自適應(yīng)調(diào)節(jié)能力。
FNNC由于結(jié)合了模糊規(guī)則的表達(dá)能力和神經(jīng)網(wǎng)絡(luò)的自我學(xué)習(xí)能力而被廣泛應(yīng)用[9],本研究對(duì)溫室溫度控制所設(shè)計(jì)的FNNC結(jié)構(gòu)如圖3所示。
(9)
式中:c是常數(shù);μi和σi分別是推理層第i個(gè)神經(jīng)元激活函數(shù)的中心和半徑,均為可調(diào)參數(shù)。
第1層為FNNC的輸入節(jié)點(diǎn),用于接收溫室系統(tǒng)的溫度誤差輸入,第2層神經(jīng)元的激活函數(shù)為輸入量的隸屬函數(shù),如圖4所示。根據(jù)控制需要?jiǎng)澐譃?個(gè)子集,分別為pb(正大)、pm(正中)、z(零)、nm(負(fù)中)和nb(負(fù)大),每個(gè)子集對(duì)應(yīng)于模糊神經(jīng)網(wǎng)絡(luò)控制器模糊化層的1個(gè)神經(jīng)元。
模糊控制規(guī)則反映在第2、3層神經(jīng)元的連接關(guān)系上,且輸出隸屬函數(shù)可被劃分為3個(gè)子集,分別是h(大)、m(中)、z(零),溫度的模糊控制規(guī)則如表1所示。
表1 溫度的模糊控制規(guī)則
第3層神經(jīng)元激活函數(shù)為輸出量隸屬函數(shù)的反函數(shù):
(10)
第4層神經(jīng)元激活函數(shù)利用重心法實(shí)現(xiàn)反模糊化。
GA是一種基于生物進(jìn)化機(jī)理的隨機(jī)搜索全局優(yōu)化方法[11]。通常被用于尋找精確或近似的最優(yōu)解,在系統(tǒng)參數(shù)和結(jié)構(gòu)的優(yōu)化方面存在明顯優(yōu)勢(shì)。對(duì)待優(yōu)化參數(shù)進(jìn)行編碼,且編碼后的每1位被稱為1個(gè)基因,許多這樣的基因可構(gòu)成1個(gè)染色體,稱之為個(gè)體,許多這樣的個(gè)體構(gòu)成了種群。種群的大小代表搜索范圍的大小。在執(zhí)行遺傳算法之前,須要確定用于優(yōu)化參數(shù)的適應(yīng)度函數(shù)fρ,設(shè)定交叉概率ρc、變異概率ρm和遺傳代數(shù)N等參數(shù)。
(11)
(12)
GA的具體實(shí)現(xiàn)過(guò)程為:(1)對(duì)需要優(yōu)化的隸屬函數(shù)參數(shù)進(jìn)行編碼,并隨機(jī)產(chǎn)生1組初始群體,記為第0代。(2)通過(guò)式(12)分別計(jì)算群體中每個(gè)個(gè)體的適應(yīng)度值。若適應(yīng)度值達(dá)到控制器控制所需要的最佳參數(shù)值,則終止算法,輸出最優(yōu)參數(shù)值。否則繼續(xù)執(zhí)行以下步驟。(3)計(jì)算每個(gè)個(gè)體適應(yīng)度值在所有個(gè)體適應(yīng)度值之和中所占的百分比,利用輪盤(pán)法,重新選擇種群個(gè)體,組成大小和初始種群大小相同的群體。(4)根據(jù)交叉概率,將群體中的個(gè)體隨機(jī)兩兩配對(duì),進(jìn)行交叉操作,產(chǎn)生新的個(gè)體。(5)根據(jù)變異概率,對(duì)交叉處理過(guò)的群體中的每個(gè)個(gè)體進(jìn)行變異操作,產(chǎn)生新的個(gè)體,并轉(zhuǎn)至步驟(2)。
通過(guò)“1”“2”節(jié)建立的溫室被控對(duì)象預(yù)測(cè)模型及進(jìn)行的相應(yīng)FNNC設(shè)計(jì),結(jié)合OS-ELM神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的自適應(yīng)控制能力和GA的全局優(yōu)化特點(diǎn),設(shè)計(jì)的溫室自適應(yīng)控制系統(tǒng)如圖5所示。
溫室自適應(yīng)控制系統(tǒng)通過(guò)以下3個(gè)步驟對(duì)溫室的被控對(duì)象進(jìn)行控制:(1)分析影響被控對(duì)象的環(huán)境變量和有效控制被控對(duì)象的執(zhí)行機(jī)構(gòu),確定所建模型的輸入、輸出量,建立相應(yīng)的OS-ELM神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,并通過(guò)訓(xùn)練和學(xué)習(xí)獲得實(shí)際溫室系統(tǒng)的溫度等效模型,用于溫室溫度預(yù)測(cè)。(2)結(jié)合實(shí)際被控對(duì)象的要求,設(shè)計(jì)相應(yīng)FNNC的結(jié)構(gòu)和參數(shù),初始化FNNC。利用訓(xùn)練好的等效預(yù)測(cè)模型的自適應(yīng)控制能力,在給定被控對(duì)象理想控制值的條件下,通過(guò)GA優(yōu)化FNNC參數(shù),直到達(dá)到控制要求,停止對(duì)FNNC參數(shù)的優(yōu)化。(3)將經(jīng)過(guò)步驟(1)、(2)操作后的FNNC用于溫室的溫度控制。當(dāng)控制效果不理想時(shí),可返回步驟(2),以確??刂破骶珳?zhǔn)輸出。
以山西農(nóng)機(jī)新技術(shù)服務(wù)中心提供的28 m2溫室大棚作為試驗(yàn)基地。采用上位機(jī)管理和下位機(jī)采集與控制相結(jié)合的控制方案,上位機(jī)管理軟件利用labview語(yǔ)言實(shí)現(xiàn),通過(guò)配置VISA串口,完成與下位機(jī)的通信,下位機(jī)中的傳感器采用標(biāo)準(zhǔn)Modbus RTU通信協(xié)議。溫室溫度預(yù)測(cè)模型的預(yù)測(cè)采用Matlab編程實(shí)現(xiàn),溫室的采樣周期為1 min,每隔10 min將采集的數(shù)據(jù)進(jìn)行1次平均,并將平均值作為驗(yàn)證物理模型或訓(xùn)練神經(jīng)網(wǎng)絡(luò)的試驗(yàn)數(shù)據(jù)。本研究對(duì)溫室溫度預(yù)測(cè)和控制試驗(yàn)的有效性及其誤差進(jìn)行分析。
本研究分別采用物理建模方式[12]、基于誤差反向傳播更新權(quán)值的Elman網(wǎng)絡(luò)[13]建模方式和采用迭代方式更新隱層權(quán)值的OS-ELM網(wǎng)絡(luò)建模方式進(jìn)行溫室溫度預(yù)測(cè),并采用相同的控制器結(jié)構(gòu)及參數(shù)對(duì)溫室溫度進(jìn)行控制。本研究設(shè)定白天最適溫度為25 ℃,晚上為20 ℃,每隔10 min預(yù)測(cè)和控制1次溫度,試驗(yàn)連續(xù)進(jìn)行24 h。
由圖6可知,在物理建模方式的情況下,溫室溫度預(yù)測(cè)在很大程度上受外界環(huán)境的影響,特別是在溫度陡變的情況下,用于溫度預(yù)測(cè)的熱量平衡方程不能夠及時(shí)的響應(yīng),對(duì)溫度的預(yù)測(cè)存在很大誤差。由于所建物理模型不能根據(jù)設(shè)定的溫度值給出FNNC的理想輸出,無(wú)法實(shí)現(xiàn)FNNC的自適應(yīng)調(diào)節(jié)和控制,完全依賴于設(shè)計(jì)者的控制經(jīng)驗(yàn),因此造成控制器對(duì)溫度變化不敏感,響應(yīng)不及時(shí),溫度控制曲線擺動(dòng)幅度大,控制效果不理想。
由圖7可知,在Elman神經(jīng)網(wǎng)絡(luò)建模的情況下,溫室溫度的預(yù)測(cè)精度較物理建模有很大的提高,可在一定程度上克服物理建模響應(yīng)不及時(shí),受突發(fā)的外界環(huán)境影響大等問(wèn)題,能在短時(shí)間內(nèi)作出較準(zhǔn)確預(yù)測(cè)。但由于Elman網(wǎng)絡(luò)訓(xùn)練耗時(shí)長(zhǎng),且無(wú)法滿足預(yù)測(cè)模型的在線調(diào)整等原因,使得隨著時(shí)間的推移,預(yù)測(cè)產(chǎn)生的誤差增大,難以實(shí)現(xiàn)溫室的精準(zhǔn)預(yù)測(cè)。通過(guò)控制曲線可以看出,Elman神經(jīng)網(wǎng)絡(luò)建模方式較物理建模方式下的溫度控制情況有所改善,被控曲線擺動(dòng)幅度較小,不過(guò)仍沒(méi)有實(shí)現(xiàn)控制器的自適應(yīng)控制,控制效果仍不夠理想。
由圖8可以看出,OS-ELM神經(jīng)網(wǎng)絡(luò)的建模方式可實(shí)現(xiàn)預(yù)測(cè)模型的在線調(diào)整,能夠準(zhǔn)確地對(duì)溫室溫度作出預(yù)測(cè),特別是在溫度陡變的情況下,預(yù)測(cè)效果較物理建模方式和Elman神經(jīng)網(wǎng)絡(luò)建模方式理想。在溫度控制方面,有效利用了 OS-ELM 神經(jīng)網(wǎng)絡(luò)的自適應(yīng)控制能力,結(jié)合GA對(duì)FNNC的參數(shù)作優(yōu)化處理,可一定程度上實(shí)現(xiàn)控制器的自適應(yīng)控制,使得控制曲線的變化更加平穩(wěn),控制效果更加理想。
(13)
(14)
式中:εi(j)表示第i個(gè)預(yù)測(cè)(控制)類型下的第j個(gè)預(yù)測(cè)(控制)的誤差,i=1,2,3;j=1,2,…,144。
由表3可知,OS-ELM神經(jīng)網(wǎng)絡(luò)所建模型的預(yù)測(cè)平均誤差為0.353 9,明顯小于其他2種;從方差分析結(jié)果可以看出,OS-ELM神經(jīng)網(wǎng)絡(luò)所建模型的預(yù)測(cè)誤差更加集中分布在均值誤差周圍,說(shuō)明基于OS-ELM的溫室溫度預(yù)測(cè)模型與其他2種相比具有更高的預(yù)測(cè)精度和穩(wěn)定性。
表3 預(yù)測(cè)誤差的均值和方差
由表4可以看出,基于OS-ELM神經(jīng)網(wǎng)絡(luò)建模下的溫度控制誤差均值為0.494 8,小于其他2種;從方差分析結(jié)果可以看出,基于OS-ELM神經(jīng)網(wǎng)絡(luò)所建模型的控制誤差分布的集中程度最高,說(shuō)明基于OS-ELM神經(jīng)網(wǎng)絡(luò)的溫室自適應(yīng)控制系統(tǒng)與其他2種相比具有更高的控制精度和可靠性。
表4 控制誤差的均值和方差
通過(guò)分析和比較不同建模方法所建模型的溫室溫度控制結(jié)果發(fā)現(xiàn):(1)在溫室溫度的模型預(yù)測(cè)方面,基于OS-ELM神經(jīng)網(wǎng)絡(luò)所建的模型能很好地對(duì)溫室系統(tǒng)作出準(zhǔn)確預(yù)測(cè)。由于OS-ELM神經(jīng)網(wǎng)絡(luò)具有在線學(xué)習(xí)能力,因此能及時(shí)有效地更新溫室溫度預(yù)測(cè)模型,使溫室溫度預(yù)測(cè)誤差穩(wěn)定在一定范圍內(nèi),對(duì)溫室溫度的精準(zhǔn)控制具有重要意義。(2)在溫室的自適應(yīng)控制方面,構(gòu)建的基于OS-ELM神經(jīng)網(wǎng)絡(luò)的溫室溫度預(yù)測(cè)模型能夠?qū)厥覝囟茸鞒鰷?zhǔn)確預(yù)測(cè),可為FNNC輸出層隸屬函數(shù)參數(shù)的優(yōu)化提供參考,使得溫室溫度控制誤差穩(wěn)定在一定范圍內(nèi),有效減小執(zhí)行機(jī)構(gòu)性能差異對(duì)溫室溫度控制的影響,對(duì)實(shí)現(xiàn)溫室溫度的精準(zhǔn)控制和溫室系統(tǒng)的自適應(yīng)控制具有重要意義。