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

合集下载

模糊控制仿真实验设计

模糊控制仿真实验设计

模糊控制系统的仿真实验实验目的:现有被控对象一:G(s)=1/(s2+2s+1)被控对象二:G(s)=K /【(T1s+1)(T2s+1) 】试设计一个模糊控制系统来实现对它的控制,并完成以下任务:任务一:通过仿真分析模糊控制器的参数的变化(主要讨论控制器解模方法和量化因子的变化)对系统性能的影响。

任务二:在控制器参数一定的情况下改变被控对象的参数,分析对象参数变化时fuzzy controller的适应能力。

任务三:在控制器参数一定的情况下改变被控对象的结构,分析对象结构变化时fuzzy controller的适应能力。

实验分析:要完成以上任务应分两个步骤:一设计模糊控制器,二用matlab的模糊逻辑工具箱建立模糊推理系统,并在simulink中实现对模糊系统的仿真。

接下来就以对象一为例说明模糊控制系统的仿真。

一、模糊控制器的设计模糊控制器的设计步骤为:1、选择控制器的输入输出:选择误差e及误差变化量ec为输入,u作为输出用于控制对象,这样模糊控制器具有二输入一输出的结构。

2、模糊集及论域的定义:z输入e的模糊子集为{NB NM NS NO PO PS PM PB}z输入ec和输出u的模糊子集均为{NB NM NS ZO PS PM PB}z e的论域为{-6 -5 -4 -3 -2 -1 -0 +0 1 2 3 4 5 6 }z ec的论域为{-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 }z u的论域为{-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 }我们选择三角形作为隶属度函数的形状,e的隶属度函数如下图所示:图1-1 ec的隶属度函数如下图所示:图1-2 u的隶属度函数如下图所示图1-3表1-14、选择输入输出变量的量化因子:这里暂时选定输入输出的量化因子Ke=Kc=Ku=1,接下来的仿真过程还可以调整。

5、择模糊规则前提交的方法为min,模糊推理方法为min,而反模糊化方法可以在仿真过程中设置。

基于matlab的模糊控制器的设计与仿真

基于matlab的模糊控制器的设计与仿真

基于MATLAB的模糊控制器的设计与仿真摘要:本文对模糊控制器进行了主要介绍。

提出了一种模糊控制器的设计与仿真的实现方法,该方法利用MA TLB模糊控制工具箱中模糊控制器的控制规则和隶属度函数,建立模型,并进行模糊控制器设计与仿真。

关键词:模糊控制,隶属度函数,仿真,MA TLAB1 引言模糊控制是一种特别适用于模拟专家对数学模型未知的较复杂系统的控制,是一种对模型要求不高但又有良好控制效果的控制新策略。

与经典控制和现代控制相比,模糊控制器的主要优点是它不需要建立精确的数学模型。

因此,对一些无法建立数学模型或难以建立精确数学模型的被控对象,采用模糊控制方法,往往能获得较满意的控制效果。

模糊控制器的设计比一般的经典控制器如PID控制器要复杂,但如果借助MATLAB则系统动态特性良好并有较高的稳态控制精度,可提高模糊控制器的设计效率。

本文在MATLAB环境下针对某个控制环节对模糊控制系统进行了设计与仿真。

2 模糊控制器简介模糊控制器是一种以模糊集合论,模糊语言变量以及模糊推理为数学基础的新型计算机控制方法。

显然,模糊控制的基础是模糊数学,模糊控制的实现手段是计算机。

本章着重介绍模糊控制的基本思想,模糊控制的基本原理,模糊控制器的基本设计原理和模糊控制系统的性能分析。

随着科学技术的飞速发展,在那些复杂的,多因素影响的严重非线性、不确定性、多变性的大系统中,传统的控制理论和控制方法越来越显示出局限性。

长期以来,人们期望以人类思维的控制方案为基础,创造出一种能反映人类经验的控制过程知识,并可以达到控制目的,能够利用某种形式表现出来。

