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

合集下载

基于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控制系统设计

基于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控制器设计

基于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暖通控制器设计

基于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控制器设计

基于BP神经网络的PID控制器设计
关键词自适应PID控制算法,PID控制器,参数模型,神经网络,BP算法
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 控制器设计一.基于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控制系统设计

基于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控制器的研究与实现

第十六届电工理论学术研讨会论文集基于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_控制算法参数优化

基于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神经网络的PID控制器的设计简介:PID控制器是一种常用的控制方法,可以使控制系统快速、稳定地对目标进行调节。

然而,传统的PID控制器需要依赖经验的设置参数,很难适用于非线性复杂的系统。

为了改善这一问题,本文提出了一种基于BP神经网络的PID控制器的设计方法。

一、神经网络介绍BP神经网络是一种常用的人工神经网络,通过反向传播算法进行学习和适应。

它可以用来建模非线性关系、解决分类和回归问题等。

BP神经网络由输入层、隐藏层和输出层构成,通过调整权重和偏置项,使得网络的输出接近于期望输出。

二、PID控制器的基本原理PID控制器是由比例(P)、积分(I)和微分(D)三个部分组成的,它们分别对应了系统的比例性能、整定性能和微分性能。

PID控制器的输出是由目标值与实际值之间的误差来决定的。

比例作用是根据误差的大小进行调节,积分作用是根据误差的积分值进行调节,微分作用是根据误差的变化率进行调节。

三、BP神经网络的PID控制器设计1.建立神经网络模型:确定输入层节点数、隐藏层节点数和输出层节点数。

2.确定权重和偏置项的初始值:可以使用随机数进行初始化。

3.设置训练样本集:训练样本集包括输入和输出的数据,可以根据实际情况进行设置。

4.确定学习率和训练次数:学习率决定了网络的更新速度,训练次数决定了网络的学习程度。

5.神经网络训练:使用BP算法对神经网络进行训练,通过反向传播算法调整权重和偏置项。

6.测试神经网络性能:使用测试数据对神经网络进行测试,评估其性能是否满足要求。

7.参数调整:根据测试结果对PID控制器的参数进行调整,使得神经网络对系统的控制更加精确。

四、实验结果分析通过对比传统的PID控制器和基于BP神经网络的PID控制器,可以发现基于BP神经网络的PID控制器具有更好的系统控制性能。

因为BP神经网络能够自适应地调整参数,适应非线性复杂系统的控制要求。

总结:基于BP神经网络的PID控制器是一种有效的控制方法,可以提高系统控制的精度和稳定性。

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

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

基于BP神经网络的模糊PID控制器的设计【摘要】工业过程控制中广泛采用PID控制,但传统PID控制因其控制参数的固定,在线整定难等问题。

为此本文研究了一种新的自适应模糊PID控制方法,为了解决模糊推理没有学习能力的问题,本文又提出了一种基于BP神经网络的自适应模糊控制方法。

此方法是模糊控制、神经网络和PID控制的有效结合。

仿真实验表明,这种基于BP神经网络的模糊PID控制算法具有良好的控制效果。

【关键词】PID控制;BP神经网络;模糊PID控制Abstruct:PID control are widely used in industrial process control,but the traditional PID control because of its control parameters are fixed,and it is difficult to adjust its parameters online.So this paper studies a new adaptive fuzzy PID control method,to solve problem without the ability to learn,and put forward a kind of adaptive fuzzy control method based on BP neural network in this paper.It is the effective combination of fuzzy control,neural network and PID control.Simulation results show that this fuzzy PID control method based on BP neural network has good control effect.Keywords:PID control;BP neural network;Fuzzy PID control1.引言常规PID在控制领域被广泛应用,利用数学算法来整定参数。

毕业设计(论文)_基于BP神经网络的PID控制器设计

