文档库 最新最全的文档下载
当前位置:文档库 › 基于S函数的RBF神经网络PID控制器

基于S函数的RBF神经网络PID控制器

基于S函数的RBF神经网络PID控制器
基于S函数的RBF神经网络PID控制器

基于径向基函数的神经网络的PID控制器

摘要

RBF神经网络在分类问题中得到了广泛的应用,尤其是模式识别的问题。许多模式识别实验证明,RBF具有更有效的非线性逼近能力,并且RBF神经网络的学习速度较其他网络快。本文在具有复杂控制规律的S函数构造方法的基础上,给出了基于MATLAB语言的RBF神经网络PID控制器,及该模型的一非线性对象的仿真结果。

关键词:S函数;RBF神经网络PID控制器;Simulink仿真模型径向基函数(RBF-Radial Basis Function)神经网络是由J.Moody和C.Darken 在20世纪80年代末提出的一种神经网络,它具有单隐层的三层前馈网络。由于它模拟了人脑中局部调整、相互覆盖接受域(或称野-Receptive Field)的神经网络结构,因此,RBF神经网络是一种局部逼近网络,已证明它能以任意精度逼近任意连续函数。

1.S函数的编写方法

S函数是Simulink中的高级功能模块,Simulink是运行在MATLAB环境下用于建模、仿真和分析动态系统的软件包。只要所研究的系统模型能够由MATLAB语言加以描述,就可构造出相应的S函数,从而借助Simulink中的S 函数功能模块实现MATLAB与Simulink之间的沟通与联系,这样处理可以充分发挥MATLAB编程灵活与Simulink简单直观的各自优势。当系统采用较复杂的控制规律时,Simulink中没有现成功能模块可用,通常都要采用MATLAB编程语言,编写大量复杂而繁琐的源程序代码进行仿真,一是编程复杂、工作量较大,二来也很不直观。如果能利用Simulink提供的S函数来实现这种控制规律,就可以避免原来直接采取编程的方法,不需要编写大量复杂而繁琐的源程序,编程快速、简捷,调试方便,则所要完成的系统仿真工作量会大大减少。

RBF神经网络PID控制器的核心部分的S函数为:

function [sys,x0,str,ts]=nnrbf_pid(t,x,u,flag,T,nn,K_pid,eta_pid,xite,alfa,beta0,w0) switch flag,

case 0, [sys,x0,str,ts] = mdlInitializeSizes(T,nn);

case 2, sys = mdlUpdates(u);

case 3, sys = mdlOutputs(t,x,u,T,nn,K_pid,eta_pid,xite,alfa,beta0,w0);

case {1, 4, 9}, sys = [];

otherwise, error(['Unhandled flag = ',num2str(flag)]);

end

function [sys,x0,str,ts] = mdlInitializeSizes(T,nn)

sizes = simsizes;

sizes.NumContStates = 0; sizes.NumDiscStates = 3;

sizes.NumOutputs = 4+5*nn; sizes.NumInputs = 9+15*nn;

sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1;

sys=simsizes(sizes); x0=zeros(3,1); str=[]; ts=[T 0];

function sys = mdlUpdates(u)

sys=[u(1)-u(2); u(1); u(1)+u(3)-2*u(2)];

function sys = mdlOutputs(t,x,u,T,nn,K_pid,eta_pid,xite,alfa,beta0,w0)

ci_3=reshape(u(7: 6+3*nn),3,nn); ci_2=reshape(u(7+5*nn: 6+8*nn),3,nn);

ci_1=reshape(u(7+10*nn: 6+13*nn),3,nn);

bi_3=u(7+3*nn: 6+4*nn); bi_2=u(7+8*nn: 6+9*nn);

bi_1=u(7+13*nn: 6+14*nn); w_3= u(7+4*nn: 6+5*nn);

w_2= u(7+9*nn: 6+10*nn); w_1= u(7+14*nn: 6+15*nn); xx=u([6;4;5]);

if t==0

ci_1=w0(1)*ones(3,nn); bi_1=w0(2)*ones(nn,1);

w_1=w0(3)*ones(nn,1); K_pid0=K_pid;

else, K_pid0=u(end-2:end); end

for j=1: nn % Gaussian basis h

