您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 简易模糊控制器设计及MATLAB仿真
简易模糊控制器的设计及仿真摘要:模糊控制(FuzzyControl)是以模糊集理论、模糊语言和模糊逻辑推理为基础的一种控制方法,它从行为上模仿人的模糊推理和决策过程。本文利用MATLAB/SIMULINK与FUZZYTOOLBOX对给定的二阶动态系统,确定模糊控制器的结构,输入和输出语言变量、语言值及隶属函数,模糊控制规则,比较其与常规控制器的控制效果,用MATLAB实现模糊控制的仿真。关键词:模糊控制参数整定MATLAB仿真二阶动态系统模型:1140130120ss采用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版)--刘金琨
本文标题:简易模糊控制器设计及MATLAB仿真
链接地址:https://www.777doc.com/doc-3426481 .html