模糊控制器的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仿真说明:a.控制对象为一阶系统,目的是为了简单,调通后可以修改控制对象,控制参数体会各个量对控制效果的影响。

b.一阶系统直接施加输入,如图1所示的控制对象,上升时间会很大。

完全可以使用PID 控制使控制效果满足需要。

这里使用模糊控制来代替PID控制器。

比较一下!模糊控制器设计模糊控制器的计算量是非常大的,我不从数学推导介绍。

讲一下利用matlab的模糊工具箱(Fuzzy logical toolbox)建立基本模糊控制器的方法。

在命令行输入fuzzy,就可以进入模糊推理系统编辑器(fis editor)。

利用这个工具制作一个*.fis的文件。

这个文件就是模糊控制器的核心!在simulink中和以往进行PID控制一样建立模型。

如图1,在simulink 的库里点击Fuzzy Logical toolbox,拖一个Fuzzyl logical controller with rule viewer,双击这个环节,在弹出的对话框的fis Matrix里填入你自己起的*.fis的名字,不需输入后缀fis。

在设计模糊控制器(*.fis)前,要想好,你设计的控制器需要几个输入,几个输出。

比如,本例中拟采用偏差E和偏差变化率Ec这两个量作为模糊控制器的输入,模糊控制器有一个输出。

很明显,这是利用模糊控制器代替PD控制的。

对应的模糊控制器的设计也要具有两个输入一个输出。

利用matlab的Fuzzy logical toolbox 设计模糊控制器(生成*.fis文件)的关键步骤:a.添加输入输出。

图3.fis编辑器默认的具有一个输出,添加第二个输入,并且分别命名为E,Ec,U。

b.确定隶属函数。

双击黄色和绿色的方框就可以进入隶属函数编辑对话框了。

设置E,Ec 的range为[-6,6],u的range为[-1,1]。

然后每一个变量再添加4个输入隶属函数,总共7个。

matlab提供了11种隶属函数,第一次用选择常用的三角形trimf,区别不大的。

基于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 语句绘出的下图的情况。

模糊控制设计及仿真实例--智能控制作业

模糊控制设计及仿真实例--智能控制作业

课程名称:智能控制理论与技术授课老师:徐华中学院:自动化学院专业名称:控制科学与控制工程姓名:廖桂潘学号:班级:自研0902班导师姓名:刘教瑜2010年9月1.一个三阶系统201232123b b ba a as ss s s+++++,其中a,b的值由自己设定,该系统具有非线性环节,如下图所示:依据上述条件设计一个模糊控制器:①用MATLAB仿真,得出仿真结果,②并通过改变a、b值对仿真结果的影响;③改变隶属度函数,从仿真结果图分析隶属度函数,模糊化对系统的影响;解:①(1)取b0=0,b1=0,b2=1.5,a1=4,a2=2,a3=0,在SIMULINK里建模如下图所示(2)用GUI建立FISE和EC分别为系统输出误差和误差的变化量,U为控制输出,编辑其隶属度函数如下编辑模糊推理规则如下(3)仿真结果如下2自己选定一个对象,设计一个神经网络控制系统。

解:被控对象为y(k)=0.3y(k-1)+0.2y(k-2)+0.1u(k-1)+0.6u(k-2),采用单神经元PID 控制,控制结构如下图所示:采用有监督的Hebb 学习规则,控制算法及学习算法如下:3131111222333()(1)()()()()/()()(1)()()()()(1)()()()()(1)()()()i i i i i i i I P D u k u k K w k x k w k w k w k w k w k z k u k x k w k w k z k u k x k w k w k z k u k x k ηηη=='=-+'==-+=-+=-+∑∑式中,2123()();()()(1);()()()2(1)(2);x k e k x k e k e k x k e k e k e k e k ==--=∆=--+-K K>0I P D ηηη﹑﹑分别为积分﹑比例﹑微分的学习速率,为神经元比例系数,。

最新温度控制系统的模糊PID参数整定及MATLAB仿真

