基于改进型BP神经网络PID控制器的温室温度控制技术
2015-02-21蒋鼎国
蒋 鼎 国
(淮阴工学院 科技处,江苏 淮安 223003)
基于改进型BP神经网络PID控制器的温室温度控制技术
蒋 鼎 国
(淮阴工学院 科技处,江苏 淮安 223003)
针对温室温度控制系统所存在的大惯性、非线性等问题,提出一种基于改进型BP神经网络PID控制器(BP-PSO-PID)的温室温度控制技术。该控制器由经典PID控制器及神经网络构成,通过神经网络的自学习、加权系数的调整,使系统输出最优控制下的PID控制器参数Ki,Kp,Kd,并利用粒子群算法作为其中神经网络的学习算法,实现了对神经网络的改进,有效克服了传统BP算法的收敛速度慢、存在局部极小值等问题。仿真实验表明:相对常规PID以及BP-PID,该BP-PSO-PID控制器大大改善控制过程的响应速度、调节时间、超调量、误差等性能,且在加入干扰的情况下,该控制器的调节时间最短,波动最小,表现出更强的抗扰能力及适应性,从而大大提高温度控制过程的稳定性、精确性与鲁棒性。
温室; 温度控制; 比例积分微分控制方法; 误差逆传播神经网络; 粒子群算法
0 引 言
目前,国内外对于温室温度的控制一直都是一个难题,已有的控制系统大多只能对温室环境的部分因子进行控制,甚至有些仍需要手工操作加以辅助[1-2],自动化与智能化程度较差。其主要原因是温室系统是一个复杂的大系统,无论其外部环境或室内农作物均具有很大的不确定性,各种参数(如温湿度、光照度、CO2浓度等)均存在很强的耦合性,是一种集大惯性、非线性、强干扰的复杂系统[3],对于该系统,利用传统控制方法很难实现最佳控制,特别当传统控制器的控制对象参数发生变化或受非线性因素影响而发生变化时,传统控制器PID参数不能随之而变化,因此,无法满足高精度,高性能的要求。如果采取神经网络的PID控制,则不需要建立对象的数学模型,并且能够很好地克服系统参数变化和非线性等不确定因素的影响,具有较强的鲁棒性[4]。
与传统控制器相比[5-6],神经网络控制器的设计与被控对象的数学模型无关,这是神经控制器的最大优点,也是神经网络控制在自动控制中立足的根本原因。但是,神经网络控制也存在缺点,主要在于神经网络需要在线或离线学习,其学习时间冗长,参数选择没有具体公式参考,训练过程在很大程度上依赖训练样本的准确性,而训练样本的选取带有人为因素,其中,因为传统BP神经网络利用误差反向传播算法完成训练和学习过程而导致训练和学习时间长、收敛速度慢等问题尤为严重[7],从而制约了该技术在控制系统中的广泛运用。因此,本文对BP神经网络进行改进,即将改进BP神经网络和传统PID控制技术相结合,提出了一种集传统PID以及具有强非线性映射能力和学习能力的基于粒子群及神经网络的智能控制方法,实验表明基于该控制方法的控制器可以更好地控制温室环境温度,从而大幅度提高农作物的产量。
1 温室控制模型
选用温室小气候温度动态模型[8],如下式所示:
(1)
式中:Tout(t)、Tin(t)分别为室内外温度;V为温室体积;ρ为空气密度;cρ为温室内气体定容比热;k为太阳辐射能被温室空气吸收的传热系数;hc为温室覆盖层与温室内气体对流热交换系数;Ac为温室覆盖层面积;λE为作物蒸发潜能速率;Vin为温室的通风率;Qrad为投在温室覆盖层的太阳辐射;Qheat为加热器的加热功率。
参考江苏淮安温室2012年连续1个月的观测数据,并对式(1)分析证明可得,被控温室系统近似为有扰动情况下的一阶惯性加时滞环节,其传递函数,
(2)
式中:K为静态增益;T为时间常数;τ为纯滞后时间。
2 BP-PSO-PID控制器结构
由于传统PID的控制参数难以选择[9],使其很难适应对复杂系统的控制,而神经网络凭借其具有的非线性特性,可实现自适应控制等优势被引入控制领域中,但其实际控制效果并不理想,文献[10]中对此进行研究并发现其主要原因为:① 神经网络的仿真训练时间长,不能满足快速性要求;② 连接权重随机初始化,影响控制结果,有时导致系统不稳定。文献[11]中提出类似结构的学习算法采用传统BP算法——梯度下降法,但事实上,BP算法全局搜索能力弱,易陷入局部最优,这也是导致其无法实现理想控制的主要原因。基于以上原因,本文采取神经网络的PID控制,在学习算法选择方面,文中选择粒子群算法(PSO)作为控制器的训练算法,从而建立BP-PSO-PID控制器。实验仿真证明,该控制器的对温室温度的控制效果良好。其具体控制结构如图1所示。
图1 BP-PSO-PID控制器结构
控制器由两部分组成,一是经典PID控制器,即利用输入rin与输出yout的误差e、误差变化值de/dt以及由神经网络在线调整的Ki,Kp,Kd参数,由控制算法得到调节器输出u(k),再根据控制对象传递函数得到系统输出yout,从而实现直接对被控对象的闭环控制;二是神经网络部分,即根据系统运行状态以及某种性能指标的最优化,通过神经网络的自学习、加权系数的调整,使其输出对应于某种最优控制下的PID控制器参数Ki,Kp,Kd。
经典PID控制器部分采用了经典增量式数字PID控制算法[12]:
(3)
3 粒子群优化算法
粒子群优化算法(Particle Swarm Optimization,PSO)[13]初始化为一群随机粒子,通过迭代找到最优解。在每一次迭代中,粒子通过跟踪2个极值来更新自己,一是粒子本身到当前时刻找到的最好解,这个解称为个体最好值;二是整个种群到当前时刻找到的最好解,这个值是全局最好值,每个粒子通过上述的2个极值不断更新自己,从而产生新一代的群体。
在一个M维的目标搜索空间中,有一个由N个粒子所组成的种群,其中第i个粒子表示为一个M维向量xi=(xi1,xi2,…,xiM),i=1,2,…,N,xi通过目标函数f(x)就可以计算出其对应的适应度值f(xi) ,并根据f(xi)的大小来衡量xi的优劣。其飞行速度也是一个M维的向量,记为vi=(vi1,vi2,…,viM)。记录第i个粒子目前搜索到的最佳位置,即粒子的历史最优解为pIi=(pIi1,pIi2,…,pIiM),整个粒子群搜索到的最佳位置即全局最优解为pg=(pg1,pg2,…,pgM)。
Kennedy等最早提出的原始PSO算法采用下式[14]来更新粒子状态:
(4)
式中:i=1,2,…,N;m=1,2,…,M;vim(k)表示第i个粒子在k次迭代中的第m维的速度;xim(k)表示第i个粒子在k次迭代中的第m维的当前的位置;c1,c2为加速系数,是非负常数,该系数的合适选择可以提高算法速度,避免局部极小;r1,r2是介于[0,1]之间的随机数;vim∈[-vmax,+vmax],即速度被限制在最小和最大值-vmax,+vmax之间。这里的速度的最大和最小值不可太大和太小,如果太大粒子就会飞离最好解;如果太小,又可能陷入到局部最优,通常设置vmax=kxmax,0.1≤k≤1.0。问题迭代的终止条件是由具体的问题来决定的,一般选最大迭代次数到或粒子群搜索到的最佳位置适应度值小于预先设定的最小适应阈值的方法[15]。
整个算法由3部分组成:① 粒子的当前速度,表明粒子当前状态,用于平衡全局和局部搜索能力;② 认知部分,表示粒子的自身思考,使粒子有足够强的全局搜索能力,从而避免局部极小;③ 社会部分,体现了粒子间的信息共享。以上3部分共同决定粒子的空间搜索能力,在其共同作用下,粒子才能有效到达最优位置。在粒子寻优的每一次的循环过程里,都要计算各粒子的适应度函数值,并通过该值来决定如何更新该粒子飞行期间的最优适应度、全局最优适应度及该粒子的新位置及全局最优位置。
4 BP-PSO-PID控制器的完整控制过程
BP-PSO神经网络的具体结构如图2所示,其中,输入层有3个神经元,输入信号分别为系统输入rin,输出yout,输入输出间误差e;隐层有4个神经元,输出层有3个神经元,均采用sigmoid函数,其输出分别对应参数Ki,Kp,Kd。
图2 BP-PSO神经网络
在网络调整过程中,由粒子群算法对神经网络权值wi、wo进行更新,其完整控制过程如下:
(1) 初始化神经网络输入及输出层权值wo,wi,网络各节点个数Nin=3,Nyin=4,Nout=3,初始化控制器输出值为0,初始化粒子群算法的参数,如迭代次数K1、粒子数m、速度及位置等;
(2) 根据控制对象的传递函数关系,由当前输入值rin(k)计算输出值yout(k),同时计算误差函数e(k)=rin(k)-yout(k),从而得到神经网络的输入信号:
(3) 将输入信号xi送给PSO-B-BP的输入层,通过Oin=xiwi计算输入层神经元的输出Oin;
(4) 对输入层神经元的Oin进行规一化预处理,将所得到的Iyin送入到隐层进行计算;其中,Oyin(i)为隐层神经元输出,i=0-Nyin,与Iyin(i)之间满足sigmoid函数关系;
(5) 将Oyin(i)送入输出层,输出层采用了sigmoid函数,其具体算法为:
其中:i为1-Nout,Oout(i)即为Ki,Kp,Kd;
(6) 根据式(3)及BP-PSO神经网络输出的Ki,Kp,Kd计算PID控制器输出u(k),并根据实际情况对其限幅;
(7)m个粒子开始寻优,训练用粒子的飞行位置及速度向量都设计成两维,其中,行为各个待学习参数wo、wi列为训练用飞行的粒子,并定义粒子寻优误差函数为
(8) 根据式(4)的粒子群算法的位置和速度公式更新每一个粒子的当前速度和位置;
(9) 计算评价每个粒子适应度,更新个体极值pbwo,pbwi和全局的极值gbwo,gbwi;
(10)K=K+1,误差不满足且K (11) 将wi、wo的全局最优值gbwo,gbwi再送给BP-PSO输入层,按照(3)~(5)步来计算最优Oout(i),即为PSO-B-BP输出的最优Ki,Kp,Kd; (12) 重复步骤(6),得最优输出u(k),根据控制对象传递函数关系,计算最优控制输出值yout(k)。 实验中,分别对传统PID控制器、BP-PID控制器(采用传统BP神经网络及PID结构)、BP-PSO-PID控制器(采用BP-PSO神经网络及PID结构)的控制效果进行Matlab仿真。设置温室系统参数为:K=1;T=500;τ=2 000,控制器输出初始值u(k)=0;加速系数c1=c2=2.05;惯性因子ω=0.9;粒子数m=10;迭代次数k1=10;输入信号采样数为600,且在仿真实验计算PID控制器输出u(k)后,根据被控对象实际情况对 其限幅为u(k)=[-10,+10],另外,由于神经网络初始权值对控制效果影响很大,故各算法权值初始化值有所不同,其中,BP-PSO-PID算法的初始化权值为: wi=[0.993 6 0.600 5 0.460 9 0.630 1 -0.708 4 -0.575 9 0.841 0 -0.044 9 -0.845 1 -0.101 7 -0.830 1 -0.158 7 0.857 9 -0.908 7 0.393 1 0.491 8] wo=[0.106 8 -0.328 5 -0.286 7 0.124 9 -0.416 0 0.360 4 -0.003 4 0.233 2 0.715 9 -0.893 1 -0.131 1 -0.773 3] 各算法的阶跃响应曲线如图3所示。 为了更好地说明问题,文中又将输入信号叠加一个小的正弦扰动信号,以考察其抗干扰能力,其仿真结果如图4所示。 图3 各控制器的阶跃响应曲线 比较图3中各算法的跟踪、误差及参数曲线可知,BP-PSO-PID控制器控制效果最好,可快速找到控制器参数的全局最优值。但在初始阶段,由于BP-PSO神经网络改进的特点,即在其训练期间,采用了PSO算法对权值进行优化,而在初始阶段,PSO进行的是初始化粒子调整,而控制系统还未工作,故粒子的初始化依据并不明了,因此,粒子寻优的难度较大,故控制曲线出现震荡。但当粒子获知系统函数以及寻优误差函数等知识后,即可快速找到整体的优化趋势,故控制效果迅速好转,从而使该控制器所基于的神经网络具有更好的联想能力和全局搜索能力。整个控制过程的响应速度、调节时间、超调量、误差等性能都可以大大提高,除此以外,图3所示的传统PID控制的上升时间也较快,其阶跃响应比较平稳,但BP-PID算法的超调量较大,其控制效果最差,这主要是由于BP算法易于陷入局部最优解,从而使基于该算法的PID控制过程劣化。 观察图4,在加入干扰,即控制对象参数变化的情况下,传统PID控制效果明显变差,而基于BP神经网络的PID控制效果也并不突出,只有BP-PSO-PID算法的调节时间最短,波动最小,抗扰能力最强,因此,在控制对象结构或参数变化的情况下,BP-PSO-PID控制器可以表现出更强的适应性,在传统PID控制和BP神经网络控制无法更好地控制复杂系统及干扰的情况下,BP-PSO-PID可以将两种方法进行有效结合,从而得到更佳的控制效果。 图4 各控制器的叠加扰动信号后的响应曲线 本文利用BP神经网络及粒子群算法建立了BP-PSO-PID控制器。该控制器采用粒子群算法作为BP神经网络的学习算法,该算法可以有效克服标准BP算法一般所存在的收敛速度慢、存在局部极小值等问题,为BP-PID控制器的参数自适应调整提供更好的保证,进而可以实现对PID 控制器的参数Kp、Ki、Kd在线实时寻优,且在加入干扰的情况下,该控制器表现出更强的抗扰能力及适应性,保证了该温度控制系统有效跟踪系统模型并达到较高的辨识精度。仿真实验表明,BP-PSO-PID控制器可以有效提高温度控制过程的稳定性、精确性与鲁棒性。该控制器弥补了常规PID控制在温室温度控制中的参数整定难以完成及控制效果不理想的不足,并可以推广到实际温室温度、湿度、光照等环境参数应用中,从而促进精准农业技术中的作物生长环境最佳状态控制方法的发展。 [1] 洪运国.基于粒子群优化PIDNN的温室温湿度解耦控制仿真[J].制造业自动化,2013,35(2):124-126. [2] 左志宇,毛罕平,张晓东.基于时序分析法的温室温度预测模型[J].农业机械学报,2010,41(11):173-182. [3] 宫赤坤,毛罕平.温室温湿度遗传模糊神经网络控制仿真研究[J].江苏理工大学学报(自然科学版),2000,21(6):35-37. [4] 涂川川,朱凤武,李 铁.BP神经网络PID控制器在温室温度控制中的研究[J].中国农机化,2012(2):151-154. [5] 舒怀林.基于PID神经网络的非线性时变系统辨识[J].自动化学报,2002,28(3): 474-476. [6] 彭 燕.基于BP神经网络的PID控制在温室控制系统中的应用[J].农机化研究,2011(6):163-167. [7] 张学燕,高培金,刘 勇.BP神经网络PID控制器在工业控制系统中的研究与仿真[J].自动化技术与应用,2010, 29(5): 9-12. [8] 屈 毅,宁 铎,赖展翅.温室温度控制系统的神经网络PID控制[J].农业工程学报,2011,27(2):307-311. [9] 付丽辉,尹文庆.基于新型神经网络PID控制器的温室温度控制技术[J].计算机测量与控制,2012,20(9):2423-2428. [10] FARDADI M,SELK GHAFARI A,HANNANI S K.PID neural network control of SUT building energy management system[C]//Proceedings of the 2005 IEEE/ASME International Conference on Advanced Intelligent Mechatronics.New York:IEEE Press,2005: 682-686. [11] SHU H L,SHU H.Simulation study of PID neural network temperature control system in plastic injecting-moulding machine[C] //Proceedings of the 6th International Conference on Machine Learning and Cybernetics.New York: IEEE Press,2007:492-497. [12] 高昆仑,梁 宵,王杰.改进的神经网络PID火电厂主汽温控制研究[J].热能动力工程,2012,06:709-714. [13] 张鼎逆,刘 毅.基于混合粒子群法的RLV上升段轨迹优化[J].江苏大学学报(自然科学版),2013,34(1):54-59. [14] 胡成玉,姚 宏,颜雪松.基于多粒子群协同的动态多目标优化算法及应用[J].计算机研究与发展,2013,50(6):1313-1323. [15] Saad M, Muhaureq S A. Joint Routing and Radio Resource Management in Multihop Cellular Networks Using Particle Swarm Optimization[C] //National Radio Science Conference (NRSC 2008),2008. The Temperature Control of Greenhouse Based on Novel PID Controller JIANGDing-guo (Department of Science and Technology, Huaiyin Institute of Technology, Huai’an 223003, China) In view of the problems of nonlinear and large inertia existed in the temperature control system of greenhouse, the BP-PSO-PID controller based on improved BP neural networks is proposed for the greenhouse’ temperature control. The controller is composed by classic PID controller and Neural Networ. Through the self-learning of neural network and the adjustment of weighting coefficients, the system outputs the optimal PID parametersKi,Kp,Kd, and the improved neural network is realized by using particle swarm algorithm. The learning algorithm can overcome effectively the shortcoming of standard BP algorithm, such as slowly convergence and easily immerging in partial minimum, and can provide better assurance for the parameters’ adaptive adjustment of the BP-PID. The simulation experiment indicates the performances such as response speed, adjust time, overshoot, error have been greatly improved by the BP-PSO-PID controller compared with the conventional PID and BP-PID.a The controller also exhibits the stronger anti-disturbance ability and adaptability in the presence of interference. It can shorten regulation time and reduce the fluctuation. The controller can greatly improve the stability, accuracy, obustness in the temperature control of greenhouse. greenhouse; temperature control; PID control; back propagation neural networks(BPNN); particle swarm optimization 2014-04-03 国家科技部“863”专项资助项目(2007AA10Z241);国家自然科学基金项目(30971689) 蒋鼎国(1963-),男,江苏淮安人,教授,现主要从事自动检测及智能仪器研究。Tel.:13952345733;E-mail:hyitjdg@163.com TP 183 A 1006-7167(2015)01-0009-055 仿真实验与结果分析
6 结 语