当前位置:文档之家› 简易模糊控制器设计及MATLAB仿真

简易模糊控制器设计及MATLAB仿真

简易模糊控制器的设计及仿真
摘要:模糊控制(Fuzzy Control )是以模糊集理论、模糊语言和模糊逻辑推理为基础的一种控制方法,它从行为上模仿人的模糊推理和决策过程。

本文利用MATLAB/SIMULINK 与FUZZY TOOLBOX 对给定的二阶动态系统,确定模糊控制器的结构,输入和输出语言变量、语言值及隶属函数,模糊控制规则,比较其与常规控制器的控制效果,用MATLAB 实现模糊控制的仿真。

关键词:模糊控制 参数整定 MATLAB 仿真
二阶动态系统模型:
()()1140130120
++s s
采用simulink 图库,实现常规PID 和模糊自整定PID 。

一.确定模糊控制器结构
模糊自整定PID 为2输入3输出的模糊控制器。

在MATLAB 的命令窗口中键入fuzzy 即可打开FIS 编辑器,其界面如下图所示。

此时编辑器里面还没有FIS 系统,其文件名为Untitled ,且被默认为Mandani 型系统。

默认的有一个输入,一个输出,还有中间的规则处理器。

在FIS 编辑器界面上需要做一下几步工作。

首先,模糊自整定PID 为2输入3输出的模糊控制器,因此需要增加一个输入两个输出,进行的操作为:选择Edit 菜单下的Add Variable/Input 菜单项。

如下图。

其次,给输入输出变量命名。

单击各个输入和输出框,在Current Variable 选项区域的Name文本框中修改变量名。

如下图
最后,保存系统。

单击File菜单,选择Export下的To Disk项。

这里将创建的系统命名为PID_auot.fi。

二.定义输入、输出模糊集及隶属函数
语言变量值域的选取:输入语言变量e和ec的值域取值“大”(B)、“中”(M)、“小”(s)和“零”(Z) 4种;输出语言变量Kp、Ki、Kd的值域取值为“很大”(VB)、“大”(B)、“中”(M)、“小”(s) 4种。

在FIS编辑器中双击输入或输出变量的图框就能进入隶属度函数编辑器。

在隶属度函数编辑器中,需要对各个变量的论域范围、隶属度函数进行编辑。

该模糊控制器是以e和ec为输入语言变量,Kp、Ki、Kd为输出语言变量,其各语言变量的论域如下:
误差绝对值:e={0,3,6,10};
误差变化率绝对值:ec={0,2,4,6};
输出Kp:Up={0,0.5,1.0,1.5};
输出Ki:Ui={0,0.002,0.004,0.006};
输出Kd:Ud={0,3,6,9}。

如图是编辑完成后的隶属度函数编辑器的GUI。

图中显示的为对应边变量e的隶属度函数。

三.建立模糊规则及模糊控制表
双击FIS编辑器图标部分中间的方框即可打开规则编辑器。

规则的制定:根据PID参数整定原则及运行经验,可列出输出变量Kp、Ki、Kd的控制规则表。

添加完成后的规则编辑器如下图所示。

四.模糊推理规则及输出特性
对于建好的FIS结构,利用File菜单下的Export的子菜单To Disk,将FIS 结构保存到磁盘上。

到此,利用FUZZYTOOLS的GUI工具建立了模糊控制器(PID_auot.fis)。

可用GUI工具查看该推理系统,在View菜单中选择Rules命令,可打开规则观测器,查看模糊推理规则。

如下图:
在View菜单中选择surface命令,可打开曲面观测器,查看模糊推理输出特性
曲面:
五.建模及仿真
在Simulink环境下,构建模糊自整定PID和常规PID控制系统。

在MATLAB 的命令窗口直接键入“Sinmulink”并回车,即可运行Sinmulink。

运行后显示如下图所示的Simulink模块库浏览器。

然后单击工具条左边建立新模型的快捷方式,如下图
最后构建的模糊自整定PID和常规PID控制仿真系统模型如下图。

其中模糊逻辑控制器的推理系统用模糊逻辑推理GUI工具建立的FIS。

先启动Fuzzy,导入PID_auot.fis,然后将其导出到workspace。

然后运行,运行结果如下图:
六.总结
通过学习了智能控制这门课程并做了相关的实验设计,我对模糊控制有了一定的了解,比如模糊控制系统的原理,组成,分类以及简单的模糊控制器设计过程等;但学到的这些都是比较浅显的,由于后面还有必修课要复习考试,故不做深入的研究,望老师海涵。

感谢老师的指导!
七.参考文献
[1].智能控制(第2版)--刘金琨。

相关主题