h(j,1)=exp(-norm(xx-ci_1(:,j))^2/(2*bi_1(j)*bi_1(j)));

end

dym=u(4)-w_1'*h; w=w_1+xite*dym*h+alfa*(w_1-w_2)+beta0*(w_2-w_3); for j=1:nn

d_bi(j,1)=xite*dym*w_1(j)*h(j)*(bi_1(j)^(-3))*norm(xx-ci_1(:,j))^2;

d_ci(:,j)=xite*dym*w_1(j)*h(j)*(xx-ci_1(:,j))*(bi_1(j)^(-2));

end

bi=bi_1+d_bi+alfa*(bi_1-bi_2)+beta0*(bi_2-bi_3);

ci=ci_1+d_ci+alfa*(ci_1-ci_2)+beta0*(ci_2-ci_3);

dJac=sum(w.*h.*(-xx(1)+ci(1,:)')./bi.^2); % Jacobian

KK=K_pid0+u(1)*dJac*eta_pid.*x; sys=[u(6)+KK'*x; KK; ci(:); bi(:); w(:)];

该控制器中的外部参数均在封装后的控制器参数对话框中给出。

2.RBF神经网络PID控制器Simulink仿真模型

编写好S函数之后,就可以建立其Simulink模型,其步骤是:

(1)输入函数变量名及参数变量名。单击Simulink模型库中非线性环节的S 函数模块,并拖动到所打开的模型窗口上,双击S函数模块,按照相关的提示输入函数变量名nnrbf-pid和参数名T,nn,xite,alfa。

(2)创建子系统(create subsystem)

(3)屏蔽子系统(mask subsystem)

在屏蔽子系统的对话框中按照提示输入参数变量。双击该模块也可以对参数进行修改。RBF神经网络控制器的Simulink模块如图1所示。其中输入1为给定信号与对象输出信号的误差e(k),输入2为对象输出信号y(k)。输出1为控制器的输出u(k),输出2为kp,ki,kd三个权值的变化量。

图1 RBF神经网络PID控制器Simulink模型

3. 系统仿真

系统仿真框图如图2所示。被控对象为一非线性环节,其Simulink 仿真框

图如图3所示,其模型描述为)()1(1)

1()8.01(2.1)(2/1.0t u t y t y e t y T t +-+--=-,其中采样周

期T 为0.001.控制器的参数nn 取6,xite 取0.25,alfa 取0.05.输入为多阶梯波信号,具体参数如图4所示。

图2 系统仿真框图

图3 非线性受控对象

图4 RBF网络PID参数对话框仿真结果分别如图5和图6所示:

00.20.40.60.81 1.2 1.4 1.6

-1

-0.5

0.5

1

1.5

2

图5 多阶梯波信号跟踪曲线

00.20.40.60.81 1.2 1.4 1.6

-0.15

-0.1

-0.05

0.05

0.1

0.15

0.2

图6 kp ,ki ,kd 参数的变化曲线

4.结论

RBF神经网络PID控制器由于采用RBF神经网络在线实时调整PID控制器的三个参数,可以对任意非线性对象实现很好的跟随控制。由上图5课件,用S 函数实现RBF神经网络PID控制规律的复杂系统仿真模型,仿真结果显示其多阶梯波非线性信号跟踪效果比较理想,同时实现了PID参数的在线调整。PID参数的变化如图6所示。仿真程序编写简捷、快速,调试方便。

参考文献

[1]刘金琨.先进PID控制MATLAB(第3版)[M].北京:电子工业出版社,2011.3

[2]薛定宇.控制系统计算机辅助设计——MATALAB语言与应用[M].北京:清华大学出版社,2006

[3]李绍铭,赵伟.基于S函数的RBF神经网络PID控制器Simulink仿真[J].安徽冶金科技职业学院学报,2008

神经网络pid控制matlab程序

%Single Neural Adaptive PID Controller clear all; close all; x=[0,0,0]'; xiteP=0.40; xiteI=0.35; xiteD=0.40; %Initilizing kp,ki and kd wkp_1=0.10; wki_1=0.10; wkd_1=0.10; %wkp_1=rand; %wki_1=rand; %wkd_1=rand; error_1=0; error_2=0; y_1=0;y_2=0;y_3=0; u_1=0;u_2=0;u_3=0; ts=0.001; for k=1:1:1000 time(k)=k*ts; yd(k)=0.5*sign(sin(2*2*pi*k*ts)); y(k)=0.368*y_1+0.26*y_2+0.1*u_1+0.632*u_2; error(k)=yd(k)-y(k); %Adjusting Weight Value by hebb learning algorithm M=4; if M==1 %No Supervised Heb learning algorithm wkp(k)=wkp_1+xiteP*u_1*x(1); %P wki(k)=wki_1+xiteI*u_1*x(2); %I wkd(k)=wkd_1+xiteD*u_1*x(3); %D K=0.06; elseif M==2 %Supervised Delta learning algorithm wkp(k)=wkp_1+xiteP*error(k)*u_1; %P wki(k)=wki_1+xiteI*error(k)*u_1; %I wkd(k)=wkd_1+xiteD*error(k)*u_1; %D K=0.12; elseif M==3 %Supervised Heb learning algorithm wkp(k)=wkp_1+xiteP*error(k)*u_1*x(1); %P wki(k)=wki_1+xiteI*error(k)*u_1*x(2); %I wkd(k)=wkd_1+xiteD*error(k)*u_1*x(3); %D K=0.12; elseif M==4 %Improved Heb learning algorithm wkp(k)=wkp_1+xiteP*error(k)*u_1*(2*error(k)-error_1); wki(k)=wki_1+xiteI*error(k)*u_1*(2*error(k)-error_1); wkd(k)=wkd_1+xiteD*error(k)*u_1*(2*error(k)-error_1); K=0.12; end x(1)=error(k)-error_1; %P

pid神经网络控制器的设计

第三章 PID 神经网络结构及控制器的设计 在控制系统中,PID 控制是历史最悠久,生命力最强的控制方式,具有直观、实现简单和鲁棒性能好等一系列优点。但近年来随着计算机的广泛应用,智能控制被越来越广泛的应用到各种控制系统中。智能控制方法以神经元网络为代表,由于神经网络可实现以任意精度逼近任意函数,并具有自学习功能,因此适用于时变、非线性等特性未知的对象,容易弥补常规PID 控制的不足。将常规PID 控制同神经网络相结合是现代控制理论的一个发展趋势。 3.1 常规PID 控制算法和理论基础 3.1.1 模拟PID 控制系统 PID(Proportional 、Integral and Differential)控制是最早发展起来的控制策略之一,它以算法简单、鲁捧性好、可靠性高等优点而梭广泛应用于工业过程控制中。 PID 控制系统结构如图3.1所示: 图3.1 模拟PID 控制系统结构图 它主要由PID 控制器和被控对象所组成。而PID 控制器则由比例、积分、微分三个环节组成。它的数学描述为: 1() ()[()()]t p D i de t u t K e t e d T T dt ττ=+ +? (3.1) 式中,p K 为比例系数; i K 为积分时间常数: d K 为微分时间常数。 简单说来,PID 控制器各校正环节的主要控制作用如下: 1.比例环节即时成比例地反映控制系统的偏差信号()e t ,偏差一旦产生,控制器立即产生控制作用,以减少偏差。

2.积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数i T ,i T 越大,积分作用越弱,反之则越强。 3.微分环节能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。 具体说来,PID 控制器有如下特点: (1)原理简单,实现方便,是一种能够满足大多数实际需要的基本控制器; (2)控制器能适用于多种截然不同的对象,算法在结构上具有较强的鲁棒性,在很多情况下,其控制品质对被控对象的结构和参数摄动不敏感。 3.1.2 数字PID 控制算法 在计算机控制系统中,使用的是数字PID 控制器,数字PID 控制算法通常又分为位置式PID 控制算法和增量式PID 控制算法。 1.位置式PID 控制算法 由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,故对式(3.1)中的积分和微分项不能直接使用,需要进行离散化处理。按模拟PID 控制算法的算式(3.1),现以一系列的采样时刻点kT 代表连续时间t ,以和式代替积分,以增量代替微分,则可以作如下的近似变换: t kT = (0,1,2,3...)k = ()()()k k t j j e t dt T e jT T e j ==≈=∑∑? ()()[(1)]()(1) de t e kT e k T e k e k dt T T ----≈= (3.2) 式中,T 表示采样周期。 显然,上述离散化过程中,采样周期T 必须足够短,才能保证有足够的精度。为了书写方便,将()e kT 简化表示()e k 成等,即省去T 。将式(3.2)代入到(3.1)中可以得到离散的PID 表达式为: 0(){()()[()(1)]}k D p j I T T u k K e k e j e k e k T T ==+ + --∑ (3.3) 或 0 ()()()[()(1)]}k p I D j u k K e k K e j K e k e k ==++--∑ (3.4) 式中,k ——采样序号,0,1,2...k =; ()u k ——第k 次采样时刻的计算机输出值;

基于S函数的RBF神经网络PID控制器

基于径向基函数的神经网络的PID控制器 摘要 RBF神经网络在分类问题中得到了广泛的应用,尤其是模式识别的问题。许多模式识别实验证明,RBF具有更有效的非线性逼近能力,并且RBF神经网络的学习速度较其他网络快。本文在具有复杂控制规律的S函数构造方法的基础上,给出了基于MATLAB语言的RBF神经网络PID控制器,及该模型的一非线性对象的仿真结果。 关键词:S函数;RBF神经网络PID控制器;Simulink仿真模型径向基函数(RBF-Radial Basis Function)神经网络是由J.Moody和C.Darken 在20世纪80年代末提出的一种神经网络,它具有单隐层的三层前馈网络。由于它模拟了人脑中局部调整、相互覆盖接受域(或称野-Receptive Field)的神经网络结构,因此,RBF神经网络是一种局部逼近网络,已证明它能以任意精度逼近任意连续函数。 1.S函数的编写方法 S函数是Simulink中的高级功能模块,Simulink是运行在MATLAB环境下用于建模、仿真和分析动态系统的软件包。只要所研究的系统模型能够由MATLAB语言加以描述,就可构造出相应的S函数,从而借助Simulink中的S 函数功能模块实现MATLAB与Simulink之间的沟通与联系,这样处理可以充分发挥MATLAB编程灵活与Simulink简单直观的各自优势。当系统采用较复杂的控制规律时,Simulink中没有现成功能模块可用,通常都要采用MATLAB编程语言,编写大量复杂而繁琐的源程序代码进行仿真,一是编程复杂、工作量较大,二来也很不直观。如果能利用Simulink提供的S函数来实现这种控制规律,就可以避免原来直接采取编程的方法,不需要编写大量复杂而繁琐的源程序,编程快速、简捷,调试方便,则所要完成的系统仿真工作量会大大减少。 RBF神经网络PID控制器的核心部分的S函数为: function [sys,x0,str,ts]=nnrbf_pid(t,x,u,flag,T,nn,K_pid,eta_pid,xite,alfa,beta0,w0) switch flag,

神经网络PID控制

基于神经网络PID控制算法在多缸电液伺服系统同步控制中的仿真 研究 丁曙光,刘勇 合肥工业大学,合肥,230009 摘要:本文介绍了神经网络控制原理,提出了神经网络PID算法,通过选定三层神经网络作为调节函数,经过Simulink仿真确定了神经网络PID控制器的参数,设计了神经网络PID控制器。推导出多缸液压同步控制系统在各种工况下的传递函数,并把该控制器应用到多缸液压同步控制系统中。经过仿真研究表明该控制器控制效果良好,能满足多缸液压同步的控制要求。 关键词:多缸同步;PID算法;仿真;神经网络 Study on the simulation and appllication of hydraulic servo system of straihtening machine based on Immune Neural network PID control alorithm DING Shu-guang, GUI Gui-sheng,ZHAI Hua Hefei University of Technology, Hefei 23009 Abstract:The principle of immune feedback and immune-neural network PID algorithm was respectively.An immune-neural network PID controller was designed by which an adaline neural network was selected as antibody stay function and parameters of the immune-neural network PID controller were determined by simulation.The transfer function of the hydraulic servo system of crankshaft straightenin on were introduced in different working conditions.The immune-neural network PID controller was applied to hydraulic system of crankshaft straightenin.The simulation and equipment were done,and results show that its control effectiveness is better and can meet the needs of he hydraulic servo-system of crankshaft straightening hydraulic press. Key words:straightening machine; Immune control arithmetic; simulation;neural network 0引言 精密校直液压机(精校机)液压伺服系统是精校机的执行环节,高精度液压位置伺服控制是精校机的关键技术之一,它保证了液压伺服控制系统的控制精度、稳定性和快速性,是完成校直工艺的必要条件。因此,精校机液压伺服控制系统的研究,为精校机产品的设计和制造提供了理论依据,对校直技术和成套设备的开发具有重大的意义[1]。 精校机液压位置伺服系统是一个复杂的系统,具有如下特点:精确模型难建立,要求位置控制精度高、超调量小、响应快、参数易变且难以确定[1]。因此该系统的控制有较大的难度。传统的PID控制虽然简单易行,但参数调整困难,具有明显的滞后特性,PID 控制很难一直保证系统的控制精度,Smith预估补偿 国家重大科技专项资助(项目编号:2009ZX04004-021)安徽省自然科学基金资助(项目编号:090414155)和安徽省科技攻关项目资助(项目编号:06012019A)制方法从理论上为解决时滞系统的控制问题提供了一种有效的方法,但是Smith预估器控制的鲁棒性差,系统性能过分依赖补偿模型的准确性,限制了它在实际过程中的应用[1~5]。 近年来,人们开始将生物系统的许多有益特性应用于各种控制中[1~5],取得了一定成果。自然免疫系统使生物体的一个高度进化、复杂的功能系统,它能自适应地识别和排除侵入肌体的抗原性异物,并且具有学习、记忆和自适应调节功能,以维护肌体内环境的稳定。自然免疫系统非常复杂,但其抵御抗原(antigen)的自适应能力十分显著。生物信息的这种智能特性启发人们利用它来解决一些工程难题,这就引起多种免疫方法的出现。人工免疫系统就是借鉴自然免疫系统自适应、自组织的特性而发展起来的一种智能计算技术。该算法在大量的干扰和不确定环境中都具很强的鲁棒性和自适应性,在控制、优化、模式识别、分类

基于神经网络的PID控制

基于神经网络的PID控制 课程名称:智能控制 任课教师: 学生姓名: 学号: 年月日

摘要:本文基于BP神经网络的PID控制方法设计控制器,通过BP神经网络与PID的控制相结合的神经网络控制基本原理和设计来自适应的功能调节PID的的三个参数,并根据被控对象的近似数学模型来输出输入与输出并分析BP神经网络学习速率η,隐层节点数的选择原则及PID参数对控制效果的影响。计算机的仿真结果表示,基于BP神经网络的PID控制较常规的PID控制具有更好的自适应性,能取得良好的的控制结果。 关键字:BP算法神经网络 PID控制 Abstract:In this paper, based on BP neural network PID control method designed controller, through the BP neural network PID control with a combination of neural network control basic principles and design features adaptively adjusting the PID of the three parameters, and based on the controlled object approximate mathematical model to analyze the output and the input and output BP n eural network learning rate η, hidden layer nodes and PID parameter selection principle effect of the control . Computer simulation results indicated that based on BP neural network PID control compared with conventional PID control has better adaptability , can achieve good control results . Keyword:BP algorithms neural networks PID control 1引言 PID控制是最早发展起来的应用经典控制理论的控制策略之一,由于算法简单,鲁棒性好和可靠性高,被广泛应用于工业过程并取得了良好的控制效果。随着工业的发展,对象的复杂程度不断加深,尤其对于大滞后、时变的、非线性的复杂系统,常规PID控制显得无能为力。因此常规PID控制的应用受到很大的限制和挑战。 神经网络在控制系统中的应用提高了整个系统的信息系统处理能力和适应能力,提高了系统的智能水平。此外,神经网络具有逼近任意连续有界非线性函数的能力,对于非线性系统和不确定性系统,无疑是一种解决问题的有效途径。本文将常规PID控制与神经网络控制相结合,发挥各自的优势,形成所谓的智能PID控制。采用BP神经网络方法设计的控制系统具有更快的速度(实时性)、更强的适应性和更好的鲁棒性。 2 基于BP神经网络的PID控制 PID控制要取得较好的控制结果,必须通过调整好比例、积分和微分三种控制作用,形成控制量中既要相互配合又相互制约的关系。神经网络所具有的任意非线性表达能力,可以通过对系统性能的学习来实现最佳组合的PID控制。采用BP网络,可以建立参数Kp、Ki、Kd自学习的PID控制器。基于BP神经网络的PID控制系统结构由常规的PID控制器和神经网络两个部分构成。 2.1常规的PID控制器 PID控制器由比例(P)、积分(I)、微分(D)3个部分组成,直接对被控对象进行闭环控制,并且三个参数 Kp、Ki、Kd为在线调整方式。 2.2 神经网络 根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最

MATLAB基于BP神经网络PID控制程序

MATLAB基于BP神经网络PID控制程序>> %BP based PID Control clear all; close all; xite=0.20; %学习速率 alfa=0.01; %惯性因子 IN=4;H=5;Out=3; %NN Structure wi=[-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初始化 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初始化 wo_1=wo;wo_2=wo;wo_3=wo; ts=20; %采样周期取值 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); %Output from NN middle layer 隐含层的输出I=Oh; %Input to NN middle layer 隐含层输入 error_2=0; error_1=0; for k=1:1:500 %仿真开始,共500步 time(k)=k*ts;

神经网络PID

BP神经网络PID控制方法研究 引言 所谓“神经网络”是以一种简单计算处理单元(即神经元)为节点,采用某种网络拓扑结构构成的活性网络,可以用来描述几乎任意的非线性系统;不仅如此,神经网络还具有学习能力、记忆能力、计算能力以及各种智能处理能力,在不同程度和层次上模仿人脑神经系统的信息处理、存储和检索功能。 神经网络在控制系统中的应用提高了整个系统的信息系统处理能力和适应能力,提高了系统的智能水平。由于神经网络己具有逼近任意连续有界非线性函数的能力,对于长期困扰控制界的非线性系统和不确定性系统来说,神经网络无疑是一种解决问题的有效途径。采用神经网络方法设计的控制系统具有更快的速度(实时性)、更强的适应能力和更强的鲁棒性。 正因为如此,近年来在控制理论的所有分支都能够看到神经网络的引入及应用,对于传统的PID控制当然也不例外,以各种方式应用于PID控制的新算法大量涌现,其中有一些取得了明显的效果。 传统的控制系统设计是在系统数学模型己知的基础上进行的,因此,它设计的控制系统与数学模型的准确性有很大的关系。神经网络用于控制系统设计则不同,它可以不需要被控对象的数学模型,只需对神经网络进行在线或离线训练,然后利用训练结果进行控制系统的设计。神经网络用于控制系统设计有多种类型,多种方式,既有完全脱离传统设计的方法,也有与传统设计手段相结合的方式。 一般来说,基于神经网络的PID控制器的典型结构主要有两种,单神经元网络PID控制器和神经网络PID控制器两种控制算法。本章将详细介绍基于BP神经网络的PID控制算法,然后对单闭环调速系统的进行设计,对其进行Matlab 算法仿真。 基于BP神经网络的PID整定原理 PID控制要取得好的控制效果,就必须通过调整好比例、积分和微分三种控制作用在形成控制量中相互配合又相互制约的关系,这种关系不一定是简单的“线性组合”,而是从变化无穷的非线性组合中找出最佳的关系。BP神经网络具有逼近任意非线性函数的能力,而且结构和学习算法简单明确。通过网络自身的学习,可以找到某一最优控制规律下的P、I、D参数。 基于BP神经网络的PID控制系统结构如图3-1所示。控制器由两部分组成:

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 x s x x e e f x e e ---= + 由于Kp,Ki 和Kd 必须为正,则输出层神经元函数的输出值一般可以选取正的sigmoid 函数: (3) 1()1s x f x e -= + 系统性能指标取:1()(()())2 in out E k r k y k = -

采用梯度下降法对BP 神经网络的参数进行调整: 设输入层的个数为N ,输出向量为(1)O ,隐层个数为H ,输入阵为(2) W ,为H ×N 维 向量,输出层的个数为3,输入阵设为(3) W 。 令(1)(1)(1)(1)12[,,,]T N O O O O = 设隐层的输入向量为(2)(1)hi W O =,hi 为列向量,第j 个隐层神经元的输入: (2) (1) 1 N j ji i i hi w O == ∑,(12,j H = ) 第j 个神经元的输出为(2) ()j s j ho f hi =; 输出层的输入(3)(3)I W ho =,输出为(3) (3) (3) ()[,,]T s p I D O f I K K K == 按照梯度下降法修正网络权系数,按E(k)的负方向调整系统,并且加一个是搜索加快的收敛全局极小的惯性量: (3) (3) (3) ()()(1)oj oj oj E k W k W k W η α??=-+?-?,其中η为学习速率,α为平滑因子; (3)(3) (3) (3)(3)(3)()() ()()() ()()()()()() o o 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) o j W 为(3) W 的第o 行和第j 列。由于 ()() y k u k ???未知,通常由符号函数()sgn( ) () y k u k ???来代替,所带来的误差可以通过调整η来补偿; (3) 1(3) 2(3) 3() ()(1)()() ()()() ()2(1)(2)() u k e k e k O k u k e k O k u k e k e k e k O k ???=--??? ???=??? ???=--+-??? 若(3)()s f x 对应的梯度为(3) ()g x ,则 (3)(3)(3) ()T o o o O g x I ?=?, (3) (3)()() o j oj I k ho W k ?=?, 令(3) (3) (3) () () ()sgn( ) ()()() o o o y k u k e k g x u k O k δ???=??? 则最终(3) (3) (3) ()(1)oj o j oj W k ho W k ηδα?=+?-

神经网络PID

BP神经网络PID控制方法研究 3.1引言 所谓“神经网络”是以一种简单计算处理单元(即神经元)为节点,采用某种网络拓扑结构构成的活性网络,可以用来描述几乎任意的非线性系统;不仅如此,神经网络还具有学习能力、记忆能力、计算能力以及各种智能处理能力,在不同程度和层次上模仿人脑神经系统的信息处理、存储和检索功能。 神经网络在控制系统中的应用提高了整个系统的信息系统处理能力和适应能力,提高了系统的智能水平。由于神经网络己具有逼近任意连续有界非线性函数的能力,对于长期困扰控制界的非线性系统和不确定性系统来说,神经网络无疑是一种解决问题的有效途径。采用神经网络方法设计的控制系统具有更快的速度(实时性)、更强的适应能力和更强的鲁棒性。 正因为如此,近年来在控制理论的所有分支都能够看到神经网络的引入及应用,对于传统的PID控制当然也不例外,以各种方式应用于PID控制的新算法大量涌现,其中有一些取得了明显的效果。 传统的控制系统设计是在系统数学模型己知的基础上进行的,因此,它设计的控制系统与数学模型的准确性有很大的关系。神经网络用于控制系统设计则不同,它可以不需要被控对象的数学模型,只需对神经网络进行在线或离线训练,然后利用训练结果进行控制系统的设计。神经网络用于控制系统设计有多种类型,多种方式,既有完全脱离传统设计的方法,也有与传统设计手段相结合的方式。 一般来说,基于神经网络的PID控制器的典型结构主要有两种,单神经元网络PID控制器和神经网络PID控制器两种控制算法。本章将详细介绍基于BP神经网络的PID控制算法,然后对单闭环调速系统的进行设计,对其进行Matlab 算法仿真。 3.2基于BP神经网络的PID整定原理 PID控制要取得好的控制效果,就必须通过调整好比例、积分和微分三种控制作用在形成控制量中相互配合又相互制约的关系,这种关系不一定是简单的“线性组合”,而是从变化无穷的非线性组合中找出最佳的关系。BP神经网络具有逼近任意非线性函数的能力,而且结构和学习算法简单明确。通过网络自身的学习,可以找到某一最优控制规律下的P、I、D参数。 基于BP神经网络的PID控制系统结构如图3-1所示。控制器由两部分组成:

神经网络PID毕业设计完整

摘要 目前,由于PID具有结构简单,可通过调节比例积分和微分取得基本满意的控制性能,广泛应用在电厂的各种控制过程中。电厂主汽温的被控对象是一个大惯性大迟延非线性且对象变化的系统。常规汽温控制系统为串级PID控制或导前微分控制,当机组稳定运行时,一般能将主汽温控制在允许的范围内。但当运行工况发生较大变化时,却很难保证控制品质。因此本文研究BP神经网络的PID控制,利用神经网络的自学习、非线性和不依赖模型等特性实现PID参数的在线自整定,充分利用PID和神经网络的优点。本处用一个多层前向神经网络,采用反向传播算法依据控制要求实时输出Kp、Ki、Kd,依次作为PID控制器的实时参数,代替传统PID参数靠经验的人工整定和工程整定,以达到对大迟延主气温系统的良好控制。对这样一个系统在MATLAB平台上进行仿真研究,,仿真结果表明基于BP神经网络的自整定PID控制具有良好的自适应能力和自学习能力,对大迟延和变对象的系统可取得良好的控制效果。 关键词:主汽温,PID,BP神经网络,MATLAB仿真

ABSTRACT At present, because PID has a simple structure and can be adjusted proportional integral and differential to satisfactory control performance,,it is widely used in power plants of various control process. The system of Power plant main steam temperature is an large inertia、big time-delayed and nonlinear dynamic system. Conventional steam temperature control system adopted cascade PID control or the differential control of lead before, when the unit is stable, general will allow the steam temperature control in the range ,but when operating conditions changed greatly, it is difficult to ensure the quality of control. This article studies PID control based BP neural network . Using such characteristics of neural network self-learning, nonlinear and don't rely on model realize PID parameters online auto-tuning. It can make full use of the advantages of PID and neural network. Here,we use a multilayer feedforward neural network using back propagation algorithm and based on control requirements.This net can real-time output Kp, Ki, Kd as the PID controller parameters ,insteading of the traditional PID parameters determined by experience. So it can obtain good control performance .For such a system ,we can simulate in MATLAB simulation platform.The simulation results show that the PID control based BP neural network has good adaptive ability and self-learning ability.For the system of large delay and free-model can obtain good control effect. KEY WORDS: main steam temperature ,PID ,BP neural network,MATLAB simulation

基于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。提高了训练收敛速度和精度。他们从工程实际出发,不仅在计算机上模拟了这种神经网络,而且还做成了硬件,并将训练后的人工神经网络成功的用于小通讯中的回波和噪声,成为第一个用于解决实际问题的人工神经网络。 1969年,人工智能的创始人之一M.Minsky和S.Papert在合著《感知器》一书中,对以单层感知器为代表的简单人工神经网络的功能及局限性进行了深入分析,指出,单层感知器只能进行线性分类,对线性不可分的输入模式无效。而解决方法是设计出具有隐含层的多层神经网络。但要找到一个有效修正权矢量的学习算法并不容易。这一结论使当时许多神经网络研究者感到迷茫,对神经网络理论的发展起了消极作用。 1982年,美国学者J.Hopfield提出了霍普菲尔德网络模型,将能量函数引入到对称反馈网络中,使网络稳定性有了明显判据,并利用提出的网络的神经计算能力来解决条件优化问题。此模型可以用电子模拟线路实现,还兴起了对新一代电子神经计算机的研究。 1986年,D.E.Rumelhart等人提出的解决多层神经网络权值修正的算法——误差反向传播法,简称BP算法,找到了解决M.Minsky和S.Papert提出的问题的办法,给人工神经网络增添了新活力。 1.2神经网络的概念与特点 神经网络系统是指利用工程技术手段,模拟人脑神经网络结构和功能的一种技术系统,它是一种大规模并行的非线性动力学系统。由于它是由人工方式构造的网络系统,因此也称为人工神经网络系统。基于人工神经网络的控制简称为神经网络控制。神经网络控制是一种基本上不依赖于模型的控制方法,它适用于具有不确定性、事变的对象与环境,并具有较强的自适应能力、学习能力、非线性影射能力、鲁棒性和容错能力。 人工神经网络有以下几个突出的优点: ①能逼近任意L2上的非线性函数;②信息的并行分布式处理与存储;③可以多输入、多输出;④便于用超大规模集成电路或光学集成电路系统实现,或用现有的计算机技术实现;⑤能进行学习,以适应环境的变化。 人工神经网络还有以下优越性: 一、具有自学习功能。实现图像识别时,先把许多不同的图像样板和对应的

相关文档