基于改进型BP神经网络自整定的PID控制
基于BP神经网络的PID控制系统设计

基于BP神经网络的PID控制系统设计一、引言PID(Proportional-Integral-Derivative)控制器是一种常用的自动控制器,其通过测量系统的输出偏差,根据比例、积分和微分三个因素来控制系统的输出。
然而,传统的PID控制器难以适应复杂、非线性和时变的系统,对于这类系统的控制,神经网络已经被证明是一种有效的方法。
本文将介绍基于BP神经网络的PID控制系统设计。
二、BP神经网络简介BP神经网络(Backpropagation Neural Network)是一种常用的前向反馈型人工神经网络,其通过反向传播算法来训练网络参数,从而实现对输入数据的学习和预测。
BP神经网络拥有多层神经元,每个神经元都与下一层神经元相连,并通过权重和阈值来传递和处理输入信息。
三、PID控制器简介PID控制器由比例(Proportional)、积分(Integral)和微分(Derivative)三个部分组成,其控制输出的公式为:u(t) = Kp * e(t) + Ki * ∑e(t)dt + Kd * de(t)/dt其中,u(t)为控制器的输出,Kp、Ki、Kd为控制器的三个参数,e(t)为系统的输出偏差,∑e(t)dt为偏差的积分项,de(t)/dt为偏差的微分项。
1.数据采集和预处理:首先需要采集系统的输入和输出数据,并对其进行预处理,包括数据归一化和滤波处理等。
2.神经网络设计和训练:根据系统的输入和输出数据,设计BP神经网络的结构,并使用反向传播算法来训练网络参数。
在训练过程中,根据系统的输出偏差来调整比例、积分和微分三个参数。
3.PID控制器实现:根据训练得到的神经网络参数,实现PID控制器的功能。
在每个控制周期内,根据系统的输出偏差来计算PID控制器的输出,将其作为控制信号发送给被控制系统。
4.参数调优和性能评估:根据控制系统的实际情况,对PID控制器的参数进行调优,以提高系统的控制性能。
基于BP神经网络的PID控制器设计

基于BP神经网络的PID控制器设计PID控制器是一种常用的控制器,可以通过根据系统的误差、历史误差和误差的变化率来计算控制信号,从而实现对系统的控制。
传统的PID控制器可以通过调节PID参数来实现对系统动态特性的控制,但是参数调节过程往往需要经验和反复试验,而且很难实现对非线性系统的精确控制。
近年来,基于BP神经网络的PID控制器设计方法得到了广泛的关注。
BP神经网络是一种常用的人工神经网络模型,可以通过训练得到输入与输出之间的映射关系。
在PID控制器设计中,可以将误差、历史误差和误差的变化率作为BP神经网络的输入,将控制信号作为输出,通过训练神经网络来实现对控制信号的合理生成。
1.数据预处理:首先需要采集系统的输入输出数据,包括系统的误差、历史误差和误差的变化率以及相应的控制信号。
对这些数据进行归一化处理,以便神经网络能够更好地学习和训练。
2.网络结构设计:根据系统的特性和要求,设计BP神经网络的输入层、隐藏层和输出层的神经元数量。
通常情况下,隐藏层的神经元数量可以根据经验设置为输入层和输出层神经元数量的平均值。
3.训练网络:采用反向传播算法对神经网络进行训练,以获得输入和输出之间的映射关系。
在训练过程中,需要设置学习率和动量系数,并且根据训练误差的变化情况来确定训练的终止条件。
4.参数调整:将训练得到的神经网络与PID控制器相结合,根据神经网络的输出和系统的误差、历史误差和误差的变化率来计算控制信号,并通过对PID参数的调整来实现对系统的控制。
1.适应能力强:BP神经网络能够通过训练来学习系统的动态特性,从而实现对非线性系统的精确控制。
2.自适应性高:BP神经网络能够根据实时的系统状态来实时调整控制信号,从而实现对系统动态特性的自适应控制。
3.参数调节方便:通过BP神经网络的训练过程,可以直接得到系统的输入和输出之间的映射关系,从而减少了传统PID控制器中参数调节的工作量。
4.系统稳定性好:基于BP神经网络的PID控制器能够根据系统状态及时调整控制信号,从而提高了系统的稳定性和鲁棒性。
同济智能控制实验报告 基于BP神经网络的自整定PID控制仿真

