预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

简易模糊控制器的设计及仿真 摘要:模糊控制(FuzzyControl)是以模糊集理论、模糊语言和模糊逻辑推理为基础的一种控制方法,它从行为上模仿人的模糊推理和决策过程。本文利用MATLAB/SIMULINK与FUZZYTOOLBOX对给定的二阶动态系统,确定模糊控制器的结构,输入和输出语言变量、语言值及隶属函数,模糊控制规则,比较其与常规控制器的控制效果,用MATLAB实现模糊控制的仿真。 关键词:模糊控制参数整定MATLAB仿真 二阶动态系统模型: 采用simulink图库,实现常规PID和模糊自整定PID。 一.确定模糊控制器结构 模糊自整定PID为2输入3输出的模糊控制器。在MATLAB的命令窗口中键入fuzzy即可打开FIS编辑器,其界面如下图所示。此时编辑器里面还没有FIS系统,其文件名为Untitled,且被默认为Mandani型系统。默认的有一个输入,一个输出,还有中间的规则处理器。在FIS编辑器界面上需要做一下几步工作。 首先,模糊自整定PID为2输入3输出的模糊控制器,因此需要增加一个输入两个输出,进行的操作为:选择Edit菜单下的AddVariable/Input菜单项。如下图。 其次,给输入输出变量命名。单击各个输入和输出框,在CurrentVariable选项区域的Name文本框中修改变量名。如下图 最后,保存系统。单击File菜单,选择Export下的ToDisk项。这里将创建的系统命名为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的子菜单ToDisk,将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版)--刘金琨