最新温度控制系统的模糊PID参数整定及MATLAB仿真
根据温度控制具有纯滞后,大惯性的特点,整定 的原则如下:
当温差e较大时,为使温度控制系统具有较好的快 速跟踪性能,即温差较大时,温度要以较快速率 _______________________________________
___________
4.利用fuzzy模糊逻辑工具箱建立模糊控
制器
(1)输入/输出语言变量的建立 在MATLAB 环境ห้องสมุดไป่ตู้键入fuzzy 命令,进入模糊逻辑工具箱(如图)所
对建立的温度箱__加___热____模____型____,___在____m___a__t_l_a__b__上____仿真经整定后,得Kp等
于4.25时,响应曲线符合以上___衰___减____规_ 律,最终取Kp=0.8*4.25=3.4,
图1-1 simulink模块化系统PID仿真模型
仿真的时间选择1000 秒,设定误差值为40。仿真结果后如下图:
由于温度控制系统的设计目的是要使温度从30 度上升到70度,各种 指标和前面的PID 一致,但要实现控制速度提升且实现零超调。所 以温度的偏差e的论域设定为-40 到40.偏差变化率ed的论域整定为0.2 到0.2。设计的目的是实现PID 参数在线的自整定,在前面调试 出的曲线中可以知道,当Kp取3.4,Ki 取0.0028,Kd 取100 的时候, 系统有比较令人满意的曲线,所以在这个基础上,可以设定Kp 的 论域范围为2.7到3.6,Ki的范围为0.0022 到0.0028,Kd 的范围取60 到150。
图1-2 PID控制器作用下的仿真曲线图 _______________________________________ ___________
2.模糊PID控制器参数论域的确定

第五章模糊控制系统的MATLAB仿真PPT课件

第五章模糊控制系统的MATLAB仿真PPT课件
36
37
38
5.2.6 FIS输出量曲面观测窗 1.输出量曲面观测窗界面简介 2.利用输出量曲面观测窗进行分析研究
39
5.2.7 用GUI设计Mamdani型模糊系统举例 1.选择模糊控制器的结构及模糊逻辑算法 2.定义覆盖输入、输出变量的模糊子集 3,编辑模糊控制规则 4.观测模糊推理过程
59
设计模糊推理结构
• Mamdani法 • Lorsen法 • Takagi-Sugeno方法。
60
(1).Mamdani方法
利用“极大—极小”合成规则定义模糊蕴 含表达的关系。例如:R :ifx为 A , t h e ny为 B
表达的关R C系 定义为
RCABXYA(x()x ,y)B(y)
40
41
42
4.观测模糊推理过程 5.观测清晰化方法对输出量的影响 6.观测整个论域上输出量与输入变量间的关

43
5.2.8 用GUI设计Sugeno型模糊系统举例 1.选择模糊系统的结构及逻辑算法 2.定义输入、输出变量的模糊子集 1)增加一个输出函数 2)命名 3)输入参数 3. 输入模糊控制规则 4.观测模糊推理过程 5.观测整个论域上输出量与输入量间的关系
13
5.2 模糊推理系统的设计与仿真
5.2.1 模糊推理系统的图形用户界面简介
14
15
5.2.2 模糊推理系统编辑器 1.FIS编辑器界面简介 • 菜单条和模框区
File Edit View
16
17
18
模糊逻辑区和当前变量区 2. FIS推理系统的编辑 3.编辑FIS的维数 4.编辑FIS输入、输出量的名称
3
• 5.1.2 仿真模型图的建立 • 1.打开模型编辑器界面 • 2.移入模块并予以合理布局

模糊控制的MATLAB实现具体过程(强势吐血推荐)

模糊控制的MATLAB实现具体过程(强势吐血推荐)

plot(a,’input’,1)
注意:对于每个语言变量的隶属度函数按该函数被添加的顺 序编号,编号从1开始,依次递增。
3、FIS系统相关操作
① 函数newfis
功能:创建并返回一个新的模糊推理系统。
格式:a=newfis(‘fisName’) ②函数readfis 功能:从磁盘中读出并返回模糊推理系统结构变量。 格式:Fismat=readfis(‘filename’) 说明:打开一个由filename指定的数据文件(.fis),并将 其加载到当前的工作空间(Workspace)中的变量Fismat中。
例:fis=readfis(‘tipper’);
out=evalfis([2 1; 4 9],fis) 输出结果:out=7.0169
19.6810
MATLAB模糊控制系统设计实例1
一、设计目的:了解用MATLAB模糊工具箱的图形界面可视化 工具实现模糊控制系统的方法。 二、系统设计要求: 1、输入变量:偏差e、偏差变化率de;输出变量:u 相应隶属度函数为:
②函数addmf
功能:向模糊推理系统的语言变量添加隶属度函数。
格式:a=addmf(a, varType, varIndex,mfName,mfType, mfParams)
说明:隶属度函数只能为模糊推理系统中已经存在的某 一语言变量的语言值添加隶属度函数。参数列表中,a为 模糊推理系统对应的矩阵变量名, varType指定语言变量 类型的字符串(如‘input’或‘output’); varIndex指定 语言变量编号的数字;mfName指定隶属度函数名称; mfType指定隶属度函数类型; mfParams指定隶属度函数 的参数。
③ 函数gaussmf 功能:建立高斯型隶属度函数。