同济大学电子与信息工程学院实验报告姓名:学号:学院:专业:实验课程名称:任课教师:实验项目名称:基于BP神经网络的自整定PID控制仿真实验日期:一、实验内容:1.熟悉神经网络的特征、结构及学习算法。
2.通过实验掌握神经网络自整定PID的工作原理。
3.了解神经网络的结构对控制结果的影响。
4.掌握用MATLAB实现实现神经网络控制系统仿真的方法。
二、实验步骤及结果演示1.实验步骤:(1)被控对象为一时变非线性对象,数学模型可表示为式中系数a(k)是慢时变的,(2)如图5所示确定BP网络的结构,选4-5-3型的BP网络,各层加权系数的初值取区间[-0.5,0.5]上的随机数,选定学习率η=0.25和惯性系数α=0.05.(3)在MATLAB下依据整定原理编写仿真程序并调试。
(4)给定输入为阶跃信号,运行程序,记录实验数据和控制曲线。
(5)修改神经网络参数,如学习速率、隐含层神经元个数等,重复步骤(4)。
(6)分析数据和控制曲线。
图5 BP神经网络结构2.结果展示:(1)实验代码:xite=0.25;alfa=0.02;IN=4;H=10;Out=3;wi=[ 0.4634 -0.4173 0.3190 0.4563;0.1839 0.3021 0.1112 0.3395;-0.3182 0.0470 0.0850 -0.0722;-0.6266 0.0846 0.3751 -0.6900;-0.3224 0.1440 -0.2873 -0.0193;-0.0232 -0.0992 0.2636 0.2011;-0.4502 -0.2928 0.0062 -0.5640;-0.1975 -0.1332 0.1981 0.0422;0.0521 0.0673 -0.5546 -0.4830;-0.6016 -0.4097 0.0338 -0.1503];wi_1=wi;wi_2=wi;wi_3=wi;wo=[ -0.1620 0.3674 0.1959;-0.0337 -0.1563 -0.1454;0.0898 0.7239 0.7605;0.3349 0.7683 0.4714;0.0215 0.5896 0.7143;-0.0914 0.4666 0.0771;0.4270 0.2436 0.7026;0.0215 0.4400 0.1121;0.2566 0.2486 0.4857;0.0198 0.4970 0.6450 ]';wo_1=wo;wo_2=wo;wo_3=wo;x=[0,0,0];u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;oh=zeros(H,1);I=oh;error_2=0;error_1=0;ts=0.001;for k=1:1:6000time(k)=k*ts;rin(k)=1;a(k)=1.2*(1-0.8*exp(-0.1*k));yout(k)=a(k)*y_1/(1+y_1^2)+u_1;error(k)=rin(k)-yout(k);xi=[rin(k),yout(k),error(k),1];x(1)=error(k)-error_1;x(2)=error(k);x(3)=error(k)-2*error_1+error_2;epid=[x(1);x(2);x(3)];I=xi*wi';for j=1:Hoh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j)));endK=wo*oh;for l=1:Out;K(l)=exp(K(l))/(exp(K(l))+exp(-K(l)));endKp(k)=K(1);Ki(k)=K(2);Kd(k)=K(3);Kpid=[Kp(k),Ki(k),Kd(k)];du(k)=Kpid*epid;u(k)=u_1+du(k);if u(k)>=10;u(k)=10;endif u(k)<=-10;u(k)=-10;enddyu(k)=sign((yout(k)-y_1)/(u(k)-u_1+0.0000001));for j=1:Outdk(j)=2/(exp(K(j))+exp(-K(j)))^2;endfor l=1:Outdelta3(l)=error(k)*dyu(k)*epid(l)*dk(l);endfor l=1:Outfor i=1:Hd_wo=xite*delta3(l)*oh(i)+alfa*(wo_1-wo_2);endendwo=wo_1+d_wo;for i=1:HdO(i)=4/(exp(I(i))+exp(-I(i)))^2;endsegma=delta3*wo;for i=1:Hdelta2(i)=dO(i)*segma(i);endd_wi=xite*delta2'*xi+alfa*(wi_1-wi_2);wi=wi_1+d_wi;u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k); y_2=y_1;y_1=yout(k);wo_3=wo_2;wo_2=wo_1;wo_1=wo;wi_3=wi_2;wi_2=wi_1;wi_1=wi;error_2=error_1;error_1=error(k);endfigure(1)plot(time,rin,'r',time,yout, 'b');xlabel('time');ylabel('rin,yout');figure(2)plot(time,error,'r');xlabel('time(s)');ylabel('error');figure(3)plot(time,u,'r');xlabel('time(s)');ylabel('u');figure(4)subplot(311);plot(time,Kp,'r');xlabel('time(s)');ylabel('Kp');subplot(312);plot(time,Ki,'g');xlabel('time(s)');ylabel('Ki');subplot(313);plot(time,Kd,'b');xlabel('time(s)');ylabel('Kd');(2)控制曲线①初始情况学习率alpha=0.02;惯性系数xite=0.25;隐藏层节点数H=10.②增大学习率学习率alpha=0.05;惯性系数xite=0.25;隐藏层节点数H=10.③学习率减小学习率alpha=0.01;惯性系数xite=0.25;隐藏层节点数H=10.④增大惯性系数学习率alpha=0.02;惯性系数xite=0.5;隐藏层节点数H=10.⑤减小惯性系数学习率alpha=0.02;惯性系数xite=0.1;隐藏层节点数H=10.⑥增大隐含层节点数学习率alpha=0.02;惯性系数xite=0.1;隐藏层节点数H=5.⑦减小隐含层节点数学习率alpha=0.02;惯性系数xite=0.1;隐藏层节点数H=15.三、遇到的主要困难及解决对策1.主要困难:运行程序一直报错,显示矩阵维度不同。
基于BP神经网络的PID控制器设计

