模糊控制器的MATLAB仿真
- 格式:doc
- 大小:606.50 KB
- 文档页数:9
模糊控制系统的仿真实验实验目的:现有被控对象一: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仿真说明: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的模糊控制器的设计与仿真摘要:本文对模糊控制器进行了主要介绍。
提出了一种模糊控制器的设计与仿真的实现方法,该方法利用MA TLB模糊控制工具箱中模糊控制器的控制规则和隶属度函数,建立模型,并进行模糊控制器设计与仿真。
关键词:模糊控制,隶属度函数,仿真,MA TLAB1 引言模糊控制是一种特别适用于模拟专家对数学模型未知的较复杂系统的控制,是一种对模型要求不高但又有良好控制效果的控制新策略。
与经典控制和现代控制相比,模糊控制器的主要优点是它不需要建立精确的数学模型。
因此,对一些无法建立数学模型或难以建立精确数学模型的被控对象,采用模糊控制方法,往往能获得较满意的控制效果。
模糊控制器的设计比一般的经典控制器如PID控制器要复杂,但如果借助MATLAB则系统动态特性良好并有较高的稳态控制精度,可提高模糊控制器的设计效率。
本文在MATLAB环境下针对某个控制环节对模糊控制系统进行了设计与仿真。
2 模糊控制器简介模糊控制器是一种以模糊集合论,模糊语言变量以及模糊推理为数学基础的新型计算机控制方法。
显然,模糊控制的基础是模糊数学,模糊控制的实现手段是计算机。
本章着重介绍模糊控制的基本思想,模糊控制的基本原理,模糊控制器的基本设计原理和模糊控制系统的性能分析。
随着科学技术的飞速发展,在那些复杂的,多因素影响的严重非线性、不确定性、多变性的大系统中,传统的控制理论和控制方法越来越显示出局限性。
长期以来,人们期望以人类思维的控制方案为基础,创造出一种能反映人类经验的控制过程知识,并可以达到控制目的,能够利用某种形式表现出来。
而且这种形式既能够取代那种精密、反复、有错误倾向的模型建造过程,又能避免精密的估计模型方程中各种方程的过程。
同时还很容易被实现的,简单而灵活的控制方式。
于是模糊控制理论极其技术应运而生。
3 模糊控制的特点模糊控制是以模仿人类人工控制特点而提出的,虽然带有一定的模糊性和主观性,但往往是简单易行,而且是行之有效的。
课程名称:智能控制理论与技术授课老师:徐华中学院:自动化学院专业名称:控制科学与控制工程姓名:廖桂潘学号:班级:自研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 ηηη﹑﹑分别为积分﹑比例﹑微分的学习速率,为神经元比例系数,。
TAIYUAN UNIVERSITY OF SCIENCE & TECHNOLOGY题目:院(系):专业:学生姓名:学号:模糊控制在倒立摆中的仿真应用1、倒立摆系统简介倒立摆有许多类型,例如图1-1的a和b所示的分别是轮轨式一级倒立摆系统和二级倒立摆系统的模型。
倒立摆是一个典型的快速、多变量、非线性、本质不稳定系统,它对倒置系统的研究在理论上和方法论上具有深远的意义。
对倒立摆的研究可归结为对非线性多变量本质不稳定系统的研究,其控制方法和思路在处理一般工业过程中也有广泛的用途。
近些年来国内外不少专家学者对一级、二级、三级、甚至四级等倒立摆进行了大量的研究,人们试图寻找不同的控制方法实现对倒立摆的控制,以便检查或说明该方法的严重非线性和本质不稳定系统的控制能力。
2002年8月11日,我国的李洪兴教授在国际上首次成功实现了四级倒立摆实物控制,也标志着我国学者采用自己提出的控制理论完成的一项具有原创性的世界领先水平的重大科研成果。
图1-1 倒立摆模型(a)一级倒立摆模型(b)二级倒立摆模型倒立摆系统可以简单地描述为小车自由地在限定的轨道上左右移动。
小车上的倒立摆一端用铰链安装在小车顶部,另一端可以在小车轨道所在的垂直平面内自由转动,通过电机和皮带传动使小车运动,让倒立摆保持平衡并保持小车不和轨道两端相撞。
在此基础上在摆杆的另一端铰链其它摆杆,可以组成二级、三级倒立摆系统。
该系统是一个多用途的综合性试验装置,它和火箭的飞行及步行机器人的关节运动有许多相似之处,其原理可以用于控制火箭稳定发射、机器人控制等诸多领域。
倒立摆系统控制原理单级倒立摆系统的硬件包括下面几个部分:计算机、运动控制卡、伺服系统、倒立摆和测量元件,由它们组成的一个闭环系统,如图1-2所示,就是单级倒立摆系统的硬件结构图。
图1-2 单级倒立摆硬件结构图通过角度传感器可以测量摆杆的角度,通过位移传感器可以得到小车的位置,然后反馈给运动控制卡,运动控制卡与计算机双向通信。
模糊控制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(模糊推理系统编辑器)。
实验一模糊控制器的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。
然后运行,运行结果如下图。