黄金侠,侯 艳,宋国义,王俊发,李 晶
(佳木斯大学 a.信息电子技术学院;b.机械工程学院,黑龙江 佳木斯 154007)
俗语说“十成稻,九成秧”,可见,秧苗的质量对水稻生产起着非常重要的作用。水稻生产主要包括稻种催芽、秧棚育秧和稻田种植3个阶段,为秧苗生长创造适宜的环境是提高秧苗质量的关键所在[1]。黑龙江省是我国重要的水稻生产地,水稻种植面积正逐年扩大,为了减少人力、优化育秧环境、降低生产成本,建立大规模群体水稻育秧棚实施水稻智能化育秧已经成为水稻秧苗生产的必然趋势。但是,目前我国群体水稻育秧棚的控制大部分采取人工控制或半自动控制,造成劳动强度大、育秧成本高,无法实现信息化与自动化生产。为此,本课题组设计了基于PID神经元网络的水稻秧棚自动控制系统。经仿真和农场实验,达到了很好的控制效果。
水稻育秧棚是一个非线性、多变量、强时变、交叉耦合及参数变化大的复杂对象,传统PID控制器是线性的,依赖于被控对象精确的数学模型,在用于控制具有不确定性、时变性和非线性等复杂系统时,不容易获得满意的控制效果。PID具有结构简单、鲁棒性强的特点,BP神经网络控制不需精确的数学模型,具有非线性逼近能力,具有自组织、自学习和自适应能力,使其可以适应多变量耦合系统的非线性、复杂等问题,但神经网络控制也存在收敛速度慢等问题。本文将PID控制与神经网络控制相融合,扬长避短、发挥他们各自的优势[1],建立了一种新型的多变量耦合的PID神经元网络控制器。此控制器不需要测量或辨识对象的内部结构和参数,通过在线测量系统给定值和输出值,自主学习,调整网络权值,并同时完成系统解耦控制工作,使强耦合、时延和多变量复杂系统具有良好的动态和静态性能[2-3]。
水稻秧棚智能控制系统突破了传统控制理念,采用无人操作,在传统控制基础上,结合计算机技术、传感器技术、神经网络技术等高科技手段,实现对秧棚系统各环境参数实时控制。本设计采用上位机(PC机)与下位机(单片机)联合控制,上位机与下位机之间通过无线通信模块实现数据传输。下位机通过传感器实时采集育秧棚内环境参数(如温度、湿度、光照、二氧化碳气体浓度等)等物理量,并传送给上位机;上位机经过处理、预测判断和分析比较后将控制命令发回给下位机,下位机再依照命令对秧棚内环境控制系统的各个执行机构(轴流风机、喷灌阀、加热阀和卷帘门)发出控制指令,完成秧棚环境系统的调控。水稻育秧棚系统结构如图1所示。
在秧棚内环境参数(如温度、湿度、光照、二氧化碳气体浓度等)控制中,二氧化碳浓度和光照强度两参数控制方法简单、易于实现,时滞性与非线性较小,因此采用传统的比例-积分-微分控制算法可实行有效控制[3]。温度和湿度是影响水稻生成最重要的两个决定性因素,且温度和湿度之间有较强的耦合性,因此本设计只对环境温度和湿度参数采用PID神经元网络解耦控制方法,以温、湿度作为控制器的输入,调控温、湿度的装置作为输出量。控制系统结构如图2所示。
图1 系统结构图Fig.1 System structure
图2 控制系统基本结构Fig.2 Basic structure of control system
PID神经网络是一种动态前向的神经元网络控制系统,主要由输入层、隐含层和输出层构成。PID神经元网络如果有n个控制量输入,就包含n个相同的并列子网络,各子网络的输入层至隐含层之间是相互独立的。输入层的每个子网络(有两个神经元)分别接受控制量的给定值和实际值;每个子网络的隐含层由3个神经元(比例元、积分元和微分元)构成,它们的输出分别与PID控制器中的比例控制、积分控制和微分控制相对应,隐含层至输出层的连接权则是相互交叉连接的;网络的输出层只有一个神经元,完成PID控制规律的综合,实现多变量系统的解耦输出。根据输入控制量的个数,PID神经元网络控制器可以分为单变量、两变量和多变量[4]。由于本设计只对温度和湿度实现PID神经元网络解耦控制,所以采用两变量3层前向结构(4×6×2)的PID神经元网络控制系统,其输入层有4个神经元,r1、r2是控制量(温度、湿度)的给定值,y1、y2是控制量(温度、湿度)的实际值。隐含层包括两个比例元、两个积分元和两个微分元6个处理元,输出层有2个输出神经元。v1、v2是神经元网络计算得到的控制律,ωij、ωjk是PID神经网络权值。输入层与隐含层之间是按子网独立的,隐含层与输出层之间是互相交叉[4]耦合的。两个输入变量的PID神经元网络控制器结构如图3所示。
图3 PID神经元网络控制系统结构Fig.3 PID neural network control system structure
2.2.1 控制律计算
PID神经元网络的输入量为温度和湿度的实际值(y1和y2)和给定值(r1和r2),运用PID神经元网络的自主学习和调整功能[5],对育秧棚环境参数进行 控制。设k为各层的任意时间。各层的输入与输出计算公式如下:
1)输入层。多输入PID神经元网络的输入层的神经元是相同的,表示为
fsi(k)=usi(k)
(1)
输入层神经元的输出函数为
(2)
2)隐含层。PID 神经元网络系统的隐含层是由6个神经元(2个比例、2个积分和2个微分)构成,它们的输入值相同,关系式为
(3)
隐含层中比例、积分和微分神经元输出的计算公式各不相同,如式(4)~式(6)所示,即
(4)
(5)
(6)
隐含层各神经元的输出函数为[4]
(7)
3)输出层。育秧棚PID 神经元网络输出层有2个神经元。输出层的2个神经元的输出为隐含层全部神经元的输出值加权和,即
(8)
输出层神经元的输出函数为[6]
(9)
2.2.2 权值修正
PID神经元网络控制器在控制过程中根据控制量误差按照梯度修正法修正网络权重值,通过在线训练和学习,使得控制量不断逼近给定值,网络权重值修正如下所示。
误差反向传播计算公式为
(10)
其中,l为每批采样点数;rp(k)为实际输出值;yp(k)为给定值。
1)隐含层至输出层权值调整。迭代公式为
(11)
2)输入层至隐含层权值调整。迭代公式为
(12)
为了验证PID神经元网络控制器的效果, 本文采用MatLab/Simulink软件对基于PID神经元网络控制器的育秧棚温、湿度控制系统进行了仿真。MatLab软件中的Simulink软件包可以对连续、离散或混合的线性和非线性系统进行建模、仿真和结果分析[8],采用模拟育秧棚环境的温室作为被控对象,因湿度和温度相互影响,根据多变量的解耦、 园艺经验及多次的测量结果,可以把被控对象输入输出关系描述为[7]
(13)
其中,y1、y2分别为湿度和温度值;u1、u2为PID神经元网络的输出。
仿真模块如图4所示。其中,Step为阶跃输入信号,Scope为输出示波器,控制系统见式(13)。PID Neural Net Controller模块是调用PID Ctr函数模块,具有4个输入、2个输出,控制模块的输出作为被控系统的输入。调整各仿真控制参数,运行Start控制按钮,双击示波器模块,即可对系统进行动态仿真。仿真结果如图5和图6所示。由图5、图6可以看出:经过对PID神经元网络解耦控制系统训练后,在初始时刻没有太大的波动,运行稳定,超调量较小,调节时间短;在平稳期,稳态误差为零。该控制系统经过现场实际应用达到了很好的在线解耦效果,满足水稻育秧棚温、湿度环境的控制要求。提高了系统的控制精度和稳定性。
为对比设计的控制算法的优越性,图7和图8是采用传统PID 控制的仿真图。由此可见,常规PID控制会有较大的超调量,稳态误差较大,回复时间较长。
图4 PID神经元网络模型解耦控制器系统仿真模型Fig.4 Simulation model PID neural network decoupling controller system
图5 PID神经元网络温度响应曲线Fig.5 Temperature response curve of PID neural network
图6 PID神经元网络湿度响应曲线Fig.6 Humidity response curve of PID neural network
图7 PID温度响应曲线Fig.7 PID temperature response curve
图8 PID湿度响应曲线Fig.8 PID humidity response curve
本文所采用的PID神经元网络育秧棚控制系统,结构简单、操作方便、自动化程度高。仿真结果表明:PID神经元网络控制器能够基本消除育秧棚内变量之间的耦合作用,控制器不依赖被控对象的数学模型,可实现系统的响应速度快、超调小甚至无超调,对参数变化有较强的适应能力和抗干扰能力,从根本上大大提高了系统的动态品质和稳态精度,改善了系统的整体性能。该控制系统经过农场实际应用也达到了很好的控制效果,易于在广大稻区普及推广,可为温室种植提供良好的理论依据和技术支持。