李 鋒 樊玉和 梁 輝
(青島科技大學(xué)機(jī)電工程學(xué)院 青島 266061)
隨著計(jì)算機(jī)智能控制技術(shù)和自動(dòng)化技術(shù)的極速發(fā)展,利用互聯(lián)網(wǎng)技術(shù)對(duì)溫室環(huán)境控制來提高溫室蔬菜的產(chǎn)值越來越受重視。溫室蔬菜的生長受溫室多種因素的影響,溫室環(huán)境括溫室內(nèi)的溫度、濕度、光照強(qiáng)度、二氧化碳濃度等多方面的多變量、強(qiáng)耦合、多時(shí)變的環(huán)境因素被控對(duì)象[1],且山東四季分明、季節(jié)變化溫差濕差大,其中對(duì)溫室蔬菜影響嚴(yán)重的是溫室內(nèi)的溫度濕度,其次是光照強(qiáng)度和二氧化碳的濃度,因此準(zhǔn)確高效控制溫室內(nèi)的溫濕度是提高蔬菜生長最關(guān)鍵的兩個(gè)因素?,F(xiàn)有的傳統(tǒng)PID控制模式不能滿足非線性多因素的變化進(jìn)行有效控制,BP神經(jīng)網(wǎng)絡(luò)PID可以對(duì)非線性的多種因素進(jìn)行測控,但其權(quán)值不能有效準(zhǔn)確控制?,F(xiàn)設(shè)計(jì)基于改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)PID控制器能夠有效控制權(quán)值,進(jìn)而精準(zhǔn)控制溫室的溫濕度,從而促進(jìn)蔬菜快速生長,增加蔬菜的產(chǎn)值量。
傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)PID控制器是由BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和常規(guī)的PID控制器兩部分組成。圖1所示為神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型。
圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型
圖1所示的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型,輸出節(jié)點(diǎn)層輸出三個(gè)PID控制器對(duì)應(yīng)的參數(shù)Kp,Ki,Kd[2~3];其分別表示PID控制器的比例、積分、微分系數(shù),傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)PID控制系統(tǒng)如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)PID控制器系統(tǒng)
其BP神經(jīng)網(wǎng)絡(luò)PID控制結(jié)構(gòu)的計(jì)算公式:
式(1)中,error=rin-yt,其中rin為控制器設(shè)置值,yt為PID控制器實(shí)際的測量值,error為控制器真正的輸入值,它是設(shè)置值rin與實(shí)際測量值yt之差值,u為控制器的實(shí)際輸出。PID控制器對(duì)應(yīng)的參數(shù)Kp,Ki,Kd;其分別表示PID控制器的比例、積分、微分系數(shù)。
傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)PID控制器再選取初始權(quán)值時(shí)隨機(jī)選取,根據(jù)研究專家總結(jié),初始權(quán)值選取的精確度直接影響對(duì)溫室環(huán)境溫濕度的控制[4~5],因此采用對(duì)初始權(quán)值選取精度至關(guān)重要,現(xiàn)在傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)PID控制算法基礎(chǔ)上添加遺傳-粒子群算法,這樣設(shè)計(jì)出來的控制器能夠保證神經(jīng)網(wǎng)絡(luò)初始權(quán)值更精準(zhǔn)的選取,然后通過控制系統(tǒng)的硬件驅(qū)動(dòng)設(shè)備,實(shí)現(xiàn)對(duì)溫室溫濕度的精準(zhǔn)有效的控制。
遺傳算法是一種借助生物界進(jìn)化規(guī)律進(jìn)化而來具有強(qiáng)全局搜素能力的搜索算法[6],該算法的中心思想圍繞著生物界進(jìn)化規(guī)律(適者生存,優(yōu)勝劣汰遺傳機(jī)制),該算法是通過三個(gè)基本遺傳算子進(jìn)行基本操作(選擇、交叉、變異)[7~10]通過不斷迭代得到全局最優(yōu)解。求全局最優(yōu)問題描述的數(shù)學(xué)規(guī)劃模型:
式(2)中X為決策變量,maxf(x)為目標(biāo)函數(shù),X∈R、R?U為約束條件,U是基本空間,R是U的子集,滿足條件的X為行解,集合R是所有解所有組合的集合。
該算法基本概念源自對(duì)人工生命和鳥群捕食行為的研究,PSO算法沒有遺傳算法中的選擇、交叉、變異等操作,而是經(jīng)過粒子在解空間跟隨最優(yōu)的粒子局部搜索,其具有比較強(qiáng)的局部搜尋能力和最快的迭代方法[11]。粒子群優(yōu)化算法在其自身更新速度及尋優(yōu)建立數(shù)學(xué)表達(dá)式如下:
式(3)中,由n個(gè)粒子組成的種群X=(X1,X2,…,Xn);第i個(gè)粒子表示一個(gè)D維向量Xi=(xi1,xi2,…,xiD)T;第i個(gè)粒子的速度Vi=(Vi1,Vi2,…,ViD)T;個(gè)體極值Pi=(Pi1,Pi2,…,PiD)T;全局極值Pg=(Pg1,Pg2,…,PgD)T。
具體采用粒子群優(yōu)化算法迭代過程如粒子群算法流程圖3所示。
圖3 粒子群算法流程圖
1)單獨(dú)的BP神經(jīng)網(wǎng)絡(luò)、遺傳(GA)、粒子群(PSO)算法比較分析
傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的非線性映射能力,但單獨(dú)使用BP神經(jīng)網(wǎng)絡(luò)會(huì)產(chǎn)生全局搜索困難、收斂速度慢等缺點(diǎn)。在BP神經(jīng)網(wǎng)絡(luò)PID控制進(jìn)行有效改進(jìn)算法能夠克服單獨(dú)BP神經(jīng)網(wǎng)絡(luò)不能實(shí)現(xiàn)的欠缺,而如果只在BP神經(jīng)網(wǎng)絡(luò)增添單獨(dú)遺傳算法或者單獨(dú)粒子群算法也不能達(dá)到最精確選取初始權(quán)值,作為一種自適應(yīng)啟發(fā)式全局搜索的算法具有較強(qiáng)的全局搜索能力,但在小規(guī)模局部范圍內(nèi),遺傳算法不能夠?qū)植啃》秶鷥?nèi)進(jìn)行有效的控制初始閾值和權(quán)值。粒子群算法是一種簡單、收斂速度快的算法,特別應(yīng)用在溫室局部小范圍內(nèi)控制閾值和權(quán)值。但在全局搜索能力上相比,粒子群算法遠(yuǎn)不如遺傳算法。
2)遺傳-粒子群算法混合的BP神經(jīng)網(wǎng)絡(luò)PID控制
現(xiàn)設(shè)計(jì)一種由遺傳、粒子群算法混合的BP神經(jīng)網(wǎng)絡(luò)算法,該復(fù)合算法能夠克服單獨(dú)的遺傳算法局部搜索能力弱及單獨(dú)粒子群算法全局搜索能力弱、收斂速度慢的缺陷,該混合算法繼承了遺傳算法和粒子群算法的優(yōu)勢(shì)從而實(shí)現(xiàn)對(duì)控制系統(tǒng)中的權(quán)值和閾值精確的控制選擇、收斂速度快,進(jìn)而有效控制整個(gè)控制系統(tǒng)對(duì)溫室的溫濕度精準(zhǔn)控制與調(diào)節(jié),實(shí)現(xiàn)蔬菜最適的溫濕度,促進(jìn)蔬菜快速增殖,增加蔬菜產(chǎn)值量。
遺傳、粒子群混合算法種群個(gè)體的組織方式如圖4所示。
圖4 GA—PSO算法種群個(gè)體組織
如圖4所示的GA—PSO算法種群個(gè)體組織方式圖可知,本算法分為三層包括個(gè)體、底層、上層結(jié)構(gòu)。首先,從整個(gè)群體中由遺傳算法進(jìn)行全局搜索得到底層結(jié)構(gòu),算法的底層結(jié)構(gòu)也稱之為基礎(chǔ)結(jié)構(gòu);再從基礎(chǔ)結(jié)構(gòu)經(jīng)過粒子群算法局部搜索、收斂速度快得到上層結(jié)構(gòu),上層結(jié)構(gòu)是在種群個(gè)體優(yōu)化的基礎(chǔ)上再進(jìn)行優(yōu)化的,通過粒子群算法主要是對(duì)精英種群個(gè)體再進(jìn)行部分搜索,得到精銳中的精銳種群個(gè)體。遺傳—粒子群算法相結(jié)合在搜索過程中始終使算法的收斂速度加快。
3)遺傳—粒子群算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)PID控制器的設(shè)計(jì)
針對(duì)BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速度較慢、網(wǎng)絡(luò)訓(xùn)練失敗的可能性較大、網(wǎng)絡(luò)層數(shù)有限以及容易陷入局部極小值等不足,現(xiàn)設(shè)計(jì)出一種混合式算法控制器(GA-PSO-BP神經(jīng)網(wǎng)絡(luò)PID控制器),該混合式算法控制器能夠彌補(bǔ)神經(jīng)網(wǎng)絡(luò)的各種不足,充分利用各種算法的優(yōu)點(diǎn),時(shí)控制效果達(dá)到最佳狀態(tài)。該遺傳-粒子群優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)控制器結(jié)構(gòu)如圖5所示。
圖5 GA-PSO-BP神經(jīng)網(wǎng)絡(luò)PID控制器
圖5所示的GA-PSO-BP神經(jīng)網(wǎng)絡(luò)PID控制器是由兩部分相互協(xié)調(diào)組成,分別是由圖4中的GA-PSO-BP神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)的PID控制器組成。傳統(tǒng)的PID控制器的輸入端為error(error=rin-yt)和3個(gè)參數(shù)Kp、Ki、Kd,通過控制控制器中的算法控制控制器輸出u,再由控制對(duì)象處的傳遞函數(shù)輸出yout,從而完成控制器PID的閉環(huán)控制,達(dá)到預(yù)期的效果[12]。只要控制系統(tǒng)PID不停地運(yùn)行,BP神經(jīng)網(wǎng)絡(luò)就可以通過自身的自調(diào)整優(yōu)化加權(quán)系數(shù)Kp、Ki、Kd,并通過PID自動(dòng)控制,獲得最優(yōu)的精準(zhǔn)的控制參數(shù),使整個(gè)控制系統(tǒng)達(dá)到較為理想的控制狀態(tài)。
4)遺傳-粒子群(GA-PSO)算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)權(quán)值
遺傳-粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)現(xiàn)采用分層結(jié)構(gòu)(底層結(jié)構(gòu)、上層結(jié)構(gòu))。遺傳算法和粒子群算法共同優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)能使神經(jīng)網(wǎng)絡(luò)PID控制器的權(quán)值和閾值精準(zhǔn)更新。種群個(gè)體通過適應(yīng)度函數(shù)計(jì)算適應(yīng)度值,通過選擇、交叉、變異基本操作篩選出最適適合度值的個(gè)體。將遺傳算法的每次迭代最優(yōu)種群個(gè)體組成上層粒子群個(gè)體,然后計(jì)算出粒子群中各個(gè)粒子的速度得到的最近更新的相應(yīng)位置,并且朝著更新的方向進(jìn)化,基于這些得到更新的位置得到最新得到的網(wǎng)絡(luò)誤差error(er?ror=rin-yt),在此同時(shí),粒子群中的粒子通過不斷地運(yùn)動(dòng)從而不斷地更新粒子的位置,這樣不斷優(yōu)化更新網(wǎng)絡(luò)權(quán)值。最終,在不斷更新網(wǎng)絡(luò)權(quán)值后,將最優(yōu)的網(wǎng)絡(luò)權(quán)值輸入到BP神經(jīng)網(wǎng)絡(luò)進(jìn)行自學(xué)習(xí),達(dá)到控制更加精準(zhǔn)的效果,從而有利于精確控制溫室內(nèi)的溫度和濕度數(shù)值,達(dá)到準(zhǔn)時(shí)、有效、收斂速度快的訓(xùn)練效果。GA-PSO-BP-PID控制算法過程如圖6所示。
圖6 GA-PSO-BP-PID控制算法過程
影響溫室環(huán)境的因素多種多樣,其中包括溫度、濕度、光照強(qiáng)度、二氧化碳濃度、土壤濕度等多種因素相互耦合、相互影響。溫室內(nèi)的溫度濕度是溫室控制最重要的兩個(gè)參數(shù),其次是光照強(qiáng)度、二氧化碳的濃度[13]。現(xiàn)設(shè)計(jì)一種改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)控制器精準(zhǔn)控制輸入控制器的初始權(quán)值和閾值,進(jìn)而精準(zhǔn)控制溫室內(nèi)溫度和濕度。該控制系統(tǒng)的總體設(shè)計(jì)包括感應(yīng)模塊、控制模塊、執(zhí)行模塊、服務(wù)器模塊、外部顯示及報(bào)警模塊。溫室控制系統(tǒng)中所有各硬件組成的模塊相互關(guān)系如圖7所示。
如圖7所示溫室控制系統(tǒng)總圖,整個(gè)控制系統(tǒng)最核心的模塊是控制模塊(COMFAST嵌入式智能網(wǎng)關(guān)),嵌入式智能網(wǎng)關(guān)是通過RS485串口通信采集室內(nèi)外傳感器、氣象臺(tái)的實(shí)時(shí)數(shù)據(jù)進(jìn)行處理并且保存數(shù)據(jù),進(jìn)而根據(jù)設(shè)置的溫濕度偏差度控制環(huán)流風(fēng)機(jī)、高壓水泵、遮陽網(wǎng)等相應(yīng)執(zhí)行模塊的操作,對(duì)數(shù)據(jù)分析過濾之后,首先在嵌入式數(shù)據(jù)庫sqlite進(jìn)行有效存儲(chǔ),之后將數(shù)據(jù)傳遞給云服務(wù)操作器存儲(chǔ)在sqlserver[14~15]中,操作人員也可以根據(jù)查看手機(jī)或者溫室管理平臺(tái)進(jìn)行實(shí)時(shí)數(shù)據(jù)查詢、設(shè)備控制及相應(yīng)的自動(dòng)化控制。
圖7 溫室控制系統(tǒng)總圖
感應(yīng)模塊主要包括室內(nèi)溫濕度傳感器和由光溫濕傳感器組成的室外氣象臺(tái)。GY-BME280溫濕度傳感器是博世公司APSM工藝的小封裝低功耗數(shù)字復(fù)合傳感器,它不僅能夠檢測室內(nèi)溫濕度而且對(duì)大氣壓強(qiáng)測量也比較準(zhǔn)確。濕敏元件具有快速喚醒與相應(yīng)時(shí)間、并且精度高和寬溫度工作范圍;氣壓敏感元件是一個(gè)壓阻式底噪高精度高分辨率絕對(duì)大氣壓力感應(yīng)元件;溫度感測元件具有底噪高分辨率特性,溫度值可以對(duì)濕度和氣壓進(jìn)行溫度補(bǔ)償自校正。BME280溫濕度傳感器電路圖如圖8所示。如圖8所示,CSB為片選引腳,當(dāng)接高電平時(shí)為I2C通信接口,當(dāng)接低電平時(shí)為SPI通信接口。并且BMP280溫濕度傳感器的測量誤差小,精度高,在溫室內(nèi)使用BMP280更有利于精確測量室內(nèi)溫濕度及大氣壓強(qiáng)。室外溫濕度和大氣壓強(qiáng)通過氣象臺(tái)來測量,氣象臺(tái)用來測量近地面空氣溫度的主要是裝有水銀或酒精的玻璃管溫度表。
圖8 GY-BME280溫濕度傳感器電路圖
圖9 蜂鳴器電路圖
溫室內(nèi)的溫度濕度通過溫濕度傳感器采集的信息和室外的溫濕度及大氣壓強(qiáng)通過氣象臺(tái)搜集到的信息通過RS485串口通信傳遞到網(wǎng)關(guān)內(nèi),并且存儲(chǔ)。室內(nèi)溫濕度及室外溫濕度等信息通過LCD12864點(diǎn)陣屏顯示時(shí)間、溫度、濕度、大氣壓強(qiáng)等信息。當(dāng)室內(nèi)或者室外某一因素超過設(shè)定范圍時(shí),AD-22SM蜂鳴器會(huì)持續(xù)發(fā)生聲音并且警示燈會(huì)不停閃爍,直到室內(nèi)的溫濕度上升或者降低到允許范圍之內(nèi)蜂鳴器的聲音漸漸變?nèi)?。蜂鳴器電路圖如圖9所示。
為了驗(yàn)證改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)PID控制器系統(tǒng)對(duì)蔬菜生長過程最適溫濕度的控制效果,科研小組在導(dǎo)師的帶領(lǐng)下到達(dá)山東省壽光市進(jìn)行溫室蔬菜生長過程溫濕度控制實(shí)驗(yàn)。該實(shí)驗(yàn)選取的溫室觀察對(duì)象為番茄,該溫室一共包含6個(gè)區(qū)域,每個(gè)區(qū)域安裝上4個(gè)溫濕傳感器,且具有側(cè)窗、內(nèi)外遮陽網(wǎng)、環(huán)流風(fēng)機(jī)、高壓水泵等多個(gè)執(zhí)行設(shè)備,溫室外面安裝一個(gè)包含溫度、濕度、光照強(qiáng)度、風(fēng)速風(fēng)向、降水量5種傳感器組成的氣象站,用于感知室外環(huán)境因素的變化數(shù)據(jù)信息,并在每個(gè)區(qū)域安裝兩個(gè)LCD12864點(diǎn)陣屏和4個(gè)蜂鳴器,同時(shí)安裝上攝像頭觀察每段時(shí)間間隔內(nèi)各因素變化情況。本次實(shí)驗(yàn)的時(shí)間是在2018年12月5日,本次實(shí)驗(yàn)研究對(duì)象是番茄作為測試對(duì)象,在同一溫室內(nèi)分別使用改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)PID控制器系統(tǒng)和傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)測試溫室內(nèi)的溫濕度。
根據(jù)多方面調(diào)查與訪問,番茄正處于蓮座期最適于番茄生長的溫度范圍在23℃~27℃,最適于番茄快速成長的濕度范圍在60%~80%,故系統(tǒng)溫度設(shè)定值為25℃,濕度設(shè)定值為70%,將設(shè)計(jì)的設(shè)定值輸入到系統(tǒng)中,開啟系統(tǒng)自動(dòng)控制模式,測試時(shí)間段是8:00~20:00,每間隔一小時(shí)計(jì)入測得數(shù)據(jù)繪制成折線圖如圖10。
圖10 溫室內(nèi)溫度濕度變化曲線圖
結(jié)果分析:圖10所示變化的曲線圖我們可以看出在冬季傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)PID控制器控制的溫度范圍在18.2℃~26.3℃,濕度變化范圍在70.2%~95.3%;而改進(jìn)后的BP神經(jīng)網(wǎng)路PID控制器控制的溫度范圍在22.5℃~26.1℃,濕度變化范圍在72.5%~86.5%。由數(shù)據(jù)可以看出兩種控制器控制系統(tǒng)均能將溫室溫濕度控制在番茄快速生長的范圍內(nèi),但改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)PID控制器控制的效果要比傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)控制器控制效果更加準(zhǔn)確接近番茄快速生長的標(biāo)準(zhǔn)值。
設(shè)計(jì)改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)PID控制器的溫室控制系統(tǒng),通過對(duì)溫室的蔬菜溫度濕度的研究,利用GA-PSO-BP算法對(duì)PID控制的初始權(quán)值參數(shù)進(jìn)行合理有序最佳的調(diào)整,提高了系統(tǒng)對(duì)溫度濕度準(zhǔn)確的控制,提高了系統(tǒng)控制的準(zhǔn)確性和動(dòng)態(tài)性能,實(shí)現(xiàn)了對(duì)溫室蔬菜溫度濕度自動(dòng)調(diào)控效果。實(shí)驗(yàn)證明,系統(tǒng)穩(wěn)定性和動(dòng)態(tài)性能越高,系統(tǒng)的相應(yīng)速度越快,魯棒性越強(qiáng),可靠性越高[15]。