BP神经网络的网络结构是一个前向的多层网络,该网络中不仅含有输入层节点和输出层节点,而且还含有一层或多层的隐层节点。在BP神经网络中,同层的各神经元之间互不连接,相邻层的神经元则通过权值连接。当有信息输入BP神经网络时,信息首先由输入层节点传递到{dy}层的隐层节点,经过特征函数(人工神经元)作用之后,再传至下一隐层,这样一层一层传递下去,直到最终传至输出层进行输出。其间各层的激发函数要求是可微的,一般是选用S型函数。最基本的BP神经网络是包括输入层,隐层,输出层这三层节点的前馈网络,其结构如图1
模糊控制作为智能控制的一个重要分支,主要是模仿人的控制经验而不依赖被控对象的数学模型,因此若将模糊控制与PID控制结合起来组成模糊PID自适应控制器,使PID参数不依赖于被控对象的数学模型,并且能够动态调整PID参数以实现其优化,解决BP神经网络温度控制所面临的问题。
2模糊PID控制器的设计
对于某一BP神经网络温度控制系统,测温、内部变化及执行机构可以等效为以下传递函数,利用模糊控制根据系统的反馈时刻选择适当的PID参数,实现参数动态调节,原理见图2。
2.1 模糊控制器参数的论域及隶属度函数
由图2可知PID控制器的比例增益Kp、积分增益Ki和微分增益Kd作为模糊控制器的输出,系统误差e和误差变化率△e作为模糊控制器的输入,故系统中的模糊控制器有2个输入3个输出。
2.1.1 输入变量的论域及隶属度函数
根据实际情况,误差e和误差变化率△e的论域都选为{负大,负中,负小,零,正小,正中,正大),用符号表示为{NB,NM,NS,ZO,PS,PM,PB},采用如图3所示的隶属函数。
2.1.2 输出量的论域及隶属度函数
模糊控制器的输出分别为比例增益Kp、积分增益Ki和微分增益Kd,为了方便,可将其归一化为0~1之间的参数K′p和K′d,Ki可以表示为Ki=K2p/(αKd),故模糊控制器的直接输出变量为α,K′p和K′d。
α的论域为{S,MS,M,B),其隶属函数为一单点隶属函数,如图4所示。
K′p和K′d的隶属函数如图5所示。需要说明的是设计模糊控制器时隶属度函数并非随意确定的,如何选择隶属度函数,文献[3]中作了明确的阐述。
2.2模糊规则
根据实际经验,对本文中工业对象的控制可以总结为一系列推理语言规则,例如:
将上述规则用表的形式表示出来,即模糊控制规则表,如表1~表3所示。
3模糊控制器的实现及仿真
对上述模糊控制器采用直接在Simulink图形化工具平台建模并仿真。主要步骤如下:
(1)建立相应的模糊推理系统
首先在命令窗口输入fuzzy,回车便打开FIS的编辑器界面。添加输入输出变量并分别命名为e,ec,K′p,K′d,α采用Mamdani推理方法。其次对输入输出变量的隶属度函数进行编辑,之后进入规则编辑器将表1~表3中的规则添加其中,{zh1}将所建立的模糊推理系统存盘并命名为fisl,值得注意之处是存盘后还须选择'save to workspace'项,以便在建模时能调用这个文件。
(2)在Simulink中建模并仿真
本控制系统中由于被控对象的非线性和复杂性,PID控制器的参数是变化的,如式(1),(2)所示:
其中KU=4,TU=2.9;选择一组PID参数:Kp=2.19,Kd=0.258,Ki=1.03,其对应的PID控制器传递函数为D(s)=KP(1+1/Kis+Kds),即可得到常规PID控制器的xxxx。作为比较,建立模糊控制器的xxxx如图6所示,其中Matlab function根据式(3),(4),(5)将归一化的参数转化为实际的PID参数
需要说明的是出于方便考虑,此处将传统PID控制器与模糊PID控制器集合在一个控制模型中,利用Simulink库中的Switeh模块进行两者之间的切换。
4结 语
对上述模型进行仿真并将PID仿真结果与模糊PID控制仿真结果进行比较,如图7所示。可以发现对系统进行模糊PID控制,响应过程平稳,超调减小,响应时间也较快,性能良好。