模糊控制在倒立摆中的MATLAB仿真应用

模糊控制在倒立摆中的MATLAB仿真应用

TAIYUAN UNIVERSITY OF SCIENCE & TECHNOLOGY题目:院(系):专业:学生姓名:学号:模糊控制在倒立摆中的仿真应用1、倒立摆系统简介倒立摆有许多类型,例如图1-1的a和b所示的分别是轮轨式一级倒立摆系统和二级倒立摆系统的模型。

倒立摆是一个典型的快速、多变量、非线性、本质不稳定系统,它对倒置系统的研究在理论上和方法论上具有深远的意义。

对倒立摆的研究可归结为对非线性多变量本质不稳定系统的研究,其控制方法和思路在处理一般工业过程中也有广泛的用途。

近些年来国内外不少专家学者对一级、二级、三级、甚至四级等倒立摆进行了大量的研究,人们试图寻找不同的控制方法实现对倒立摆的控制,以便检查或说明该方法的严重非线性和本质不稳定系统的控制能力。

2002年8月11日,我国的李洪兴教授在国际上首次成功实现了四级倒立摆实物控制,也标志着我国学者采用自己提出的控制理论完成的一项具有原创性的世界领先水平的重大科研成果。

图1-1 倒立摆模型(a)一级倒立摆模型(b)二级倒立摆模型倒立摆系统可以简单地描述为小车自由地在限定的轨道上左右移动。

小车上的倒立摆一端用铰链安装在小车顶部,另一端可以在小车轨道所在的垂直平面内自由转动,通过电机和皮带传动使小车运动,让倒立摆保持平衡并保持小车不和轨道两端相撞。

在此基础上在摆杆的另一端铰链其它摆杆,可以组成二级、三级倒立摆系统。

该系统是一个多用途的综合性试验装置,它和火箭的飞行及步行机器人的关节运动有许多相似之处,其原理可以用于控制火箭稳定发射、机器人控制等诸多领域。

倒立摆系统控制原理单级倒立摆系统的硬件包括下面几个部分:计算机、运动控制卡、伺服系统、倒立摆和测量元件,由它们组成的一个闭环系统,如图1-2所示,就是单级倒立摆系统的硬件结构图。

图1-2 单级倒立摆硬件结构图通过角度传感器可以测量摆杆的角度,通过位移传感器可以得到小车的位置,然后反馈给运动控制卡,运动控制卡与计算机双向通信。

模糊控制MALTAB系统仿真实验报告

模糊控制MALTAB系统仿真实验报告

模糊控制MALTAB系统仿真实验报告可编程控制器智能控制技术仿真实验题目: 模糊控制系统MATLAB仿真实验报告院系名称:电气工程学院专业班级:电气学生姓名:学号:模糊控制系统MATLAB仿真实验报告一、实验目的 1、通过本次设计,了解模糊控制的基本原理、模糊模型的建立和模糊控制系统的设计过程。

2、熟悉在MATLAB下建立模糊控制器的方法,并能利用MATLAB对给定参数的模糊控制系统予以仿真二、实验项目1、实验题目本设计要求设计一个采用模糊控制的加热炉温度控制系统。

被控对象为一热处理工艺过程中的加热炉,加热设备为三相交流调压供电装置,输入控制信号电压为0~5V,输出相电压0~220V,输出最大功率180KW,炉温变化室温~625℃,电加热装置如图所示:图1-1电加热装置示意图3、实验数据:本实验输入变量为偏差e和偏差的变化ec,输出变量为控制电压U,变量模糊集量化论域均为[-6 6]采用的常用的三角形隶属函数。