而且这种形式既能够取代那种精密、反复、有错误倾向的模型建造过程,又能避免精密的估计模型方程中各种方程的过程。

同时还很容易被实现的,简单而灵活的控制方式。

于是模糊控制理论极其技术应运而生。

3 模糊控制的特点模糊控制是以模仿人类人工控制特点而提出的,虽然带有一定的模糊性和主观性,但往往是简单易行,而且是行之有效的。

模糊控制的Matlab仿真实例

模糊控制的Matlab仿真实例

其他例子
模型Shower.mdl―淋浴温度调节模糊控制系统仿真; 模型slcp.mdl―单级小车倒摆模糊控制系统仿真; 模型 slcp1.mdl―变长度倒摆小车模糊控制系统仿
真; 模型 slcpp1.mdl—定长、变长二倒摆模糊控制系
统仿真; 模型slbb.mdl―球棒模糊控制系统仿真; 模型sltbu.mdl―卡车智能模糊控制倒车系统仿真; 模型sltank2.mdl ― 用子系统封装的水箱控制仿
为简单起见,我们直接利用系统里已经编辑好的 模糊推理系统,在它的基础上进行修改。这里我 们采用与tank . fis中输入输出变量模糊集合完 全相同的集合隶属度函数定义,只是对模糊规则 进行一些改动,来学习模糊工具箱与仿真工具的 结合运用。对于这个问题,根据经验和直觉很显 然可以得到如下的模糊度示 波器
冷水阀子系统
这个仿真模型的输出是用示波器来表示的,如 图所示。通过示波器上的图形我们可以清楚地 看到温度和水流量跟踪目标要求的性能。
水温示波器
水流示波器
水温偏差区间模糊划分及隶属度函数
水流量偏差区间模糊划分及隶属度函数
输出对冷水阀控制策略的模糊化分及隶属度函数
选Edit菜单,选择Rules, 弹出一新界面Rule Editor. 在底部的选择框内,选择相应的 IF…AND…THEN 规则,点击Add rule 键,上部 框内将显示相应的规则。本例中用9条左右的规 则,依次加入。如下图所示:
模糊逻辑工具箱仿真结果
模糊规则浏览器用于显示各条模糊控制规则对 应的输入量和输出量的隶属度函数。通过指定 输入量,可以直接的显示所采用的控制规则, 以及通过模糊推理得到相应输出量的全过程, 以便对模糊规则进行修改和优化。
这样的结果与实际情况还是有些不符。通常顾客都是给15%的 小费,只有服务特别好或特别不好的时候才有改变,也就是说, 希望在图形中间部分的响应平坦些,而在两端(服务好或坏) 有凸起或凹陷。这时服务与小费是分段线性的关系。例如,用 下面 MATLAB 语句绘出的下图的情况。

模糊控制系统的MATLAB仿真与应用

模糊控制系统的MATLAB仿真与应用

