首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

基于神经网络的PID控制及其仿真

作者:吴 伟 晏梦云 魏航信 来源:现代电子技术


  摘 要:提出基于神经网络的PID控制方案,利用神经网络的自学习能力对PID控制参数在线整定,使PID控制器具有自适应性。这里采用三层前向网络、动态BP算法,达到了在线实时控制的目的,显示了BP神经网络的PID控制方法很强的鲁棒性,同时也显示了神经网络在解决高度非线性和严重不确定系统方面的潜能。最后用Matlab软件对一个实例进行仿真研究。仿真结果表明,神经网络PID控制器优于传统PID控制器,具有较高的精度和较强的适应性,它可以获得满意的控制效果。
  关键词:神经网络;BP算法;PID控制;Matlab仿真
  中图分类号:TP274文献标识码:A
  文章编号:1004-373X(2009)10-143-03
  
  PID Control and Simulation Based on BP Neural Network
  WU Wei,YAN Mengyun,WEI Hangxin
  (School of Mechanical Engineering,Xi′an Shiyou University,Xi′an,710065,China)
  Abstract:The neural network PID control method is introduced,which the parameters of PID controller is adjusted by use of the self-study ability.So the PID controller has the capability of self-adaptation.The dynamic BP algorithms of three-layer networks realize the online real-time control,which displays the robustness of the PID control,and the capability of BP neural networks to deal with nonlinear and uncertain system.A simulation example is made by using of this method.The result of simulation shows that the neural network PID controller is better than the conventional PID controller,and has higher accuracy and stronger adaptability,it can get the satisfied control result.
  Keywords:neural network;BP algorithm;PID control;Matlab simulation
  
  0 引 言
  
  在工业控制中,PID控制是最常用的方法。因为PID控制器结构简单,实现容易,控制效果良好[1]。随着工业的发展,对象的复杂程度不断加深,尤其对于大滞后、时变的、非线性的复杂系统,常规PID控制显得无能为力。因此常规PID控制的应用受到很大的限制和挑战。为了使控制器具有较好的自适应性,实现控制器参数的自动调整,可以采用神经网络控制的方法[2]。
  利用神经网络所具有的非线性映射能力、自学习能力、概括推广能力,结合常规PID控制理论,通过吸收两者的优势,使系统具有自适应性,可自动调节控制参数,适应被控过程的变化,提高控制性能和可靠性[3]。
  
  1 神经网络PID控制
  
  神经网络PID控制是神经网络应用于PID控制并与传统PID控制相结合而产生的一种新型控制方法,是对传统的PID控制的一种改进和优化[4]。
  1.1 常规的PID控制器
  传统的PID控制器算式如下:
  u(t)=KP[e(t)+(1/T1)∫t0e(t)dt+TDde(t)/dt](1)
   相应的离散算式为:
  u(k)=KPe(k)+KI∑kj=0e(j)+KD[e(k)-e(k-1)](2)
  式中: KP,KI,KD分别为比例、积分、微分系数;e(k)为第k次采样的输入偏差值;u(k)为第k次采样时刻的输出值。
  PID控制器由比例(P)、积分(I)、微分(D)三个部分组成,直接对被控对象进行闭环控制,并且三个参数KP,KI,KD为在线调整方式。
  1.2 神经网络
  BP神经网络的结构如图1所示。
  BP神经网络通常采用基于BP神经元的多层前向神经网络的结构形式。典型的BP神经网络是3层网络,包括输入层、隐层和输出层,各层之间实行全连接。输入层节点只是传递输入信号到隐含层;隐含层神经元(即BP节点)的传递函数f常取可微的单调递增函数,输出层神经元的特性决定了整个网络的输出特性。当最后一层神经元采用Sigmoid函数时,整个网络的输出被限制在一个较小的范围内;如果最后一层神经元采用Purelin型函数,则整个网络的输出可以取任意值。
  图1 三层BP网络结构图
  设,x1,x2,…,xn为BP网络的输入;y1,y2,…,yn为BP网络的输出;w1ji为输入层到隐含层的连接权值;w2ij为隐含层到输出层的连接权值。
  图1中各参数之间的关系为:
  输入层: xi=xi0
  隐含层:
  θ1j=∑ni=0w1jixi, x1j=f(θ1j)(3)
  输出层:
  θ2i=∑ni=0w2ijxj, x2i=g(θ2i)(4)
  BP神经网络采用误差的反向传播来修正权值,使性能指标E(k)=(1/2)\2最小。按照梯度下降法修正网络的权值:
  输出层:
  δ2=e(k)g′\;
  w2ij(k+1)=w2ij(k)+ηδ2x1j(k)(5)
  隐含层:
  δ1=δ2w2ijf′\;
  w1ji(k+1)=w1ji(k)+ηδ1x0i(k)(6)
  1.3 神经网络PID控制器结构
  基于BP神经网络的PID控制系统结构如图2所示。控制器由常规的PID控制器和神经网络两部分组成。PID控制要取得较好的控制效果,必须通过调整好比例、积分和微分三种控制作用,形成控制量中相互配合又相互制约的关系。
  常规的PID控制器直接对被控对象进行闭环控制,并且其控制参数为KP,KI,KD在线调整方式。神经网络根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化,使输出层神经元的输出对应于PID控制器的三个可调参数KP,KI,KD。神经网络所具有的任意非线性表达能力,可以通过对系统性能的学习来实现具有最佳组合的PID控制。
  图2 基于BP神经网络的PID控制器结构
  1.4 神经网络PID控制器的控制算法
  (1) 确定神经网络的结构,即确定输人节点数和隐含层节点数,并给出各层加权系数的初值w(1)ij(0)和w(2)ji(0),并选定学习速率η和惯性系数α,令k=1;
  (2) 采样得到r(k)和y(k),计算当前时刻的误差e(k)=r(k)-y(k);
  (3) 计算各神经网络的输入/输出,其输出层的输出即为PID控制器的三个控制参数KP,KI,KD;
  (4) 计算PID控制器的输出;
  
  (5) 进行神经网络学习,在线调整加权系数,实现PID控制参数的自适应调整;
  (6) 令k=k+1,返回(1)。
  
  2 神经网络的Matlab仿真
  
  为了检验神经网络PID控制系统的能力,在此进行大量的仿真实验。下面以一阶时滞系统作为被控对象,进行仿真实验。
  设被控对象为:
  G(s)=160s+1e-0.5s
  相应的控制系统的阶跃响应曲线如图3、图4所示。
  图3 普通PID控制阶跃响应
  可以看出,采用传统的PID控制,其调节时间ts=120 s,超调量达到65%;采用神经网络PID控制,系统调节时间ts=120,超调量只有20%。由此说明,后者响应的快速性和平稳性都比前者要好,也说明了这种方法的有效性。
  图4 神经网络PID控制阶跃响应
  
  3 结 语
  
  神经网络PID控制方法简单,借助神经网络的自学习、自组织能力,可实现PID参数的在线自整定和优化,避免了人工整定PID参数的繁琐工作。从文中可以得出,神经网络PID控制有如下的优点:
  (1) 无需建立被控系统的数学模型;
  (2) 控制器的参数整定方便;
  (3)对于大滞后、时变的、非线性的复杂系统有很好的动静态特性。实现有效控制和PID控制参数的在线自整定。
  
  参考文献
  [1]刘金琨.先进PID控制及Matlab仿真[M].北京:电子工业出版社,2003.
  [2]韩豫萍,孙涛,盛新.基于BP神经网络的PID控制及仿真[J].可编程控制器与工厂自动化,2007(12):91-93.
  [3]黄金燕,葛化敏,唐明军.基于BP神经网络的PID控制方法的研究[J].微计算机信息,2006(26):278-280.
  [4]曾军,方厚辉.神经网络PID控制及其Matlab仿真[J].现代电子技术,2004,27(2):51-52.
  [5]赵娟平.神经网络PID控制策略及其Matlab仿真研究[J].微计算机信息,2007(7):59-60.
  [6]Zhang Mingguang,Qiang Minghui.Study of PID Neural Network Control for Nonlinear System[J].Institute of Electrical and Electronics Engineers Inc,2007.
  [7]孙洁.神经网络PID算法在流量控制中的应用与仿真研究[D].合肥:合肥工业大学,2007.
  [8]王亚斌.基于BP神经网络PID控制及其仿真[J].江苏冶金,2008(2):33-35.
  [9]廖方方,肖建.基于BP神经网络PID参数自整定的研究\.系统仿真学报,2005(7):1 711-1 713.
  [10]杜建凤,崔勇.神经网络PID控制\.北京科技大学学报,1998(6):571-575.
  [11]张咏军,王航宇.基于BP神经网络的温度模糊PID控制器设计\.现代电子技术,2008,31(7):49-51.