控制规则表: U 输入变量ec NB NM NS ZO PS PM PB 输入变量 e NB NB NB NB NB NM NS ZO NM NB NB M, M, MS ZO ZO NS NV NM NM NS ZO ZO PS ZO NM NS NS ZO PS PS PM PS NS ZO ZO PS PM PM PB PM ZO ZO PS PM PM PB PB PB ZO PS PM PB PB PB PB 三、实验步骤 1、建立系统仿真图:在MATLAB主窗口单机工具栏中的Simulink快捷图标弹出“Simulink Library Browser”窗口,单击“Create a new model”快捷图标弹出模型编辑窗口。

依次将Signal Generator(信号源)、Subtract(减运算)、Gain(增益)、Derivative(微分)、Mux(合成)、Fuzzy Logic Controller(模糊逻辑控制器)、TransferFcn(传递函数)、Saturation(限幅)、Memory(存储器)、Scope(显示器)模块拖入窗口并连接成系统仿真图如图1-2 图1-2 系统仿真图 2、在模糊推理系统编辑器中设置变量:在MATLAB 命令窗口输入fuzzy并按回车键,启动FISEditor(模糊推理系统编辑器)。

模糊——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 控 制可 以起 到 优 势 互 补 的作 用 。 对 大 滞 后 系 统 特 性 进 行 抽 象 ,可 得 到 具 有 大 滞 后 二 阶系 统 的传 递 函数 为 :

模糊PID基本原理及matlab仿真实现(新手!新手!新手!)

模糊PID基本原理及matlab仿真实现(新手!新手!新手!)

模糊PID基本原理及matlab仿真实现(新⼿!新⼿!新⼿!)有关模糊pid的相关知识就把⾃⼰从刚接触到仿真出结果看到的⼤部分资料总结⼀下,以及⼀些⾃⼰的ps以下未说明的都为转载内容在讲解模糊PID前,我们先要了解PID控制器的原理(本⽂主要介绍模糊PID的运⽤,对PID控制器的原理不做详细介绍)。

PID控制器(⽐例-积分-微分控制器)是⼀个在⼯业控制应⽤中常见的反馈回路部件,由⽐例单元P、积分单元I和微分单元D组成。

PID控制的基础是⽐例控制;积分控制可消除稳态误差,但可能增加超调;微分控制可加快⼤惯性系统响应速度以及减弱超调趋势。

1.1传统PID控制传统PID控制器⾃出现以来,凭借其结构简单、稳定性好、⼯作可靠、调整⽅便等优点成为⼯业控制主要技术。

当被控对象的结构和参数具有⼀定的不确定性,⽆法对其建⽴精确的模型时,采⽤PID控制技术尤为⽅便。

PID控制原理简单、易于实现,但是其参数整定异常⿇烦。

对于⼩车的速度控制系统⽽⾔,由于其为时变⾮线性系统不同时刻需要选⽤不同的PID参数,采⽤传统的PID控制器,很难使整个运⾏过程具有较好的运⾏效果。

1.2模糊PID控制模糊PID控制,即利⽤模糊逻辑并根据⼀定的模糊规则对PID的参数进⾏实时的优化,以克服传统PID参数⽆法实时调整PID参数的缺点。

模糊PID控制包括模糊化,确定模糊规则,解模糊等组成部分。

⼩车通过传感器采集赛道信息,确定当前距赛道中线的偏差E以及当前偏差和上次偏差的变化ec,根据给定的模糊规则进⾏模糊推理,最后对模糊参数进⾏解模糊,输出PID控制参数。

2.1模糊化模糊控制器主要由三个模块组成:模糊化,模糊推理,清晰化。

具体如下图所⽰。

⽽我们将⼀步步讲解如何将模糊PID算法运⽤到智能车上。

(最好⽤笔⼀步步⾃⼰写⼀遍)⾸先我们的智能车会采集到赛道的相关数据,例如摄像头车,其采集到的数据经过算法处理之后会得到与中线的偏差E,以及当前偏差和上次偏差的变化(差值)EC两个值(即此算法为2维输⼊,同理也可以是1维和3维,但2维更适合智能车)。

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

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

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

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

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

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

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

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

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

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

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

For personal use only in study and research; not for commercial use图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}。

基于MATLAB的模糊控制汽车倒车仿真系统

