1、基于模糊神经网络 PID 算法的液位串级控制丁芳 贾翔宇(中国民航大学航空自动化学院 天津 300300)摘要:利用 PID 算法对液位串级系统进行控制虽然是一种有效的控制方法,由于它的精确数学模型难以确定,使得参数整定困难、控制效果不理想。本文针对上述问题,将 PID 算法、模糊控制算法以及神经网络算法相结合,形成了一种智能控制算法模糊神经网络 PID 算法。将该算法运用到液位串级控制系统中,实现了 PID 参数的自整定,并且提高了控制质量。实验结果表明,模糊神经网络 PID 算法与 PID 算法的控制效果相比在鲁棒性和响应时间等方面有了较大的提高,具有一定的应用前景。关键字:神经网络,模糊
2、控制,PID 算法, 液位串级控制中图分类号:TP312Level Cascade Control System Based on FNN PID AlgorithmDing Fang , Jia Xiangyu(Aeronautic Automation College, Civil Aviation University of China ,Tianjin 300300,China)Abstract: Use PID algorithm Level cascade control system is an effective Although control method, since i
3、ts difficult to determine precise mathematical model, making parameter tuning difficulties, control effect is not ideal. This paper addresses this issue, PID algorithm, fuzzy control algorithms and neural network algorithms to form an intelligent control algorithm - FNN PID algorithm. The algorithm
4、applied to the liquid level cascade control system, the PID parameters to achieve the self-tuning and improved quality control. The experimental results show that FNN PID algorithm and PID algorithm compared to the control results in robustness and response time and so on has been enhanced, with a c
5、ertain application.Key words: Neural network; Fuzzy control; PID algorithm; Level cascade control作者简介:丁 芳(1960) ,女,上海人,副教授,硕士,研究方向为智能控制、检测。引言:由于二阶液位系统具有一定的非线性和时滞性的特点,所以普通 PID 算法的控制效果并不理想。神经网络有自学习能力和大规模并行处理能力,在认知处理上比较擅长;模糊控制系统能够充分利用学科领域的知识,能以较少的规则数来表达知识,在技能处理上比较擅长 12。模糊神经网络控制算法是神经网络算法和模糊算法的有机结合,该算法既有
6、模糊算法控制灵活和鲁棒性强的优点,又具有较强的非线性跟踪学习能力,有很大的实际意义和广阔的应用前景。一、模糊神经网络 PID 控制器1.1 模糊神经网络 PID 控制器的结构模糊神经网络 PID 控制器的结构如图 1 所示。控制器由三部分组成: 模糊化模块:用来对系统 1状态变量进行模糊量化和归一化处理 23。这样做可以利用模糊控制的鲁棒性和非线性控制作用,对作为神经网络输入的状态变量进行模糊规则的预处理,避免了神经网络的活化函数采样 Sigmoid 函数时,直接输入量过大而造成的输出饱和,使输出不再对输入敏感的缺点。 神经网络(NN):用于表示模糊 2规则,经过神经网络的学习,以加权系数的形
7、式表现出来,规则的生成就转化为加权系数初值的生成和修改。根据系统的运行状态,自行整定 PID 参数,以期达到最优的控制效果。也就是将神经网络的输出层输出对应于 PID 控制期的三个可调参数 、 、 ,通过神经网络的自学习,加权系数的Kpid调整,从而使稳定状态对应于某种最优控制下的 PID 参数。 普通 PID 控制器:直接对控制对象进行 3闭环控制,并且 、 、 三个参数为在线整定式 3。Kpid图 1 基于模糊神经网络 PID 的液位串级控制系统结构Fig.1 Structure of Level Cascade Control System Based on FNN PID Algori
8、thm1.2 模糊化模块模糊化模块的框图如图 2 所示。该模块的作用是对系统状态变量 和 进行模糊化和()ek()ek归一化处理。图 2 模糊化模块的结构图Fig.2 Structure of fuzzy module本文通过计算 ,将液位系统误差 以及误差变化()/ekr()()ekryk模糊化(其中, 和 分别是现在时刻的系统误差和误差变化),根据大()1ek()量的实验数据和经验可以得到公式 1 和公式 2,将 和 在0,6区间分成七个等级,完成“归()ek档”模糊化,然后将得到的 E 值和 E 值同时除以缩减系数 6 将模糊化模块的输出调整到 01 的范围,继而将归一化后的数据传送给神
9、经网络的输入层。(1)6()/0.85574.3()/32110.0/SgnerEerSgn其中,E 为系统误差的模糊论域。(2)6()150.8463().3221500.eSgne其中,E 为系统单位时间内的误差变化的模糊论域。模糊化模块的输出 的模糊论域为:()Ok-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7从而得到模糊化输出表如表 1 所示.表 1 模糊输出表Tab.1 Fuzzy outputE 的变化()Ok-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6-6 -7 -7 -6 -5 -5 -4 -3 -2 -2 -1 0 0 0-5 -6
10、 -6 -6 -6 -5 -5 -5 -4 -4 -2 -1 0 0-4 -7 -6 -7 -6 -6 -6 -6 -4 -3 -1 -1 0 0-3 -7 -6 -6 -6 -6 -5 -5 -4 -3 -2 0 1 1-2 -4 -4 -4 -5 -4 -4 -4 -2 -1 0 0 1 1-1 -4 -4 -4 -5 -4 -4 -2 -1 0 0 1 2 20 -4 -4 -4 -4 -2 -1 0 1 1 1 3 4 41 -2 -2 -2 -2 0 0 1 3 4 3 4 4 42 -1 -2 -1 -2 0 3 4 4 4 3 4 4 43 0 0 0 0 3 3 6 6 6 6
11、 6 6 64 0 0 0 2 4 4 7 7 7 6 7 6 75 0 0 0 2 4 4 6 6 6 6 6 6 6偏差E6 0 0 0 2 4 4 7 7 7 6 7 6 7通过查表可以得到模糊化输出 的值,然后除以缩减系数 7 完成对 的归一化处理,再将()Ok ()Ok得到的值送到神经网络的输入层。1.3 BP 神经网络本文使用的是一个三层神经网络,其结构如图 3 所示。该网络有三个输入层节点,六个隐含层节点和三个输出层节点,输入层节点对应模糊化后的系统状态变量,输出节点对应 PID 控制器的三个可调参数 、 和 。由于 、 、 三个参数不能为负值,所以本文采用非负 Sigmoid
12、函KpidKpid数作为输出层的活化函数,而隐含层的活化函数则采用正负对称的 Sigmoid 函数 45。模糊化模糊化模糊化e 0d e 0 / d te 1d e 1 / d te 2d e 2 / d t输入层隐含层输出层K pK iK d图 3 模糊神经网络结构图Fig.3 Structure of fuzzy neural network该神经网络的输入为模糊化后的系统状态变量,网络的隐含层输入为:(3)3(2) (2)(1)1() (),2.6i ijjji inetkOkOfnet式中: 隐含层加权系数;()ij隐含层活化函数,本文中 ;f tanh()fx上角标(1) 、 (2)
13、 、 (3)分别表示输入层、隐含层和输出层。输出层的输入输出为:(4)6(3)(3)21()()(3)12(3),l liiil lnetkOkgnetkKpiOd式中: 输出层加权系数;()li输出层活化函数,本文中 。g (1/2)tanh()gxx取性能指标函数为:(5)21()(1)2rJykyk按 J 对加权系数的负梯度方向搜索调整,并附加一个使搜索快速收敛到全局极小的惯性项,则有:(6)(3) (3)(3)1li liliukkk式中: 学习速率;惯性系数。并且有(7)(3)1()2(3)(1)()21)(2)ukekOukeke因此可以得 BP 神经网络 NN 输出层的加权系数的
14、修正公式为:(8)(3)(3)2(3)() (3)(3)11sgn)(,2li li lil llkOkkyuetkl 依据上述推算办法,可得隐含层加权系数的修正公式:(9)(2) (2)(1)(2)3()()()(3)11,.6ij ij iji i llilOkkfnet 式中: 2()()1/gxgxff所以,基于 BP 神经网络的 PID 控制算法可以归纳如下:(1) 选定 BP 神经网络的结构,给出各层加权系数的初值,选定学习速率和惯性系数,k =1;(2) 采样得到 和 ,计算 ;()ry()()ekryk(3) 根据式(5)(7)前向计算 NN 的各层神经元的输入和输出,NN 输
15、出层的输出为 PID 控制器的三个可调参数 、 、 ;Kpid(4) 根据式(4) ,计算 PID 控制器的输出 ,参与控制和计算;()uk(5) 由式(11)对输出层的加权系数进行修正;(6) 由式(12)对隐含层加权系数进行修正;(7) 置 k=k+1,返回(2) 。二、模糊神经网络 PID 算法在液位串级系统中的应用2.1 液位串级系统液位串级系统的结构框图如图 4 所示。从图中可以看出,液位串级系统针对上水箱液位和下水箱液位两处的干扰,设计成主、副双闭环结构,这样做提高了控制精度和控制效果,但增加了控制难度。在对系统进行调节时,先整定副调节器的参数,当副环稳定后再进行主调节器的参数整定
16、,从而使整个系统达到稳定运行状态。主调节器 副调节器 调节阀上水箱液位下水箱液位液位变送器液位变送器一次扰动二次扰动液位设定实际液位图 4 液位串级系统结构图Fig.4 Structure of level cascade system2.2 基于模糊神经网络 PID 算法的液位串级控制系统基于模糊神经网络 PID 算法的液位串级控制系统的结构框图如图 5 所示。模糊神经网络 P I D模糊神经网络 P I D调节阀上水箱液位下水箱液位液位变送器液位变送器一次扰动二次扰动液位设定实际液位图 5 基于模糊神经网络 PID 算法的液位串级控制系统结构图Fig.5 Structure of Leve
17、l Cascade Control system Based on FNN PID Algorithm该系统将模糊神经网络 PID 算法运用到二阶液位的控制过程中,使用模糊控制理论将采集到的系统状态信息模糊化、归一化以后送给神经网络,有效避免了活化函数的过饱和现象;再用神经网络将模糊处理后的状态变量转化为 PID 控制器的控制参数,通过对神经网络加权系数的调整达到对 PID 参数的优化,以期达到最优的控制目的。2.3 编程实现本文所涉及的控制算法由两个部分组成:一是 PID 算法,它可以根据液位偏差算得电动调节阀的控制量,从而达到对液位的控制;二是模糊神经网络算法,用来根据系统的状态变量对 P
18、ID 参数进行调整,以期达到最优控制。具体的编程实现是在北京亚控公司组态王 6.01 的环境下进行的,由于该版本的组态王只能设置 64 个变量,所以只在组态王环境下编制控制界面和 PID 控制算法,并使用 VB 编制了外部服务程序,用来实现模糊神经网络优化过程,为组态王中的 PID 控制过程提供 PID 参数。两种软件之间的数据交换采用标准 DDE 连接完成。程序流程图如图 6 所示。图 6 基于模糊神经网络 PID 算法的液位串级控制流程图Fig.6 Flowchart of Level Cascade Control system Based on FNN PID Algorithm三、实
19、验结果经过在线调试,分别得到了液位串级控制在传统 PID 算法和模糊神经网络 PID 算法两种不同情况下的性能曲线,如图 7 和图 8 所示。(1) (2)图 7 传统 PID 控制性能曲线Fig.7 Performance curve of traditional PID algorithm注:曲线 1 表示液位设定值,曲线 2 表示液位实际值,下同。(1) (2)图 8 模糊神经网络 PID 控制性能曲线Fig.8 Performance curve of FNN PID Algorithm从图 7 可以看出,图(1)和图(2)分别是液位下降和上升的响应曲线,其中下降过程的调节时间为459
20、 秒,上升过程的调节时间为 483 秒,并且两个过程都有一定超调,控制效果不甚理想。图 8 是基于模糊神经网络 PID 液位串级控制的性能曲线,图(1)和图(2)分别是液位下降和上升的响应曲线,其中液位下降过程的调节时间为 158 秒,液位上升过程的调节时间为 258 秒,并且在误差允许范围内,两个过程都没有出现超调现象,控制效果比传统 PID 算法有了显著的提高。四、结论对于液位串级控制系统,由于传统 PID 算法在参数整定过程中的缺陷,很难满足液位串级系统在精度和动态性能等方面的要求。本文针对以上问题,提出了模糊神经网络 PID 算法,将其运用在液位串级控制系统中,并在 PCT-2 型过程
21、控制系统实验装置上进行在线调试,结果表明:模糊神经网络 PID算法不仅简化了 PID 参数整定的过程,而且使得液位串级控制系统的性能有了很大改善。比较优化前后的曲线可以看出,该方法可以获得满足工业控制要求的控制曲线,减少了调节时间和动态误差。由此证明本文提出的控制策略和程序实现方法符合实际控制要求,有一定的实际应用价值。参考文献:1 田思庆 , 程佳生.自适应模糊控制在恒压供水系统中的应用研J. 自动化技术与应用,2008 年第 27 卷第 2 期2 S. K. Pradhan D. R. Parhi A. K. Panda. Neuro-fuzzy technique for navigat
22、ion of multiple mobile robotsJ. Fuzzy Optim Decis Making (2006) 5:255288 3 Mohammad Baharami and Keith E.Tait A Neural Network-Based Proportional Integral Derivative Controller J Neural comput & Applic(1994)2:134-1414 姜映红,叶碧成 基于 T-S 模型的模糊神经网络控制J.控制工程.2006 年 11 月第 13 卷第 6 期5 丁 芳,贾翔宇,倪杰. BP 神经网络在流量比值控制系统中的应用J。机床与液压,2007年第7期