加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

用MATLAB玩控制-模糊自适应pid控制

(2017-03-11 12:04:30)
标签:

模糊自适应pid控制

模糊控制工具箱

itae性能指标

s函数

模糊自适应pid控制的原理如图1所示,从图中可以看出,偏差e和偏差变化率ec乘上比例因子ke、kec,即x=ke*e,y=kec*ec,然后输入模糊推理器,经过模糊推理器的运算,模糊推理器输出Zp(Δkp)、Zi(Δki)Zd(Δkd),乘上比例因子qp、qiqd后,与基础pid值相加得实际pid值,即kp=kp0+qp*Δkp、ki=ki0+qi*Δki、kd=kd0+qd*Δkd,此后就是常规pid控制器了,其增量算法是:
     Δu(k)=Kc(e(k)-e(k-1)+Ts*e(k)/Ti+Td*(e(k)-2*e(k-1)+e(k-2))/Ts)
要作模糊推理,大致先需要确定以下几点:1语言变量,2语言值,3,语言变量的论域,4隶属度函数,5模糊控制规则,对1-4点,我们定的如图2所示,从图中可以看出语言变量的论域统一定为(-3,3),然后通过比例因子ke、、kec、qp、qiqd将语言变量论域转换到物理量,这将使模糊自适应pid控制器具有某种程度的通用性,在有些文章中,常将Zp(Δkp)、Zi(Δki)Zd(Δkd)的论域定为与物理量范围一样,那样就省去了比例因子qp、qiqd隶属度函数为简单起见,统一用三角函数,对第5点,则如图3所示,这是比较常见的控制规则。模糊推理大致分为4个步骤,1是计算模糊关系,即Ri=Ai*Bi->Ci,根据模糊规则表Ri共有7*7=49个,2是计算蕴含(或运算)关系,即R=∪Ri,3是作合成运算,即C'=(A'*B')○Ri,4是解模糊,一般用重心法,这些个计算可以用模糊控制工具箱函数,图2Δkp、ΔkiΔkd曲面图就是用工具箱函数算出的,也可以自己计算,如图4所示,工具箱函数算出Δkp、ΔkiΔkd在离散点上的值如图5所示,自己计算的Δkp、ΔkiΔkd在离散点上的值如图6所示,从图5和图6可以看出,两者之间略微有点差异,但大方向一致。
模糊自适应pid控制从原理上来说应该比常规PID控制来的好,但常常可以看到有人对此提出异议,如图7所示(红圈中),那我们来看看,究竟是怎么一回事,对系统G(s)=1.4*exp(-40s)/(100s+1),进行模糊自适应pid控制的仿真,如图8所示,相关参数设置和性能指标,如图9所示,对应的常规PID控制仿真,如图10所示相关参数设置和性能指标如图11所示,对比图8和图10控制效果,模糊自适应pid控制明显好于常规PID控制,ITAE性能指标低了小一半。那为什么会出现模糊自适应pid控制效果不如常规PID控制呢?原因主要可能有,1基础PID设置不合理,2比例因子设置不合理,另外,3模糊规则设置不合适,4甚或隶属度函数选择不合理,也是可能原因。
上面那个仿真例子算不上模糊自适应pid控制能耐,下面展现一个大纯滞后系统G(s)=1.4*exp(-100s)/(100s+1)仿真的例子,如图12所示,从图中可以看出,效果不错,这也是一个用S函数实现的模糊自适应pid控制












0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有