基于MATLAB的模糊控制汽车倒车仿真系统
Matlab模糊控制工具箱 Fuzzy Logic Toolbox
ቤተ መጻሕፍቲ ባይዱ
• • • • •
FIS编辑器 隶属度函数编辑器: 模糊规则编辑器: 模糊规则观测窗 输出量曲面观测窗
北京信息科技大学 孙骏
3.模糊控制器设计
倒车系统模糊控制器
FIS编辑器
系统设置为3个输入,1个输出,3个输入分 别为距离、角度1、角度2,输出为控制角度
北京信息科技大学 孙骏
3.模糊控制器设计
倒车系统模糊控制器
隶属度函数编辑器: 距离的隶属度函数选择Z型和S型,分别定义为近距离和远距离
北京信息科技大学 孙骏
3.模糊控制器设计
倒车系统模糊控制器
模糊规则编辑器: 如果distance 是远,则选择角度1, 如果distance 是近,则选择角度2,
综上:大部分情况下可以完成倒车,但是该模糊控制 需要改进。
北京信息科技大学 孙骏
THE END
谢谢!
北京信息科技大学 孙骏
北京信息科技大学 孙骏
1.倒车系统模型分析 • 动力学分析
– 由于倒车的速度很低,在 做系统仿真时,不妨假设 倒车速度为常量,程序中 取V=5 – 由于后车轴中心没有侧向滑 动那么后轴中心点( xr , yr ) 满 足约束条件:
yr cos xr sin 0
– 几何约束关系
前后轮的坐标关系: xr x f La cos
v tan / La
北京信息科技大学 孙骏
2.倒车控制系统设计 • 系统设计要求
– 无死区倒车到目标位置 – 具有较高的精度 – 能够成功避障
• 系统设计流程
– 程序中的重要模块: 汽车模型模块 模糊控制模块 汽车定位模块 动画显示模块

模糊控制在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中进行模糊控制

如何在MATLAB中进行模糊控制

如何在MATLAB中进行模糊控制模糊控制是一种基于模糊逻辑理论的控制方法,它通过建立模糊规则、模糊集合和模糊推理等步骤,实现对复杂系统的控制。

在MATLAB中,我们可以利用模糊控制工具箱进行模糊控制设计和仿真。

本文将从模糊控制的基本原理、MATLAB中的模糊控制工具箱的使用以及实例应用等方面进行讨论。

一、模糊控制基本原理模糊控制的基本原理是将人类的经验和模糊逻辑理论应用于系统控制中。

它不需要准确的数学模型,而是通过模糊集合、模糊规则和模糊推理等方法来描述和制定控制策略。

下面我们将简要介绍一下模糊控制中的基本概念。

1. 模糊集合模糊集合是一种可以容纳不确定性的集合。

与传统集合论不同,模糊集合中的元素可以部分地、模糊地属于该集合。

在模糊控制中,我们通常使用隶属度函数来描述元素对模糊集合的隶属程度。

2. 模糊规则模糊规则是一种将输入和输出间的关系表示为一组语义规则的方法。

它基于专家的经验和知识,将输入变量的模糊集合与输出变量的模糊集合之间建立映射关系。

模糊规则通常采用IF-THEN的形式表示,例如:“IF 温度冷 AND 湿度高 THEN 空调制冷”。

3. 模糊推理模糊推理是基于模糊规则进行推理和决策的过程。

它通过对模糊集合的隶属度进行运算,计算出输出变量的模糊集合。

常用的推理方法有模糊关联、模糊交集和模糊合取等。

二、MATLAB中的模糊控制工具箱MATLAB提供了一套完整的模糊控制工具箱,包括模糊集合的创建、模糊规则的定义、模糊推理和模糊控制系统的仿真等功能。

下面我们将逐步介绍这些功能的使用方法。

1. 模糊集合的创建在MATLAB中,我们可以使用fuzzymf函数来创建模糊集合的隶属度函数。

该函数可以根据用户指定的类型和参数生成不同形状的隶属度函数。

常用的隶属度函数有三角型函数、梯形函数和高斯型函数等。

2. 模糊规则的定义在MATLAB中,我们可以使用addrule函数来定义模糊规则。

该函数将用户指定的输入变量、模糊集合和输出变量、模糊集合之间的关系转化为模糊规则,并添加到模糊推理系统中。

模糊PID控制系统设计及MATLAB仿真

模糊PID控制系统设计及MATLAB仿真