Abstract
Classical PID control algorithm,as a general method of industrial process control,application scope is broad-ranged.In principle,it does not depend on the specificmathematical model of the controlled plant,but tuning algorithm parameters is a verydifficult task.To moreimportant,even if tuning the parameter is completed,asparameters do not have adaptive capacity,due to a change in environment,PID controlof the response of the system deviation get worse,parameters need to be re-tumed.Inresponse to these problems,people have been using theadaptive method of fuzzy,neural networks to adjust PID parameters,try hard to overcome this problem.Under normal circumstances,an adaptive control system can be capable of running,and the corresponding parameters should adapt to tlle change in status of the scene,so the corresponding parameters must be based on the data of the scene to conduct onlineidentification orestimated.Non-time—varyingparameters can beconfirmed for a period of on-line identification,but the time-varying parameters system will be necessary to continue this ongoing process,so the requirement of fast identification or the relative slow pace of change of parameters,greatly limits the application of adaptive technology.To overcome this limitation,this paper uses the ideology of literature[1],thetechnology of neural network will be used in the process of parameter identification,combining classical PID control algorithm,forms an adaptive PlD control algorithmbased on BP neural network.The essence of this algorithm applies neural network tobuild the model of system parameters,change the change law of the parameters of time-varying parameters systems into the Parametric model of neural network,reflectingthe law that the parameters change with the state,that is,when the system changes,itcan get the time-varying parameters of system from the model directly,without the process ofidentification.On the basis of me parameters model of neural network,combining the computation of PID controI parameters in the known system model of literature[1],derived an adaptive PID controlalgorithm.Through the simulation of linear and non-1inear systems in the computer,the result indicates that this adaptive PID control algorithm is effective.
基于改进BP神经网络PID自整定的研究

