您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 基于神经网络的PID控制
基于神经网络的PID控制课程名称:智能控制任课教师:学生姓名:学号:年月日摘要:本文基于BP神经网络的PID控制方法设计控制器,通过BP神经网络与PID的控制相结合的神经网络控制基本原理和设计来自适应的功能调节PID的的三个参数,并根据被控对象的近似数学模型来输出输入与输出并分析BP神经网络学习速率η,隐层节点数的选择原则及PID参数对控制效果的影响。计算机的仿真结果表示,基于BP神经网络的PID控制较常规的PID控制具有更好的自适应性,能取得良好的的控制结果。关键字:BP算法神经网络PID控制Abstract:Inthispaper,basedonBPneuralnetworkPIDcontrolmethoddesignedcontroller,throughtheBPneuralnetworkPIDcontrolwithacombinationofneuralnetworkcontrolbasicprinciplesanddesignfeaturesadaptivelyadjustingthePIDofthethreeparameters,andbasedonthecontrolledobjectapproximatemathematicalmodeltoanalyzetheoutputandtheinputandoutputBPneuralnetworklearningrateη,hiddenlayernodesandPIDparameterselectionprincipleeffectofthecontrol.ComputersimulationresultsindicatedthatbasedonBPneuralnetworkPIDcontrolcomparedwithconventionalPIDcontrolhasbetteradaptability,canachievegoodcontrolresults.Keyword:BPalgorithmsneuralnetworksPIDcontrol1引言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控制器的参数,以期达到某种性能指标的最优化,使输出层神经元的输出状态对应于PID控制器的三个可调参数Kp、Ki、Kd通过神经网络的自学习、加权系数调整,使神经网络输出对应于某种最优控制规律下的PID控制器的参数。2.3基于BP算法的三层前向网络的PID控制方案本文用来控制对象的神经网络模型采用3层BP网络,其结构如图2.3所示图2.3.1控制对象的神经网络模型经典增量式数字PID的控制算法为pidukuk1kerrorkerrork1kerrorkk(errork2errork1errork2)式中,kp,ki,kd分别为比例、积分、微分系数。网络输入层的输入为Oj(1)=x(j)j=1,2,...M(1)式中,输入变量的个数M取决于被控系统的复杂程度。网络隐含层的输入、输出为neti(2)(k)=0Mjwij(2)Oj(1),(2)Oi(2)(k)=f(neti(2)(k))(i=1,...Q),(3)式中,wij(2)-隐含层加权系数;上角标(1)、(2)、(3)分别代表输入层、隐含层和输出层。隐层神经元的活化函数取正负对称的Sigmoid函数f(x)=tanh(x)=xxxxeeee(4)neti(3)(k)=0Qiwij(3)Oi(2)(k),(5)Ol(3)(k)=g(netl3(k))(l=1,2,3)(6)O1(3)(k)=kp(7)O2(3)(k)=ki(8)O3(3)(k)=kd(9)输出层输出节点分别对应三个可调参数kp,ki,kd。由于kp,ki,kd不能为负值,所以输出层神经元的激励函数取非负的Sigmoid函数:g(x)=12(1+tanh(x))=xxxeee。(10)取性能指标函数为E(k)=12(rin(k)-yout(k))2(11)按照最速下降法修正网络的加权系数,即按E(k)对加权系数的负梯度方向搜索调整,并附加一使搜索快速收敛全局绩效的惯性项Δwli(3)(k)=-η(3)()liEkw+αΔwli(3)(k-1)(12)式中,η为学习速率;α为惯性系数。(3)()liEkw=(3)(3)(3)(3)(3)()()()()()()()()()()llllliOknetkEkykukykukOknetkwk(13)(3)(3)()()llinetkwk=(2)()iOk(14)由于()()ykuk未知,所以近似用符号函数sgn(()()ykuk)取代,由此带来计算不精确的影响可以通过调整学习速率η来补偿由上面公式,可求得(3)1()()ukOk=e(k)-e(k-1)(15)(3)2()()ukOk=e(k)(16)(3)3()()ukOk=e(k)-2e(k-1)+e(k-2)(17)上述分析可得网络输出层权的学习算法为Δwli(3)(k)=αΔwli(3)(k-1)+ηδl(3)Oi(2)(k)(18)δl(3)=error(k)sgn(()()ykuk)(3)()()lukOkg’(netl(3)(k))(l=1,2,3)(19)同理可得隐含层加权系数的学习算法Δwij(2)(k)=αΔwij(2)(k-1)+ηδi(2)Oj(1)(k)(20)δl(2)=f’(neti(2)(k))31lδl(3)wli(3)(k)(i=1,2,...Q)(21)g’(·)=g(x)(1-g(x)),f’(·)=(1-f2(x))/2(22)因此,基于BP神经网络的PID控制算法可归纳为:图2.3.2基于BP网络的PID控制器结构(1)确定BP网络的结构,给出各层加权系数的初值,选定学习速率η和惯性系数α,此时K=1;采样得到人r(k)和y(k),计算该时刻误差e(k)=r(k)-y(k);(2)计算神经网络各层神经元的输入、输出,输出为PID控制器的三个可调参数Kp、Ki、Kd;根据增量式数字PID控制算法计算PID控制器的输出u(k);进行神经网络学习,在线调整加权系数wij(1)和wli(2)(k),实现PID控制参数的自适应调整;(3)置k=k+1,返回到(1);3仿真分析设被控对象的近似数学模型为:02()(1)(1)()1(1)akykukykyk,式中a0(k)是慢时变的,a0(k)=1+0.15sin(kπ/25)。学习速率η=0.3和惯性系数α=0.5。1、输入信号为正弦信号r(k)=sin(2πk/100)时得出仿真图如图3.1.1所示:图3.1.1输出信号y(k)跟踪输入信号r(k)的响应曲线图3.1.2控制信号u(k)的变化曲线3.1.3PID三个参数的变化曲线3.1.4误差曲线图2、输入信号为方波信号r(k)=sign(sin(2*pi*k/100))时得到仿真曲线如图3.2.1所示:图3.2.1输出信号跟踪输入信号的响应曲线图图3.2.2跟踪误差动态曲线图3.2.3控制信号u(k)的变化曲线图3.2.4三个参数的变化曲线分析BP神经网络学习速率η、隐层节点数的选择原则及对控制效果的影响从仿真中来观察发现改变学习速率会对控制效果发生改变,PID的三个参数也会随之发生改变,在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在0.01~0.8之间。从原理上看,隐含层节点数多,则可以有更多的输入点可供输入,即只要有足够多的隐含层和稳节点,就可实现更复杂的映射关系,但是通过改动模型的实现程序来看,怎样根据特定的问题来具体确定网络的结构尚无很好的方法,依旧需要凭经验和试凑。所以隐含层的节点数可以影响控制效果,但是如何变的更好的控制效果,任然多和准来判定。PID参数对控制效果的影响神经网络,根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化,使输出层神经元的输出对应于PID控制器的三个可调参数。对于控制系统的稳定性而言,在系统稳定的前提下,加大比例参数Kp可以减少稳态误差,但不能消除稳态误差,主要还是影响系统的控制速率;而积分参数Ki有助于提高系统的控制精度,所以对系统控制的稳态性能更大点;微分控制环节的加入微分参数Kd,可以在误差出现或变化瞬间,按偏差变化的趋势进行控制,起到一个早期的修正作用。4.总结基于BP神经网络的PID控制较常规的PID控制具有较高的控制品质,神经网络,根据系统个的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化,使输出层神经元的输出状态对应于PID控制器的三个可调参数kp,ki,kd通过神经网络的自学习、加权系统调整,其中BP的学习速率和隐层节点数的选择对系统的控制起着作用,使神经网络输出对应于某种最优控制律下的PID控制器参数。5.收获与不足最大的收获就是了解了普通PID与BP神经网络PID之间的区别,体现出了BP神经网络的PID控制较常规的PID控制具有较高的控制品质;不足之处在与对学习速率和隐层节点的选择选择的范围比较广,对系统的控制效果有很大的差别。参考资料1.基于MATLAB与fuzzyTECH的模糊与神经网络设计,周润景,张丽娜著,电子工业出版社,20102.智能控制系统,王耀南著,湖南大学出版社,20063.MATLAB/Simulink建模与仿真实例精讲,张德丰等编著,机械工业出版社,20104.智能控制及其MATLAB实现,李国勇编著,电子工业出版社,20055.先进PID控制及其MATLAB仿真,刘金琨编著,电子工业出版社,20026.MATLAB神经网络编程,张德丰编著,化学工业出版社,20117.神经网络控制与MATLAB仿真,张泽旭编著,哈尔滨工业大学出版社,20118.神经网络、模糊系统及其在运动控制中的应用,丛爽著,中国科学技术大学出版社,20019.基于BP神经网络的PID控制参数整定,陈宇峰,蔡琴,成都电子机械高等专科学校学报,2007年第3期10.基于神经网络的PID控制及其仿真,吴伟,晏梦云,魏航信,现代电子技术,2009年第10期11.人工神经网络原理及仿真实例,高隽,机械工业出版社,2003[附]程序清单1、正弦波程序clearall;closeall;x1=0.3;a1=0.05;In=4;h=5;Out=3;wi=[-0.28460.2193-0.5097-1.0668;-0.7484-0.1210-0.47080.0988;-0.71
本文标题:基于神经网络的PID控制
链接地址:https://www.777doc.com/doc-4224129 .html