相比传统的PID控制系统,基于Matlab的模糊PID控制系统具有更好的适应性 和鲁棒性。在面对具有非线性、时变等特点的被控对象时,模糊PID控制系统可 以更好地实现精确控制。仿真结果表明,该方法在改善系统的动态性能和稳态精 度方面均具有显著的优势。
然而,基于Matlab的模糊PID控制系统仍然存在一些问题需要进一步研究和 解决。例如,针对不同的被控对象,如何自适应地调整模糊PID控制器的参数仍 然是一个亟待解决的问题。此外,如何进一步提高模糊PID控制系统的鲁棒性和 自适应性也是未来研究的重要方向。
模糊PID控制系统设计及MATLAB仿 真
01 引言
03 参考内容
目录
02
模糊PID控制系统设 计
摘要:本次演示主要介绍了模糊PID控制系统的设计方法及其在MATLAB环境 下的仿真过程。首先,阐述了模糊PID控制系统的基本原理和设计流程,并通过 一个实际案例加以说明。接下来,介绍了MATLAB仿真的基本原理和实施步骤,并 展示了仿真结果。最后,总结了本次演示的主要内容,并指出了未来的研究方向。
(4)设计控制表:根据模糊规则和控制要求,计算出各模糊变量的控制表。
(5)设计去模糊化器:去模糊化器的作用是将模糊量转换为精确量,以便 输出到被控对象。
3、设计案例
以一个简单的温度控制系统为例,介绍模糊PID控制系统的设计应用。该系 统的输入为温度误差和温度变化率,输出为加热器的控制信号。首先,确定输入 输出变量,定义相应的模糊变量。然后,根据控制要求和系统特性制定模糊规则, 并计算出各模糊变量的控制表。最后,设计去模糊化器,将模糊量转换为精确量, 输出加热器的控制信号。通过这样的设计流程,可以实现对该温度控制系统的数学计算软件,它可以用于各种控制系统仿真的工 具。在MATLAB中,可以使用Simulink模块进行系统建模和仿真。Simulink提供 了丰富的库和工具箱,可以方便地构建各种类型的控制系统模型,并对系统进行 仿真和分析。

模糊控制的Matlab仿真实例

模糊控制的Matlab仿真实例
控制精度问题:由于模糊逻辑的推理过程存在一定的近似和简化,可能会导致控制精度不如传统PID控制等精确控制方法。
THANK YOU
中心平均值去模糊化
去模糊化过程
04
Matlab仿真实例
输入输出变量定义
根据被控对象的特性,定义模糊控制系统的输入输出变量,如温度、湿度、压力等。
模糊化函数设计
为每个输入输出变量设计对应的模糊化函数,将实际值映射到模糊集合上。
模糊规则制定
根据专家知识和实际经验,制定模糊控制规则,如“如果温度过高,则调整冷却阀”。
输入输出关系
基于模糊逻辑运算和模糊集合的性质,建立输入和输出之间的映射关系。
推理规则
基于专家知识和经验,制定一系列的推理规则,用于指导模糊推理过程。
推理方法
常用的模糊推理方法包括最大值推理、最小值推理和中心平均值推理等。
模糊推理系统
02
Matlab模糊逻辑工具箱简介
模糊逻辑工具箱的功能
为了将模糊输出转换为实际输出,工具箱提供了多种去模糊化方法,如最大值去模糊化、最小值去模糊化和中心平均值去模糊化等。
性能指标选择
根据所选性能指标,采用合适的方法对模糊控制系统的性能进行评估,如极差分析法、方差分析法等。
性能评估方法
将模糊控制系统的性能与其他控制方法进行比较,如PID控制、神经网络控制等,以验证其优越性。
性能比较
01
02
03
模糊控制系统的性能评估
05
结论与展望
模糊控制对模型误差和参数变化具有较强的鲁棒性,能够适应不确定性和非线性系统。
输出模糊化
将模糊集合的输出映射到实际输出量上,同样采用隶属函数进行模糊化处理。
模糊化过程
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一模糊控制器的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 型系统。

默认的有一个输入,一个输出,还有中间的规则处理器。

在FIS 编辑器界面上需要做一下几步工作。

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

如下图。

其次,给输入输出变量命名。

单击各个输入和输出框,在Current Variable选项区域的Name文本框中修改变量名。

如下图
最后,保存系统。

单击File菜单,选择Export下的To Disk项。

这里将创建的系统命名为PID_auot.fis
2、进入隶属度函数编辑器
在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的隶属度函数。

3、进入规则编辑器
双击FIS编辑器图标部分中间的方框即可打开规则编辑器。

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

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

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

4、保存FIS结构
对于建好的FIS结构,利用File菜单下的Export的子菜单To Disk,将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。

然后运行,运行结果如下图。

相关文档
最新文档