您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 股票报告 > 基于BP神经网络的PID控制器设计
基于BP网络PID控制器的设计摘要:本文主要论述了BP神经网络的结构及其BP神经网络的学习算法,进而分析了传统PID控制器的优缺点,以及基于BP神经网络PID控制器的可行性。本文还介绍了基于BP神经网络PID控制器的设计步骤、结构框图、控制算法。并且通过MATLAB软件对PID控制器的设计进行仿真,并对仿真结果进行了分析、总结。关键词:BP神经网络;PID控制器;学习算法;MATLAB仿真1.引言PID控制是最早发展起来的控制策略之一,按偏差的比例、积分和微分进行控制的调节器称为PID控制器,它是连续系统中技术成熟,应用最广泛的一种调节器。由于其算法简单,实现简易、鲁棒性能良好和可靠性高,能够对很大一类工业对象进行有效控制等一系列优点,尤其适用于可建立精确数学模型的确定性控制系统传统的PID调节器由于其技术比较成熟。在目前,工业控制系统调节使用最为广泛的仍是典型的PID控制,但在实际的情况中,当被控对象为非线性或者时变特性时,参数的整定及在线自适应调整问题就难以解决。随着被控系统越来越复杂,人们对控制系统的要求越来越高,特别是要求控制系统能香应不确定性、时变的对象与环境。传统的基于精确模型的控制方法难以适应要求,现在关于控制的概念也已更加广泛,它要求包括一些决策以及学习功能。因为BP神经网络具有较好的在线监测能力,而神经网络是用大量简单的神经元连接组成的复杂网络,具有人脑的功能的基本特征,为控制领域的研究开辟了新途径,尤其适用于复杂过程、参数时变系统神经网络。BP神经网络与PID控制器的结合能够起到很好的控制效果。神经网络由于具有上述优点而越来越受到人们的重视。因此,神经网络控制技术很适合应用于工业控制调节系统中。2.BP神经网络2.1BP神经网络结构大脑是一部不寻常的智能机,它能以惊人的高速度解释感觉器官传来的含糊不清的信息。它能觉察到喧闹房间内的窃窃私语,能够识别出光线暗淡的胡同中的一张面孔,更能通过不断地学习而产生伟大的创造力。所谓神经网路系统是利用工程技术手段模拟人脑神经网络的结构和功能的一种技术系统,它是一种大规模并行的非线性动力学系统。严格地讲神经网络应该称为人工神经网络,为了简化起见,一般省略人工二字直接称神经网络,可简记为NN(NeuralNetwork)。由于神经网络具有信息的分布存储、并行处理以及自学习等优点,所以它在信息处理、模式识别,智能控制等领域有着广阔的应用前景。人工神经网络的着眼点不是利用物理器件来完整的复制生物体中细胞网络,而是采纳其可利用的部分来解决目前计算机或其它系统不能解决的问题,如学习、识别、控制和专家系统等。随着生物和认知科学的发展,人们对人脑的结构和认知过程的了解越来越深入,促进了人工神经网络技术的发展,越来越多的生物特性将被利用到工程中去。图2-1BP神经网络结构图BP神经网络结构如图2-1所示。由图可见,BP网络是一种具有三层或三层以上神经元的神经网络,包括输入层、中间层和输出层。上下层之间实现全连接,而每层神经元之间无连接。当一对学习样本提供给网络后神经元的激活值从输入层经中间层向输出层传播,在输出层的各神经元获得网络的输入响应。接下来,按照减少目标输出与实际输出之间误差的方向,从输出层反向经过各中间层回到输入层,从而逐层修正各连接权值,这种算法称为“误差反向传播算法”,即BP算法。随着这种误差逆向的传播修正不断进行,网络对输入模式响应的正确率也不断上升。与感知器不同的是,由于误差反向传播中会对传递函数进行求导计算,BP网络的传递函数要求必须是可微的,所以不能使用感知器网络中的硬闭值传递函数,常用的有sigmoid型对数、正切函数或线性函数。由于传递函数是处处可微的,所以对BP网络来说,一方面,所划分的区域不再是一个线性划分,而是由一个非线性超平面组成的区域,它是比较平滑的曲面,因而它的分类比线性划分更加精确,容错性也比线性划分更好;另一方面,网络可以严格采用梯度下降法进行学习,权值修正的解析式十分明确。2.2BP网络学习算法设有n个输入节点1x,2x……nx;q个输出节点1y,为……ny;网络层的隐含节点有p个神经元。输入层第i个单元至隐含层第j个单元连接权jiw,。隐含层第j个单元至输出层第t个单元连接权tjv,。隐含层各单元的阈值为j,输出层各个单元的阈值为t,在训练该网络的学习阶段,设有N组训练样本,先假定用其中的某一固定样本k输入输出模式对网络进行训练。输入层:n个输入1x,2x……nx;也就是输入样本。中间层:jniijijxws,(1)jjsSb;j=1,2……p(2)输出层:ttsSC;t=1,2,……q(3)tjpjtjtbvL1,(4)为了模拟生物神经元的非线性特性,激励函数常选用s函数xexS-11(5)S函数不但具有可微分性,而且具有饱和非线性特性,这又增强了网络的非线性映射能力。S函数的微分函数为:xS。=xSxS-1(6)单元输出闭值是为模拟神经元的闭值电位而设置的,在网络的学习过程中,它和各连接权一样不断的被修正。阂值的作用反应在S函数的输出曲线上,使曲线向左平移了阂值大小的单位,它起到了调节神经元兴奋水平的作用。定义第N个标准模式的误差函数为:qtttkcyE12-21(7)学习过程按使误差Ek减少最快的方向调整权值系数,直到获得满意的权值为止。根据梯度下降原则使连接权tjv,的调整量与tjkvE,的负值称比例,连接权的修正公式如下:tjktjvEv,,-式中t=l,2,.……q;j=l,2,……p;01jttttjttktjktjbLSCdvCCEvEv---,,,(8)相应的闭值公式为:ttttttktkLSCdCCEE---t(9)若连接权值不直接作用于输出层神经元,情况就有所不同了,但仍按梯度下降法jijjjjkjijiwssbbEwEw,,,--(10)jjjsSsb(11)tjtttjtttqttkjkvLSCdbLLCCEbE,q1t1--(12)于是ijtjtqittjixsSvLSCdw,1,-(13)同理jtjtqittjsSvLSCd,1-(14)BP网络学习算法计算步骤如下:(l)初始化,置所有的连接权值jiw,,tjv,,j,t为随机数(2)提供训练集,即给出顺序赋值的输入向量kX和期望的输出向量kd。(3)计算中间层和输出层的各神经元实际输出。(4)计算期望输出与实际输出的偏差kE。(5)计算tjv,和t,调整中间层至输出层的连接权和闭值。(6)计算jiw,和j,调整输入层至中间层的连接权和闭值。(7)返回2,直至误差满意为止。3.基于BP神经网络的PID控制器3.1PID控制器PID控制器是一个在工业控制应用中常见的反馈回路部件。这个控制器把收集到的数据和一个参考值进行比较,然后把这个差别用于计算新的输入值,这个新的输入值的目的是可以让系统的数据达到或者保持在参考值。和其他简单的控制运算不同,PID控制器可以根据历史数据和差别的出现率来调整输入值,这样可以使系统更加准确,更加稳定。可以通过数学的方法证明,在其他控制方法导致系统有稳定误差或过程反复的情况下,一个PID反馈回路却可以保持系统的稳定。3.2基于BP神经网络的PID控制器BP神经网络具有逼近任意非线性函数的能力,而且结构和学习算法简单明了。通过神经网络自学习的能力,可以找到某一最优控制规律下的P、I、D参数。基于BP神经网络的PID控制系统结构如图3-1所示。控制器有两部分组成:(1)经典的PID控制器,直接对被控对象过程闭环控制,并且三个参数Kp,Ki,Kd为在线整定式;(2)神经网络NN:根据系统的运行状态,调节PID控制的参数,以期望达到某种性能指标的最优化。即使输出层神经元的输出状态对应于PID控制器的三个参数Kp,Ki,Kd,通过神经网络的自身学习、加权系数调整,从而使其稳定状态对应于某种最优控制规律下的PID控制参数。学习算法神经网络PID控制器控制对象rrrfKKpKiKdyre+_图3-1基于BP神经网络的PID控制系统结构图增量式PID控制算法描述如下:2-1-2-1--1-kekekeKkeKkekeKkukudip(15)在上式中Kp、Ki、Kd分别为比例、积分和微分系数;e(k)为系统实际输出和期望值之间的误差;u(k)为控制器的输出。BP神经网络的输入变量个数取决于被控系统的复杂程度,输出节点对应的是PID的三个可调参数。由于输出不能为负,所以输出层激活函数取非负的sigmoid函数(xxxeeexxg-tanh121)隐含层取正负对称的Sigmoid函数(xxxxeeeexxf---tanh)。由此,我们构造一个三层BP网络的结构为3-8-3所设计出的三层BP神经网络结构如图2-2所示:图3-2三层BP神经网络结构图图3-2中,网络输入层的输入、输出为:jjx(1)O(16)其中,将网络的输入变量作为控制器的输入,即2-1-2-1-ke-321kekekexkexkex(17)网络隐含层的输入、输出为:knetfOOwknetiiMjjij(2)i(2)(1)0(2),(2)(k)(18)式中,可,为隐含层加权系数;i=l,2,…8;上角标(l)、(2)、(3)分别代表输入层、隐含层、输出层。网络输出层的输入、输出为:d(3)3i(3)2p(3)1(3)(3)(2)03(3)K(k)K(k)K(k)g(k)OOOknetOkOwknetlliQilil(19)式中,输出层输出节点分别对应三个可调参数Kp、Ki、Kd。取性能指标函数为:2-21kykrkE(20)一般地,按照梯度下降法修正网络的权系数,即按E(k)对加权系数的负梯度方向搜索调整,并附加一使搜索快速收敛全局极小的惯性项1--(3)(3)(3)likwwkEkwlili(21)式中,叮为学习速率,a为惯性系数。kwuuyykEwkElili(3)(3)l(3)l(3)l(3)l(3)knetknetkOkO(k)(k)(k)(k)(22)又有kOkwli(2)i(3)(3)lknet(23)则有3(3)32(3)21(3)12-1-k2e-1-ke-xkekekOkuxkekOkuxkekOku(24)由于kuky未知,可以用一个BP网络建立一个被控对象的辨识模型,再用此模型去训练BP网络控制器,以解决权值修正时导数项kuky的计算。本文近似用符号函数kukysgn取代,从而简化计算。由此带来计算不精确的影响可以通过调整学习速率来补偿。上述分析可得网络输出层加权系数的学习算法为:knetgkOkukukykekOkwkwliiilili(3)(3)l(3)2(3)(3)(3)sgn1-(25)同理可得到隐含层加权系数的学习方法31(3)(3)l(2)i(2)i(1)(2)(3)(2)1-llijiijlikwknetfkOkwkw(26)式中,xgxgg-1,2-12xff。该控制器控制算法归纳如下:(l)确定BP网络的结构,即确定输入层节点数M和隐含层节点数Q,并给
本文标题:基于BP神经网络的PID控制器设计
链接地址:https://www.777doc.com/doc-4221860 .html