基于BP神经网络的PID控制器的设计
基于BP神经网络的PID控制器的设计

基于BP神经网络的PID控制器的研究与实现课程名称:人工神经网络目录前言 (2)一、BP神经网络 (3)二、模拟PID控制系统 (5)三、基于BP神经网络的PID控制器 (6)四、仿真程序 (10)五、运行结果 (17)六、总结 (18)参考文献 (19)前言人工神经网络是以一种简单神经元为节点,采用某种网络拓扑结构构成的活性网络,可以用来描述几乎任意的非线性系统。
不仅如此,人工神经网络还具有学习能力、记忆能力、计算能力以及各种智能处理能力,在不同程度和层次上模仿人脑神经系统的信息处理、存储和检索的功能。
不同领域的科学家,对人工神经网络有着不同的理解、不同的研究内容,并且采用不同的研究方法。
对于控制领域的研究工作者来说,人工神经网络的魅力在于:①能够充分逼近任意复杂的非线性关系,从而形成非线性动力学系统,以表示某种被控对象的模型或控制器模型;②能够学习和适应不确定性系统的动态特性;③所有定量或定性的信息都分布储存于网络内的各神经单元,从而具有很强的容错性和鲁棒性;④采用信息的分布式并行处理,可以进行快速大量运算。
对于长期困扰控制界的非线性系统和不确定性系统来说,人工神经网络无疑是一种解决问题的有效途径。
正因为如此,把人工神经网络引入传统的 PID 控制,将这两者结合,则可以在一定程度上解决传统 PID 调节器不易在线实时整定参数、难于对一些复杂过程和参数慢时变系统进行有效控制的不足。
一、BP神经网络BP神经网络是一种有隐含层的多层前馈网络,其结构如图1-1所示。
如果把具有M个输入节点和L个输出节点的BP神经网络看成是从M 维欧氏空间到L维欧氏空间的非线性映射,则对于具有一定非线性因数的工业过程被控对象,采用BP网络来描述,不失为一种好的选择。
在BP神经网络中的神经元多采用S型函数作为活化函数,利用其连续可导性,便于引入最小二乘学习算法,即在网络学习过程中,使网络的输出与期望输出的误差边向后传播边修正加权系数,以期使误差均方值最小。
基于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暖通控制器设计孙朋;张健沛;薛立波【摘要】为了克服传统PID控制在暖通空调系统应用中超调量大、控制精度低的缺陷,提出了一种基于BP神经网络的PID控制器设计方法.利用BP神经网络具有很强的学习能力、任意逼近非线性能力、自适应性和鲁棒性等特点,将BP神经网络与PID控制结合,实现了PID的3个控制参数的在线自整定.仿真结果表明,该方法可以显著改善系统的动态性能和控制精度,实现了PID控制参数的在线动态调整,避免了由于系统模型和结构参数变化导致的控制效果不稳定.【期刊名称】《黑龙江大学工程学报》【年(卷),期】2011(002)002【总页数】4页(P105-108)【关键词】PID;暖通空调;BP神经网络【作者】孙朋;张健沛;薛立波【作者单位】哈尔滨工程大学,计算机科学与技术学院,哈尔滨,150001;哈尔滨工程大学,计算机科学与技术学院,哈尔滨,150001;黑龙江省民政厅,信息中心,哈尔滨,150001【正文语种】中文【中图分类】TP273.20 引言自上世纪60年代暖通空调系统的自动控制开始兴起以来,经过几十年的发展,逐步发展成为以PID控制算法为核心的直接数字控制。
但是,暖通空调系统是一个典型的大滞后、多变量、分布参数的强非线性时变系统,难以建立其精确的数学模型。
常规PID控制器具有一定的鲁棒性,在某时刻、某条件下整定好的参数,一旦被控对象的结构和参数改变,在另一时刻、另一条件下原参数控制效果往往不佳;加之,常规PID在设计与整定过程中,需采用折中的方案来兼顾控制的稳态精度和动态性能,所以常规PID控制器的设计有其局限性,单一的PID暖通空调控制器难以满足要求。
神经网络理论的发展为解决非线性系统和不确定性系统控制问题提供了有效途径,基于神经网络的PID控制已成为暖通空调的研究热点。
它将PID控制律融入到神经网络之中,实现了神经网络和PID控制的结合,从而既具有传统PID控制器的优点,又具有神经网络的并行结构和学习能力以及多层网络逼近任意函数的能力。
基于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 控制器设计一.基于BP 神经网络的自适应PID 控制器的原理PID 控制是最早发展起来的、 应用领域至今仍然广泛的控制策略之一,它是基于对象数学模型的方法,尤其适用于可建立精确数学模型的确定性控制系统。
其优点是算法简单、 鲁棒性好和可靠性高。
但是,由于实际工业生产过程往往具有非线性,许多非线性系统难以确定精确的数学模型,常规的PID 控制器就不能达到理想的控制效果,由于受到参数整定方法烦杂的困扰,参数往往整定不良、 性能欠佳。
神经网络所具有的任意非线性表达能力,可以通过对系统性能的学习来实现具有最佳组合的PID 控制。
基于BP 网络的自适应PID 控制器,通过BP 神经网络调整自身权系数,对PID 控制参数进行调节,以达到某种性能指标的最优。
二.基于BP 神经网络的自适应PID 控制器的控制器结构基于BP 神经网络的PID 控制系统结构图如图1所示:此控制器由两部分组成:(1)经典的PID 控制器,直接对被控对象进行闭环控制,并且三个参数p K ,i K ,d K 为在线调整方式;图1 BP 网络结构p ki kd ki(2)神经网路,根据系统的运行状态,调节PID 控制器的参数,以期达到某种性能指标的最优化,是输出层神经元的输出状态对应于PID 控制器的一个可调参数p K ,i K ,d K 。
通过神经网络的自学习、加权系数调整,使神经网络输出对应于某种最优控制率下的PID 控制器参数。
基于BP 神经网络的自适应PID 控制器的控制器如图2所示:该控制器的算法如下:(1)确定BP 神经网络的结构,即确定输入节点数M 和隐含层节点数Q ,并给各层加权系数的初值)0(1ij w 和)0(2ij w ,选定学习速率η和惯性系数α,此时k=1; (2)采样得到rin(k)和yout(k),计算该时刻误差error(k)=rin(k)-yout(k);(3)计算神经网络NN 各层神经元的输入、输出,NN 输出层的输出即为PID 控制器的三个可调参数p K ,i K ,d K ;(4)根据经典增量数字PID 的控制算法(见下式)计算PID 控制器的输出u(k); ))2()1(2)(()())1()(()1()(-+--++--+-=k error k error k error K k error K k error k error K k u k u d i p (5)进行神经网络学习,在线调整加权系数)(1k w ij 和)(2k w ij 实现PID 控制参数的自适应调整;(6)置k=k+1,返回到(1)。
基于BP神经网络的PID控制系统设计

基于BP神经网络的PID控制系统设计一、引言PID控制系统是目前工业控制中广泛应用的一种基本控制方法,它通过测量控制系统的偏差来调节系统的输出,以实现对控制对象的稳定控制。
然而,传统的PID控制器需要事先对系统建模,并进行参数调整,工作效果受到控制对象模型的准确性和外部干扰的影响。
而BP神经网络具有非线性映射、自适应性强、鲁棒性好等优点,可以有效地克服传统PID控制器的缺点。
因此,基于BP神经网络的PID控制系统设计成为当前研究的热点之一二、基于BP神经网络的PID控制系统设计理论1.PID控制器设计原理PID控制器是由比例环节(Proportional)、积分环节(Integral)和微分环节(Derivative)组成的控制器,其输出信号可以表示为:u(t) = Kp*e(t) + Ki*∫e(t)dt + Kd*(de(t)/dt),其中e(t)为控制系统的输入偏差,t为时间,Kp、Ki和Kd分别为比例系数、积分系数和微分系数。
2.BP神经网络理论BP神经网络是一种前馈型神经网络,通过反向传播算法对输入信号进行学习和训练,从而得到最优的网络结构和参数。
BP神经网络由输入层、隐层和输出层组成,其中每个神经元与上、下相邻层之间的神经元互相连接,并具有非线性的激活函数。
3.基于BP神经网络的PID控制系统设计理论基于BP神经网络的PID控制系统设计的核心思想是将BP神经网络作为PID控制器的自适应调节器,根据控制对象的输入信号和输出信号之间的误差进行训练和学习,通过调整BP神经网络的权重和阈值来实现PID 控制器的参数调节,从而提高控制系统的稳定性和鲁棒性。
三、基于BP神经网络的PID控制系统设计步骤1.系统建模首先,需要对待控制对象进行建模,获取其数学模型。
对于一些复杂的非线性系统,可以采用黑箱建模的方法,利用系统的输入和输出数据进行数据拟合,获取系统的数学模型。
2.BP神经网络训练将系统的数学模型作为BP神经网络的训练集,通过反向传播算法对BP神经网络进行训练,得到最优的网络结构和参数。
基于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一比例、积分、微分系数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于BP神经网络的PID控制器的研究与实现课程名称:人工神经网络目录前言 (3)一、BP神经网络 (4)二、模拟PID控制系统 (5)三、基于BP神经网络的PID控制器 (6)四、仿真程序 (10)五、运行结果 (17)六、总结 (18)参考文献 (19)前言人工神经网络是以一种简单神经元为节点,采用某种网络拓扑结构构成的活性网络,可以用来描述几乎任意的非线性系统。
不仅如此,人工神经网络还具有学习能力、记忆能力、计算能力以及各种智能处理能力,在不同程度和层次上模仿人脑神经系统的信息处理、存储和检索的功能。
不同领域的科学家,对人工神经网络有着不同的理解、不同的研究内容,并且采用不同的研究方法。
对于控制领域的研究工作者来说,人工神经网络的魅力在于:①能够充分逼近任意复杂的非线性关系,从而形成非线性动力学系统,以表示某种被控对象的模型或控制器模型;②能够学习和适应不确定性系统的动态特性;③所有定量或定性的信息都分布储存于网络内的各神经单元,从而具有很强的容错性和鲁棒性;④采用信息的分布式并行处理,可以进行快速大量运算。
对于长期困扰控制界的非线性系统和不确定性系统来说,人工神经网络无疑是一种解决问题的有效途径。
正因为如此,把人工神经网络引入传统的PID 控制,将这两者结合,则可以在一定程度上解决传统PID 调节器不易在线实时整定参数、难于对一些复杂过程和参数慢时变系统进行有效控制的不足。
一、BP神经网络BP神经网络是一种有隐含层的多层前馈网络,其结构如图1-1所示。
如果把具有M个输入节点和L个输出节点的BP神经网络看成是从M维欧氏空间到L维欧氏空间的非线性映射,则对于具有一定非线性因数的工业过程被控对象,采用BP网络来描述,不失为一种好的选择。
在BP神经网络中的神经元多采用S型函数作为活化函数,利用其连续可导性,便于引入最小二乘学习算法,即在网络学习过程中,使网络的输出与期望输出的误差边向后传播边修正加权系数,以期使误差均方值最小。
BP神经网络的学习过程可分为前向网络计算和反向误差传播——连接加权系数修正两个部分,这两个部分是相继连续反复进行的,直至误差满足要求。
不论学习过程是否已经结束,只要在网络的输入节点加入输入信号,则这些信号将一层一层向前传播;通过每一层时要根据当时的连接加权系数和节点的活化函数与阈值进行相应计算,所得的输出再继续向下一层传输。
这个前向网络计算过程,既是网络学习过程的一部分,也是将来网络的工作模式。
在学习过程结束之前,如果前向网络计算的输出和期望输出之间存在误差,则转入反向传播,将误差沿着原来的连接通路回送,作为修改加权系数的依据,目标是使误差减小。
图1-1二、模拟PID 控制系统PID 控制是最早发展起来的控制策略之一,它以算法简单、鲁捧性好、可靠性高等优点而梭广泛应用于工业过程控制中。
PID 控制系统结构如图1-2所示:积分比例微分被控对象—e(t)u(t)c(t)r(t)图1-2它主要由PID 控制器和被控对象所组成。
而PID 控制器则由比例、积分、微分三个环节组成。
它的数学描述为:01()()[()()]t p D i de t u t K e t e d T T dt ττ=++⎰式中,p K 为比例系数;i K 为积分时间常数:dK 为微分时间常数。
简单说来,PID 控制器各校正环节的主要控制作用如下:1.比例环节即时成比例地反映控制系统的偏差信号()e t ,偏差一旦产生,控制器立即产生控制作用,以减少偏差。
2.积分环节主要用于消除静差,提高系统的无差度。
积分作用的强弱取决于积分时间常数i T ,i T 越大,积分作用越弱,反之则越强。
3.微分环节能反映偏差信号的变化速率,并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
PID 控制器有如下特点:原理简单,实现方便,是一种能够满足大多数实际需要的基本控制器;控制器能适用于多种截然不同的对象,算法在结构上具有较强的鲁棒性,在很多情况下,其控制品质对被控对象的结构和参数摄动不敏感。
三、基于BP 神经网络的PID 控制器PID 控制要取得好的控制效果,就必须对比例、积分和微分三种控制作用进行调整以形成相互配合又相互制约的关系,这种关系是从变化无穷的非线性组合中找出最佳的关系。
神经网络具有任意的非线性表示能力,可以通过对系统性能的学习实现具有最佳组合的PID 控制器。
图1-3BP 神经网络由于其具有逼近任意非线性函数的能力,而且结构和学习算法简单明确,因此在神经网络PID 控制中常采用BP 网络结构来建立PID 控制器。
通过BP 神经网络自身的学习,从而可以找到某一最优控制律下的,,P I D 参数。
基于BP 神经网络的PID 控制系统结构如图1-3所示,控制器由两部分缀成:①经典的PID 控制器:直接对被控对象进行闭环控制,并且,,P I D K K K 三个参数为在线整定;②神经网络NN :根据系统的运行状态对应于PID 控制器的三个可调参数P K ,I K ,D K 。
通过神经网络的自学习、调整权系数,从而使其稳定状态对应于某种最优控制律下的PID 控制器参数。
PID 的控制算式为:2()(1)()()()P I D u k u k K e k K e k K e k =-+∆++∆式中,,,P I D K K K 分别为比例、积分、微分系数。
将,,P I D K K K 看为依赖于系统运行状态的可调系数时,可将(3.12)式描述为:2()[(1),,,,(),(),()]p I D u k f u k K K K e k e k e k =-∆∆式中[]f •是与,,,(1),()p I D K K K u k y k -等有关的非线性函数,可以用 BP 神经网络NN 通过训练和学习来找出一个最佳控制规律。
假设BP 神经网络NN 是一个三层BP 网络,其结构如图3.4所示,有M 个输入节点、Q 个隐层节点、三个输出节点。
输出节点分别对应控制器的三个可调参数,,p I D K K K 。
其激发函数为非负的Sigmoid 函数。
而隐含层的激发函数可取正负对称的Sigmoid 函数。
神经网络的前向算法如下:设PID 神经网络有M 个输入,3个输出(,,p i d k k k ), 上标(1)(2)(3)分别代表输入层、隐含层和输出层,该PID 神经网络在任意采样时刻k 的前向计算公式如下所述:网络输入层的输入:(1)j k j o x -==()e k j -,(0,1,2...,1)j M =-,(1)1M o ≡;网络隐含层的输入、输出算法如式(3.2.2)所示:(2)(2)(1)0()()M iij j j net k w o k ==∑(2)(2)()(())i i o k f net k = ,(0,1,...1)i Q =- (2)1Q o ≡式(3.2.2)中ij w 表示隐含层第j 个神经元到第i 个神经元的加权系数,隐含层神经元活化函数取正负对称的Sigmoid 函数:()tanh()x xx x e e f x x e e ---==+ 网络输出层的输入、输出算法如式(3.3.4)所示:(3)(3)(2)0()()Q ili i i net k w o k ==∑(3)(3)(())i i o f net k = 1,2,3...i Q = 式中(3)li w 为隐含层到输出层加权系数,输出层神经元活化函数取非负Sigmoid 函数:1()(1tanh())2xx x e g x x e e --=+=+ (3)3()(())l l o k g net k = (l =1,2,3)(3)0P o K =(3)1I o K = (3)2Do K = 性能指标函数: 2211[(1)(1)](1)22J r k y k e k =+-+=+根据最速下降法修正网络的加权系数,并附加一使搜索快速收敛全局极小的惯性项,则有:(3)(3)(3)(1)()li li li J w k w k w ηα∂∆+=-+∆∂式中η为学习速率;α为惯性系数。
(3)li J w ∂∂=(3)(1)()(1)()()l J y k u k y k u k o k ∂∂+∂∂+∂∂(3)(3)(3)(3)()()l l l li o k net net k w ∂∂∂∂由于式(8)中的(1)()y k u k ∂+∂未知,所以可以近似用符号函数(1)sgn()()y k u k ∂+∂取代。
由数字PID 控制律式(2)可以求得:(3)0()()(1)()u k e k e k o k ∂=--∂(3)1()()()u k e k o k ∂=∂(3)2()()2(1)(2)()u k e k e k e k o k ∂=--++∂再令:(3)l δ=(3)()l J net k ∂-=∂(3)(3)(1)()[()](1)sgn()()()l l y k u k g net k e k u k o k ∂+∂+∂∂,(0,1,2)l = 可得BP 神经网络输出层的加权系数计算公式为(3)(3)(3)(2)(1)()()li li l i w k w k o k αηδ∆+=∆+同理可得隐含层加权系数的计算公式为(2)(2)(2)(1)(1)()()ij ij i j w k w k o k αηδ∆+=∆+其中 (2)i δ=2(2)(3)(3)0[()]()i l li l f net k w k δ=∑,(0,1...1)i Q =-基于BP 神经网络PID 控制算法可以归纳为:①选定BPNN 的结构,即选定输入层节点数M 和隐含层节点数Q ,并给出各层加权系数的初值(2)(0)ij w ,(3)(0)li w 选定学习速率η和惯性系数α;②采样得到()r k 和()y k ,计算()()()e k r k y k =-;③对(),(),()r i y i e i (. 1...,)i k k k p =--进行归一化处理,作为BPNN 的输入;④计算BPNN 的各层神经元的输入和输出,输出层的输出即为PID 控制器的3个参数,,p I D K K K ;⑤计算PID 控制器的输出()u k ,参与控制和计算;⑥计算修正输出层的加权系数;⑦计算修正隐含层的加权系数:⑧置1k k =+.返回②。
四、仿真程序%BP based PID Controlclear all ;close all;xite=0.25;alfa=0.05;S=1; %Signal typeIN=4;H=5;Out=3; %NN Structureif S==1 %Step Signalwi=[-0.6394 -0.2696 -0.3756 -0.7023; -0.8603 -0.2013 -0.5024 -0.2596; -1.0749 0.5543 -1.6820 -0.5437; -0.3625 -0.0724 -0.6463 -0.2859;0.1425 0.0279 -0.5406 -0.7660]; %wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[0.7576 0.2616 0.5820 -0.1416 -0.1325; -0.1146 0.2949 0.8352 0.2205 0.4508;0.7201 0.4566 0.7672 0.4962 0.3632]; %wo=0.50*rands(Out,H);wo_1=wo;wo_2=wo;wo_3=wo;endif S==2 %Sine Signalwi=[-0.2846 0.2193 -0.5097 -1.0668; -0.7484 -0.1210 -0.4708 0.0988;-0.7176 0.8297 -1.6000 0.2049;-0.0858 0.1925 -0.6346 0.0347;0.4358 0.2369 -0.4564 -0.1324];%wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[1.0438 0.5478 0.8682 0.1446 0.1537;0.1716 0.5811 1.1214 0.5067 0.7370;1.0063 0.7428 1.0534 0.7824 0.6494]; %wo=0.50*rands(Out,H);wo_1=wo;wo_2=wo;wo_3=wo;endx=[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); %Output from NN middle layerI=Oh; %Input to NN middle layererror_2=0;error_1=0;ts=0.001;for k=1:1:6000time(k)=k*ts;if S==1rin(k)=1.0;elseif S==2rin(k)=sin(1*2*pi*k*ts);end%Unlinear modela(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:1:HOh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j) )); %Middle LayerendK=wo*Oh; %Output Layerfor l=1:1:OutK(l)=exp(K(l))/(exp(K(l))+exp(-K(l))); %Getting kp,ki,kdendkp(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 % Restricting the output of controlleru(k)=10;endif u(k)<=-10u(k)=-10;enddyu(k)=sign((yout(k)-y_1)/(u(k)-u_1+0.0000001)); %Output layerfor j=1:1:OutdK(j)=2/(exp(K(j))+exp(-K(j)))^2;endfor l=1:1:Outdelta3(l)=error(k)*dyu(k)*epid(l)*dK(l);endfor l=1:1:Outfor i=1:1:Hd_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2);endendwo=wo_1+d_wo+alfa*(wo_1-wo_2);%Hidden layerfor i=1:1:HdO(i)=4/(exp(I(i))+exp(-I(i)))^2;endsegma=delta3*wo;for i=1:1:Hdelta2(i)=dO(i)*segma(i);endd_wi=xite*delta2'*xi;wi=wi_1+d_wi+alfa*(wi_1-wi_2);%Parameters Updateu_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(s)');ylabel('cin'); figure(2);plot(time,error,'r');xlabel('time(s)');ylabel('error'); figure(3);plot(time,u,'r');xlabel('time(s)');ylabel('cout'); 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');五、运行结果六、总结随着科学技术的发展,智能控制技术必会日趋完善,并且能够在更多的领域上应用。