另外 " 对于 & 还可以 9 H 3 @ =型 的 模 糊 推 理 系 统 " 利 用 DM$ # P$ % & D4 C N 6 5 J 3M3 6 K= 8 O 9 Q Q R% @ 2 3 8 3 @ ? 3 编 辑 器 进 行 自 适 应 神 经 模 糊 推 理 系 统 的 " & R > 成高亮红色 " 并且相应的规则显示 在图形窗口的底部 ) 注意到若有一个小图形是空的 " 则对应于这个规则中该变量的特征值为 @ )第三 = @ 3 列的最后一个小图形表示给定推理系统的加权合计 判定 ) 此判定依赖于系统的输入值 )
图- $ % &编辑窗口
曲面观察器 在命令窗口输入. # ! ’ > 9 8 2 J 5 3 K/ 命令 " 或在各个编辑器窗口选择相应的菜单 " 即可打 开模糊推理的输入输出曲面视图窗口 ) 该窗口用于 显示输入输出量 对 应 的 表 面 空 间 " 并可改变各轴对 应的变量及观察 视 角 " 便于用户对设计的模糊推理 系统进行修改和优化 )
模糊控制系统设计的关键是模糊控制器的设
万方数据 邢春贵 ’ 男& 吉林长春人 & 硕士研究生 & 主要领域 . 模式识别与智能控制 0 ( : 9 ; 8& 收稿日期 . + * * , 8* 8 8( )
,期
邢春贵等 0 模糊控制系统的 TDW U DX仿真与应用
Z7 ! Z
具 箱 中有 !个带 有 图 形 界 面 的 基 本 工 具 " 它们分别 是 模 糊推理系统 # 编 辑 器( 隶 属 度 函 数 编 辑 器( ’ $ % & 模糊规则编辑器 ( 模糊规则观察器和曲面观察器 ) 这 些* 工具之间是动态链接的 使用它们中的任意 " +% 一个对 $ 的 修 改 将 影 响 到 任 何其它已打开的 % & 中的显示结果 ) * +% 模糊推理 系 统 编 辑 器 该 编 辑 器 用 于 设 计 # , ’ 和显示模糊推理系统的一些基本信息与参数 ) 如图 在窗口的上半部以图形框的形式列出了模 -所 示 " 糊推理系统的基本组成部分 " 即输入模糊量 ( 模糊规 则和输出模糊变量 ) 通过鼠标双击上述图形 " 能够激 活隶属函数编辑器和模糊规则编辑器等相应的编辑 窗口 ) 在窗口的下半部分的左侧列出了模糊推理系 统 的 名 称( 类 型 和 一 些 基 本 属 性" 包括. 与/ 运算方 法( 或/ 运算方 法 ( 蕴 涵 运 算( 模糊规则的综合运算 . 以 及 去模糊化的 方 法 等 " 用户只需用鼠标即可设定 相应的属性 ) 在图 -中 " 模糊推理系统的基本属性设 定为 0 与/ 运算采用极小运算 " 或/ 运算采用极大运 . . 算" 模糊蕴涵采用极小运算 " 模糊规则综合采用极大 运算 " 去模糊化采用重心法 ) 窗口下半部分的右侧 " 列出了当前选定的模糊语言变量的名称及其论域范 围)

模糊pidmatlab(simulink)仿真详细步骤

模糊pidmatlab(simulink)仿真详细步骤

