模糊与BP神经网络PID
bp神经网络在pid控制器参数整定中的应用
bp神经网络在pid控制器参数整定中的应用PID控制器(PID, Proportional-Integral-Derivative)是近几十年来应用最为广泛,最成功的控制系统之一,用于正确、稳定地控制各种过程,是目前工业过程控制领域的主要技术。
目前,PID控制器的参数设置方法以人工方法为主,但由于人工方法的受限性,一般只能获得较为粗糙的参数。
在这种情况下,基于神经网络的自动参数整定方法以其快速和准确的特点得到了广泛的应用。
其中,bp神经网络是一种具有广泛应用前景的神经网络模型,它具有自适应特性,可以用于PID控制器参数整定。
首先,利用bp神经网络对过程模型进行研究,根据实际情况确定合理的PID参数,然后利用bp神经网络进行参数自动整定,构建出较为精确的控制系统,用以让过程回路的稳定性和控制精度达到最优。
此外,bp神经网络还可以应用于复杂的线性和非线性双向控制系统,如液位控制、温度控制等,增强了系统的可控性,并大大提高了控制性能和控制质量。
利用bp神经网络实现PID控制器参数自动整定,可以有效提高控制器在不同情况下的精度和可靠性,解决人工方法难以满足的实际控制需求,具有广泛的应用前景。
同时,bp模型本身也有一定的缺陷,例如计算时间长,精度不够等,因此今后有必要进行深入的研究,以发展更先进的控制方法,使之能够更全面地运用于工业过程中。
综上所述,基于bp神经网络的PID控制器参数整定技术是当今应用技术中的一个热点,具有巨大的应用潜力。
它可以有效改善PID 控制系统的性能,并且能够满足不同应用场合的需求,为工业过程控制技术的发展提供了有力的支持。
未来,将继续围绕bp神经网络模型,进行系统的性能分析及参数设计,以更好地服务工业过程控制的发展。
BP神经网络PID控制
BP 神经网络PID 控制BP 神经网络的原理不再赘述,采用BP 神经控制对PID 进行参数整定的原理框图如下:BP 神经网络可以根据系统运行的状态,对PID 参数Kp,Ki 和Kd 进行调节,使系统达到最优的控制状态。
经典的增量式数字PID 的控制算法为:()(1)()()(()(1))()(()2(1)(2))p I D u k u k u k u k K e k e k K e k K e k e k e k =-+∆⎧⎨∆=--++--+-⎩采用三层BP 神经网络结构。
输入层神经元个数可根据被控系统的复杂程度选取。
可从如下参数中选取,系统输入in r ,系统输出out y ,系统误差e ,和误差变量e ∆,可在系统误差e 的基础之上再加上其他参数输入,使BP 神经网络能够适应更为复杂的系统的PID 参数整定。
隐层神经元的个数视被控系统的复杂程度进行调整,一本系统复杂时,就需选用更多的隐层神经元。
输出层的神经元个数为3个,输出分别为Kp,Ki 和Kd 。
隐层神经元函数一般选取正负对称的sigmoid 函数:(2)()x xsx xe e fx e e ---=+由于Kp,Ki 和Kd 必须为正,则输出层神经元函数的输出值一般可以选取正的sigmoid 函数:(3)1()1s xf x e -=+系统性能指标取:1()(()())2in out E k r k y k =-采用梯度下降法对BP 神经网络的参数进行调整:设输入层的个数为N ,输出向量为(1)O ,隐层个数为H ,输入阵为(2)W ,为H ×N 维向量,输出层的个数为3,输入阵设为(3)W 。
令(1)(1)(1)(1)12[,,,]TN OO O O =设隐层的输入向量为(2)(1)hi W O =,hi 为列向量,第j 个隐层神经元的输入:(2)(1)1Nj ji ii hi w O ==∑,(1,2,j H =)第j 个神经元的输出为(2)()j s j ho f hi =; 输出层的输入(3)(3)I W ho =,输出为(3)(3)(3)()[,,]T s p I D Of I K K K ==按照梯度下降法修正网络权系数,按E(k)的负方向调整系统,并且加一个是搜索加快的收敛全局极小的惯性量:(3)(3)(3)()()(1)oj oj ojE k W k W k W ηα∂∆=-+∆-∂,其中η为学习速率,α为平滑因子; (3)(3)(3)(3)(3)(3)()()()()()()()()()()()oo oj o o oj O k I k E k E k y k u k W y k u k O k I k W k ∂∂∂∂∂∂∆=∂∂∂∆∂∂∂(1,2,3o =,1,2,j H =)其中(3)oj W 为(3)W 的第o 行和第j 列。
BP神经网络在PID参数自整定中的应用
摘要摘要PID控制方法是经典控制算法中的典型代表,并在多种控制场合取得了很好的效果,但随着生产工艺的日益复杂和人们对工业过程总体性能要求的不断提高,被控对象越来越复杂,大量非线性控制对象的出现,传统的PID控制方法往往难以满足闭环优化控制的要求。
而神经网络作为现代信息处理技术的一种,正在很多应用中显示了它的优越性,神经网络PID控制技术在其中扮演了十分重要的角色,并且仍将成为未来研究与应用的重点技术之一。
本文阐述了神经网络PID控制算法的基本原理,并对几种典型的神经网络PID控制器的控制性能进行了分析。
关键词:神经网络;PID控制;Matlab仿真;梯度搜索算法;BP算法IABSTRACTABSTRACTThe PID control method is one of the traditional eontrol methods and gets good effects under many application situation.But with the increase in complexity of manufacture technics and demands of industrial process performance,the conventional PID control can not meet the requirement of closed loop optimized control.Neural network,as one of modern information proeess technologies,has some advantages in many application.Neural network PID control teehnology in which Plays a very imPortant role,and will become one of the focus of the research and application of teehnology.In this paper ,we describes the basic principles of neural network PID control arithmetic, and form the simulinks of Neural network PID controller,analyse their differences.Keywords:Neural Networks;PID Control;Matlab Simulation;Gradient Search Arithmetic;BP ArithmeticII目录第一章引言 (1)1.1神经网络PID控制器研究现状及发展态势 (1)1.2选题依据及意义 (1)1.3课题研究内容 (2)1.4课题的目标与拟解决的问题 (2)第二章人工神经网络 (3)2.1 人工神经网络的发展 (3)2.2 生物神经元 (4)2.3 人工神经网络的结构 (5)2.3.1人工神经元及其激活函数 (6)2.3.2 神经网络的拓扑结构 (8)2.4 神经网络的学习 (10)2.4.1 神经网络的学习方式 (10)2.4.2 神经网络学习算法 (11)2.5神经网络的特点及其应用 (13)2.5.1 神经网络的特点 (13)2.5.2 神经网络的应用 (13)第三章传统PID控制 (14)3.1 传统PID控制简介 (14)3.2 数字PID控制算法 (15)3.3 PID控制的参数及其整定 (15)3.3.1 PID控制参数对性能的影响 (15)3.3.2 PID控制参数的整定 (16)3.4 传统PID控制的难题 (17)第四章BP神经网络PID控制器 (19)4.1 神经网络用于控制领域 (19)4.2 神经网络PID控制研究的意义与现状 (19)4.3 BP神经网络 (20)4.4 BP神经网络参数自整定PID控制器 (22)4.5 BP神经网络近似PID控制器 (26)III第五章BP神经网络PID控制器的编程与仿真 (29)5.1 编程语言Matlab语言简介 (29)5.2 BP神经网络自整定PID控制器的编程实现 (30)5.2.1参数初始化核心代码 (30)5.2.2 前馈计算核心代码 (30)5.2.3 误差反传核心代码 (31)5.3 BP神经网络自整定PID控制器的仿真 (32)5.4 BP神经网络近似PID控制器的编程实现 (38)5.5 BP神经网络近似PID控制器的仿真测试 (39)5.6 本章小结 (41)结束语 (42)参考文献 (43)致谢 (44)附录一:神经自整定PID控制器的M程序 (45)附录二:神经近似PID控制器的M程序 (48)外文资料原文 (51)外文资料译文 (54)IV第一章引言第一章引言1.1神经网络PID控制器研究现状及发展态势PID控制器从问世至今已经几十年了,成为工业过程控制中主要技术成功应用于机械冶金电力和轻工等工业过程控制领域中[1],对于PID控制器来说,要想得到较理想的控制效果,必须先对其三个参数:即比例系数( Kp ),微分系数( Ki ),微分系数( Kd )进行优化。
基于模糊神经网络的智能优化PID控制器研究的开题报告
基于模糊神经网络的智能优化PID控制器研究的开题报告题目:基于模糊神经网络的智能优化PID控制器研究研究背景:PID控制器是一种经典的控制器,具有计算简单、易于实现、稳定性好等优点,广泛应用于工业控制系统中。
但是,传统的PID控制器存在参数难以确定、适应性不强等问题,难以满足某些特定的控制需求。
因此,如何提高PID控制器的性能一直是研究的热点。
研究内容:本研究旨在探究基于模糊神经网络的智能优化PID控制器。
具体研究内容如下:1. 分析PID控制器的特点及存在的问题。
2. 分析模糊神经网络的原理及优点。
3. 建立基于模糊神经网络的智能优化PID控制模型。
4. 根据实际需求设计模糊神经网络的输入输出变量,并训练网络。
5. 在仿真平台上验证该控制方法的性能,对比传统PID控制器的控制效果。
研究意义:本研究将探究基于模糊神经网络的智能优化PID控制方法,具有以下意义:1. 提高PID控制器的性能,使得控制更加准确、稳定。
2. 增强PID控制器的适应性,使得其能够应对更加复杂的控制需求。
3. 推广模糊神经网络在控制领域的应用,为智能控制技术的发展做出贡献。
研究方法:本研究采用理论分析与仿真实验相结合的方法,具体研究流程如下:1. 对PID控制器进行理论分析,分析其特点及存在的问题。
2. 学习模糊神经网络原理,设计模型并进行模拟实验。
3. 设计仿真实验,对比模糊神经网络优化PID控制器与传统PID控制器的控制效果。
研究计划:本研究预计分为以下几个阶段:1. 第一阶段:研究PID控制器原理,了解控制器的特点及存在的问题。
2. 第二阶段:学习模糊神经网络原理,设计模型并进行模拟实验。
3. 第三阶段:设计仿真实验,对比模糊神经网络优化PID控制器与传统PID控制器的控制效果。
4. 第四阶段:进行实验数据分析,撰写论文。
研究预期成果:1. 提出基于模糊神经网络的智能优化PID控制方法。
2. 仿真实验验证该控制方法的有效性。
模糊神经网络PID设计方法及其优缺点
实验名称一.实验目的1.了解掌握传统PID控制原理及其基本的参数整定方法;2.了解掌握模糊控制原理及其优缺点;3.了解掌握神经网络原理及其优缺点;4.掌握将传统PID控制与模糊控制结合、传统PID控制与神经网络控制结合以及将传统PID控制、模糊控制与神经网络控制三者结合起来有效地解决控制问题。
二.实验内容1.分别改变PID参数中的Kp,Ti,Td,比较PID参数对控制系统的影响;2.选取Ziegler-Nichols法则对传统PID经行参数整定;3.选取合适的隶属度函数设计模糊控制PID;4.选取一种合适方式,设计神经网络与模糊控制结合的PID控制器。
三.实验原理1.常规PID原理常规PID控制系统框图如图3-1所示。
控制系统由PID控制器和被对象组成。
图3-1.传统PID控制系统原理图PID控制器是一种线性控制器,它根据给定值r(t)与实际输出值y(t)构成控制偏差e(t)=r(t)一y(t)将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制,其控制规律为u (t )=K P (e (t )+1T I ∫e (t )dtt0+T D de(t)dt)或写成传递函数形式:G (s )=U(s)E(s)=K p (1+1T is +T d s)式中:Kp ——比例系数;Ti ——积分时间常数;Td 微分时间常数;2.Ziegler-Nichols 法则整定PID基于临界增益Kcr 和临界周期Pcr 的2. Ziegler-Nichols 整定法则3.模糊PID 控制器设计原理模糊控制是以模糊集合论、模糊语言变量及模糊逻辑推理为基础的计算机智能控制。
模糊控制的基本原理框图如图3-2所示。
它的核心部分为模糊控制器,模糊控制器的控制规律由计算机的程序实现。
实现一步模糊控制算法的过程描述如下:微机经终端采样获取被控制量的精确值,然后将此量与给定值比较得到偏差信号E ,一般选偏差信号E 作为模糊控制器的一个输入量。
基于BP神经网络的温度模糊PID控制器设计
基于BP神经网络的温度模糊PID控制器设计作者:张咏军王航宇来源:《现代电子技术》2008年第07期摘要:根据BP神经网络对温度控制的要求设计出一种模糊PID控制器,采用误差和误差变化率作为模糊PID控制器的输入,PID参数作为模糊PID控制器的输出,使用一组模糊规则实现对PID参数的在线优化调节。
采用Simulink图形化工具平台对模糊PID控制器和传统的PID控制器进行建模和仿真,结果表明和传统PID控制器相比,模糊PID控制器性能优良,使系统响应速度加快,超调减小。
关键词:BP神经网络;模糊控制;模糊PID控制;隶属函数中图分类号:TP21文献标识码:B文章编号:1004-373X(2008)07-133-Design of Temprature Fuzzy PID Controller Based on BP Neural Network(Xi′an A eronauntical Polytechnic Institute,Xi′an,710089,China)Abstract:A fuzzy PID controller towards BP neural network temprature control is designed with input parameters of error and derivative of error and output parameters of PID parameters which could be regulated sensitively by a set of fuzzy disciplines.The fuzzy PID controller model and PID controller model are set up and simulated through Simulink with the final result showing better characteristics of fuzzy PID control compared with PID control such as minimal overshoot and more quick response.Keywords:BP neural network;fuzzy control;fuzzy PID control;membership function神经网络控制的研究始于20世纪60年代,1960年,widrow和Hoff首先把神经网络用于控制系统,Kilme和McCulloch提出了KMB神经网络模型,并在“阿波罗”登月计划中应用取得良好的效果。
基于BP神经网络PID整定原理和算法步骤
基于BP神经网络PID整定原理和算法步骤BP神经网络是一种常用的非线性拟合和模式识别方法,可以在一定程度上应用于PID整定中,提高调节器的自适应性。
下面将详细介绍基于BP神经网络的PID整定原理和算法步骤。
一、基本原理:BP神经网络是一种具有反馈连接的前向人工神经网络,通过训练样本的输入和输出数据,通过调整神经元之间的连接权重来模拟输入和输出之间的映射关系。
在PID整定中,可以将PID控制器的参数作为网络的输入,将控制效果指标作为网络的输出,通过训练网络来获取最优的PID参数。
二、算法步骤:1.确定训练数据集:选择一组适当的PID参数和相应的控制效果指标作为训练数据集,包括输入和输出数据。
2.构建BP神经网络模型:确定输入层、隐藏层和输出层的神经元数量,并随机初始化神经元之间的连接权重。
3.设置训练参数:设置学习速率、误差收敛条件和训练迭代次数等训练参数。
4.前向传播计算输出:将训练数据集的输入作为网络的输入,通过前向传播计算得到网络的输出。
5.反向传播更新权重:根据输出与期望输出之间的误差,利用误差反向传播算法来调整网络的连接权重,使误差逐渐减小。
6.判断是否达到收敛条件:判断网络的训练误差是否满足收敛条件,如果满足则跳转到第8步,否则继续迭代。
7.更新训练参数:根据训练误差的变化情况,动态调整学习速率等训练参数。
8.输出最优PID参数:将BP神经网络训练得到的最优权重作为PID 控制器的参数。
9.测试PID控制器:将最优PID参数应用于实际控制系统中,观察控制效果并进行评估。
10.调整PID参数:根据实际控制效果,对PID参数进行微调,以进一步优化控制性能。
三、应用注意事项:1.训练数据集的选择应尽量全面、充分,覆盖各种不同工况和负载情况。
2.隐藏层神经元数量的选择应根据实际情况进行合理调整,避免过拟合或欠拟合现象。
3.学习速率和训练迭代次数的设置应根据系统复杂度和训练误差的变化情况进行调整。
基于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神经网
络是一种人工神经网络,可以模拟人类神经系统的信息处理功能,用
于复杂系统建模和控制,在PID控制器参数整定中得到了广泛的应用。
一般来说,PID控制器由三部分组成:比例、积分和微分。
根据常
规PID控制调节策略,需要经过多次实验调整参数,以获得最佳控制
效果。
然而,传统的参数调整方法难以满足快速改变的系统和复杂的
控制系统的变化需求,因此,BP神经网络的出现为PID控制参数整定
提供了一种新的思路和手段。
BP神经网络可以用于自动调整PID参数,具有更高的效率和更好
的精度。
通过将系统模型形式化为BP神经网络,可实现基于模型的
PID调节策略,使得调节参数直接从系统模型获得,从而极大地减少参
数的调节时间。
此外,BP神经网络还可以用于故障诊断,如特征提取、特征识别和故障诊断。
可以说,BP神经网络的出现,大大提高了控制
器参数的整定效率和精度。
因此,BP神经网络已成为PID控制器参数整定的重要工具。
它不
仅可以大大提高控制参数调整效率,而且还可以更准确地预测控制系
统的行为。
同时,BP神经网络也可以用于诊断和保护,以确保系统更
加稳定和可靠。
因此,BP神经网络在PID控制器参数整定中应用广泛。
不同PID控制算法的温控器在温度控制中的应用
不同PID控制算法的温控器在温度控制中的应用仪表制造有限公司工程师在本文介绍各种PID控制算法的温控器的控制特性、功能及主要应用场合,对大家合理选用用于温度控制的温控器具有很强实用性。
常用温控器控制算法包括常规PID、模糊控制、神经网络、Fuzzy-PID、神经网络PID、模糊神经网络、遗传PID及广义预测等PID算法。
常规PID控制易于建立线性温度控制系统被控对象模型;模糊控制基于规则库,并以绝对或增量形式给出控制决策;神经网络控制采用数理模型模拟生物神经细胞结构,并用简单处理单元连接成复杂网络;Puzzy-PID为线性控制,且结合模糊与PID控制优点。
1、引言温度控制系统是变参数、有时滞和随机干扰的动态系统,为达到满意的控制效果,具有许多控制方法。
故对几种常见的控制方法及其优缺点进行了分析与比较。
2、常见温度控制方法2.1 常规经典PID控制算法的PID控制PID控制即比例、积分、微分控制,其结构简单实用,常用于工业生产领域。
原理如图1。
图1 常见PID控制系统的原理框图明显缺点是现场PID参数整定麻烦,易受外界干扰,对于滞后大的过程控制,调节时间过长。
其控制算法需要预先建立模型,对系统动态特性的影响很难归并到模型中。
在我国大多数PID调节器厂家生产的温控器均为常规经典PID控制算法。
2.2 模糊PID控制算法的PID控制模糊控制(Fuzzy Control)是以模糊集合论、模糊语言变量及模糊逻辑推理为基础的计算机控制。
原理如图2。
昌晖仪表YR-GFD系列傻瓜式PID调节器使用的就是模糊控制PID控制算法。
图2 模糊控制系统原理框图2.3 神经网络PID控制算法的PID控制神经网络控制采用数理模型的方法模拟生物神经细胞结构,用简单处理单元连接形成各种复杂网络,并采用误差反向传播算法(BP)。
原理如图3:图3 神经网络控制系统的原理框图2.4 Fuzzy-PID控制算法的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调速方法及其系统[发明专利]
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202010329784.8(22)申请日 2020.04.24(71)申请人 成都理工大学工程技术学院地址 614000 四川省乐山市市中区肖坝路222号(72)发明人 许丽 (74)专利代理机构 成都市集智汇华知识产权代理事务所(普通合伙) 51237代理人 李华 温黎娟(51)Int.Cl.H02P 23/00(2016.01)H02P 23/14(2006.01)(54)发明名称一种基于BP模糊神经网络的PID调速方法及其系统(57)摘要本发明公开了一种基于BP模糊神经网络的PID调速方法及其系统,包括:S1:获取电机第一时刻的第一转速误差数据;S2:基于所述第一转速误差数据和第一模糊控制函数生成第一增益系数;S3:基于所述第一增益系数生成用于控制电机转速的第一比例系数。
本发明通过使用BP模糊神经网络改进PID调速方法,使得调速系统具有更强的抗干扰能力,有效降低了响应时间和调节时间。
同时,通过进一步改进神经网络的训练方法,进一步降低了转速的超调量,同时避免了造成电网产生谐波,有效地解决了因电网产生谐波造成的能源浪费问题。
权利要求书2页 说明书6页 附图5页CN 111711400 A 2020.09.25C N 111711400A1.一种基于BP模糊神经网络的PID调速方法,其特征在于,包括:S1:获取电机第一时刻的第一转速误差数据;S2:基于所述第一转速误差数据和第一模糊控制函数生成第一增益系数;S3:基于所述第一增益系数生成用于控制电机转速的第一比例系数。
2.根据权利要求1所述的PID调速方法,其特征在于,所述方法还包括:S4:获取电机第二时刻的第二转速误差数据,并生成误差变化率数据;S5:基于所述第二转速误差数据和所述误差变化率数据生成第二模糊控制函数;S6:基于所述第二转速误差数据和所述第二模糊控制函数生成第二增益系数;S7:基于所述第二增益系数生成用于进一步控制电机转速的第二比例系数。
BP神经网络与PID控制的结合
神经网络可以指向两种,一个是生物神经网络,一 个是人工神经网络。
生物神经网络主要是指人脑的神经网络。人脑是人 类思维的物质基础,思维的功能定位在大脑皮层, 后者含有大约1011个神经元,每个神经元又通过神 经突触与大约103个其它神经元相连,形成一个高度 复杂高度灵活的动态网络。作为一门学科,生物神 经网络主要研究人脑神经网络的结构、功能及其工 作机制,意在探索人脑思维和智能活动的规律。
周而复始的信息正向传播和误差反向传播过程,是 各层权值不断调整的过程,也是神经网络学习训练 的过程,此过程一直进行到网络输出的误差减少到 可以接受的程度,或者预先设定的学习次数为止。
PID控制
PID控制器(比例-积分-微分控制器)是一个在 工业控制应用中常见的反馈回路部件,由比例单元 P 、积分单元I 和微分单元D 组成。PID 控制的基础 是比例控制;积分控制可消除稳态误差,但可能增 加超调;微分控制可加快大惯性系统响应速度以及 减弱超调趋势。
人工神经网络(Artificial Neural Network, 即ANN ),是20世纪80年代以来人工智能领域兴起 的研究热点。它从信息处理角度对人脑神经元网络 进行抽象,建立某种简单模型,按不同的连接方式 组成不同的网络。所以它的技术原型就是自然神经 网络。在工程与学术界也常直接简称为神经网络或 类神经网络。人工神经网络是一种运算模型,由大 量的节点(或称神经元)之间相互联接构成。
(3) 置k=k+1,返回到(1)。
总结
将神经网络与PID控制相结合,利用神经网络的 自学习能力和逼近任意函数的能力,可在线进行PID 参数调整,有效地控制较复杂的被控对象,大大改 善了常规PID控制器的性能,同时也显示了神经网络 在解决高度非线性和严重不确定系统方面的潜能。 所以BP神经网络PID控制比传统的PID控制具有更好 的控制特性。
PID控制和模糊\神经元PID控制比较研究与仿真
PID控制和模糊\神经元PID控制比较研究与仿真工业控制过程中存在很多复杂的非线性过程、难以建立精确的数学模型,传统控制方法很难实现精度要求。
本文将传统PID控制、模糊PID控制和神经元PID控制方法进行比较分析,进行了仿真结果比较,可以看出智能PID控制具有较大的优势。
标签:PID控制模糊控制神经元PID 仿真现代工业控制中很多被控制对象存在着非线性严重和较大的时间滞后性,难以建立精确的数学模型,用传统PID控制难于达到满意的控制效果。
本文将传统PID控制方法、模糊PID控制和神经元PID控制方法进行比较分析,通过仿真结果,可以看出这智能控制方法的优势。
1 模糊PID控制器设计模糊PID控制是通过计算系统误差e和误差变化ec,进行模糊推理,查询模糊矩阵,对PID三参数进行在线修改,从而使被控对象具有良好的动、静态性能,控制器结构如图1所示。
此模糊控制器为2输入,3输出系统,定义误差e、误差变化ec和Kp,Ki,Kd的模糊子集均为{NB,NM,NS,ZO,PS,PM,PB},物理意义为:{负大,负中,负小,零,正小,正中,正大}。
误差e的基本论域定为[-6,6]、误差变化ec的基本论域为[-3,3],取量化因子Ke=0.5,Kec=1,Kp,Ki,Kd三个参数的比例因子分别为:Kup=1,Kui=0.001,Kud=1,采用最大隶属度法。
2 神经元PID控制器设计单神经元控制具有结构简单、易于计算、自组织、自学习等特点,适合实时控制。
为此在增量式PID控制器基础上设计了神经元自适应PID控制器。
增量式PID控制器算法:Ki为积分系数,Kp为比例增益,Kd为微分系数,△2为差分的平方,△2=1-2z-1+z-2。
控制器结构如图2所示。
图中:rin(k)为设定值,yout(k)为输出值,x1,x2,x3是经转换器转换成为神经元的输入量,w1,w2,w3为对应于x1,x2,x3输入的加权系数,为神经元的比例系数:则单神经元自适应PID的控制算法为:权系数学习规则采用有监督Hebb学习规则,它与神经元的输入、输出和输出偏差三者函数关系如下:式中:ri(k)为递进信号,ri(k)随过程进行逐渐衰减,权系数wi(k)正比于递进信号ri(k);z(k)为输出误差信号,c为智能控制比例因子,η 为学习速率,η>0。
模糊神经网络PID设计方法及其优缺点
模糊神经网络PID设计方法及其优缺点模糊神经网络(FNN)PID设计方法是结合了模糊控制和神经网络技术的一种控制方法。
它将模糊控制的模糊推理和神经网络的学习能力相结合,既保留了模糊控制的灵活性和鲁棒性,又克服了传统模糊控制中参数调整困难的问题。
下面将从模糊神经网络PID设计方法的步骤和优缺点两个方面进行详细介绍。
1.建立模糊控制器:基于经验规则和专家知识,设计出模糊控制器的输入、输出变量和规则库,建立模糊推理机制。
2.构建神经网络:选择合适的神经网络结构,如多层前馈神经网络,确定网络的输入、输出节点数量,并初始化网络权值和偏置。
3.训练神经网络:将模糊控制器的输入、输出与期望的控制效果作为训练样本,通过反向传播算法对神经网络的权值和偏置进行训练优化,使得网络能够逼近模糊控制器的行为。
4.联合优化:通过联合调整模糊控制器的输入输出参数和神经网络的权值和偏置,得到最佳的控制器性能。
1.灵活性强:可以根据具体的控制需求和控制对象进行个性化设计,适用于各种复杂的非线性系统。
2.鲁棒性好:在面对系统参数变化和外部扰动等问题时,模糊神经网络PID控制器能够保持较好的控制性能。
3.自适应性强:模糊神经网络PID控制器具有自学习的能力,能够根据实际控制效果进行调整和优化。
1.参数选择困难:模糊神经网络PID设计涉及到许多参数的选择,如模糊控制器的输入输出变量划分和规则库的设计,神经网络的结构和初始权值等,参数选择不当可能导致控制性能差。
2.计算复杂度高:由于模糊神经网络PID设计方法需要进行模糊推理和神经网络训练,在实际应用中可能会面临计算复杂度高的问题。
3.调试和调整难度大:由于模糊神经网络PID控制器的结构复杂性,需要对模糊控制器的规则库和神经网络的权值和结构进行调试和调整,这增加了工程师的设计、调试和优化难度。
总结起来,模糊神经网络PID设计方法是一种结合了模糊控制和神经网络技术的控制方法,具有灵活性强、鲁棒性好和自适应性强的优点。
基于模糊神经网络的PID控制器设计研究
基于模糊神经网络的PID控制器设计研究在自动控制领域中,PID控制器是应用最广泛的一种控制器,也是控制理论中的基础知识。
PID控制器的优点是简单易用,但是在某些复杂控制系统中,仅仅利用PID控制器进行控制却难以达到较好的控制效果。
由此,设计一套基于模糊神经网络的PID控制器成为了必要的措施。
一、模糊神经网络模糊神经网络“Fuzzy Neural Network”是一种结合了模糊逻辑和神经网络的控制器。
模糊神经网络继承了模糊控制和神经网络的优点,而且还具有简单、直观、适应能力强等优点。
它可以用于解决模糊、不确定性较大的控制问题,因此,被广泛应用于某些环境及时间难以确定的系统,可实现自动控制、诊断、监测等多种功能。
二、PID控制器常见的PID控制器是由比例控制器、积分控制器和微分控制器组成,称为PID控制器。
比例控制器将当前偏差放大后与设定值进行比较,输出控制信号;积分控制器对过去一段时间内的偏差进行积分,用于消除稳态误差;微分控制器则对偏差变化率进行处理,用于快速响应于设定值的变化,并防止超调现象的产生。
三、模糊PID控制器在某些非线性、耦合、时变的系统中,常规PID控制器容易出现“齐次问题”,导致控制效果不佳。
而模糊PID控制器则能够有效的应对这些问题。
模糊PID控制器的核心是模糊化,通过将控制问题中的模糊变量(如偏差、偏差变化率等)映射为隶属函数,降低了控制误差,提高了控制效能。
而神经网络则具有强大的非线性拟合能力,能够处理噪声和非线性问题,完善了模糊PID控制器的输入和输出。
模糊PID控制器的主要设计步骤:(1)模糊化:将输入与输出变量进行模糊化,即将实际控制量按照一定规则进行量化,转化为模糊化的“模糊量”。
(2)知识库:将PID控制器中的三种控制模式(比例、积分、微分)映射为不同的规则模式,构建基于控制规则的知识库。
(3)模糊推理:通过将控制规则进行模糊化处理,实现对控制对象进行控制。
(4)去模糊:将模糊化后的输出信号恢复为实际输出信号,并输出到控制对象中进行控制。
基于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控制器进行控制。
神经pid,模糊pid,常规pid的matlab比较
图4.BP神经网络PID系统输出响应曲线图6. PID 参数自适应模糊控制器系统框图图7.e,ec,Kp,Ki,Kd的隶属度函数通过不断进行仿真实验和借鉴专家经验可以得到如下的49条规则:图8.模糊PID控制系统输出曲线图9.模糊PID控制系统误差曲线图中1为常规整定PID 阶跃响应曲线,2为BP 神经网络PID 阶跃响应曲线,3为模糊自适应整定PID 阶跃响应曲线。
从曲线中以看出,三种PID控制方式中模糊PID几乎没有超调,调节时间短,控制效果最好;BP 网络PID效果次之;都比常规PID 效果好。
比较图5神经PID与图9模糊PID的误差曲线可以看出,模糊PID具有更短的学习时间。
仿真和实验结果均证明了神经网络PID 控制算法能有效地控制大时滞大惯性的温控系统,将神经网络与PID控制相结合,可以在线调整PID控制器的各个参数,减少了凭经验整定参数带来的误差,提高了温控系统的鲁棒性和自适应性。
此外,神经网络PID控制器还能有效的抑制干扰,而且对对象模型要求不高,具有较好的抗干扰性。
同时也可以进一步优化BP神经网络的结构和算法,使温度控制最终趋于最优,更好地满足实际生产对温度控制的要求。
但是由于该控制器的初始权值是随机值,控制输出在开始时波动很大,随着网络的自学习,不断调整权值控制输出来跟踪输入。
由于神经网络收敛速度慢,回到稳定状态所需时间较长,这个问题有待进一步研究解决。
,模糊PID控制响应几乎没有超调,但是响应速度较慢;在模型失配的情况下,模糊PID虽然产生了震荡,超调量也有所增加,但总体来说还能够保持稳定;在添加干扰后,系统持续产生小幅震荡,但超调量很小,系统整体还是稳定的,抗干扰能力强。
参考文献:1、陶永华.新型PID控制及其应用(第二版) [ M].北京:机械工业出版社,2002.2、杨智,朱海锋,黄以华.PID控制器设计与参数整定方法综述[ J ].化工自动化及仪表,2 005,32 ( 5 ):1-7 .3、杨智.工业自整定P ID调节器关键设计技术综述[J].化工自动化及仪表,2000,27 ( 2 ):5-10.4、王伟,张晶涛,柴天佑.PID参数先进整定方法综述[ J ].自动化学报,2000,26 (5):347-355.5、何宏源,徐进学,金妮.PID继电自整定技术的发展综述[ J ].沈阳工业大学学报,2005,27 (4):4 09-413.6、叶岚.基于继电反馈的PI D控制器的参数整定[ D].上海:上海交通大学自动化系,2007.7、李少远.基于继电反馈的PID控制器的参数整定[D].上海:上海交通大学自动化系,2007.8、吴泽宁等.BP神经网络的改进及应用[J ].河南科学,2003-4:202 -2069、李遵基编著.热工自动控制系统[M].中国电力出版社,1997.1010、俞海斌,褚健.CFB锅炉汽包水位的专家PID控制[J].机电工程,2000(3):103~10611、潘祥高等.模糊PID控制在工业锅炉控制系统中的应用[J].工业出版社,200412、刘金琨.先进PID 控制MA TLAB仿真M7.2 版.北京电子工业出版社,200413、薛定宇.控制系统计算机辅助设计MA TLAB 语言与应用M7.2 版.北京清华大学出版社,2006常规PID实现程序:clear all;close all;ts=10;sys=tf([1],[150,1],'inputdelay',50);dsys=c2d(sys,ts,'z oh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;u_6=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;ei=0;for k=1:1:1000time(k)=k*ts;yout(k)=-den(2)*y_1+num(2)*u_6;rin(k)=1;error(k)=rin(k)-yout(k);ei=ei+error(k)*ts;kp=0.03;kd=1;ki=0.004;u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+ki*ei; if u(k)>=10u(k)=10;endif u(k)<=-10u(k)=-10;endif k==200u(k)=u(k)+1;endu_6=u_5;u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k); y_3=y_2;y_2=y_1;y_1=yout(k);error_2=error_1;error_1=error(k);endfigure(1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,u,'r');xlabel('time(s)');ylabel('u');BP神经网络PID程序:%BP based PID Controlclear all;close all;xite=0.9;IN=4;H=5;Out=3; %NN Structurewi=[-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;x=[0,0,0];du_1=0;u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;u_6=0;y_1=0;y_2=0;Oh=zeros(H,1); %Output from NN middle layerI=Oh; %Input to NN middle layererror_2=0;error_1=0;ts=10;for k=1:1:1000time(k)=k*ts;rin(k)=1.0;%Unlinear modelyout(k)=0.9355*y_1+0.0645*u_6;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 Layer endK=wo*Oh; %Output Layerfor l=1:1:OutK(l)=exp(K(l))/(exp(K(l))+exp(-K(l))); %Getting kp,ki,kd 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);dyu(k)=sign((yout(k)-y_1)/(du(k)-du_1+0.0001));%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);endif k==200u(k)=u(k)+1;endd_wi=xite*delta2'*xi;wi=wi_1+d_wi+alfa*(wi_1-wi_2);%Parameters Updatedu_1=du(k);u_6=u_5;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(s)');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');模糊PID程序:clear all;close all;a=newfis('fuzzpid');a=addvar(a,'input','e',[-3,3]); %Parameter e a=addmf(a,'input',1,'NB','zmf',[-3,-1]);a=addmf(a,'input',1,'NM','t rimf',[-3,-2,0]);a=addmf(a,'input',1,'NS','trimf',[-3,-1,1]);a=addmf(a,'input',1,'Z','t rimf',[-2,0,2]);a=addmf(a,'input',1,'PS','trimf',[-1,1,3]);a=addmf(a,'input',1,'PM','t rimf',[0,2,3]);a=addmf(a,'input',1,'PB','smf',[1,3]);a=addvar(a,'input','ec',[-3,3]); %Parameter ec a=addmf(a,'input',2,'NB','zmf',[-3,-1]);a=addmf(a,'input',2,'NM','t rimf',[-3,-2,0]);a=addmf(a,'input',2,'NS','trimf',[-3,-1,1]);a=addmf(a,'input',2,'Z','t rimf',[-2,0,2]);a=addmf(a,'input',2,'PS','trimf',[-1,1,3]);a=addmf(a,'input',2,'PM','t rimf',[0,2,3]);a=addmf(a,'input',2,'PB','smf',[1,3]);a=addvar(a,'output','kp',[-0.3,0.3]); %Parameter kp a=addmf(a,'output',1,'NB','zmf',[-0.3,-0.1]);a=addmf(a,'output',1,'NM','t rimf',[-0.3,-0.2,0]);a=addmf(a,'output',1,'NS','trimf',[-0.3,-0.1,0.1]);a=addmf(a,'output',1,'Z','t rimf',[-0.2,0,0.2]);a=addmf(a,'output',1,'PS','trimf',[-0.1,0.1,0.3]);a=addmf(a,'output',1,'PM','t rimf',[0,0.2,0.3]);a=addmf(a,'output',1,'PB','smf',[0.1,0.3]);a=addvar(a,'output','ki',[-0.06,0.06]); %Parameter kia=addmf(a,'output',2,'NB','zmf',[-0.06,-0.02]);a=addmf(a,'output',2,'NM','t rimf',[-0.06,-0.04,0]);a=addmf(a,'output',2,'NS','trimf',[-0.06,-0.02,0.02]);a=addmf(a,'output',2,'Z','t rimf',[-0.04,0,0.04]);a=addmf(a,'output',2,'PS','trimf',[-0.02,0.02,0.06]);a=addmf(a,'output',2,'PM','t rimf',[0,0.04,0.06]);a=addmf(a,'output',2,'PB','smf',[0.02,0.06]);a=addvar(a,'output','kd',[-3,3]); %Parameter kpa=addmf(a,'output',3,'NB','zmf',[-3,-1]);a=addmf(a,'output',3,'NM','t rimf',[-3,-2,0]);a=addmf(a,'output',3,'NS','trimf',[-3,-1,1]);a=addmf(a,'output',3,'Z','t rimf',[-2,0,2]);a=addmf(a,'output',3,'PS','trimf',[-1,1,3]);a=addmf(a,'output',3,'PM','t rimf',[0,2,3]);a=addmf(a,'output',3,'PB','smf',[1,3]);rulelist=[1 1 7 1 5 1 1;1 2 7 1 3 1 1;1 3 6 2 1 1 1;1 4 6 2 1 1 1;1 5 5 3 1 1 1;1 6 4 4 2 1 1;1 7 4 4 5 1 1;2 1 7 1 5 1 1;2 2 7 1 3 1 1;2 3 6 2 1 1 1;2 4 5 3 2 1 1;2 5 5 3 2 1 1;2 6 4 43 1 1;2 7 34 4 1 1;3 1 6 1 4 1 1;3 2 6 2 3 1 1;3 3 6 3 2 1 1;3 45 3 2 1 1;3 5 4 4 3 1 1;36 3 5 3 1 1;37 3 5 4 1 1;4 1 6 2 4 1 1;4 2 6 2 3 1 1;4 3 5 3 3 1 1;4 4 4 4 3 1 1;4 5 3 5 3 1 1;4 6 2 6 3 1 1;4 7 2 6 4 1 1;5 1 5 2 4 1 1;5 2 5 3 4 1 1;5 3 4 4 4 1 1;5 4 3 5 4 1 1;5 5 3 5 4 1 1;5 6 2 6 4 1 1;5 7 2 7 4 1 1;6 1 5 4 7 1 1;6 2 4 4 5 1 1;6 3 3 5 5 1 1;6 4 2 5 5 1 1;6 5 2 6 5 1 1;6 6 27 5 1 1;6 7 1 7 7 1 1;7 1 4 4 7 1 1;7 2 4 4 6 1 1;7 3 2 5 6 1 1;7 4 2 6 6 1 1;7 5 2 6 5 1 1;7 6 1 7 5 1 1;7 7 1 7 7 1 1];a=addrule(a,rulelist);a=setfis(a,'DefuzzMethod','centroid');writefis(a,'fuzzpid');a=readfis('fuzzpid');%PID Controllerts=10;sys=tf([1],[150,1],'inputdelay',50);dsys=c2d(sys,ts,'t ustin');[num,den]=tfdata(dsys,'v');u_1=0.0;u_2=0.0;u_3=0.0;u_4=0.0;u_5=0.0;u_6=0.0;y_1=0;y_2=0;x=[0,0,0]';error_2=0;error_1=0;e_1=0.0;ec_1=0.0;kp0=0.0929;kd0=0.0078;ki0=0.0518;for k=1:1:1000time(k)=k*ts;rin(k)=1;%Using fuzzy inference to tunning PIDk_pid=evalfis([e_1,ec_1],a);kp(k)=kp0+k_pid(1);ki(k)=ki0+k_pid(2);kd(k)=kd0+k_pid(3);u(k)=kp(k)*x(1)+kd(k)*x(2)+ki(k)*x(3);if u(k)>=10u(k)=10;endif u(k)<=-10u(k)=-10;endif k==200u(k)=u(k)+1;endyout(k)=-den(2)*y_1+num(2)*u_6;error(k)=rin(k)-yout(k);%%%%%%%%%%%%%%Return of PID parameters%%%%%%%%%%%%%%% u_6=u_5;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);x(1)=error(k); % Calculating Px(2)=error(k)-error_1; % Calculating Dx(3)=x(3)+error(k); % Calculating Ie_1=x(1);ec_1=x(2);error_2=error_1;error_1=error(k);endshowrule(a)figure(1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)');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');。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 要双击弹出上面界面需要右击此模块选择Mask-S functiont 弹出如下页面:添加4个参数fx0,T,k,gam
• 出现如下错误:
解决方法:双击demux模块把out改为4,之后运行正常。
• 未解决问题: • 起初想法是做一个基于S函数的BP神经网络 PID控制器,以此与模糊控制PID进行对照。 • 可在S函数设置6个参数时nh处总是出现错 误。以此,还请指正。 • 以下加入BP神经网络的PID设计:
模糊PID控制器的 设计过程,遇到问题及解决方法
电控学院 杨飞 2014232018
2016/1/7
•
模糊PID控制器的设计方法:Simulink 中模块搭建与S函数法。
• (一)Simulink 中直接用模块搭建。 ①根据PID模糊逻辑建立模糊推理结构图,编辑模糊规则(此处耗时间)。
• 三参数的模糊:推理规则曲面
• S函数形式的PID控制器
• 遇到的问题:S函数的封装、S函数的程序编写,参数的设 定。 • Simulink 库中搜索s-function 模块:
• 双击此模块,点edit在如下界面编辑s函数程序。
然后关闭保存为fuz_pid.m文件。虽然简单,刚开参数 • parameter:T ,k,aFuz,gam 遇到问题最多是下面的界面
保存文件名为:aFuz.fis
此处问题主要是可能曲面图不一样。 原因:49条规则,实际上对应147.比较多,不仔细就会出错
此错误为常见错误,用下面方法来解决:
看似简单,却因刚开始未想到而浪费好多时间。因此成败往往 在于细节处。
起初仿真总是进行的很慢,是因为fixd step size 没有设定好。设定为0.001, 仿真明显加快。