当前位置:文档之家› CMAC(神经网络)与PID

CMAC(神经网络)与PID

CMAC(神经网络)与PID
CMAC(神经网络)与PID

CMAC(神经网络)与PID混合控制器的设计

1、CMAC概述

小脑模型神经网络(CMAC—Cerebellar Model Articulation Controller)是一种表达复杂非线性函数的表格查询性自适应神经网络,该网络可通过学习算法改变表格的内容,具有信息分类存储能力。

CMAC把系统的输入状态作为一个指针,把相关信息分布式的存入一组存储单元。它本质上是一种用于映射复杂非线性函数的查表技术。具体作法是将输入空间分为许多分块,每个分块指定一个实际的存储器的位置;每个分块学习到的信息分布地存储到相邻分块的位置上;存储单元通常比所考虑问题的最大可能输入空间的分块数少的多,故实际的是多对一的映射。

CMAC已被公认为是一类联想记忆神经网络的重要组成部分,它能够学习任意多维非线性映射。CMAC算法可有效地用于非线性函数逼近、动态建模、控制系统设计等。CMAC较其他神经网络的优越性体现在:

(1)它是基于局部学习的神经网络,它把信息存储在局部结构上,使每次修正的权值很少,在保证函数非线性逼近的前提下,学习速度快,适合于实时控制;

(2)具有一定的泛化能力,即所谓相近输入产生行进输出,不同输入给出不同输出;

(3) 连续(模拟)输入、输出能力;

(4) 寻址编程方式,在利用串行计算机仿真,它可使回响速度更快;

(5)作为非线性逼近器,它对学习数据出现的次序不敏感。

由于CMAC所具有的上述优越性能,使它比一般的神经网络具有更好的非线性逼近能力,更适合于复杂环境下的非线性实时控制。

CMAC的基本思想在于:在输入空间给出一个状态,从储存单元中找到对应于该状态的地址,将这些存储单元的内容求和得到CMAC的输出;将此响应值与期望输出值进行比较,并根据学习算法修改这些已激活的存储单元的内容。

图1 CMAC结构图

CMAC的设计方法分为以下三步:

(1)量化(概念映射)

在输入层对N维输入空间进行划分,每一个输入都降落到N维网络基的一个超立方体单元内。中间层由若干个判断区间构成,对任意一个输入只有少数几个区间的输出为非零值,非零值区间的个数为泛化参数c,它规定了网络内部影响网络输出的区域大小。

(2)地址映射(实际映射)

采用除余数法,将输入样本映射至概念存储器的地址,除以一个数,得到的余数作为实际存储器的地址值。即将概念存储器中的c 个单元映射至实际存储器的c 个地址。

(3) CMAC 的函数计算(CMAC 输出)

将输入映射至实际存储器的c 个单元,每个单元中存放着相应权值,CMAC 的输出为c 个实际存储器单元加权之和。

CMAC 的结构图如图1所示。

2、一种典型的CMAC 算法

CMAC 网络由输入层、中间层和输出层组成。在输入层与中间层、中间层与输出层之间分别为由设计者预先确定的输入层非线性映射和输出层权值自适应线性映射。

在输入层,对n 维输入空间进行划分。中间层由若干个基函数构成,对任意一个输入只有少数几个基函数的输出为非零值,称非零输出的基函数为作用基函数,作用基函数的个数为泛化参数c ,它规定了网络内部影响网络输出的区域大小。

CMAC 神经网络的设计主要包括输入空间的划分、输入层至输出层非线性映射的实现及输出层权值学习算法。CMAC 是前馈网络,输入、输出之间的非线性关系由以下两个基本映射实现。

2.1概念映射(AC U →)

概念映射是输入空间U 至概念存储器AC 的映射

设输入空间向量T

