您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 股票报告 > 基于BP神经网络PID控制系统的设计
0《智能控制》课程论文基于BP神经网络PID控制系统的设计成绩:任课教师:班级:作者:上交时间:1一、神经网络PID控制器人工神经网络是对人脑神经系统的模拟而建立起来的。它是由简单信息处理单元(人工神经元,简称神经元)互联组成的网络,能够接受并处理信息。网络的信息处理是由处理单元之间的相互作用(连接权)来实现的。神经网络PID控制就是神经网络应用于PID控制并与传统PID控制相结合而产生的一种改进型控制方法,是对传统的PID控制的一种改进和优化。决定它们整体性的因素是由神经网络模型来控制的,而决定神经网络的整体性的因素则是由以下三个方面来控制:(1)神经元(信息处理单元)的特性;(2)神经元之间相互连接的形式一拓扑结构;(3)为适应环境而改善性能的学习规则。二、BP神经网络设计与分析在进行BP神经网络的设计之前,一般应从网络的层数、每层的神经元个数、初始值及学习方法等方面来考虑。下面分析BP神经网络的结构特征,为RP神经网络PID控制系统的编稗建立基础。(1)网络的层数理论证明:具有偏差和至少一个S型隐含层加上一个线性输出层网络,能够逼迸任何有理函数。初步选定BP神经网络的层数为三层(输入层、隐含层和输出层)来拟合对象模型。如三层神经元网络不满足时,再考虑增加隐含层的神经元数。(2)每层神经元个数的确定输入层和输出层神经元个数一般根据实际所需要求解的问题来确定,本文所研究的对象是双输入双输出,但考虑到两个BP神经网络来输出PID参数,所以.两个BP神经网络的输入神经元个数都为1,输出神经元个数都为3。目前,对BP神经网络隐含层节点数的确定尚无理论指导,一般采用试凑法,即设定相同的误差目标,对不同的神经元数进行训练,通过比较各个网络的收敛时间及预测误差来选取一个相对理想的隐含层神经元数。(3)激活函数的确定激活函数是一个神经网络的核心。本文隐层采用s型激活函数,输出层采用线性激活函数。(4)初始权值的确定由于系统是非线性的,初始值与网络的学习是否达到局部最小、能否能够收敛以及训练时间的长短的关系很大。取初始值在(-1,1)之间的随机数。(5)期望误差的选取在设计网络的训练过程中,期望误差也应当通过对比训练确定一个合适的值。一般情况下,作为对比,可以同时对两个不同期望误差值的网络函数进行训练,最后考虑综合因素来确定其中的一个网络。三、BP网络的结构及算法1、神经网络的前向计算前向计算是在网络各神经元的活化函数和连接强度都确定情况下进行的。以具有所个输入、9个隐含节点、,.个输出的三层BP神经网络结构为例,按逐个输入法依次输入样本,则BP神经网络输入层的输出为:jx1,2,jm……隐含层第i个神经元的输入、输出可写成:21miijjjnetvx()iifynet1,2,im……()ijfv式中,—隐含层加权系数;—活化函数。这里取为Sigmoid活化函数。输出iy,将通过加权系数向前传播到第l个神经元作为它的输入之一,而输出层的第l个神经元的总输入为:1qiijjiynetw输出层的第lL个神经元的总输出为:()llfonet1,2,l……r()lifw式中,—输入层加权系数;:活化函数。这里取为Sigmoid活化函数。对于以上四式,一般应用中,活化函数f(x)取单极性Sigmoid函数或双极性Sigmoid函数,其数学表达式分别为:1()1exp[()]()()[1()]iiiiifnetnetfnetfnetfnet,或1exp[()]()1exp[()]1()[()]2iiiiinetfnetnetfnetfnet,2式中:参数只表示阀值。在神经网络的正常工作期间,上面的过程即完成了一次前向计算,而若是在学习阶段,则要将输出值和样本输出值之差回送,以调整加权系数。2、神经网络的误差反向传播和加权系数的调整在前向计算中,若实际输出,与理想输出,不一致,就要将其误差信号从输出端反向传播回来,并在传播过程中对加权系数不断修正,使输出层神经元上得到所需要的期望输出,为止。当网络输出与期望输出不等时,存在输出误差E,定义如下:11()2rlllEdo2将以上误差定义式展开至隐层,有311111[()][()]22qrrlllliilliEffydnetdw22进一步展开至输入层,有1111111{[)]}{[(()]}22qqqrrllilliijjililijEfffydwdwvx22由以上可以看出,网络输入误差是各层权值liw,ijv打的函数,因此调整权值可以改变误差E。显然,调整权值的原则是使误差不断地减小,因此应使权值的调整量与误差的负梯度成正比,即:liliEww1,2,1,2,il……q;?…rliliEvv1,2,1,2,jl……m;?…q式中负号表示梯度下降,常数表示比例系数,在训练中反映了学习速率。由此也可以看出BP网络的学习算法是学习规则类,这类算法常被称为误差的梯度下降(GradientDescent)算法。以上两式仅是对权值调整思路的数学表达,而不是具体的权值调整计算式。下面推导三层BP网络权值的调整计算式。事先约定,隐含层及输出层的传递函数均为单极性Sigmoid函数,且在全部推导过程中,对输出层均有1,2,1,2,il……q;?…r对于输出层均有1,2,1,2,jl……m;?…q,对于输出层,上式可写为llililliEEnetvwnetw(3.12)对于隐含层,上式可写为iijijiijEEnetvvnetv对输出层和隐含层各定义一个误差信号,令ollEnet4yiiEnet综合应用式(3.10)和(3.11),可将式(3.13)权值调整式改写为olliiyw综合应用式(3.13)和(3.15),可将式(3.11)的权值调整式改写为yiijjvx可以看出,只要计算出式中的误差信号群,权值调整量的计算推导即可完成。下面继续推导如何求群和掣。对于输出层,群可展开为:()yiiiiiiiEEEfynetyynetnet,(3.18)()oIIIIIIIEEEfonetnetoneto,下面求式(中网络误差对各层输出的偏导。对于输出层,利用式可得:()IIIEdoo对于隐含层,利用式,可得1()()rIIIliliEfdonetwy,可得:()()ollllIldooo11[()()]()()(1)rryoilllllilliiillffyydonetwnetw,,至此两个误差信号的推导已完成,得到三层BP网络的BP学习算法权值调整计算公式为:()()ollilllIiilyywdooo1()(1)ryoilijjlijiilyyvxwx5对于一般多层BP网络,设共有办个隐层,按前向顺序各隐含层节点数分别记容易看出,BP网络学习算法中,各层权值调整公式形式上都是一样的,均由三个因素决定,即:学习率、本层输出的误差信号以及本层输入信号y(或x)。其中输出层误差信号同网络的期望输出与实际输出之差有关,直接反映了输出误差,而各隐含层的误差信号与前面各层的误差信号都有关,是从输出层开始逐层反传过来的。四、仿真过程设被控对象的近似数学模型为:20.1()(1)()(1)1(1)()kakyoutkyoutkukyoutkakke式中,系数是慢时变的,a()=1.2(1-0.8)。神经网络的结构选择,学习速度=0.28和惯性系数=0.04,加权系数初始取区间[-0.5,0.5]上的随机数。输入指令信号分为两种:(1)rin(k)=1.0;(2)rin(k)=sin(2t)。取S=1时为阶跃跟踪,S=2时为正弦跟踪,初始权值取随机值,运行稳定后用稳定权值代替随机值。其跟踪结果和相应的曲线如图4.1图-4.8所示。00.050.10.150.20.2500.20.40.60.811.21.4time(s)rin,yout图4.1二次型性能指标学习单神经元自适应PID位置跟踪600.050.10.150.20.250.30.35time(s)wkp00.050.10.150.20.250.3150.32time(s)wki00.050.10.150.20.250.250.30.35time(s)wkd图4.2单神经元PID控制过程中权值变化012345600.20.40.60.811.21.4time(s)rin,yout图4.3阶跃响应曲线(S=1)70123456-0.200.20.40.60.811.2time(s)error图4.4跟踪误差曲线01234560.060.080.10.120.140.16time(s)kp012345600.050.10.150.2time(s)ki01234560.0050.010.0150.020.0250.03time(s)kd图4.5参数自适应整定曲线由于可调参数pk,ik,dk,均取非负的Sigmoid函数,其值在(0,1)之间,使得本算法的应用具有局限性,可以根据需要进行改进[21]。80123456-1-0.8-0.6-0.4-0.200.20.40.60.81time(s)rin,yout图4.6正弦跟踪曲线(S=2)0123456-8-6-4-202468x10-3time(s)error图4.7跟踪误差曲线9012345600.20.4time(s)kp01234560.40.60.8time(s)ki01234560.20.250.3time(s)kd图4.8自适应整定曲线通过在计算机上对线性和非线性系统仿真,我们可以清楚的看到自适应的效果,结果表明了这种自适应PID控制算法的有效性。五、结论总结随着科学技术的发展,智能控制技术必会日趋完善,并且能够在更多的领域上应用。本人在学习了以上这些内容之后,结合经典的PID控制算法,形成一种改进型BP神经网络的自适应PID算法。这一算法的本质是应用BP神经网络建立系统参数模型,将时变参数系统的参数变化规律转化为神经网络参数模型,反映了参数随状态而变的规律,即当系统变化后,可直接由模型得到系统的时变参数,而无需辨识过程。通过在计算机上对线性和非线性系统进行Matlab仿真,结果表明了这种自适应PlD控制算法的有效性。参考文献:[1]赵建华,沈永良.一种自适应PID控制算法.自动化学报,2001[2]舒怀林编著.PID神经元网络及其控制系统.北京:国防工业出版社,2006[3]朱海峰,李伟,张林.基于BP神经网络整定的PID控制.动力学与控制学报,2005[4]牛建军,吴伟.基于神经网络自整定PID控制策略及其仿真.系统仿真学报,2005[5]龙晓林,徐金方.基于优化BP神经网络的PID控制器研究明,2003
本文标题:基于BP神经网络PID控制系统的设计
链接地址:https://www.777doc.com/doc-4221847 .html