毕业设计(论文)_基于BP神经网络的PID控制器设计
神经网络在控制系统中的应用提高了整个系统的信息系统处理能力和适应能力,提高了系统的智能水平。此外,神经网络是由大量反映非线性本质特征的神经元互相连接而成的复杂网络系统。它具有并行计算和分布式数据处理的功能,可实时处理大量数据,具有逼近任意连续有界非线性函数的能力,对于非线性系统和不确定性系统,无疑是一种解决问题的有效途径。人工神经网络是由简单的处理单元所组成的大量并行分布的处理器,这种处理机具有存储和应用经验知识的自然特性,它与人脑的相似之处概括为两个方面:一是通过学习过程利用神经网络从外部环境中获取知识;二是内部神经元(突触权值)用来存储获取的知识信息[2]。
(2)汽车行业。汽车自动驾驶系统、保险行为分析。
(3)银行业。支票和其他文档阅览器贷款评估器。
(4)国防领域。武器操纵控制、目标跟踪、物体识别、各种新的传感器。
(5)电子领域。编码序列预测、集成电路芯片的设计、过程控制芯片、故障分析、机器视觉声音合成、非线性建模。
(6)娱乐领域。动画、特效设计、市场预测。
阶跃响应是指将一个阶跃输入加到系统上时,系统的输出。稳态误差是指系统的响应进入稳态后,系统的期望输出与实际输出之差。控制系统的性能可以用稳、准、快三个字来描述。稳是指系统的稳定性,一个系统要能正常工作,首先必须是稳定的,从阶跃响应上看应该是收敛的;准是指控制系统的准确性、控制精度,通常用稳态误差来描述,它表示系统输出稳态值与期望值之差;快是指控制系统响应的快速性,通常用上升时间来定量描述。
在模拟控制系统中,控制器最常用的控制规律是PID控制。PID的控制规律为:
(2.1)
式中, —比例系数; —积分时间常数; —微分时间常数[4]。
比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。

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

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

基于BP神经网络的自适应PID控制器设计自适应PID控制器是一种基于BP神经网络的控制器设计方法,它结合了传统的PID控制器与神经网络的优势,可以适应系统参数变化、非线性和模型误差的情况。

本文将详细介绍基于BP神经网络的自适应PID控制器的设计原理和实现步骤。

1.简介PID控制器是一种经典的控制方法,通过计算误差的比例、积分和微分部分,调节输出控制量来实现对系统的控制。

然而,传统的PID控制器无法处理非线性和参数变化的系统,容易产生较大的误差。

而BP神经网络则具有非线性映射和自适应学习的能力,可以对非线性系统进行建模和控制。

2.BP神经网络的建模BP神经网络是一种前馈神经网络,具有输入层、隐含层和输出层。

输入层接收系统的输入量,输出层输出控制量,隐含层则通过一系列的神经元进行信息传递和处理。

BP神经网络通过训练集的样本进行学习,调整网络的权值和偏置,使得网络的输出与期望输出尽可能一致。

3.PID控制器的设计PID控制器由比例、积分和微分三个部分组成。

比例部分通过调节误差的大小来控制输出,积分部分可以控制持续的误差,微分部分则可以控制误差的变化率,提高系统的响应速度。

PID控制器的参数可以根据系统的特性进行调整。

4.自适应PID控制器的设计a.构建BP神经网络模型,通过训练集对模型进行学习,得到网络的权值和偏置。

b.使用PID控制器的比例、积分和微分部分计算出控制量,并将控制量作为输入量输入到BP神经网络中。

c.根据神经网络的输出,计算系统的输出,将其与期望输出进行比较,得到误差。

d.根据误差的大小,调整PID控制器的参数。

e.重复步骤b-d,直到系统达到期望输出。

5.应用实例自适应PID控制器可以应用于各种系统的控制中,如温度控制、位置控制等。

以温度控制为例,系统输入为温度传感器的读数,输出为控制器输出的控制量。

通过采集训练集数据和期望温度值,利用BP神经网络对系统进行建模和学习,然后根据PID控制器的参数计算出控制量,进而控制温度的变化。

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

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

基于BP神经网络的PID控制系统设计摘要本文主要研究一个基于神经网络的自适应PID控制系统的设计方法,利用BP神经网络对被控对象进行在线辨识和控制。

基于BP神经网络学习算法设计出两个神经网络模型:一个利用神经网络(NNM)对非线性映射的逼近能力,对被控对象进行辨识,另一个构成具有PID结构的控制器(NNC)。

通过神经网络NNM的在线学习和修正,产生对被控对象输出的预测作用,然后由网络NNC实施控制作用,从而实现对辨识对象的PID控制。

在利用神经网络对系统进行辨识时,选用白噪声信号作为系统的输入信号,以提高系统的辨识精度;另外,为了得到神经网络控制器的初始化权值,本文在自整定过程中采用常规PID控制器整定方法之一的稳定边界法。

在设计过程中运用MATLAB语言工具箱进行编程,并通过SIMULINK动态仿真工具对一阶非线性对象进行了仿真。

仿真结果表明了利用神经网络对系统进行辨识的有效性,并用经辨识所得到的输出值取代系统的实际输出值,利用神经网络NNC对系统进行控制,获得了满意的控制效果。

关键词:神经网络,BP学习算法,自适应,参数优化,辨识1 综述PID调节器从问世至今已历经了半个多世纪,在这几十年中,人们为它的发展和推广做出了巨大的努力,使之成为工业过程控制中主要的和可靠的技术工具。