基于改进BP神经网络PID自整定的研究叶海平【摘要】With the development of numerical control technology, the traditional PID setting method is unable to meet the control requirements of the servo system. The improved method of conjugate gradient is used to optimize the BP neural network algorithm. The improved BP neural network algorithm is applied to the tuning of PID, and an improved BP neural network self-tuning PID controller is constructed. The designed BP neural network PID controller is applied to the control structure of the servo system. The PID controller of the improved BP neural net-work is compared with the traditional self-tuning PID controller in Matalab. The simulation results show that this PID controller has fast response ability,a good system stability and anti-interference ability.%随着数控技术的发展,传统的PID整定方式已经不能满足伺服系统的控制要求.利用改进共轭梯度法对BP 神经网络算法进行优化.将改进BP神经网络算法应用到PID的整定中,构建改进BP 神经网络自整定PID控制器.将设计好的BP神经网路PID控制器应用到伺服系统的控制结构图中.与BP神经网络自整定PID控制器,在Matalab 的simulink里面进行建模仿真比较.仿真结果表明改进BP神经网络自整定PID控制器具有较好的快速响应能力、系统稳定性和抗干扰能力.【期刊名称】《云南民族大学学报(自然科学版)》【年(卷),期】2018(027)002【总页数】4页(P136-139)【关键词】改进共轭梯度法;伺服系统;BP神经网络;PID控制器;自整定【作者】叶海平【作者单位】漳州职业技术学院机械与自动化工程系,漳州363000【正文语种】中文【中图分类】TP273在现代工业过程控制中,PID控制由于结构简单,操作方便,稳定性好,适应性强等优点而得到广泛应用.PID控制器同样应用于数控机床伺服系统的参数控制.随着智能制造和工业4.0的进一步推广,对数控机床的整体性能提出了更高的要求,作为数控机床的核心部件,伺服系统在运行过程中的稳定性,响应能力,适应性和抗干扰能力都要增强.采用传统的PID控制方法已经不能满足数控机床伺服系统的发展需求[1-2].数控技术的不断发展,使得伺服控制系统变得更加复杂,变量更多,难以精确地运用数学模型来描述.而传统的PID控制器只适用于精确的控制系统动态模式.人工智能的不断兴起,人工神经网络由于具有较强的分线性模拟能力和自适应性,被广泛地应用于自动控制、模式识别、智能机器人、预测估算等领域,并取得了很好的效果.因此,将人工神经网络应用于数控机床的伺服控制系统PID控制器中,具有很大的工程实践意义.1 改进BP神经网络PID控制器设计曾喆昭和张学燕等[3-4]深入研究BP神经网络,将神经网络算法应用到PID控制器的在线自整定当中,对PID控制器的值进行在线优化,迅速地输出最优Kp、Ki、Kd值,保证在外界干扰或是负载变化等情况下能继续稳定运行.但是BP神经网络在应用过程中,存在学习速度慢,容易陷入局部最小值,收敛速度慢等不足.季春光[5]等把Smith补偿控制原理与BP神经网络在线自整定PID控制器结合起来,使得PID控制器能够更好地适应系统参数的变化,很大程度上改善了BP神经网络算法的不足.在实际生产实践中,Smith补偿控制原理结合BP神经网络PID控制器的运算速度没有得到很好地改善,收敛速度相对较慢.若在优化过程中,将改进共轭梯度法应用到神经网络算法中,保证最快下降速度具有共轭性,利用它搜索目标函数的极值,弥补BP神经网络算法的不足[6].1.1 BP神经网络PID控制器结构BP神经网络主要由输入层、隐含层和输出层构成,如图1所示.输入层的各神经元负责接受来自外界的输入信息,输入变量的个数取决于被控系统的复杂程度.神经网络的隐含层是信息处理中心,负责进行信息变换.输出层是神经网络向外界输出信息处理结果.理论上讲,BP算法就是将误差的变量作为目标、采用梯度下降的方法进行搜寻,计算目标函数值,进行比较,确定出一个最优值.将BP神经网络算法应用PID 控制器的在线自调整(如图2所示).BP神经算法通过反馈获得误差的变化,进行快速调整优化,确定PID控制器的Kp、Ki、Kd值,保证系统运行过程中保持良好的整体性能[7].1.2 3个层的数据处理BP 神经网络的输入变量个数取决于被控系统的复杂程度.由于被控对象PID控制器包含比例,积分和微分3个参数,神经网络的输入变量取3个.隐含层的神经元个数尚未有系统的理论依据,根据经验,变量的个数取4个.输出层的变量根据控制的对象,分别对应着PID的比例、微分和积分参数,变量个数取3个[8].增量式数字PID控制算法为:U(k)=U(k-1)+ ΔU(k);(1)ΔU(k)= Kp[e(k)-e(k-1)]+ Kie(k)+ Kd[e(k)-2e(k-1)+ e(k-1)];(2)e(k)=rin(k)-yout(k).(3)取该神经网络的性能指标函数为:(4)通过计算可以获得网络输出层权系数的学习算法为(5)(6)同样可以获得隐含层权系数学习算法(7)(8)(9)1.3 改进共轭梯度法应用于BP神经网络PID控制器BP神经网络应用到PID控制器的在线自整定中,采用的搜寻方法是负梯度算法,也就是其方向是根据前面的方向矢量与当前的负梯度的线性组合构成.BP神经网络采用这样的搜寻方法可以实现最快速下降的方向具有共轭性,同时还可以有效的提高算法的速度和准确性.但是,算法在运行过程中,会出现相邻迭代的搜索方向正交,当靠近最优值的时候,会发生震荡,甚至陷入局部最优值的缺点,而丧失了全局最优值[9-10].基于BP神经网络算法的以上不足,探索通过改进共轭梯度算法,使得改进后的BP神经网络算法能够跳过局部最优值,快速收敛并顺利的找到全局最优值.改进BP神经网络PID算法的整定步骤与传统BP—PID算法相似.改进共轭梯度法通过负梯度方向gk=-Δf(xk):来确定正定矩阵共轭的方向向量,在运算中,改变阈值和网络权值,调整加权系数和使得算法在运算过程中,既能保持快速的收敛速度,还能在避免陷入局部最优值.改进BP神经网络的运算过程如下ω(k+1)=ω(k)+a(k)d(k).(10)式中,ω(k)为学习速度,a(k)是网络学习速率.;d(k)为第k次迭代的共轭方向.梯度g(x)在第k+1次迭代的共轭方向d(k+1)是由所在点x(k+1)处的负梯度矢量(-g(k+1))与前一次迭代的共轭方向的加权量β(k)d(k)所构成,即d(k)=-g(k)+β(k-1)d(k-1).(11)式中,β(k)为共轭因子,由Fietcher-Reeves公式确定(12)改进BP神经网络算法,在初始搜索的时候,搜索方向取负梯度方向,即令β(0)=0.其改进BP神经网络算法程序流程:首先确定改进BP网络的结构,根据控制对象为PID,结合实践经验,选择改进BP神经网络结构为3-4-3;并给出各层加权系数的初值(0)和k=1;确定输入信号rin(k)和yout(k),确定时刻误差e(k)的值;计算改进BP神经网络各层神经元的输入、输出变量,输出层的输出参数即为PID 控制器的整定参数Kp、Ki、Kd;确定改进BP神经网络PID 控制器的输出u(k);进行神经网络学习,按改进共轭梯度算法修正BP神经网络的权值和阈值,修正加权系数和实现PID控制器的在线自整定;令k=k+1,返回 [11].2 改进BP神经网络自整定PID 控制仿真2.1 数控机床进给伺服系统数学模型根据数控机床伺服系统的工作原理,构建数控机床伺服系统的控制原理图,如图3所示.以小型数控车床的Z轴伺服控制系统为例,其伺服电机的传递函数为(13)根据数控机床伺服系统的相关参数和控制原理图,建立伺服系统的控制结构图,然后将改进BP神经网络自整定PID控制器应用到伺服系统的控制当中,在Matalab的simulink里面构建,如图4所示的伺服系统控制结构图.为了更好的说明控制效果,本文通过比较BP神经网络PID控制器、Smith预估改进BP神经网络和改进共轭梯度法BP神经网络对PID算法控制器在伺服控制系统的控制建模仿真,仿真阶跃响应曲线如图5所示.仿真结果表明,改进共轭梯度法修正BP神经网络的响应速度最快,没有出现超调.3 结语采用改进共轭梯度法修正BP神经网络的权值和阈值,改进BP神经网络算法.将改进BP神经网络算法应用PID控制器的在线自整定中,设计BP神经网络自整定PID控制器.并将它应用到数控机床的伺服系统当中,优化伺服系统整体性能.在Matlab的simulink软件中,建模仿真实验,并跟网络神经PID自整定进行比较.从仿真的结果表明,改进BP神经网络应用到伺服系统PID参数的在线自整定当中,伺服系统的的稳定性好,响应时间短,没有出现超调.参考文献:[1] 付丽辉,尹文庆.基于新型神经网络PJD控制器的温室温度控制技术[J].计算机测量与控制,2012,20(9):2423-2428.[2] 张睿,云利军,龙晖.基于模糊PID算法的回转窑控制系统改造[J].云南师范大学学报(自然科学版),2017,37(6):47-53.[3] 张学燕,高培金,刘勇.BP神经网络PID控制器在工业控制系统中的研究与仿真[J].自动化技术与应用,20l0,29(5):9-12.[4] 曾喆昭,向印中.一种基于非线性PID神经网络算法的PMSM控制[J].电力科学与技术学报,2012,27(4):70-75.[5] 季春光,王朋,李士勇,等.基于神经网络的时变大滞后系统的Smith预估控制[J].哈尔滨工业大学学报,2003,35(03):303-306.[6] 王菲菲,陈玮.基于RBF神经网络与Smilh预估补偿的智能PID控制[J].计算机工程与应用,2012,48(16):233-236.[7] DWYER A O. Handbook of PI and PID Controller Tuning Rules [M]. London: Imperial College Press,2009:44-51.[8] 单文桃,陈小安,合烨,等.基于免疫遗传算法的模糊径向基函数神经网络在高速电主轴中的应用[J].机械工程学报,2013,49(23):167-173[9] 李草苍,张翠芳.基于最小资源分配网络的自适应PID控制[J].计算机应用研究,2015,32(1):167-169.[10] 李界家,李晓峰,片锦香.基于改进PsO和模糊RBF神经网络的退火炉温控制[J].南京理工大学学报,2014,38(3):337-341.[11] 李昊平.整机轧制力控制系统神经网络自整定PID控制策略研究[J].机床与液压,2010,38(13):67-69.。
基于BP神经网络的PID控制器的研究与实现

