文档详情

模糊控制器的MATLAB仿真.doc

发布:2024-05-07约2.12千字共2页下载文档
文本预览下载声明

实验一模糊控制器的MATLAB仿真

一、实验目的

本实验要求利用MATLAB/SIMULINK与FUZZYTOOLBOX对给定的二阶动态系统,确定模糊控制器的结构,输入和输出语言变量、语言值及隶属函数,模糊控制规那么;比拟其与常规控制器的控制效果;研究改变模糊控制器参数时,系统响应的变化情况;掌握用MATLAB实现模糊控制系统仿真的方法。

二、实验原理

模糊控制器它包含有模糊化接口、知识库〔规那么库、数据库〕、模糊推理机、解模糊接口等局部。输人变量e(t)是过程实测变量y(t)与系统设定值s(t)之差值。输出变量y(t)是系统的实时控制修正变量。模糊控制的核心局部是包含语言规那么的规那么库和模糊推理机。而模糊推理就是一种模糊变换,它将输入变量模糊集变换为输出变量的模糊集,实现论域的转换。工程上为了便于微机实现,通常采用“或”运算处理这种较为简单的推理方法。Mamdani推理方法是一种广泛采用的方法。它包含三个过程:隶属度聚集、规那么激活和输出总合。模糊控制器的组成框图如图2.1所示。

图2.1模糊控制器的组成框图

三、模糊推理系统的建立

一个模糊推理系统的建立分为三个步骤:首先,对测量数据进行模糊化;其次,建立规那么控制表;最后,输出信息的模糊判决,即对模糊量进行反模糊化,得到精确输出量。

模糊推理系统的建立,往往是设计一个模糊控制系统的根底。建立一个模糊推理系统有两类方法:一种是利用GUI建立模糊推理系统;另一种是利用MATLAB命令建立。下面根据实验内容,利用GUI建立模糊推理系统。

例:对循环流化床锅炉床温,对象模型为

采用simulink图库,实现常规PID和模糊自整定PID。模糊自整定PID为2输入3输出的模糊控制器。

进入FIS编辑器

在MATLAB的命令窗口中键入fuzzy即可翻开FIS编辑器,其界面如下列图所示。此时编辑器里面还没有FIS系统,其文件名为Untitled,且被默认为Mandani型系统。默认的有一个输入,一个输出,还有中间的规那么处理器。在FIS编辑器界面上需要做一下几步工作。

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

其次,给输入输出变量命名。单击各个输入和输出框,在CurrentVariable选项区域的Name文本框中修改变量名。如下列图

最后,保存系统。单击File菜单,选择Export下的ToDisk项。这里将创立的系统命名为PID_auot.fis

进入隶属度函数编辑器

在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编辑器图标局部中间的方框即可翻开规那么编辑器。

〔3〕语言变量值域的选取:输入语言变量|e|和|ec|的值域取值“大”(B)、“中”(M)、“小”(s)和“零”(Z)4种;输出语言变量Kp、Ki、Kd的值域取值为“很大”(VB)、“大”(B)、“中”(M)、“小”(s)4种。

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

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

保存FIS结构

对于建好的FIS结构,利用File菜单下的Export的子菜单ToDisk,将FIS结构保存到磁盘上。到此,利用FUZZYTOOLS的GUI工具建立了模糊控制器(PID_auot.fis)。可用GUI工具查看该推理系统,在View菜单中选择Rules命令,可翻开规那么观测器,查看模糊推理规那么。如下列图

在View菜单中选择surface命令,可翻开曲面观测器,查看模糊推理输出特性曲面。

之后,在Simulink环境下,构建模糊自整定PID和常规PID控制系统。在MATLAB的命令窗口直接键入“Sinmulink”并回车,即可运行Sinmulink。运行后显示如下列图所示的Simulink模块库浏览器。

然后单击工具条左边建立新模型的快捷方式,如下列图

在模型窗口中用户便可以通过选择模块库中的仿真模块,建立自己的仿真模型,并进行动态仿真。最后构

显示全部
相似文档