模糊PID控制器的设计步骤
确定模糊控制器的输入、输出变量,即模糊控制器的维数;
一般输入变量取系统的偏差e和偏差变化率ec,输出变量为PID参数Kp、Ki、Kd或者PID参数的增量△Kp、△Ki、△Kd;
根据实际需要确定各个输入、输出变量的变化范围,然后确定它们的量化等级、量化因子、比例因子;
在每个变量的量化论域(变量的变化范围)内定义模糊子集;
首先确定模糊子集个数,确定每个模糊子集的语言变量,然后为各语言变量选择隶属度函数;
确定模糊控制规则
这实质上是将操作人员的控制经验加以总结得出的若干条模糊条件语句的集合。确定模糊控制规则的原则是保证控制器的输出能够使系统输出响应的动静态性能达到最佳;
编制模糊控制表
根据模糊控制规则和确定的输入、输出变量求出模糊控制器的输出。这些输出值是PID参数的调整量,把它们与输入量在一个表中按一定关系列出就构成了模糊控制表。PID三个参数一般是独立调整,所以有3个模糊控制表;
把采样得到的偏差、偏差变化率经过理后,代入模糊控制规则表,得出新的PID参数,再经过PID算法的计算就得出了最后的输出量,也就是系统的控制量;
根据仿真效果或实验结果分析模糊PID的控制性能,再对量化因子和比例因子进行调整以达到理想的控制效果。
模糊自适应控制器结构为二维模糊控制器,其输入、输出的语言变量、基本论域、模糊子集、模糊论域及量化因子如表1 所示。
表1 模糊控制器设计表
PID参数模糊调整规则
此处以参数Kp的自整定过程为例说明PID参数的模糊调整规则及模糊推理过程。
通常,PID控制器的控制算式为:
(1)
针对不同的e和ec,给出一套KP、KI、Kd的整定原则[4]:
当偏差∣e∣较大时,为加快系统的响应速度,应取较大的kp ,同时为避免由于开始时偏差∣e∣的瞬时变大可能出现的微分过饱和而使控制作用超出许可的范围,应取较小的kd;为防止系统响应出现较大的超调,产生积分饱和,应对积分作用加以限制,通常取kj=0,去掉积分作用;
当∣e∣和∣ec∣处于中等大小时,为使系统响应具有较小的超调,kp应取小一些,Kj的取值要适当,这种情况Kd的取值对系统响应的影响较大,取值要大小适中,以保证系统响应速度;
当∣e∣较小即接近于设定值时,为使系统有良好的稳态性能,应增加Kp和Kj的取值,同时为避免系统在设定值附近出现振荡,并考虑系统的抗干扰性能, Kd取值是相当重要的。一般是当∣ec∣较小时,Kd可取大一些;当∣ec∣较大时,Kd应取小一些;
∣ec∣的大小表明偏差变化的速率,∣ec∣值越大,则Kp的取值越小,Kj取值越大;
根据上述PID参数的作用以及在不同的偏差及偏差变化下对PID参数的要求,可获得参数Kp、Ki、Kd的模糊控制规则。为进一步有效细化e、ec和Kp、Ki、Kd的等级,把它们在其各自的论域上定义了7个模糊子集,相应的语言变量为{负大(NB),负中(NM),负小(NS),零(ZO),正小(PS),正中(PM),正大(PB)}。表2给出Kp(Ki、Kd同理可推)整定的初始模糊控制表。
表2 Kp的模糊规则表
表2中,如表示△Kp的第一条模糊控制规则为:
IF E=NB and EC=NB,
then △Kp=PB。
模糊推理及解模糊化
为实现模糊化,要建立离散化的精确量与表示模糊语言的模糊量之间的关系,即确定论域中的每个元素对各模糊语言变量的隶属度函数。常见的隶属度函数有三角形和高斯形隶属度函数。本系统采用的隶属度函数为对称、均匀分布、全交叠的三角形隶属度函数,其分辨率高,控制灵敏度也较高[5]。
根据前面的模糊规则,对于输入偏差e和偏差变化ec经过推理可以得出相应的输出。首先求出输出变量的隶属度,如对应于△Kp的第一条模糊规则的隶属度为:
(2)
式(2)中min为取小,μ表示隶属度函数。以此类推,可以求得输出量△Kp在不同偏差和偏差变化下的所有模糊规则调整的隶属度。在某一采样时刻,根据偏差和偏差变化的测量值可以求得此时△Kp的值为:
(3)
式(3)中(j=1, 2,…49)是由E和Ec对应的隶属度求得的对应于表2中各种组合的△Kp的隶属度。同理,对于输出量△Ki、△Kd的模糊推理和解模糊过程与△Kp相同,也可以得出类似于式(2)的计算式。事实上,这里采用的解模糊方法为常用的加权平均法,根据式(3)就可以计算出在不同的偏差和偏差变化时,PID参数的调整量的输出值,但这些值还不能用于修正参数,它还是个模糊量,所以还要乘以一个比例因子,即经过精确化计算,得出相应的△Kp、△Ki、△Kd。