第五章 模糊控制系统的MATLAB仿真
- 格式:ppt
- 大小:2.90 MB
- 文档页数:83
下面用一个简单的例子作介绍:(本例不是特别针对实现什么功能,只是为了介绍方便)第一部分创建一个模糊逻辑(.fis文件)第一步:打开模糊推理系统编辑器步骤:在Commond Window 键入fuzzy回车打开如下窗口,既模糊推理系统编辑器第二步:使用模糊推理系统编辑器本例用到两个输入,两个输出,但默认是一个输人,一个输出步骤:1、添加一个输入添加一个输出得如下图2、选择Input、output(选中为红框),在Name框里修改各输入的名称并将And method 改为prod,将Or method 改为 probor提示:在命名时’_’在显示时为下标,可从上图看出。
第三步:使用隶属函数编辑器该编辑器提供一个友好的人机图形交互环境,用来设计和修改模糊推理系中各语言变量对应的隶属度函数的相关参数,如隶属度函数的形状、范围、论域大小等,系统提供的隶属度函数有三角、梯形、高斯形、钟形等,也可用户自行定义。
步骤:1、双击任何一个输入量(In_x、In_y)或输出量打开隶属度函数编辑器。
2、在左下处Range和Display Range处添加取值范围,本例中In_x和In_y的取值范围均为[0 10], Out_x和Out_y的取值范围均为[0 1]3、默认每个输入输出参数中都只有3个隶属度函数,本例中每个输入输出参数都需要用到五个,其余几个需要自己添加:选中其中一个输入输出参数点击Edit菜单,选Add MFS…打开下列对话框将MF type设置为trimf(三角形隶属度函数曲线,当然你也需要选择其他类型) 将Number of MFs 设置为2点击OK按钮同样给其他三个加入隶属度函数4、选中任何一个隶属度函数(选中为红色),在Name 中键入名称,在Type中选择形状,在Params中键入范围,然后回车如下图:5、关闭隶属函数编辑器第四步:使用规则编辑器通过隶规则编辑器来设计和修改“IF...THEN”形式的模糊控制规则。
实验一模糊控制器的MATLAB仿真一、实验目的本实验要求利用MATLAB/SIMULINK与FUZZYTOOLBOX对给定的二阶动态系统,确定模糊控制器的结构,输入和输出语言变量、语言值及隶属函数,模糊控制规则;比较其与常规控制器的控制效果;研究改变模糊控制器参数时,系统响应的变化情况;掌握用 MATLAB 实现模糊控制系统仿真的方法。
二、实验原理模糊控制器它包含有模糊化接口、知识库(规则库、数据库)、模糊推理机、解模糊接口等部分。
输人变量e(t)是过程实测变量y(t)与系统设定值s(t)之差值。
输出变量y(t)是系统的实时控制修正变量。
模糊控制的核心部分是包含语言规则的规则库和模糊推理机。
而模糊推理就是一种模糊变换,它将输入变量模糊集变换为输出变量的模糊集,实现论域的转换。
工程上为了便于微机实现,通常采用“或”运算处理这种较为简单的推理方法。
Mamdani推理方法是一种广泛采用的方法。
它包含三个过程:隶属度聚集、规则激活和输出总合。
模糊控制器的组成框图如图2.1所示。
图2.1 模糊控制器的组成框图三、模糊推理系统的建立一个模糊推理系统的建立分为三个步骤:首先,对测量数据进行模糊化;其次,建立规则控制表;最后,输出信息的模糊判决,即对模糊量进行反模糊化,得到精确输出量。
模糊推理系统的建立,往往是设计一个模糊控制系统的基础。
建立一个模糊推理系统有两类方法:一种是利用GUI建立模糊推理系统;另一种是利用MATLAB命令建立。
下面根据实验内容,利用GUI建立模糊推理系统。
例:对循环流化床锅炉床温,对象模型为()()1140130120++s s采用simulink 图库,实现常规PID 和模糊自整定PID 。
模糊自整定PID 为2输入3输出的模糊控制器。
1、 进入FIS 编辑器在MATLAB 的命令窗口中键入fuzzy 即可打开FIS 编辑器,其界面如下图所示。
此时编辑器里面还没有FIS 系统,其文件名为Untitled ,且被默认为Mandani 型系统。
如何使用Matlab进行控制系统仿真概述控制系统在工程领域中扮演着重要角色,它用于控制和管理各种工程过程和设备。
而控制系统仿真则是设计、开发和测试控制系统的关键环节之一。
Matlab作为一种功能强大的工程计算软件,提供了丰富的工具和功能,可以帮助工程师进行控制系统仿真。
本文将简要介绍如何使用Matlab进行控制系统仿真,以及一些实用的技巧和建议。
1. Matlab的基础知识在开始控制系统仿真之前,有一些Matlab的基础知识是必要的。
首先,了解Matlab的基本语法和命令,熟悉Matlab的工作环境和编辑器。
其次,学会使用Matlab的集成开发环境(IDE)进行编程和数学建模。
熟悉Matlab的常用函数和工具箱,并了解如何在Matlab中导入和导出数据。
2. 定义系统模型在进行控制系统仿真之前,需要定义系统的数学模型。
根据具体情况选择合适的建模方法,如传递函数、状态空间或差分方程等。
在Matlab中,可以使用tf、ss 或zpk等函数来创建系统模型,并指定系统的参数和输入信号。
此外,Matlab还提供了Simulink这一强大的图形化建模环境,方便用户以图形化界面设计系统模型。
3. 设计控制器控制系统仿真的关键是设计合适的控制器,以实现所需的控制目标。
Matlab提供了各种控制器设计方法和工具,如PID控制器、根轨迹法、频域方法等。
用户可以使用Matlab的Control System Toolbox来设计和分析控制器,并在仿真中进行验证。
此外,Matlab还支持自适应控制和模糊控制等高级控制方法,可根据具体需求选择合适的方法。
4. 进行仿真实验在完成系统模型和控制器设计后,可以开始进行控制系统仿真实验。
首先,确定仿真实验的输入信号,如阶跃信号、正弦信号或随机信号等。
然后,使用Matlab中的sim函数将输入信号应用到系统模型中,并观察系统的输出响应。
通过调整控制器参数或设计不同的控制器,分析系统的性能和稳定性,并优化控制器的设计。
模糊控制在matlab中的实例模糊控制是一种应用广泛的控制方法,它可以处理那些难以精确建立数学模型的系统。
在Matlab中,使用Fuzzy Logic Toolbox工具箱可以方便地实现模糊控制系统。
以下是一个简单的模糊控制器示例,控制一个小车的速度和方向,使得其能够沿着预设的轨迹行驶。
1. 首先,定义输入和输出变量。
这里我们需要控制小车的速度和转向角度。
代码如下:```speed = newfis("speed");speed = addvar(speed,"input","distance",[0 10]);speed = addmf(speed,"input",1,"slow","trimf",[0 0 5]);speed = addmf(speed,"input",1,"fast","trimf",[5 10 10]); speed = addvar(speed,"output","velocity",[-10 10]);speed = addmf(speed,"output",1,"reverse","trimf",[-10-10 -2]);speed = addmf(speed,"output",1,"stop","trimf",[-3 0 3]); speed = addmf(speed,"output",1,"forward","trimf",[2 10 10]);angle = newfis("angle");angle = addvar(angle,"input","position",[-1 1]);angle = addmf(angle,"input",1,"left","trimf",[-1 -1 0]);angle = addmf(angle,"input",1,"right","trimf",[0 1 1]); angle = addvar(angle,"output","steering",[-1 1]);angle = addmf(angle,"output",1,"hard_left","trimf",[-1 -1 -0.5]);angle = addmf(angle,"output",1,"soft_left","trimf",[-1 -0.5 0]);angle = addmf(angle,"output",1,"straight","trimf",[-0.5 0.5 0.5]);angle = addmf(angle,"output",1,"soft_right","trimf",[0 0.5 1]);angle = addmf(angle,"output",1,"hard_right","trimf",[0.5 1 1]);```2. 然后,定义模糊规则。
模糊PID控制及其MATLAB实现姓名:专业班级:学号:授课教师:摘要PID(比例积分微分)控制具有结构简单、稳定性能好、可靠性高等优点,尤其适用于可建立精确数学模型的控制系统。
而对于一些多变量、非线性、时滞的系统,传统的PID控制器并不能达到预期的效果。
随着模糊数学的发展,模糊控制的思想逐渐得到控制工程师们的重视,各种模糊控制器也应运而生。
而单纯的模糊控制器有其自身的缺陷—控制效果很粗糙、控制精度无法达到预期标准。
但利用传统的PID控制器和模糊控制器结合形成的模糊自适应的PID控制器可以弥补其缺陷;它将系统对应的误差和误差变化率反馈给模糊控制器进而确定相关参数,保证系统工作在最佳状态,实现优良的控制效果。
论文介绍了参数自适应模糊PID控制器的设计方法和步骤。
并利用MATLAB 中的SIMULINK 和模糊逻辑推理系统工具箱进行了控制系统的仿真研究,并简要地分析了对应的仿真数据。
关键词: 经典PID控制; 模糊控制; 自适应模糊PID控制器; 参数整定; MATLAB仿真ABSTRACTPID(Proportion Integration Differentiation) control, with lots of advantages including simple structure, good stability and high reliability, is quite suitable to establish especially the control system which accurate mathematical model is available and needed. However, taken multivariable, nonlinear and time-lag into consideration, traditional PID controller can not reach the expected effect.Along with the development of Fuzzy Mathematics, control engineers gradually pay much attention to the idea of Fuzzy Control, thus promoting the invention of fuzzy controllers. However, simple fuzzy controller has its own defect, where control effect is quite coarse and the control precision can not reach the expected level. Therefore, the Fuzzy Adaptive PID Controller is created by taking advantage of the superiority of PID Controller and Fuzzy Controller. Taken this controller in use, the corresponding error and its differential error of the control system can be feed backed to the Fuzzy Logic Controller. Moreover, the three parameters of PID Controller is determined online through fuzzification, fuzzy reasoning and defuzzification of the fuzzy system to maintain better working condition than the traditional PID controller.Meanwhile,the design method and general steps are introduced of the Parameter self-setting Fuzzy PID Controller. Eventually, the Fuzzy Inference Systems Toolbox and SIMULINK toolbox are used to simulate Control System. The results of the simulation show that Self-organizing Fuzzy Control System can get a better effect than the Classical PID controlled evidently.Keywords: Classic PID control; Fuzzy Control; Parameters tuning; the Fuzzy Adaptive PID Controller; MATLAB simulation目录第一章绪论 (1)1.1 研究的背景及意义 (1)1.2 经典PID控制系统的分类与简介 (2)1.2.1 P控制 (2)1.2.2 PI控制 (2)1.2.3 PD控制 (2)1.2.4 比例积分微分(PID)控制 (2)1.3 模糊逻辑与模糊控制的概念 (3)1.3.1 模糊控制相关概念 (3)1.3.2 模糊控制的优点 (4)1.4 模糊控制技术的应用概况 (4)1.5 本文的研究目的和内容 (5)第二章PID控制 (6)2.1 PID的算法和参数 (6)2.1.1 位移式PID算法 (6)2.1.2 增量式PID算法 (7)2.1.3 积分分离PID算法 (7)2.1.4 不完全微分PID算法 (8)2.2 PID参数对系统控制性能的影响 (9)2.2.1 比例系数K P对系统性能的影响 (9)2.2.2 积分时间常数T i对系统性能的影响 (9)2.2.3 微分时间常数T d对系统性能的影响 (9)2.3 PID控制器的选择与PID参数整定 (10)2.3.1 PID控制器的选择 (10)2.3.2 PID控制器的参数整定 (10)第三章模糊控制器及其设计 (11)3.1 模糊控制器的基本结构与工作原理 (11)3.2 模糊控制器各部分组成 (11)3.2.1 模糊化接口 (11)3.2.2 知识库 (12)3.2.3 模糊推理机 (12)3.2.4 解模糊接口 (13)3.3模糊推理方式 (13)3.3.1 Mamdani模糊模型(迈达尼型) (13)3.3.2 Takagi-Sugeno模糊模型(高木-关野) (13)3.4模糊控制器的维数确定 (14)3.5 模糊控制器的隶属函数 (15)3.6模糊控制器的解模糊过程 (17)3.7 模糊PID控制器的工作原理 (18)第四章模糊PID控制器的设计 (19)4.1 模糊PID控制器组织结构和算法的确定 (19)4.2 模糊PID控制器模糊部分设计 (19)4.2.1 定义输入、输出模糊集并确定个数类别 (19)4.2.2 确定输入输出变量的实际论域 (20)4.2.3 定义输入、输出的隶属函数 (20)4.2.4 确定相关模糊规则并建立模糊控制规则表 (20)第五章模糊PID控制器的MATLAB仿真 (24)5.1 模糊PID控制的仿真 (24)5.1.1 FIS编辑器 (24)5.1.2 隶属函数 (25)5.1.3 模糊规则库 (25)5.2 对模糊控制器编程仿真 (27)第六章结语 (31)参考文献 (32)第一章绪论1.1 研究的背景及意义随着越来越多的新型自动控制应用于实践,其控制理论的发展也经历了经典控制理论、现代控制理论和智能控制理论三个阶段。