第十六届电工理论学术研讨会论文集基于BP神经网络的PID控制器的研究与实现张建国.(漳州职业技术学院电于工程系福建漳州363000)摘要:本文介绍基于BP神经网络的PID控制器的实现方法,可以在一定程度上解决传统PID调节器不易在线实时整定参数、难于对一些复杂过程和参数幔时变系统进行有效控制等问题。
一r一关键词:PID控制;神经网络;研究O引言PID控制要取得好的控制效果,必须寻找比例、积分和微分三种控制作用在形成控制量中相互配合又相互制约的关系,这种关系不一定是简单的“线性组合”,要在变化无穷的非线性组合中找出最佳的关系并非易事。
为此,本文试图利用神经网络所具有的:①能够充分逼近任意复杂的非线性关系,从而形成非线性动力学系统,以表示某种被控对象的模型或控制器模型;②能够学习和适应不确定性系统的动态特性;⑨所有定量或定性的信息都分布储存于网络内的各神经单元,从而具有很强的容错性和鲁棒性;④采用信息的分布式并行处理,可以进行快速大量运算等特点,把神经网络引入传统的PID控制,可以在一定程度上解决传统PID调节器不易在线实时整定参数、难于对一些复杂过程和参数慢时变系统进行有效控制等问题。
1基于BP神经网络的PID控制器BP神经网络具有逼近任意非线性函数的能力,而且结构和学习算法简单明确。
通过神经网络自身的学习,可以找到某一最优控制律下的P、I、D参数。
基于BP神经网络的PID控制系统结构如图1所示。
控制器由两个部分组成:①经典的PID控制器:直接对被控对象过程闭环控制,并且三个参数KP、KI、KD为在线整定式;②神经网络NN:根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化。
即使输出层神经元的输出状态对应于PID控制器的三个可调参数KP、KI、KD,通过神经网络的自身学习,加权系数调接,从而使其稳定状态对应于最优控制律下的PID控制器参数。
经典增量式数字PID的控制算式为u(k)=-u(k-1)+KP[e(k)-e(k-1)】+kIc(k)+kDEe(k)-2e(k-1.)+e(k.2)】(1)式中KP、KI、Kd一比例、积分、微分系数。
基于BP_神经网络的PID_控制算法参数优化
- 22 -高 新 技 术从本质上来看,PID 控制算法就是对比例、积分和比例微分间的关系进行控制的一种算法。
PID 控制调节器具有适应性强、鲁棒性良好的特征,因此被广泛应用于工业控制领域。
但是,随着科学技术、控制理论发展,在工业生产中被控对象逐渐向复杂化和抽象化的趋势发展,并呈现滞后性、时变性和非线性的特征,这使传统PID 控制器难以精准调控这种较复杂的控制系统。
为了解决该问题,研究人员将控制理论与其他先进的算法相结合,形成全新的控制理论,包括神经网络控制、遗传算法以及模糊控制等。
对神经网络算法来说,由于其具有较高的鲁棒性和容错性,因此适用于复杂的非线性控制系统中,并且具有广阔的应用前景和较大的发展潜力。
1 BP 神经网络结构及算法BP 神经网络将网络视为一个连续域,在这个网络中,输入层和输出层都是任意时刻、任意数目的样本值,网络输出层值与输入层值间也可以具有任意关系,这个学习过程就称为BP 神经网络学习过程。
作为一种被广泛应用的神经网络模型,BP 神经网络由输入层、输出层和隐含层组成:1) 输入层。
从第i 个输入向量中产生相应的输出值。
2) 输出层。
在输出值的作用下将其转换为输入数据。
3) 隐含层。
在输出值的作用下对数据进行隐含处理,将处理后的结果反馈给输入层,3个输入层构成1个BP 神经网络。
当输入数据在时间域内经过多次的误差传播时,最后被一个误差源作为输出信号,即经过输入单元和输出组的中间信息。
如果该误差源的误差小于输出单元和输出组中各单元间的误差,那么这些单元在计算输出时就会有很大的变化;如果超过了期望值,那么这一单元被认为是输入量存在误差(也就是输入信号存在误差),将不再使用该单元;如果仍然超过期望值,那么输出量又会存在误差[1]。
通过分析输入与输出量间的关系可以得出BP 网络中各个隐藏层上节点数与该输出量间的关系。
BP 神经网络的拓扑结构如图1所示。
为了对BP 神经网络进行运算和优化,该文设定了中间层的加权和结点临界,以便将全部采样的真实输出量与预期的输出量的偏差控制在一个很低的区间,并且通过调节这个区间来保证它的稳定性。
基于BP神经网络的自校正PID控制研究
基于BP 神经网络的自校正PID 控制研究摘 要: 基于反向传播BP 算法的神经网络具有很强的学习能力,适应能力.本文详细叙述了BP 算法的原理,并将改进的BP 神经网络应用在传统的PID 控制中,克服了PID 控制在参数的调整过程中对于系统模型过分依赖的缺点.利用MATLAB 仿真的结果表明基于BP 神经网络的自校正控制能够使传统PID 控制的参数逼近最优达到很好的控制效果. 关键词: BP 算法,神经网络,PID 控制1引言随着科学技术的发展,人们需要加以控制的过程和系统越来越复杂,许多系统具有大型,复杂和强烈非线性的特点.对这些系统进行有效准确的控制就非常的困难.传统的PID 控制是通过对偏差的比例(P),积分(I),微分(D)的线性组合构成控制向量对被控对象进行控制.它算法结构简单,但是,当被控对象具有非线性,时变不确定性和难以建立精确的数学模型时,PID 控制器参数整定不良,性能欠佳,不能达到理想的控制效果.随着人们对神经网络的研究,基于BP 算法的神经网络以其自学习,自适应及逼近任意函数的能力在控制领域得到应用,将BP 神经网络和传统的PID 控制相结合构成的比例,积分,微分神经元控制器,不仅克服了PID 控制的缺陷,而且具有快速的学习能力,快速的适应性,良好的性能和鲁棒性.因此,可以通过神经网络对系统性能的学习来达到最佳的比例,积分,微分组合,实现最佳的PID 控制效果.2 神经网络的BP 算法2.1 神经网络的结构BP 神经网络是控制领域中应用最多的神经网络,它是多层神经元彼此以前馈方式连接组成的网络,网络中没有信号反馈,只有相邻层神经元,每个神经元首先完成输入信号与连接权值的内积计算,然后通过一个非线性函数作用产生输出.BP 神经网络通常由输入层,输出层和若干隐层构成每层由若干个结点组成, 每一个结点表示一个神经元,上层结点与下层结点之间通过权值联接, 同一层结点之间没有联系。
BP神经网络算法的改进及其在PID控制中的应用研究共3篇
BP神经网络算法的改进及其在PID控制中的应用研究共3篇BP神经网络算法的改进及其在PID控制中的应用研究1随着工业自动化的不断推进和智能化的不断发展,控制理论和算法变得越来越重要。
PID控制算法已成为现代控制中最常用的算法之一。
然而,传统的PID控制算法在某些情况下会出现一些问题,这些问题需要新的解决方案。
因此,本文将探讨BP神经网络算法的改进及其在PID控制中的应用研究。
BP神经网络是一种前向反馈神经网络,它通过反复迭代调整参数来学习训练数据,从而实现分类和回归等任务。
BP神经网络作为一种非线性动态系统,具有自适应性、非线性和强泛化能力等特点。
在控制系统中,BP神经网络可以用于模型预测、模型识别和模型控制等方面。
在控制系统中,PID控制是一种常规的线性控制技术。
然而,传统的PID控制算法存在一些问题,如难以解决非线性系统、难以控制多变量系统等。
为了解决这些问题,人们开始探索将BP神经网络用于控制系统。
BP神经网络可以通过学习训练数据来逼近未知非线性系统,从而实现对系统的控制。
在使用BP神经网络控制系统时,需要进行参数调整来保证网络的准确性和控制效果。
对于传统的BP神经网络,训练过程需要耗费大量的计算时间和计算资源。
因此,人们提出了一些改进的BP神经网络算法,如逆传播算法、快速BP算法和LM算法等。
逆传播算法是一种基于梯度下降的BP神经网络算法,该算法通过不断地调整权重和偏置来实现网络的训练。
快速BP算法是一种改进的逆传播算法,它增加了一些优化步骤,使训练过程更快速和高效。
LM算法是一种基于牛顿法的BP神经网络算法,在训练过程中可以自动调整学习率,从而提高训练的速度和准确性。
在控制系统中,BP神经网络可以用于模型预测、模型识别和模型控制等。
例如,在模型控制方面,可以使用BP神经网络来进行预测,并根据预测结果来调整控制参数,从而实现对系统的更加有效的控制。
此外,在模型识别方面,人们也可以使用BP神经网络精确地识别复杂的非线性系统,实现对系统的更加准确的控制。
一种基于BP神经网络整定的PID控制器的算法改进
一种基于BP神经网络整定的PID控制器的算法改进在机器人足球比赛中,底层运动控制作为重要的一个部分,其控制器的设计,对机器人能否平稳、快速的到达指定点有着很大的意义。
BP神经网络算法,能以任意精度逼近任意非线性函数,且结构简单、逼近性能良好。
通过运用BP神经网络整定PID控制参数,介绍了其对中型组两轮驱动的足球机器人的底层运动控制器的算法进行设计并优化后达到的对机器人良好的运动控制效果。
标签:足球机器人;神经网络;PID;运动控制1 基于BP神经网络参数整定的PID控制器仿真仿真的一项重要内容就是神经网络初始权值的确定。
我们可知隐含层节点的输入为u i=∑4w ij x j在计算中常用两个矩阵来表示。
输入矩阵,输出矩阵,输入层至隐含层和隐含层至输出层权值矩阵。
初始权值矩阵选取是关键之一,其决定最终优化效果,但是权值初始化非常困难,一般采用的方法是随机生成初始权值矩阵,进行仿真,取仿真效果较好的几组随机初始矩阵值。
此法随机性较大,需要通过输入不同目标点进行检测,取得仿真效果较好(多数样本有效)的一组作为初始矩阵。
但此法还是有一定缺陷,只能局部目标点可以采用。
为了获得良好控制效果,这里对PID控制器进行简单改进。
将PID控制器的偏差量error(k),error(k-1)(上次误差),error(k-2)(前次误差)全部进行预处理,即同时除以第一次误差d1。
然后按神经网络输出的PID参数原值进行计算,得到输出。
2 基于BP神经网络参数整定的PID控制器设计改进通过研究,在能到达目标点的前提下,机器人的速度曲线理想情况下应该要使启动平稳,在增量PID中若初始压低输出(即经过一段距离后,控制器输出才到达最大值,距离长短由角度控制器决定),随时间累积到达一定值时被控对象输入为最大值,最大值持续输出一段距离后,被控对象输入开始下降,使被控对象输出下降到一定的可控范围内。
此时,PID控制器中随时间累积的项就是积分项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2018-09-06作者简介:胡宗镇(1996-),男,山东潍坊人,本科,主要研究方向:机器学习与模式识别;赵延立(1996-),男,山东德州人,本科,主要研究方向:机器学习与模式识别。
传统BP 神经网络存在收敛速度慢、训练过程中易陷入局部极小值等缺点[1]。
为提高学习速率,对传统的梯度下降法有如下改进:牛顿法,是使用损失函数的二阶偏导数寻找更好的学习方向[2];共轭梯度法,搜索是沿着共轭方向进行的,训练方向与海森矩阵共轭[3];柯西-牛顿法,每一次迭代计算海森矩阵的逆矩阵,只用到损失函数的一阶偏导数[4];Levenberg-Marquardt 算法,它针对平方和误差的损失函数,需要用到梯度向量和雅各布矩阵[5]。
以上算法主要针对误差曲面变化剧烈的区域(非平坦区)进行改进,确实加快了学习速度,但误差曲面平坦区的训练过程长也是造成收敛速度慢的另一重要原因[6]。
考虑到平坦区的问题,在借鉴了现有改进算法的基础上,本文提出了附加动量项和自调整学习速率结合的学习算法。
在保证非平坦区学习速率较高的情况下,通过对平坦区和非平坦区的算法识别,自动调整在不同区的抖度因子,以保证在整个误差曲面上,学习速率能保持学习过程稳定的前提下始终保持尽可能大的值,从而大大优化了神经网络的收敛速度和性能。
1改进算法的BP 神经网络1.1BP 网络的PID 控制结构改进后的BP 神经网络控制结构如图1所示:图1基于改进BP 神经网络整定的PID 控制系统结构基于改进型BP 神经网络自整定的PID 控制胡宗镇,赵延立(哈尔滨理工大学荣成学院,山东荣成264300)摘要:文章针对传统BP 神经网络学习存在收敛速度慢的问题,提出了一种改进BP 学习算法的PID 参数整定方法。
通过结合附加动量项与自调整学习速率两种方法,解决了学习过程中误差曲面剧烈变化的振荡大和脱离误差曲面平坦区慢的问题。
利用Simulink 对传统和改进后的BP 神经网络在电机PID 控制系统参数整定上进行了系统仿真对比,结果表明改进后的BP 神经网络较传统BP 算法的具有更优的收敛性能和收敛速度。
关键词:PID 参数整定;BP 神经网络;动量参数;在线调整学习速率中图分类号:TP18文献标识码:APID Control Based on Self-adjusting BP Neural NetworkHU Zong-zhen,ZHAO Yan-li(Rongcheng College,Harbin University of Science and Technology,Rongcheng 264300,China)Abstract :Aiming at the problem that the traditional BP neural network learning has a slow convergence rate,a PID parameter tuning method for improving the BPlearning algorithm is proposed by analyzing the neural network learning error surface.By combining the additional momentum term and the self-adjusting learning rate,the problem that the oscillation of the error surface is greatly changed and the flat surface of the error surface is slow is solved during the learning ing Simulink to compare the traditional and improved BP neural network in the motor PID control system parameter tuning,the improved BP neural network has better convergence performance and convergence speed than the traditional BP algorithm.Key words:PID parameter tuning;BP neural network;momentum parameter;online adjustment of learning rate电脑与信息技术2019年2月1.2改进的BP 算法sigmoid 函数在绝大部分定义域上都位于饱和区(或称平坦区),这会导致神经网络学习的很慢[7]。
为加快脱离饱和区,提高收敛速度,需要解决饱和区收敛速度慢的问题[8]。
平坦即梯度小,梯度公式为:əE əW ik δOkY j(1)δko =(D k -O k )Ok(1-O k )这意味着有3种可能进入平坦区域:O k 充分接近于D k ,此时对应着误差的某个谷点;O k 接近于0;O k 接近于1。
只要调整方向正确,调整时间足够长,总可以退出平坦区域进入某个谷点[9]。
所以要寻找一个新的网络权值更正函数,在标准梯度下降法的基础上进行改进[10]。
传统的网络连接权值更正函数为:Δw(t)=ηəEəW(2)将其修正:Δw(t)=ηəE əW+αΔw(t-1)(3)上式中,α为动量参数(0<α<1),动量项αΔw (t-1)=α[w(t-1)-w(t-2)],其作用为记忆上时刻连接权的变化方向(即变化量的值),这样在平坦区,就可以利用较大的学习速率系数来提高收敛速度。
当网络的训练进入误差曲面的平坦区域时,误差的变化量将会很小,因此Δw(t-1)近似等于Δw(t)(即Δw(t-1)≈Δw(t)),公式将转化为Δw ≈η1-αəEəW(4)可见,上式与传统的BP 算法权值修正函数相比,再添加动量项后,学习速率变化为η/(1-α),因此这种改进方法有利于减小曲面剧烈起伏时的振荡。
学习速率η在标准BP 算法中默认为常数,而在复杂系统网络训练过程中,无法确定最佳学习速率。
由误差曲面得知,在平坦区内η太小会导致网络训练次数增加;而在非平坦区,η过大又会使调整过快而出现震荡,导致迭代次数增加。
调整方案为根据误差曲面的凹凸性对学习速率进行在线调整。
其规则是:(1)若总误差E 减小,则学习率增加。
(2)若总误差E 增加,则学习率减小。
当新误差与老误差之比超过一定值(例如1.04),则学习率快速下降(例如将实际值乘以因子b=0.7)。
取其中参数的典型值为:a=1.2,b=0.7。
上述方法可以在学习过程的每一步进行学习率的调整。
上述规则可用如下迭代方程来描述:a α(n-1),ifE[W(n)]<E[W(n-1)]b α(n-1),ifE[W(n)]≥E[W(n-1)]其中a α和b α为调整后的学习速率η',上述方法可以在迭代过程中的每一代进行学习率的调整。
最终,公式调整为:Δw li (k)=η'əE(k)əw li+αΔw li (k-1)(5)通过增加动量参数和对学习速率的在线调整方式,完成了快速脱离平坦区的目的。
2仿真及分析2.1典型电机控制系统的数学建模建立电机控制系统的数学模型如图2所示:图2BP 神经网络PID 电机控制系统2.2对模型进行仿真分析构建BP 神经网络,取学习速率和动量参数,输入信号,初始权值采用随机值,网络学习完成后用迭代后的权值代替初始权值,网络训练完成后使用训练后的权值进行仿真,传统网络和改进网络仿真结果分别如图3和图4所示:图3传统BP 神经网络误差、输出、控制器曲线·12·第27卷第1期胡宗镇等:基于改进型BP 神经网络自整定的PID 控制图4改进的BP 神经网络误差、输出、控制器曲线由图3、4可知,通过改进学习算法,PID 输出曲线能在较短的时间内达到稳定状态,且曲线更加平滑。
误差能更迅速更稳定的降低,直至趋向于零,同时也极大程度的减小了控制器输出曲线的振荡幅度。
通过分析系统仿真的参数曲线,可得到系统的响应性能评价指标。
表1传统BP 控制系统相关性能参数由表1可知,两种网络的整定效果都能满足基本要求,而改进后的神经网络虽在改善调整时间上不明显,却较之传统网络极大程度上降低了超调量。
3结束语通过对电机控制系统的仿真验证,本文提出的新型学习算法解决了学习过程中振荡大和脱离平坦区慢的问题,改进后的神经网络降低了超调量,提高了收敛速度,PID 参数整定效果变好。
使得该算法具有良好的控制品质,在工业控制领域具有较好的应用前景。
参考文献:[1]陈明忠.BP 神经网络训练算法的分析与比较[J].科技广场,2010(03):24-27.[2]Pei Xin Lu.Research on BP Neural Network Algorithm Based onQuasi-Newton Method[C].ITMS 2014.[3]陈庚,戴放.基于共轭梯度法的改进型BP 神经网络PID 控制算法[J].工业仪表与自动化装置,2011(05):7-9.[4]杨毯毯.基于柯西-牛顿算法的神经网络语音识别[J].信息化研究,2018,44(02):71-73.[5]杨晓冬,马光,刘倩,等.一种改进的Levenberg-Marquardt 辨识算法[J].电子测量与仪器学报,2016,30(08):1263-1268.[6]王俊平,李加彦.BP 神经网络的学习过程与算法分析[J].计算机光盘软件与应用,2014,17(4):241-241.[7]Liu Luoren,Luo Jinling.Research of PID Control Algorithm Based on Neural Network [J].Energy Procedia,2011(13):6988-6993.[8]唐艳,付存君,魏建新.基于自适应学习速率的改进BP 神经网络[J].计算机光盘软件与应用,2012(04):48-49.[9]陈智军,李洋莹.神经网络BP 算法改进及其性能分析[J].软件导刊,2017,16(10):39-41.[10]孙娅楠.梯度下降法在机器学习中的应用[D].西南交通大学,2018.性能指标传统网络PID 控制系统改进的网络PID 控制系统最大超调量啄P 12.46%7.05%调整时间t p (s )3.73.5·13·。