下面用一个简单的例子作介绍:(本例不是特别针对实现什么功能,只是为了介绍方便)第一部分创建一个模糊逻辑(.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”形式的模糊控制规则。

模糊——Smith控制器的matlab仿真

模糊——Smith控制器的matlab仿真

大滞 后 系 统 是 一 类 常 见 的 工 业 过 程 之 一 。许 多 工 业 过 程 都包 含纯 时 间 滞 后 . 服 纯 滞 后 是 改 善 滞 后 过 程 、 制 质 量 的 克 控 个 关 键 性 问 题 。 着 控 制 理论 与技 术 应 用 的拓 进 , 要 控 制 随 需 的工 业 过 程 日趋 复 杂 .温 度 过 程 中往 往 存 在 着 较 严 重 的 非 线 性、 大惯 性 和 长 时 滞 , 控 制 的要 求 较 高 , 控 制 的精 确 性 、 对 对 鲁 棒 性 和 实 时性 要 求 更 高 , 统 的控 制 方 法 较 难 满 足 要求 。 传 而模 糊控 制 不 需 要 精 确 的 系 统数 学模 型 , 参 数 变 化 不 敏 感 , 棒 对 鲁 性较 强 且 易 于 实 现 .利 用 模 糊 控 制 和s i 预 测 控 制 各 自的 不 mt h 同 优 点 , 模 糊 控 制 和S i 控 制 结 合 起 来 , 形 成 了一 种 大 将 mt h 就 时滞 系统 的有 效控 制 方法 。 由于 滞后 时 间 的存 在 ,调 节 作 用 在 滞 后 的 这段 时 间 里无 法 影 响 被 调参 数 , 致 使 初 调 参 数 自 由变 化 . 而 降低 了 系统 的 调 节 品 质 , 大 了调 节 过 程 的 波 动 幅 值 及 动 态 偏 差 , 长 了 调节 加 延 时问 。 降低 了系 统 的稳 定 性 。 性 时 间 常 数T 惯 的大 小 , 示 系统 表 动 态 响 应 时 间 的快 慢 ,越 长 , 系 统 响 应 时 间 越 慢 , T 则 它将 弓 起 l 系统 的超 调 , 使 执 行 机 构 ( 且 如调 节 阀 ) 工 作 在 开 关 状 态 , 常 既 浪 费 资 源 , 使 被 调参 数 处 于大 的波 动 状 态 。 又 具有 纯 滞 后 的过 程 被 公 认 为 是 较 难 控 制 的过 程 ,其 难 控 程 度 将 随 着 纯 滞 后 时 间 占整 个 过 程 动 态 的 份 额 的 增 加 而 增 加 。一 般认 为纯 滞 后 时 间 与 过 程 的 时 间 常数 T 比大 于03 , 之 _时 则 说 该过 程 是 具 有 大 滞 后 的 工艺 过 程 。 当纯 滞 后 时 间 与T 比 的 值 增 加 , 程 中 的 相 位 滞后 增加 , 上 述 现 象 更 为 突 出 。有 时 过 使 甚 至会 因为 超 调 严 重 而 出 现 聚爆 、 焦 等 停 产 事 故 , 外 也 可 结 另 能 引 起 系统 的 不 稳 定 。 调 量 一 旦超 过 安 全 限 , 被 则会 危 及 设 备 及 人 身安 全 , 此 大滞 后 系 统一 直受 到人 们 的 关 注 , 为 重 要 因 成 的研 究课 题 。 传 统 的模 糊 控 制 器 对 于 大 滞 后 系 统 稳 态 精 度 效 果 较 差 , 控 制 动态 响应 品 质 也很 差且 易于 出现 震 荡 。 而传 统 的S t预 mi h 估控 制 系 统 中 的 控 制器 是 一 个 PD 制 器 , 由于 PD 基 于 被 I控 I是 控对 象 的精 确 模 型 而设 计 的 ,因 此对 于 缺 乏 精 确 模 型 或 参 数 时变 的纯 滞 后 过 程 难 以 得 到 满 意 的 性 能 。 因 而 将 模 糊 控 制 和 S i 预 估 控 制 结 合 构 成 模 糊 一 S i 控 制 对 于 大 滞 后 系 统 的 mt h mt h 控 制可 以起 到 优 势 互 补 的作 用 。 对 大 滞 后 系 统 特 性 进 行 抽 象 ,可 得 到 具 有 大 滞 后 二 阶系 统 的传 递 函数 为 :

模糊控制在matlab中的实例

模糊控制在matlab中的实例

模糊控制在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. 然后,定义模糊规则。

智能控制实验

智能控制实验

实验一 模糊控制器设计与实现实验名称:模糊控制器设计与实现实验教学的指导思想和教学目的:本实验是在学生掌握模糊控制器基本工作原理和设计方法基础上,阅读有关参考书利用MATLAB 中Fuzzy toolboxes 设计模糊控制器,并建立模糊控制系统。

实验教学的基本要求:要求学生通过上机实习,熟悉MATLAB 的基本操作命令、simulink 和模糊控制工具箱的使用,掌握利用MATLAB 设计模糊控制器的基本方法,为以后利用计算机进行模糊控制系统分析与设计打下良好的基础。

实验步骤:模糊控制位置跟踪被控对象为首先运行模糊控制器程序chap4_2.m ,并将模糊控制系统保存在a2之中。

然后运行模糊控制的Simulink 仿真程序,位置指令取正弦信号,仿真结果如图4-10所示。

模糊控制位置跟踪的Simulink 仿真程序见chap4_3.mdl 。

图4-10 正弦位置跟踪s 50s 400)(2+=s G实验二 洗衣机模糊控制器的设计与仿真实验名称:洗衣机模糊控制器的设计与仿真实验目的:掌握洗衣机模糊控制器的设计步骤以及MATLAB 仿真实现实验步骤:(1)模糊控制器的结构选用单变量二维模糊控制器。

控制器的输入为衣物的污泥和油脂,输出为洗涤时间。

(2)定义输入输出模糊集将污泥分为三个模糊集:SD (污泥少),MD (污泥中),LD (污泥多),取值范围为[0,100]。

(3)定义隶属函数选用如下隶属函数:采用三角形隶属函数实现污泥的模糊化,如图4-11所示。

采用Matlab 仿真,可实现污泥隶属函数的设计,仿真程序为chap4_4.m将油脂分为三个模糊集:NG (无油脂),MG (油脂中),LG (油脂多),取值范围为[0,100]。

选用如下隶属函数:采用三角形隶属函数实现污泥的模糊化,如下图4-12所示。

仿真程序同污泥隶属函数。

⎪⎪⎩⎪⎪⎨⎧≤<-=⎩⎨⎧≤<-≤≤=≤≤-==1005050/)50()(1005050/)100(50050/)(50050/)50()(x x x x x x x x x x x LD MD SD μμμμ污泥⎪⎪⎩⎪⎪⎨⎧≤≤-=⎩⎨⎧≤<-≤≤=≤≤-==1005050/)50()(1005050/)100(50050/)(50050/)50()(y y y y y y y y y y y LG MG NG μμμμ油脂图4-12 油脂隶属函数将洗涤时间分为三个模糊集:VS (很短),S (短),M (中等),L (长),VL (很长),取值范围为[0,60]。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

实验时数:3学时。

二、实验设备:计算机系统、Matlab 仿真软件 三、实验原理
模糊控制器它包含有模糊化接口、规则库、模糊推理、清晰化接口等部分,输人变量是过程实测变量与系统设定值之差值。

输出变量是系统的实时控制修正变量。

模糊控制的核心部分是包含语言规则的规则库和模糊推理。

模糊推理就是一种模糊变换,它将输入变量模糊集变换为输出变量的模糊集,实现论域的转换。

工程上为了便于微机实现,通常采用“或”运算处理这种较为简单的推理方法。

Mamdani 推理方法是一种广泛采用的方法。

它包含三个过程:隶属度聚集、规则激活和输出总合。

模糊控制器的体系结构如图1所示。

图1 模糊控制器的体系结构
四、实验步骤
(1)对循环流化床锅炉床温,对象模型为
()()1140130120
++s s
采用simulink 图库,实现常规PID 和模糊自整定PID 。

(2)确定模糊语言变量及其论域:模糊自整定PID 为2输入3输出的模糊控制器。

该模糊控制器是以|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}。

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

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

(5)推理方法的确定
隐含采用“mamdani”方法:max-min;
推理方法,即“min”方法;
去模糊方法:面积中心法;
选择隶属函数的形式:三角型。

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

之后,在Simulink 环境下,构建模糊自整定PID和常规PID控制系统,如图2。

图2 模糊自整定PID和常规PID控制仿真系统
(6)给定输入为阶跃信号,运行程序,记录实验数据和控制曲线。

(7)比较两种控制器的控制效果;
(8)当通过改变模糊控制器的比例因子时,分析系统响应有什么变化?
五、实验报告要求
给出模糊自整定 PID 控制系统的设计过程和仿真结构图,记录试验数据和曲线,分析试验结果。

六、思考题
1、模糊控制器中隶属函数形式、推理方法、去模糊方法的改变、对控制效果有什么影响?
2、模糊控制规则如何建立?。

相关文档
最新文档