基于BP算法的PID控制器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于BP算法的PID控制器研究1100319069文杰在工业控制中,PID控制是最常用的方法。因为PID控制器结构简单,实现容易,控制效果良好。随着工业的发展,对象的复杂程度不断加深,尤其对于大滞后、时变的、非线性的复杂系统,常规PID控制显得无能为力。因此常规PID控制的应用受到很大的限制和挑战。为了使控制器具有较好的自适应性,实现控制器参数的自动调整,可以采用神经网络控制的方法,利用神经网络所具有的非线性映射能力、自学习能力、概括推广能力,结合常规PID控制理论,通过吸收两者的优势,使系统具有自适应性,可自动调节控制参数,适应被控过程的变化,提高控制性能和可靠性。1神经网络PID控制神经网络PID控制是神经网络应用于PID控制并与传统PID控制相结合而产生的一种新型控制方法,是对传统的PID控制的一种改进和优化。1.1常规的PID控制器传统的PID控制器算式如下:1()[()(1/)()()/]dutKpetTetdtTdetdt相应的离散算式为:0()()()[()(1)]kpidjukKekKejKekek式中:pK、iK、dK,分别为比例、积分、微分系数。()ek为第k次采样的输入偏差值;()uk为第k次采样时刻的输出值。PID控制器由比例(P)、积分(I)、微分(D)三个部分组成,直接对被控对象进行闭环控制,并且三个参数pK、iK、dK为在线调整方式。1.2基于BP神经网络的PIDPID控制要取得较好的控制效果,就必须通过调整好比例、积分和微分三种控制作用,形成控制量中既相互配合又相互制约的关系,这种关系不一定是简单的“线性组合”,从变化无穷的非线性组合中可以找出最佳的。神经网络所具有的任意非线性表达能力,可以通过对系统性能的学习来实现具有最佳组合的PID控制。采用BP网络,可以建立参数Kp、Ki、Kd自学习的PID控制器。+-++errorPIDBP-NNZ-1对象youtrinΔuuKpKiKD图1基于BP网络的PID控制器结构基于BP网络的PID控制系统结构如图1所示,控制器有两部分组成:1)经典的PID控制器,直接对被控对象进行闭环控制,并且三个参数Kp、Ki、Kd为在线调整方式。2)神经网络,根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化,使输出层经元的输出状态对应于PID控制器的三个可调参数Kp、Ki、Kd通过神经网络的自学习、加权系数调整,使神经网络输出对应于某种最优控制下的PID控制器参数。2BP神经网络PID控制器的算法分析在本文中采用三层BP网络,其结构如图2所示。x1x2x3KPKIkDjil图2BP网络结构神经网络的结构选择为:3-4-3结构,即输入层为3个神经元,分别代表着1()()()()xkrkykek,2()()(1)xkekek,3()()2(1)(2)xkekekek,隐含层为4个神经元,输出层为3个神经元,其输出为Kp、Ki、Kd。由神经网络的结构可以得出网络输入层的输入为:(1)(1)(1)123(1),(2),(3)OxOxOx网络隐含层的输入为:(2)(2)(2)2(1)11121311(2)(2)(2)2(2)(1)(2)(1)21222322(2)(2)(2)2(1)31323333(2)(2)(2)24142434()inetOnetnetkOWOnetOnet网络中隐层神经元的激活函数为:()tanh()xxxxeefxxee因为网络隐含层的输出为:(2)(2)()(())iiOkfnetk输出层的输入为:(3)(3)(2)1()()QlliiinetkOk输出层神经元的激活函数取非负的Sigmoid函数:1()(1tanh())2xxxefxxee所以输出层的输出为:(3)(3)(())llOgnetk(3)1(3)(3)11(3)1netnetneteOKpee(3)2(3)(3)22(3)2netnetneteOKiee(3)3(3)(3)33(3)3netnetneteOKdee根据网络输出层权的学习算法:'1()()(1())xxgxgxgxee(3)(3)11(3)1()()()1()sgn()[()(1)]()netknetkykerrorkerrorkerrorkukee(3)(3)22(3)2()()()1()sgn()()()netknetkykerrorkerrorkukee(3)(3)33(3)1()()()1()sgn()[()2(1)(2)]()netknetkykerrorkerrorkerrorkerrorkukee则:(3)(3)(2)(3)111()()(1)iiikOkk(3)(3)(2)(3)222()()(1)iiikOkk(3)(3)(2)(3)333()()(1)iiikOkk其中i=1,2,3,4。根据网络隐含层权的学习算法:'24f()()xxxee(2)(2)11(3)113(2)(3)(3)'(2)(3)(3)(3)(3)111112321()()21(3)314(())[,,]()lnetknetkifnetkee(2)(2)2122(3)123(2)(3)(3)'(2)(3)(3)(3)(3)22212322()()21(3)324(())[,,]()llnetknetklfnetkee(2)(2)33(3)133(2)(3)(3)'(2)(3)(3)(3)(3)33312323()()21(3)334(())[,,]()llnetknetklfnetkee(2)(2)44(3)143(2)(3)(3)'(2)(3)(3)(3)(3)44412324()()21(3)344(())[,,]()llnetknetklfnetkee(2)(2)(1)(2)111()()(1)jjjkOkk(2)(2)(1)(2)222()()(1)jjjkOkk(2)(2)(1)(2)333()()(1)jjjkOkk(2)(2)(1)(2)444()()(1)jjjkOkk3基于BP神经网络PID控制器的仿真研究被控对象:y(k)=a(k)*y(k-1)/(1+y(k-1)*y(k-1))+u(k);a(k)=1.2*(1-0.8*exp(-0.1*k));我们用单位阶跃信号来检验系统;学习速率lr=0.3和惯性系数b=0.03.仿真结果如下:4实验总结基于BP算法的神经网络可以在线调整Kp、Ki、Kd的值,结合传统的控制策略可以解决很多实际问题,可是研究表明,输出层的输入Kp、Ki、Kd都是任意的,那么为何输出就认为它们就是其对应的值呢?这次实验是我在图书馆查阅了无数的书籍后独立完成的,虽然花费了不少心血,但却是是我上研究生以来第二次认真完成一项自己感兴趣的东西;而且发现了自己对智能控制比较感兴趣,并学会了面对挫折时如何来寻找出路,当然因为时间紧迫没能更深入的研究,让我十分遗憾,以后在研究智能控制时应该还会看这些资料。5、参考文献目录1.《神经网络与模糊控制》张乃尧阎平凡编著清华大学出版社2.《智能控制》赵明旺王杰华中科技大学出版社3.《先进PID控制及其MATLAB仿真》刘金琨著电子工业出版社4.《智能控制及其应用》王顺晃舒迪前机械工业出版社5.《新型PID控制及其应用》陶永华机械工业出版社

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功