基于改进BP神经网络PID控制器温室温湿度控制研究∗
2021-06-02樊玉和
李 锋 樊玉和 梁 辉
(青岛科技大学机电工程学院 青岛 266061)
1 引言
随着计算机智能控制技术和自动化技术的极速发展,利用互联网技术对温室环境控制来提高温室蔬菜的产值越来越受重视。温室蔬菜的生长受温室多种因素的影响,温室环境括温室内的温度、湿度、光照强度、二氧化碳浓度等多方面的多变量、强耦合、多时变的环境因素被控对象[1],且山东四季分明、季节变化温差湿差大,其中对温室蔬菜影响严重的是温室内的温度湿度,其次是光照强度和二氧化碳的浓度,因此准确高效控制温室内的温湿度是提高蔬菜生长最关键的两个因素。现有的传统PID控制模式不能满足非线性多因素的变化进行有效控制,BP神经网络PID可以对非线性的多种因素进行测控,但其权值不能有效准确控制。现设计基于改进后的BP神经网络PID控制器能够有效控制权值,进而精准控制温室的温湿度,从而促进蔬菜快速生长,增加蔬菜的产值量。
2 常规BP神经网络PID控制
传统的BP神经网络PID控制器是由BP神经网络结构和常规的PID控制器两部分组成。图1所示为神经网络结构模型。
图1 神经网络结构模型
图1所示的神经网络结构模型,输出节点层输出三个PID控制器对应的参数Kp,Ki,Kd[2~3];其分别表示PID控制器的比例、积分、微分系数,传统的BP神经网络PID控制系统如图2所示。
图2 BP神经网络PID控制器系统
其BP神经网络PID控制结构的计算公式:
式(1)中,error=rin-yt,其中rin为控制器设置值,yt为PID控制器实际的测量值,error为控制器真正的输入值,它是设置值rin与实际测量值yt之差值,u为控制器的实际输出。PID控制器对应的参数Kp,Ki,Kd;其分别表示PID控制器的比例、积分、微分系数。
3 改进后的BP神经网络PID控
传统的BP神经网络PID控制器再选取初始权值时随机选取,根据研究专家总结,初始权值选取的精确度直接影响对温室环境温湿度的控制[4~5],因此采用对初始权值选取精度至关重要,现在传统的BP神经网络PID控制算法基础上添加遗传-粒子群算法,这样设计出来的控制器能够保证神经网络初始权值更精准的选取,然后通过控制系统的硬件驱动设备,实现对温室温湿度的精准有效的控制。
3.1 遗传优化算法
遗传算法是一种借助生物界进化规律进化而来具有强全局搜素能力的搜索算法[6],该算法的中心思想围绕着生物界进化规律(适者生存,优胜劣汰遗传机制),该算法是通过三个基本遗传算子进行基本操作(选择、交叉、变异)[7~10]通过不断迭代得到全局最优解。求全局最优问题描述的数学规划模型:
式(2)中X为决策变量,maxf(x)为目标函数,X∈R、R⊂U为约束条件,U是基本空间,R是U的子集,满足条件的X为行解,集合R是所有解所有组合的集合。
3.2 粒子群优化算法
该算法基本概念源自对人工生命和鸟群捕食行为的研究,PSO算法没有遗传算法中的选择、交叉、变异等操作,而是经过粒子在解空间跟随最优的粒子局部搜索,其具有比较强的局部搜寻能力和最快的迭代方法[11]。粒子群优化算法在其自身更新速度及寻优建立数学表达式如下:
式(3)中,由n个粒子组成的种群X=(X1,X2,…,Xn);第i个粒子表示一个D维向量Xi=(xi1,xi2,…,xiD)T;第i个粒子的速度Vi=(Vi1,Vi2,…,ViD)T;个体极值Pi=(Pi1,Pi2,…,PiD)T;全局极值Pg=(Pg1,Pg2,…,PgD)T。
具体采用粒子群优化算法迭代过程如粒子群算法流程图3所示。
图3 粒子群算法流程图
3.3 基于GA-PSO(遗传-粒子群)算法优化BP神经网络PID控制
1)单独的BP神经网络、遗传(GA)、粒子群(PSO)算法比较分析
传统的BP神经网络具有较强的非线性映射能力,但单独使用BP神经网络会产生全局搜索困难、收敛速度慢等缺点。在BP神经网络PID控制进行有效改进算法能够克服单独BP神经网络不能实现的欠缺,而如果只在BP神经网络增添单独遗传算法或者单独粒子群算法也不能达到最精确选取初始权值,作为一种自适应启发式全局搜索的算法具有较强的全局搜索能力,但在小规模局部范围内,遗传算法不能够对局部小范围内进行有效的控制初始阈值和权值。粒子群算法是一种简单、收敛速度快的算法,特别应用在温室局部小范围内控制阈值和权值。但在全局搜索能力上相比,粒子群算法远不如遗传算法。
2)遗传-粒子群算法混合的BP神经网络PID控制
现设计一种由遗传、粒子群算法混合的BP神经网络算法,该复合算法能够克服单独的遗传算法局部搜索能力弱及单独粒子群算法全局搜索能力弱、收敛速度慢的缺陷,该混合算法继承了遗传算法和粒子群算法的优势从而实现对控制系统中的权值和阈值精确的控制选择、收敛速度快,进而有效控制整个控制系统对温室的温湿度精准控制与调节,实现蔬菜最适的温湿度,促进蔬菜快速增殖,增加蔬菜产值量。
遗传、粒子群混合算法种群个体的组织方式如图4所示。
图4 GA—PSO算法种群个体组织
如图4所示的GA—PSO算法种群个体组织方式图可知,本算法分为三层包括个体、底层、上层结构。首先,从整个群体中由遗传算法进行全局搜索得到底层结构,算法的底层结构也称之为基础结构;再从基础结构经过粒子群算法局部搜索、收敛速度快得到上层结构,上层结构是在种群个体优化的基础上再进行优化的,通过粒子群算法主要是对精英种群个体再进行部分搜索,得到精锐中的精锐种群个体。遗传—粒子群算法相结合在搜索过程中始终使算法的收敛速度加快。
3)遗传—粒子群算法优化的BP神经网络PID控制器的设计
针对BP神经网络学习速度较慢、网络训练失败的可能性较大、网络层数有限以及容易陷入局部极小值等不足,现设计出一种混合式算法控制器(GA-PSO-BP神经网络PID控制器),该混合式算法控制器能够弥补神经网络的各种不足,充分利用各种算法的优点,时控制效果达到最佳状态。该遗传-粒子群优化的BP神经网络控制器结构如图5所示。
图5 GA-PSO-BP神经网络PID控制器
图5所示的GA-PSO-BP神经网络PID控制器是由两部分相互协调组成,分别是由图4中的GA-PSO-BP神经网络和传统的PID控制器组成。传统的PID控制器的输入端为error(error=rin-yt)和3个参数Kp、Ki、Kd,通过控制控制器中的算法控制控制器输出u,再由控制对象处的传递函数输出yout,从而完成控制器PID的闭环控制,达到预期的效果[12]。只要控制系统PID不停地运行,BP神经网络就可以通过自身的自调整优化加权系数Kp、Ki、Kd,并通过PID自动控制,获得最优的精准的控制参数,使整个控制系统达到较为理想的控制状态。
4)遗传-粒子群(GA-PSO)算法优化BP神经网络权值
遗传-粒子群算法优化BP神经网络现采用分层结构(底层结构、上层结构)。遗传算法和粒子群算法共同优化的BP神经网络能使神经网络PID控制器的权值和阈值精准更新。种群个体通过适应度函数计算适应度值,通过选择、交叉、变异基本操作筛选出最适适合度值的个体。将遗传算法的每次迭代最优种群个体组成上层粒子群个体,然后计算出粒子群中各个粒子的速度得到的最近更新的相应位置,并且朝着更新的方向进化,基于这些得到更新的位置得到最新得到的网络误差error(er⁃ror=rin-yt),在此同时,粒子群中的粒子通过不断地运动从而不断地更新粒子的位置,这样不断优化更新网络权值。最终,在不断更新网络权值后,将最优的网络权值输入到BP神经网络进行自学习,达到控制更加精准的效果,从而有利于精确控制温室内的温度和湿度数值,达到准时、有效、收敛速度快的训练效果。GA-PSO-BP-PID控制算法过程如图6所示。
图6 GA-PSO-BP-PID控制算法过程
4 温室温湿度控制系统的设计
4.1 温室系统控制总体系统结构
影响温室环境的因素多种多样,其中包括温度、湿度、光照强度、二氧化碳浓度、土壤湿度等多种因素相互耦合、相互影响。温室内的温度湿度是温室控制最重要的两个参数,其次是光照强度、二氧化碳的浓度[13]。现设计一种改进的BP神经网络控制器精准控制输入控制器的初始权值和阈值,进而精准控制温室内温度和湿度。该控制系统的总体设计包括感应模块、控制模块、执行模块、服务器模块、外部显示及报警模块。温室控制系统中所有各硬件组成的模块相互关系如图7所示。
如图7所示温室控制系统总图,整个控制系统最核心的模块是控制模块(COMFAST嵌入式智能网关),嵌入式智能网关是通过RS485串口通信采集室内外传感器、气象台的实时数据进行处理并且保存数据,进而根据设置的温湿度偏差度控制环流风机、高压水泵、遮阳网等相应执行模块的操作,对数据分析过滤之后,首先在嵌入式数据库sqlite进行有效存储,之后将数据传递给云服务操作器存储在sqlserver[14~15]中,操作人员也可以根据查看手机或者温室管理平台进行实时数据查询、设备控制及相应的自动化控制。
图7 温室控制系统总图
4.2 感应模块
感应模块主要包括室内温湿度传感器和由光温湿传感器组成的室外气象台。GY-BME280温湿度传感器是博世公司APSM工艺的小封装低功耗数字复合传感器,它不仅能够检测室内温湿度而且对大气压强测量也比较准确。湿敏元件具有快速唤醒与相应时间、并且精度高和宽温度工作范围;气压敏感元件是一个压阻式底噪高精度高分辨率绝对大气压力感应元件;温度感测元件具有底噪高分辨率特性,温度值可以对湿度和气压进行温度补偿自校正。BME280温湿度传感器电路图如图8所示。如图8所示,CSB为片选引脚,当接高电平时为I2C通信接口,当接低电平时为SPI通信接口。并且BMP280温湿度传感器的测量误差小,精度高,在温室内使用BMP280更有利于精确测量室内温湿度及大气压强。室外温湿度和大气压强通过气象台来测量,气象台用来测量近地面空气温度的主要是装有水银或酒精的玻璃管温度表。
图8 GY-BME280温湿度传感器电路图
4.3 显示及报警设备
图9 蜂鸣器电路图
温室内的温度湿度通过温湿度传感器采集的信息和室外的温湿度及大气压强通过气象台搜集到的信息通过RS485串口通信传递到网关内,并且存储。室内温湿度及室外温湿度等信息通过LCD12864点阵屏显示时间、温度、湿度、大气压强等信息。当室内或者室外某一因素超过设定范围时,AD-22SM蜂鸣器会持续发生声音并且警示灯会不停闪烁,直到室内的温湿度上升或者降低到允许范围之内蜂鸣器的声音渐渐变弱。蜂鸣器电路图如图9所示。
5 测控系统的验证与结果分析
为了验证改进的BP神经网络PID控制器系统对蔬菜生长过程最适温湿度的控制效果,科研小组在导师的带领下到达山东省寿光市进行温室蔬菜生长过程温湿度控制实验。该实验选取的温室观察对象为番茄,该温室一共包含6个区域,每个区域安装上4个温湿传感器,且具有侧窗、内外遮阳网、环流风机、高压水泵等多个执行设备,温室外面安装一个包含温度、湿度、光照强度、风速风向、降水量5种传感器组成的气象站,用于感知室外环境因素的变化数据信息,并在每个区域安装两个LCD12864点阵屏和4个蜂鸣器,同时安装上摄像头观察每段时间间隔内各因素变化情况。本次实验的时间是在2018年12月5日,本次实验研究对象是番茄作为测试对象,在同一温室内分别使用改进的BP神经网络PID控制器系统和传统的BP神经网络控制系统测试温室内的温湿度。
根据多方面调查与访问,番茄正处于莲座期最适于番茄生长的温度范围在23℃~27℃,最适于番茄快速成长的湿度范围在60%~80%,故系统温度设定值为25℃,湿度设定值为70%,将设计的设定值输入到系统中,开启系统自动控制模式,测试时间段是8:00~20:00,每间隔一小时计入测得数据绘制成折线图如图10。
图10 温室内温度湿度变化曲线图
结果分析:图10所示变化的曲线图我们可以看出在冬季传统的BP神经网络PID控制器控制的温度范围在18.2℃~26.3℃,湿度变化范围在70.2%~95.3%;而改进后的BP神经网路PID控制器控制的温度范围在22.5℃~26.1℃,湿度变化范围在72.5%~86.5%。由数据可以看出两种控制器控制系统均能将温室温湿度控制在番茄快速生长的范围内,但改进后的BP神经网络PID控制器控制的效果要比传统的BP神经网络控制器控制效果更加准确接近番茄快速生长的标准值。
6 结语
设计改进后的BP神经网络PID控制器的温室控制系统,通过对温室的蔬菜温度湿度的研究,利用GA-PSO-BP算法对PID控制的初始权值参数进行合理有序最佳的调整,提高了系统对温度湿度准确的控制,提高了系统控制的准确性和动态性能,实现了对温室蔬菜温度湿度自动调控效果。实验证明,系统稳定性和动态性能越高,系统的相应速度越快,鲁棒性越强,可靠性越高[15]。