3.5 模糊自适应整定PID控制
3.5.1 模糊自适应整定PID控制原理
在工业生产过程中,许多被控对象随着负荷变化或干扰因素影响,其对象特性参数或结构发生改变。自适应控制运用现代控制理论在线辨识对象特征参数,实时改变其控制策略,使控制系统品质指标保持在最佳范围内,但其控制效果的好坏取决于辨识模型的精确度,这对于复杂系统是非常困难的。因此,在工业生产过程中,大量采用的仍然是PID算法,PID参数的整定方法很多,但大多数都以对象特性为基础。
随着计算机技术的发展,人们利用人工智能的方法将操作人员的调整经验作为知识存入计算机中,根据现场实际情况,计算机能自动调整PID参数,这样就出现了专家PID控制器。这种控制器把古典的PID控制与先进的专家系统相结合,实现系统的最佳控制。这种控制必须精确地确定对象模型,首先将操作人员(专家)长期实践积累的经验知识用控制规则模型化,然后运用推理便可对PID参数实现最佳调整。
由于操作者经验不易精确描述,控制过程中各种信号量以及评价指标不易定量表示,专家PID方法受到局限。模糊理论是解决这一问题的有效途径,所以人们运用模糊数学的基本理论和方法,把规则的条件和操作用模糊集表示,并把这些模糊控制规则以及有关信息(如评价指标、初始PID参数等)作为知识存入计算机知识库中,然后计算机根据控制系统的实际响应情况(即专家系统的输入条件),运用模糊推理,即可自动实现对PID参数的最佳调整,这就是模糊自适应PID控制。模糊自适应PID控制器目前有多种结构形式,但其工作原理基本一致。
自适应模糊PID控制器以误差e和误差变化ec作为输入(利用模糊控制规则在线对PID参数进行修改),以满足不同时刻的e和ec对PID参数自整定的要求。自适应模糊PID控制器结构如图3.15所示。
图3.15 自适应模糊控制器结构
离散PID控制算法为
式中,k为采样序号,T为采样时间。
PID参数模糊自整定是找出PID 3个参数与e和ec之间的模糊关系,在运行中通过不断检测e和ec,根据模糊控制原理对3个参数进行在线修改,以满足不同e和ec时对控制参数的不同要求,而使被控对象有良好的动态性能和静态性能。
从系统的稳定性、响应速度、超调量和稳态精度等各方面来考虑,kp,ki,kd的作用如下:
(1)比例系数kp的作用是加快系统的响应速度,提高系统的调节精度。kp越大,系统的响应速度越快,系统的调节精度越高,但易产生超调,甚至会导致系统不稳定。kp取值过小,则会降低调节精度,使响应速度缓慢,从而延长调节时间,使系统静态性能和动态性能变坏。
(2)积分作用系数ki的作用是消除系统的稳态误差。ki越大,系统的静态误差消除越快。但ki过大,在响应过程的初期会产生积分饱和现象,从而引起响应过程的较大超调。若ki过小,将使系统静态误差难以消除,影响系统的调节精度。
(3)微分作用系数kd的作用是改善系统的动态特性,其作用主要是在响应过程中抑制偏差向任何方向的变化,对偏差变化进行提前预报。但kd过大,会使响应过程提前制动,从而延长调节时间,而且会降低系统的抗干扰性能。
以PI参数整定为例,必须考虑到在不同时刻两个参数的作用以及相互之间的互联关系。模糊自整定PI是在PI算法的基础上,通过计算当前系统误差e和误差变化率ec,利用模糊规则进行模糊推理,查询模糊矩阵表进行参数调整。针对kp和ki两个参数分别整定的模糊控制表如下。
(1)kp整定原则。
当响应在上升过程时(e为P),Δkp取正,即增大kp;当超调时(e为N),Δkp取负,即降低kp。当误差在0附近时(e为Z),分3种情况:ec为N时,超调越来越大,此时Δkp取负;ec为Z时,为了降低误差,Δkp取正;ec为P时,正向误差越来越大,Δkp取正。kp整定的模糊规则表如表3.11所示。
表3.11 kp的模糊规则表
(2)ki整定原则。
采用积分分离策略,即误差在0附近时,Δki取正,否则Δki取0。ki整定的模糊规则表如表3.12所示。
表3.12 ki的模糊规则表
将系统误差e和误差变化率ec变化范围定义为模糊集上的论域
其模糊子集为e,ec={N,O,P},子集中元素分别代表负,零,正。设e,ec和kp、ki均服从正态分布,因此可得出各模糊子集的隶属度,根据各模糊子集的隶属度赋值表和各参数模糊控制模型,应用模糊合成推理设计PI参数的模糊矩阵表,查出修正参数代入式(3.11)计算
在线运行过程中,控制系统通过对模糊逻辑规则的结果处理、查表和运算,完成对PID参数的在线自校正,其工作流程图如图3.16所示。
图3.16 模糊PID工作流程图
3.5.2 仿真实例
被控对象为
采样时间为1ms,采用Z变换进行离散化,离散化后的被控对象为
位置指令为幅值为1.0的阶跃信号,yd(k)=1.0。仿真时,先运行模糊推理系统设计程序chap3_6.m,实现模糊推理系统fuzzpid.fis,并将此模糊推理系统调入内存中,然后运行模糊控制程序chap3_7.m。在程序chap3_6.m中,根据模糊规则如表3.11~表3.12所示,分别对e、ec、kp、ki进行隶属函数的设计。根据位置指令、初始误差和经验设计e、ec、kp、ki的范围。
在MATLAB环境下,对模糊系统a,运行plotmf命令,可得到模糊系统e、ec、kp、ki的隶属函数,如图3.17~图3.20所示,运行命令showrule可显示模糊规则,可显示9条模糊规则,描述如下:
Rule1:If(e is N)and(ec is N)then(kp is N)(ki is Z)(1)
Rule2:If(e is N)and(ec is Z)then(kp is N)(ki is Z)(1)
Rule3:If(e is N)and(ec is P)then(kp is N)(ki is Z)(1)
Rule4:If(e is Z)and(ec is N)then(kp is N)(ki is P)(1)
Rule5:If(e is Z)and(ec is Z)then(kp is P)(ki is P)(1)
Rule6:If(e is Z)and(ec is P)then(kp is P)(ki is P)(1)
Rule7:If(e is P)and(ec is N)then(kp is P)(ki is Z)(1)
Rule8:If(e is P)and(ec is Z)then(kp is P)(ki is Z)(1)
Rule9:If(e is P)and(ec is P)then(kp is P)(ki is Z)(1)
图3.17 误差的隶属函数
图3.18 误差变化率的隶属函数
图3.19 kp的隶属函数
图3.20 ki的隶属函数
另外,针对模糊推理系统fuzzpid.fis,运行命令fuzzy可进行规则库和隶属函数的编辑,如图3.21所示,运行命令ruleview可实现模糊系统的动态仿真,如图3.22所示。
图3.21 模糊系统fuzzpid.fis的结构
在程序chap3_7.m中,利用所设计的模糊系统fuzzpid.fis进行PI控制参数的整定。为了显示模糊规则调整效果,取kp、ki的初始值为0,响应结果及PI控制参数的自适应变化如图3.23~图3.24所示。
图3.22 模糊推理系统的动态仿真环境
图3.23 模糊PI控制阶跃响应
图3.24 kp和kd的模糊自适应调整
仿真程序:
(1)模糊系统设计程序:chap3_6.m