模糊控制器的设计
在模糊控制的设计中,利用matlab的中的模糊控制工具可以很方便地进行输入以及输出的变量的定义,云烟变量隶属函数的定义,模糊控制规则的定义及输入输出预览。它集成了FIS编辑器,隶属函数编辑器,模糊规则控制器,骨折浏览器和输出预览器的可视化工具。
FIS编辑器
FIS编辑器的界面入上图所示,设计这在该编辑器中设置模糊控制器的模糊算子,输入输出变量的个数,模糊变量的名称及解模糊化的方法。
隶属函数编辑器
输入模糊子集E的隶属函数
其中的Params是隶属函数曲线的参数
输入模糊子集Ec的隶属函数
输出模糊子集U的隶属函数
隶属函数的形状有多种选择,模糊子集的范围为都[-6 6],这与事前计算的量化因子和比例因子有关,而且模糊子集的语言描述届为{负大 负小 零 正小 正大}。具体功能请往下看;
模糊规则编辑
论域中有五个值,所以总共有7X7共49条规则。可以根据前面文章分享的模糊规则参数表
当规则正确输入后,选择view surface 可以查看模糊规则的三维坐标图;
这样就大概完成了fuzzy—control 的建立。以后可以在sim那里调用。
例子(7月7)
如图所示 :误差量化因子为0.1,误差变化量的量化因子是5,达到减少超调量的作用,然后是输出量的比例因子为-10,为什么是负呢,这与模糊控制器的设定有关,我觉得应该是表格上的输出的效果应该是指最后的输出——?。但是理解模糊控制器的规则还是一样的道理。
运行时间需要自行设置大一点(stop time = 1000)。
而且使用时,需要好模糊控制器的fis文件和simulink的文件的路径,否则无法读取模糊控制器。
系统的改进
一
常规的二维模糊控制器是以误差和误差变化为输入值,一般认为这种控制器具有模糊比例——微分控制作用,但是缺少了模糊积分作用,使得本身消除其系统稳态误差的能力比较差,难以达到较高的控制精度。
二 原因
是模糊控制器的输入量被模糊量化后而引起的控制器调节死区以及控制量的分档而引起的调节过粗,再加上缺少积分作用,属于一个粗糙控制器。然后前辈们就提出一个自调整规则因子模糊控制。
单调节因子
多调节因子
再次改进
自调整模糊控制器的调节模糊控制
设置一个自调整模糊控制器
首先这个自调整模糊控制器的输入为误差,误差变换。模糊控制器需要像前面一样自行设计,然后输出是调节因子。然后通过U=<aE+(1-a)EC>,这一条式子(通过乘法器实现),实际上这一条式子是调节Ke,Kec的,并没有直接调节Ku(不过有的自调整控制器会对它进行调整)。
这种模式下需要调节ke kec ku 【ke1 ke2(自调整模糊控制器参数)】五个值。而且这次的隶属函数的曲线与前面有所区别,所以会有误差。
自调整因子控制规则表
值得注意的是,输入E和Ec的模糊子集的论域都是不变的。
输出的调节因子的论域为[0 1],与真实所希望的值的(基本论域)是一样的,所以这里可以省略比例因子。按照上面的步骤便可以完成自调节因子模糊控制器。
然后在示波器
由于之前设计的时候使用的隶属函数曲线不一样,所以并没有看到新的曲线的性能全面压制住旧的曲线,但是可以看到,新的曲线的上升时间加快,动态反应时间加快。这也说明了有改善。
在改正一样后发现,还是差不多的图像走向。
为什么原先的图会没有超调量的发生,是因为误差变化的量化因子大,遏制住了。
但由于新的模式的控制器的两个输入值都乘以一个小数,也就是都减少了。
相当于调节后,ke减少了——上升时间变短;Kec减少了——超调量有一点点上升。
我觉得还能再对新的模式的控制再调节一样,减少超调量。