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