近几十年来,现代控制理论迅速发展,出现了许多先进的控制算法,但到目前为止,即使在微处理技术迅速发展的今天,过程控制中大部分控制规律都未能离开PID,这充分说明PID控制仍具有很强的生命力。

过程工业控制中实际应用最多的仍是常规的PID控制算法,这是因为PID控制具有结构简单、容易实现、控制效果好和鲁棒性强等特点,且PID算法原理简明,参数物理意义明确,理论分析体系完整,为广大控制工程师所熟悉。

但在生产现场往往由于参数整定不好而使PID控制器控制效果欠佳,整定的好坏不但会影响到控制质量,而且还会影响到控制器的性能。

PID控制中一个至关重要的问题,就是控制器三参数(比例系数、积分时间、微分时间)的整定。

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

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

基于BP神经⽹络的PID控制器设计基于BP神经⽹络的PID控制器设计班级:21班学号:2014561姓名:常临妍摘要常规PID控制技术是⼯业控制中⼀种常⽤的控制⽅法。

其结构简单、容易实现、控制效果良好,且能对相当⼀些⼯业对象或过程进⾏有效的控制,已得到⼴泛应⽤。

但其局限性在于:当控制对象不同,或被控对象具有复杂的⾮线性特性时,难以建⽴精确的数学模型。

控制器的参数难以⾃动调整以适应外界环境的变化。

且由于对象和环境的不确定性,往往难以达到满意的控制效果。

为了使控制器具有较好的⾃适应性,实现控制器参数的⾃动调整,可以借助BP神经⽹络控制的⽅法。

BP神经⽹络已被证明具有逼近任意连续有界⾮线性函数的能⼒,给⾮线性控制带来了新的思路。

利⽤⼈⼯神经⽹络的⾃适应能⼒,并结合传统的PID控制理论,构造神经⽹络PID控制器,实现控制器参数的⾃动调整。

本⽂研究了基于BP神经⽹络的PID控制器设计,利⽤BP神经⽹络的⾃适应能⼒进⾏在线参数整定。

其实现具有⾃适应性等特点,⽹络的收敛速度快,能够对⾮线性对象有很好的控制,系统的跟踪性能好。

其参数设定⽆需知道被控对象的具体参数及其数学模型,对不同的对象具有适应性。

关键词:PID控制BP神经⽹络控制器设计⼀.绪论1.1神经元⽹络PID的发展历程1934年,美国⼼理学家W.McCulloch和数学家W.Pitts⽤数学模型对神经系统中的神经元进⾏理论建模,建⽴了MP神经元模型。

MP神经元模型⾸次⽤简单的数学模型模仿出⽣物神经元活动功能,并揭⽰了通过神经元的相互连接和简单的数学计算,可以进⾏相当复杂的逻辑运算这⼀事实。

1957年,美国计算机学家F.Rosenblatt提出了著名的感知器模型。

它是⼀个具有连续可调权值⽮量的MP神经⽹络模型,经过训练可达到对⼀定输⼊⽮量模型进⾏识别的⽬的。

1959年,美国⼯程师B.Widrow和M.Hoff提出了⾃适应线性元件。

它与感知器的主要不同之处在于其神经元有⼀个线性激活函数,这允许输出可以是任意值,⽽不仅仅只是像感知器中那样只能取0或1。

基于BP算法的神经网络PID控制器设计及仿真

基于BP算法的神经网络PID控制器设计及仿真