np p p p u u u u ],...,,[21=,量化编码为][p u ,输入空间映射至AC 中c 个存储单元(c 为二进制非零单元的数目)。

采用下式表示映射后的向量 T p n p p p p u s u s u s u S R )](),...,(),([])([21==

式中,c j u S p j ,...,2,1,1])([==。

映射原则为:在输入空间邻近的两个点(一个点表示但输入的n 维向量),在AC 中有部分的重叠单元被激励。距离越近,重叠越多;距离越远,重叠越少。这种映射称为局部泛化,c 为泛化参数。

2.2实际映射(AP AC →)

实际映射是由概念存储器AC 中的c 个单元用编码技术(如杂散编码)映射至实际存储器AP 的c 个单元,c 个单元中存放着相应权值。网络的输出为AP 中c 个单元的权值之和。

若只考虑单输出,则输出为

∑===c

j p j j u s w y 1

])([

∑===c

j j w y 1

CMAC 采用的学习算法如下:采用学习规则调整权值,权值调整指标为

2)(21t e c

E = 式中,)()()(t y t r t e -=。

由梯度下降法,权值按下式调整

T

c p j j j j j j j j w w w w t w t w t w t w t w c

t e w y c t y t r w E t w ],...,,[))2()1(()()1()()())()(()(21=---+?+-==??-=??-=?αηηη

式中,α为惯性系数。

3、CMAC 与PID 复合控制算法

CMAC 一开始就被应用于机器人控制中,目前有多种控制形式,如CMAC 直接逆运动控制、CMAC 前馈控制、CMAC 反馈控制等,本书采用的是CMAC 前馈控制。CMAC 与PID 复合结构图如图2所示,该系统通过CMAC 和PID 的复合控制实现前反馈控制,其特点为:

图2 CMAC 与PID 复合控制结构图

第一,小模型神经控制器实现前馈控制,实现被控对象的逆动态模型;第二,常规控制器实现反馈控制,保证系统的稳定性,且抑制扰动;此外,CMAC 控制算法虽然是由PID 控制器的输出训练的,但并不是PID 控制器的简单复制。加入PID 控制器是为了评判CMAC 控制器的性能,增强系统的稳定性,抑制扰动。PID 单独控制时,p k 增益的值在很大程度上决定着控制效果,而采用CMAC 和PID 混合控制时控制效果不依赖于p k 的值,p k 的值只需在一个合理的范围里即可。

CMAC 采用有导师的学习算法。每一控制周期结束时,计算出相应的CMAC 输出 )(k u n ,并与总控制输入)(k u 相比较,修正权重,进入学习过程。学习的目的是使总控制输入与CMAC 的输出之差最小。经过CMAC 的学习,使系统的总控制输出由CMAC 产生。而常规控制器采用传统的PD 算法而不用PID 控制算法,使CMAC 的学习仅仅依赖于误差的当时测量值及变化值。

该系统的控制算法为:

∑==c

i i i n a w k u 1)(

)()()(k u k u k u p n +=

式中,i a 为二进制选择向量,c 为CMAC 网络的泛化参数,)(k u n 为CMAC 产生相应的输出,)(k u p 为常规控制器PID 产生的输出。

每一控制周期结束时,CMAC 输出)(k u n 与总控制输出)(k u 相比较,修正权重,进入学习过程。学习的目的是使总控制输入与CMAC 的输出之差最小,即使系统的总控制输出主要由CMAC 控制器产生。

CMAC 的调整指标为

))1()(()()1()()()()()())()((21)(2--+?+-==-=??-=

k w k w k w k w k w a c

k u a c k u k u k w c

a k u k u k E i p i n i

n αηη 式中, η为网络学习速率,)1,0(∈η ,α为惯性量,)1,0(∈α。

当系统开始运行时,置0=w ,此时0,0==p n u u ,系统由常规控制器进行控制。通过CMAC 的学习,使PID 产生的输出控制量)(k u p 逐渐为零,CMAC 产生的输出控制量)(k u n 逐渐逼近控制器总输出)(k u 。

参考书目:

1、刘金琨。智能控制 ,电子工业出版社,北京 ,2005.5。

2、刘金琨。先进PID 控制及其MATLAB 仿真,电子工业出版社,北京 ,2003.1。

神经网络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上的非线性函数;②信息的并行分布式处理与存储;③可以多输入、多输出;④便于用超大规模集成电路或光学集成电路系统实现,或用现有的计算机技术实现;⑤能进行学习,以适应环境的变化。 人工神经网络还有以下优越性: 一、具有自学习功能。实现图像识别时,先把许多不同的图像样板和对应的

相关主题
文本预览
相关文档 最新文档