se s s G 5.01101)(−+=()(1)[(1)]()[()2(1)(2)]/p I D Iu k u k K e k K e k K e k e k e k T T =−+−++−−+−神经网络PID 控制器的设计及仿真一、传统PID 控制数字PID 控制算法分位置式和增量式两种,工程上常用的增量式PID 控制算法,其控制算式为:式中,pK 为比例系数,I K =p K /T T为积分系数,/D D K T T =为微分系数,T 为采样周期,IT 为积分时间,DT 为微分时间,()e k 为t kT =时刻的误差。

上述PID 控制算法易于用微机软件实现,PID 控制系统框图如图示。

现有一被控对象为:根据“稳定边界法”即临界比例度法,来整定调节器的参数,带入“稳定边界法整定参数计算表”得到,当采取P 调节时,KP=16,;当采取PI 调节时,KP=14.545,i T =1.7;当采取PID 调节时,KP=18.824,i T =1,d T =0.25。

通过Simulink 进行如下图所示的仿真:仿真结果如下图所示:二、基于BP算法的PID控制基于BP神经网络的PID控制系统结构如下图所示,控制器由两个部分组成:①经典的PID控制器:直接对被控对象进行闭环控制,并且KP,KI,KD三个参数为在线P,I,D整定;②神经网络NN:根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化。

即使神经网络的输出层神经元的输出状态对应于PID控制器的三个可调参数KP,KI,KD,通过神经网络的自学习、调整权系数,从而使其稳定P,I,D状态对应于某种最优控制规律下的PID控制器参数。

在这里设计的BP网络采用结构简单的三层BP神经网络,其结构如下图所示,有m个输入节点、Q个隐含层节点、3个输出节点。

输入节点对应所选的系统运行状态量,如系统不同时刻的输入量和输出量等,必要时要进行归一化K K K。

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

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

基于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型函数作为活化函数,利用其连续可导性,便于引入最小二乘学习算法,即在网络学习过程中,使网络的输出与期望输出的误差边向后传播边修正加权系数,以期使误差均方值最小。

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

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

学科採紊Disciplines Exploration基于神经网络的PID控制器的设计解登宇(安徽机电工程学校安徽•凤阳233100)摘要本文应用人工神经网络原理和PID控制规律,介绍了一种基于神经网络自学习自适应PID控制器。

该控制器 即具有常规PID控制器简单、参数物理意义明确之优点,同时具有神经网络自学习自适应的功能。

并利用神经网络的 自学习功能实现PID控制参数在线整定。

并在MATLAB下进行仿真,仿真结果表明基于B P神经网络的PID控制器 具有较好自学习性和自适应性。

关键词神经网络PID控制器B P算法参数整定中图分类号:TP273.5 文献标识码:A DOI:10.16400/ki.kjdkx.2020.07.034Design of PID Controller Based on Neural NetworkXIE Dengyu(Anhui Electrical and Mechanical Engineering School, Fengyang, Anhui 233100) Abstract Guided by the principle of artificial neural network and principles of PID control,a neural network PID controller based on BP is introduced in this paper,which has self-study and self-adaptation.The system has the merits of any PID con­troller for its simple construction and definite physical meaning of parameters,and also has the self-study and adaptive func­tions.The parameters of PID controller are modified on line by using the leaning ability of BP neural network.This control method is satisfied in MATLAB.Simulation result shows that PID controller based on the BP neural network have advantage in self-study and adaptability.Keywords neural network;PID controller;BP algorithm;parameter tuning〇引言比例-积分-微分(PID)控制是一种广泛应用于工业过程控制和电力驱动,以及保持线性和非线性系统稳定工作的技术,采用PID控制器可以有效地减小超调量。

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

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

基于BP神经网络的PID控制器设计1.引言在工业控制系统中,PID(比例、积分、微分)控制器被广泛应用于各种自动控制任务。

然而,传统的PID控制器在处理非线性、时变以及多输入多输出(MIMO)系统时存在一些固有的局限性。

为了克服这些问题,本文提出了基于BP神经网络的PID控制器设计方法。

2.BP神经网络BP神经网络是一种前向反馈的人工神经网络,具有强大的非线性建模能力和自适应性能。

它由输入层、隐藏层和输出层组成,每个神经元与前一层的所有神经元和后一层的所有神经元连接。

BP神经网络通过反向传播算法来训练权重和偏置,实现输入与输出之间的映射关系。

3.PID控制器PID控制器由比例项、积分项和微分项组成,具有良好的稳定性和抗干扰能力。

比例项根据控制误差与参考值的比例进行调整,积分项根据控制误差与时间的积分进行调整,微分项根据控制误差的变化率进行调整。

4.BP神经网络与PID控制器结合将BP神经网络与PID控制器相结合,可以克服传统PID控制器在处理非线性、时变和MIMO系统时的局限性。

具体而言,可以使用BP神经网络来精确建模控制对象的非线性行为,并将其应用于PID控制器中,实现自适应调节。

在实际应用中,可以按照以下步骤进行基于BP神经网络的PID控制器设计:(1)收集系统输入输出数据,并进行预处理,例如归一化处理。

(2)使用BP神经网络对控制对象进行建模。

选择适当的网络结构、激活函数和误差函数,并使用反向传播算法进行网络训练。

(3)设计PID控制器,确定比例项、积分项和微分项的权重。

(4)将BP神经网络的输出作为PID控制器的输入,进行控制操作。

根据控制误差和调节参数,调整PID控制器的输出。

(5)反复迭代并调整BP神经网络和PID控制器的参数,使系统能够快速、准确地响应控制需求。

5.实验验证为了验证基于BP神经网络的PID控制器的有效性,可以选择一个具有非线性、时变特性的控制对象进行实验。

在实验中,可以使用MATLAB或其他神经网络工具箱来实现BP神经网络,并结合传统PID控制器进行控制。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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');五、运行结果六、总结随着科学技术的发展,智能控制技术必会日趋完善,并且能够在更多的领域上应用。

相关文档
最新文档