简易模糊控制器设计及MATLAB仿真
- 格式:doc
- 大小:508.50 KB
- 文档页数:8
模糊控制及其MATLAB仿真教学设计一、模糊控制简介1.1 模糊控制的概念模糊控制是一种基于模糊逻辑思想的控制方法。
与传统的精确控制方法不同,它允许在处理不确定性和模糊性时采用一种定性的方法。
在模糊控制中,运用了模糊集合论的理论和方法,能很好地解决那些传统方法难以解决的非线性、时变、模糊等问题。
1.2 模糊控制的原理模糊控制的基本原理是将问题抽象为一些模糊集合,然后通过模糊推理和模糊逻辑运算实现模糊控制。
模糊控制的输入是经过模糊化后的模糊变量,输出是某个或某些经过去模糊化的控制变量。
1.3 模糊控制的优点模糊控制在面对复杂、非线性的控制问题时往往比传统控制方法更为有效。
其主要优点有: - 基于定性的知识 - 可以有效处理模糊、不确定性问题 - 快速响应和适应性强二、MATLAB仿真教学设计2.1 MATLAB仿真工具MATLAB是一种强大、多功能的科学计算软件,可以在其中进行模拟仿真实验。
在仿真实验中,MATLAB提供了多种工具来方便用户模拟不同的控制算法。
其中,使用Simulink可以创建模型,在其中加入不同的模块来构建模拟仿真实验。
2.2 模糊控制仿真实验可以使用Simulink在MATLAB中创建一个模糊控制的仿真实验。
具体步骤如下:1. 打开MATLAB,点击Simulink新建一个模型; 2. 在Simulink中选择Fuzzy Logic Toolbox,并将Fuzzy Logic Controller加入模型; 3. 加入Fuzzy Logic Controller后,可以进入FIS Editor编辑器,设置输入和输出变量,构建模糊控制规则; 4. 设置好规则之后,添加输入信号源和输出信号源; 5. 进行仿真和调试。
2.3 仿真教学设计为了更好地进行模糊控制的MATLAB仿真教学,可以采用以下设计方案: - 设计实验1:基础概念实验,通过模拟一个简单的控制过程,让学生了解模糊控制基本概念和原理。
简易模糊控制器的设计及仿真摘要:模糊控制(Fuzzy Control )是以模糊集理论、模糊语言和模糊逻辑推理 为基础的一种控制方法,它从行为上模仿人的模糊推理和决策过程。
本文利用MATLAB/SIMULIN 与FUZZYTOOLBO 对给定的二阶动态系统,确定模糊控制器的 结构,输入和输出语言变量、语言值及隶属函数,模糊控制规则,比较其与常规 控制器的控制效果,用MATLA 实现模糊控制的仿真。
关键词:模糊控制参数整定MATLAB 仿真二阶动态系统模型:120 30s 1 140s 1采用simulink 图库,实现常规PID 和模糊自整定PID 一.确定模糊控制器结构模糊自整定PID 为2输入3输出的模糊控制器。
在MATLAB 勺命令窗口中键 入fuzzy 即可打开FIS 编辑器,其界面如下图所示。
此时编辑器里面还没有FIS系统,其文件名为Un titled ,且被默认为Man da ni 型系统。
默认的有一个输入, 一个输出,还有中间的规则处理器。
在FIS 编辑器界面上需要做一下几步工作。
Ready首先,模糊自整定PID 为2输入3输出的模糊控制器,因此需要增加一个输入两个输出,进行的操作为:选择 Edit 菜单下的Add Variable/Input菜单项<F1S Name: Untitled FIS Type: And method Or method implicertionAggregationDefuzzificatiorHelpJ{ Close ]File S.A11¥j. ez:Unt it leduntitled (mamdani)output 1Current VariableType Rangeoutputloutput [01]最后,保存系统。
单击File 菜单,选择Export 下的To Disk 项 建的系统命名为PID_auot.fi•定义输入、输出模糊集及隶属函数如下图-FIS Editor: UntitledFile Edit Vie*FJS Mame:Anci mrthod Or method Implication AggregationDetuzzificatioroutputsoutput[01]. dose IReady其次,给输入输出变量命名。
基于MATLAB的模糊控制器的设计与仿真摘要:本文对模糊控制器进行了主要介绍。
提出了一种模糊控制器的设计与仿真的实现方法,该方法利用MA TLB模糊控制工具箱中模糊控制器的控制规则和隶属度函数,建立模型,并进行模糊控制器设计与仿真。
关键词:模糊控制,隶属度函数,仿真,MA TLAB1 引言模糊控制是一种特别适用于模拟专家对数学模型未知的较复杂系统的控制,是一种对模型要求不高但又有良好控制效果的控制新策略。
与经典控制和现代控制相比,模糊控制器的主要优点是它不需要建立精确的数学模型。
因此,对一些无法建立数学模型或难以建立精确数学模型的被控对象,采用模糊控制方法,往往能获得较满意的控制效果。
模糊控制器的设计比一般的经典控制器如PID控制器要复杂,但如果借助MATLAB则系统动态特性良好并有较高的稳态控制精度,可提高模糊控制器的设计效率。
本文在MATLAB环境下针对某个控制环节对模糊控制系统进行了设计与仿真。
2 模糊控制器简介模糊控制器是一种以模糊集合论,模糊语言变量以及模糊推理为数学基础的新型计算机控制方法。
显然,模糊控制的基础是模糊数学,模糊控制的实现手段是计算机。
本章着重介绍模糊控制的基本思想,模糊控制的基本原理,模糊控制器的基本设计原理和模糊控制系统的性能分析。
随着科学技术的飞速发展,在那些复杂的,多因素影响的严重非线性、不确定性、多变性的大系统中,传统的控制理论和控制方法越来越显示出局限性。
长期以来,人们期望以人类思维的控制方案为基础,创造出一种能反映人类经验的控制过程知识,并可以达到控制目的,能够利用某种形式表现出来。
而且这种形式既能够取代那种精密、反复、有错误倾向的模型建造过程,又能避免精密的估计模型方程中各种方程的过程。
同时还很容易被实现的,简单而灵活的控制方式。
于是模糊控制理论极其技术应运而生。
3 模糊控制的特点模糊控制是以模仿人类人工控制特点而提出的,虽然带有一定的模糊性和主观性,但往往是简单易行,而且是行之有效的。
模糊控制器的设计与MATLAB仿真模糊控制器的设计与MATLAB仿真王桥( 安庆师范学院物理与电气工程学院安徽安庆246011)指导教师:吴文进摘要:随着现代科学技术的迅速发展,生产系统的规模越来越大,形成了复杂的大系统,导致了控制对象与控制器以及控制任务和目的的日益复杂化。
系统的复杂性主要表现在,被控对象模型的不确定性、系统信息的模糊性、高度非线性、输入信息多样化、多层次和多目标的控制要求、计算复杂性和庞大的数据处理以及严格的性能指标。
该设计分析了模糊控制理论原理,给出了常规模糊控制器的设计方法,并在MATLAB中进行仿真实验,实验结果验证了控制器的有效性。
关键词:模糊控制,PID控制,MATLAB仿真1引言智能控制是当前国内外人工智能,自动化,计算机技术领域中的热门话题,受到学术界、工程界和企业界的广泛关注。
正在积极进行有关智能控制的理论方法和应用技术的研究与开发工作,取得了许多新进展和新成果。
智能控制系统的发展,为智能自动化提供了理论基础,必将推动自动化向前发展。
智能控制主要包括以下几个方面,基于知识系统的专家控制、基于模糊系统的智能控制、基于学习及适应性的智能控制、基于神经网络的智能控制系统。
模糊控制指的是应用模糊集合理论统筹考虑控制的一种控制方式。
模糊控制的基本思想是把人类专家对特定的被控对象或过程的控制策略总结成一系列以:“IF(条件)…THEN(作用)”形式表示的控制规则,通过模糊推理得到控制作用集,作用于被控对象或过程。
控制作用集为一组条件语句,状态条件和控制作用均为一组被量化了的模糊语言集,如”正大”、”负大”、”高”等。
它们共同构成控制过程的模糊算法,定义模糊子集与建立模糊控制规则、由基本论域转变为模糊集合论域、模糊关系矩阵运算、模糊推理合成与求出控制输出模糊子集、进行清晰化运算,得到精确控制量。
本论文主要是对基于模糊系统的智能控制器中的常规模糊控制器和模糊自整定PID控制器进行设计。
模糊控制MATLAB仿真
实验报告本课程名称:MATLAB模糊控制上机实验
2013~2014学年第⼀学期
⼴东⽯油化⼯学院计算机与电⼦信息学院
实验⽬的:
1、了解MATLAB中各种仿真⼯具。
2、掌握MATLAB仿真⼯具中图形化界⾯以及模糊逻辑⼯具箱函数的仿真⽅法。
上机实验⼀:
设计⼀个温度模糊控制器,具体要求见课本P59要求采⽤下⾯两种MATLAB⼯具进⾏仿真。
1、⼯具箱提供的图形化界⾯
2、模糊逻辑⼯具箱函数
仿真⽅法:
1、采⽤MATLAB语⾔根据具体的控制算法编程
2、利⽤MATLAB提供的模糊逻辑⼯具箱函数
3、利⽤模糊逻辑⼯具箱的图形界⾯与Simulink动态仿真环境
在matlab⼯作窗⼝输⼊:fuzzy+回车或fuzzy + ⽂件名(.fis)进⼊图形界⾯编辑
增加输⼊变量
输⼊mfedit或选择编辑⾪属度函数菜单输⼊误差e的⾪属度函数
输⼊误差变化de的⾪属度函数
输出u的⾪属度函数
输⼊ruleedit,或选择编辑模糊规则菜单
浏览模糊规则
模糊推理输⼊输出曲⾯视图,完成模糊推理系统的构建。
MATLAB下模糊控制器设计步骤模糊控制器简介模糊控制是指采用专家经验知识来处理模糊、不确定或复杂问题的一种控制方法。
模糊控制器是一个基于模糊逻辑的控制器,能够将输入变量和输出变量之间的映射关系进行模糊化,从而设计出具有模糊推理能力的控制器。
MATLAB下模糊控制器的设计步骤步骤一:确定系统控制目标在设计模糊控制器之前,需要明确系统控制的目标,如控制系统的稳态误差、响应时间、超调量等。
根据控制目标,设计模糊控制器的输入变量和输出变量。
步骤二:确定模糊控制器的输入变量与输出变量输入变量是控制系统的输入参数,包括状态量和操作量。
例如,在温度控制系统中,输入变量可以是温度传感器的输入、加热器控制器的输出等。
输出变量是控制系统的输出结果,影响系统的控制效果。
例如,在温度控制系统中,输出变量可以是加热器的功率、温度的变化率等。
步骤三:构建模糊集合对于每个输入和输出变量,构建一组模糊集合。
模糊集合是一种模糊变量值的表示方法,能够准确地描述模糊情况下的变量。
例如,对于温度控制系统中的温度传感器输入变量,可以构建模糊集合:{冷、凉、温、热、很热}。
每个模糊集合由若干个模糊语言变量组成,以便对该变量进行模糊控制。
步骤四:确定模糊规则库模糊规则库是模糊控制器的核心,描述输入变量与输出变量之间的映射关系。
模糊规则库是根据专家经验知识或试验数据得出的,其形式一般为:如果输入变量A是模糊集合X,且输入变量B是模糊集合Y,那么输出变量C是模糊集合Z。
例如,对于温度控制系统,一个模糊规则库可以是:如果输入变量为“温”且输出变量为“较强”则输出结果为“右转”。
步骤五:进行模糊推理模糊推理是利用模糊控制器的输入变量、模糊规则库和模糊推理算法来确定输出变量的过程。
在MATLAB中,可以使用Fuzzy Logic Toolbox工具箱来进行模糊推理。
步骤六:模糊控制器的评估在完成模糊推理后,需要对模糊控制器进行评估,以确定其控制效果。
MATLAB设计模糊控制器并用simulink仿真
环境:MATLAB R2012a
目录
一、设计模糊控制器
1.1 创建项目文件夹
1.2 打开MATLAB
1.3 设计模糊控制器
二、设置控制系统
三、simulink仿真
一、设计模糊控制器
1.1 创建项目文件夹
在此路径如图
1.2 打开MATLAB
打开MATLAB R2012a切换当前目录为上一步路径,如图
1.3 设计模糊控制器
打开模糊控制器设计对话框
根据模糊控制器的输入输出设计模糊控制器,在此以二输入一输出为例。
完成后如图(左)所示,然后对每个输入输出变量设置隶属函数,如图(右)。
添加论域数量
设置隶属函数
完成后如图所示
设计模糊规则
保存刚刚设计的模糊控制器,如下图所示
加载模糊控制器到MATLAB中
二、设置控制系统
打开simulink仿真器
设计控制系统
设计完成如图所示
添加第一节中设计的模糊控制器,如下图
自此控制系统设计结束
三、simulink仿真
在仿真之前需要进行如下设置
开始仿真。
模糊温度控制器的设计与Matlab仿真徐鹏201403026摘要:针对温度控制系统的时变、滞后等非线性特性及控制比较复杂的问题,提出了一种模糊控制方案以改善系统的控制性能.该方案采用mamdani推理型模糊控制器代替传统的PID控制器,依据模糊控制规则由SCR移相调控晶闸管控制电阻炉电热功率,实现对温度的控制.Matlab仿真结果表明,模糊控制的引入有效地克服了系统的扰动,改善了控制性能,提高了控制质量.关键词:温度控制器;模糊控制;仿真分析中图分类号:TP272文献标志码:AAbstract:For the temperature controlsystem with the nonlinear characters of time-varying and lag and the comp lexity in control,a fuzzy control algorithm is p resented.Thealgorithm adop tsmamdani reasoning fuzzyPID controller to rep lace the traditional PID controller and use the SCR phase-shift thyristor to control the e-lectric resistance furnace power based on the fuzzy control rules to imp lement the temperature control.Matlabsimulation results show that the fuzzy control can effectively overcome the disturbance and imp rove the con-trol performance.Key words:temperature controller;fuzzy control;simulation analysis0引言在工业生产过程中,温度控制是重要环节,控制精度直接影响系统的运行和产品质量.在传统的温度控制方法中,一般采取双向可控硅装置,并结合简单控制算法(如PID算法),使温度控制实现自动调节.但由于温度控制具有升温单向性、大惯性、大滞后等特点,很难用数学方法建立精确的模型,因此用传统的控制理论和方法很难达到好的控制效果.鉴于此,本文拟以模糊控制为基础的温度智能控制系统,采用人工智能中的模糊控制技术,用模糊控制器代替传统的PID 控制器,以闭环控制方式实现对温度的自动控制.1温度控制系统的硬件组成在该温度控制装置中,由SCR移相调控晶闸管控制电阻炉来实现对温度的控制.在温控系统中,通过CAN总线将控制站、操作站和通信处理单元连为一体.温度控制系统的结构简图如图1所示.图1温度控制系统结构简图本系统现场控制站由主控卡(ADAM5000/CAN)、总线适配卡(PCL841)、模拟量输入卡(5017)、模拟量输出卡(5024)构成基本控制回路.其中被控对象为箱形电阻炉(电压220V,功率4.5kW,额定温度1200℃),系统采用镍铬热电偶作为温度传感器,其检测温度范围为0~1300℃,对应输出为0~52.37 mV.采用DBW型温度变送器,把热电偶输出的mV信号转变为0~5V标准模拟信号.该信号经A/D转换成数字信号,送入计算机.计算机将实际检测信号与给定信号比较后发出控制信号,经D/A转换成0~5V模拟信号,该信号对应可控硅触发器的0~100%触发,触发可控硅的导通角以改变电阻炉的电热功率.图1所示的温度模糊控制系统和常见的负反馈控制系统相似,不同之处是控制装置为模糊控制器.热电偶传来的带有温度信号的mV级电压,经滤波、放大后,送至A/D转换器.这样,就将所检测的炉温对应的电压信号转换成数字量送入计算机,并与给定的电压信号进行比较,计算其偏差,计算机再对该偏差按一定的规律进行运算.运算结果可以控制可控硅在控制周期内的过零触发脉冲个数,也就是控制电阻炉的平均功率的大小,从而达到控制温度的目的.该控制系统的硬件系统由同步过零检测电路、温度信号检测及可控硅触发电路、掉电检测与保护电路等组成,其中模糊温度控制器的设计是重点.2模糊温度控制器的设计本次设计采用mamdani推理型模糊控制器.该控制器为双输入、单输出结构:输入量为设定的锅炉温度值与采样值的偏差E以及温度偏差值的变化率EC;输出量为温度控制量U.模糊控制器的具体设计步骤如下:1精确量的模糊化过程.根据本系统的实际性质和要求,对输入量和输出控制量的模糊语言描述(模糊集)定义如下:设定输入变量e和ec语言值的模糊子集为{负大,负中,负小,零,正小,正中,正大},简记为{NB,NM,NS,ZO,PS,PM,PB},将偏差e和偏差变化率ec量化到(-3,3)的区域内本系统所选择的隶属函数均为三角形分布,这样就完成了精确量的模糊化过程.不同的系统,其模糊集的隶属函数是不同的,要根据实际情况和实践经验而定.2模糊控制算法.模糊控制的核心是模糊控制规则的建立.模糊控制规则的实质是把操作者的经验加以总结,并将在控制过程中由经验得来的相应措施总结成控制规则.在得到输入偏差量E,偏差变化率EC和控制量U的模糊集后,就可以利用“若E且EC,则U”的控制规则建立模糊控制器.表1为模糊控制规则表.表1是完整的控制策略,每一条模糊条件推理语句对应一个模糊关系R=E ×EC×U.按上式即可计算出模糊条件推理语句所对应的模糊关系矩阵R1,R2,⋯,Rn,将所有的模糊关系矩阵求并集运算,即R=R1∪R2∪⋯∪Rn,即可求出总的模糊关系R.然后,输入已知的条件,输出由这个总控制规则的模糊关系确定.3模糊判决.由模糊数学理论可知,总的模糊关系矩阵R是一个49×7的矩阵,每次控制计算都处理这样一个矩阵是很困难的.为此,可先将R矩阵算出,然后算出每种输入状态下的模糊控制输出,最后用最大隶属度决策算法,将模糊控制输出转化为精确的实际输出动作.模糊控制器的控制算法由计算机的程序实现.这种程序一般包括2个部分:一个程序是离线计算查询表,属于模糊矩阵运算;另一个程序是计算机在模糊控制过程中在线计算输入变量,并进行模糊量化处理,查找查询表后再做输出处理.在实时控制时,先将该表存入计算机,只要测得E和EC,通过查询计算机内存中的总控制表,即可得到相应的控制量U.3模糊温度控制器的设计利用MATLAB的模糊控制箱及Simulink内含的功能元件,建立温度箱温度模糊控制器及其系统的模型。
基于MATLAB/SIMUINK 的模糊控制系统设计与仿真一. 目的进一步深入理解模糊控制的原理,学习设计模糊控制器的方法。
掌握用SIMULINK 进行模糊控制系统仿真分析的方法。
二.基于SIMULINK 平台的模糊控制系统设计一个模糊控制器去控制下面的被控对象(每人选一个)。
系统输入是阶跃信号,达到的性能指标:超调小于15%,调节时间尽可能短。
1. 二阶被控对象 12()(1)(1)sK e G s T s T s τ-=++其中 K=20,T 1=10,T 2=30,τ=3K=30,T 1=5, T 2=35,τ=5K=40,T 1=10,T 2=15,τ=2K=10,T 1=8, T 2=30,τ=4K=20,T 1=10,T 2=25,τ=6 K=4 ,T 1=8, T 2=30,τ=4 K=20,T 1=20,T 2=5, τ=6K=15,T 1=20,T 2=20,τ=4K=10 T 1=20,T 2=5, τ=10K=15,T 1=2,T 2=20, τ=6三阶被控对象 12()(1)(1)K G s s T s T s =++其中 K=10,T 1=5, T 2=15K=5, T 1=10,T 2=30K=20,T 1=20,T 2=25K=10,T 1=40,T 2=15K=30,T 1=50,T 2=30K=20,T 1=60,T 2=252. 用SIMULINK 的Fuzzy 控制器和被控对象组成模糊控制系统。
3. 设计模糊控制器参数:二输入单输出(控制量有限幅:-8 < u < 8。
)确定输入、输出的隶属函数(可选三角形、梯形、高斯函数),语言变量取5~9个左右;设计模糊控制规则;模糊推理方法(可选极大-极小、极大-乘积);清晰化方法(可选centroid 重心法,bisector 面积平分法等)。
每人做两个不同的组合。
4.做阶跃信号的跟踪仿真实验。
记录系统的输出,控制器输出。
模糊PID控制器设计和仿真步骤:各变量隶属度函数的确定第一步:各变量隶属度函数的确定1、 用于PID 参数调整的模糊控制器采用二输入三输出的形式。
该控制器是以误差E 和误差变化率EC 作为输入,PID 控制器的三个参数P、I、D 的修正△KP、△KI、△KD 作为输出,如图1;2、 取输入E 和EC 和输出△KP、 △KI、△KD 模糊子集为{NB,NM,NS,ZO,PS,PM,PB},其论域为[-6,6],量化等级为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};如图23、 在模糊逻辑工具箱的隶属度函数编辑器中,选择输入量E,EC 隶属函数为高斯型(gaussmf),输出△KP、△KI、△KD 的隶属函数为三角形(trimf),如图2和3。
图1图2图3第二步:根据图4规则建立模糊规则表,如图5:图4图5第三步:设置参数:与方式与方式 (And method)为min ;或方式(Or method)为max ;推理推理 (Implication)为min ;合成;合成 (Aggregation)为max ;去模糊(Defuzzification)为重心平均法(centroid )。
)。
第四步:保存该FIS 文件,取名为FuzzyPID.fis第五步:在MA MATLABTLAB 的M 文件编辑器里建立一个名为FuzzyPID.m 的文件,其内容为:martrix=readfis (‘Fuzzypid.fis ’),并运行。
,并运行。
第六步:打开SIMULINK ,新建一个Model ,选择一个Subsystem ,在其中编辑模块,如图6,并设置模糊化因子KE=KEC=0.01,解模糊因子KP=0.5,KI=KD=0.01,并在Fuzzy Logic Controller 模块的Parameters 中输入readfis('FuzzyPID.fis'):图6第七步:返回到新建的Model 中,按照如图7所示建立模糊PID 控制器,其中,控制器,其中,PID PID 初始值为KP0=20,KI0=1.35,KD0=3.7,传递函数为:图7第八步:保存为FuzzyPID.mdl 并运行。
Matlab中的模糊控制器设计与调试方法介绍在控制系统中,模糊控制器是一种基于模糊逻辑的控制方法,它可以通过模糊的规则来对非线性系统进行建模和控制。
Matlab作为一款功能强大的数学软件,在模糊控制器的设计与调试方面提供了丰富的工具和函数。
本文将为您介绍在Matlab中如何设计和调试模糊控制器,以及相关的方法和技巧。
一、模糊控制器的基本原理在了解Matlab中的模糊控制器设计与调试方法之前,我们先来简要了解一下模糊控制器的基本原理。
模糊控制器是通过将模糊规则应用于输入与输出之间的模糊逻辑推理来实现控制的。
它的输入和输出可以使用模糊集合表示,通过计算输入与模糊规则之间的相似度来确定输出结果。
模糊控制器的核心是模糊规则库,其中包含了一系列的模糊规则,用于描述输入与输出之间的关系。
二、Matlab中的模糊控制器设计1. 基于模糊系统工具箱的模糊控制器设计Matlab提供了强大的模糊系统工具箱,使得模糊控制器的设计非常简洁高效。
在使用模糊系统工具箱之前,我们需要先定义输入和输出的模糊集合,并构建模糊规则库。
然后,使用模糊系统工具箱提供的函数,如fuzzy关键字和fuzzysystem 函数,可以快速地创建和配置模糊控制器。
最后,使用evalfis函数对模糊控制器进行评估和测试,以验证其性能。
2. 基于自定义函数的模糊控制器设计除了使用模糊系统工具箱之外,Matlab还提供了自定义函数的灵活性,使得开发者可以根据具体需求,自行设计和实现模糊控制器。
在这种方法中,我们需要编写一系列的自定义函数来描述输入输出的模糊集合和模糊规则,以及模糊推理和模糊解模糊过程。
通过调用这些自定义函数,可以实现对模糊控制器的快速创建和配置。
三、Matlab中的模糊控制器调试方法1. 参数调整在设计模糊控制器时,参数的选择对控制效果有着重要的影响。
Matlab提供了多种参数调整方法,如试错法、经验法和优化算法等。
通过改变参数的取值范围和步长,可以寻求最佳的控制效果。
简易模糊控制器的设计及仿真
摘要:模糊控制(Fuzzy Control )是以模糊集理论、模糊语言和模糊逻辑推理为基础的一种控制方法,它从行为上模仿人的模糊推理和决策过程。
本文利用MATLAB/SIMULINK 与FUZZY TOOLBOX 对给定的二阶动态系统,确定模糊控制器的结构,输入和输出语言变量、语言值及隶属函数,模糊控制规则,比较其与常规控制器的控制效果,用MATLAB 实现模糊控制的仿真。
关键词:模糊控制 参数整定 MATLAB 仿真
二阶动态系统模型:
()()1140130120
++s s
采用simulink 图库,实现常规PID 和模糊自整定PID 。
一.确定模糊控制器结构
模糊自整定PID 为2输入3输出的模糊控制器。
在MATLAB 的命令窗口中键入fuzzy 即可打开FIS 编辑器,其界面如下图所示。
此时编辑器里面还没有FIS 系统,其文件名为Untitled ,且被默认为Mandani 型系统。
默认的有一个输入,一个输出,还有中间的规则处理器。
在FIS 编辑器界面上需要做一下几步工作。
首先,模糊自整定PID 为2输入3输出的模糊控制器,因此需要增加一个输入两个输出,进行的操作为:选择Edit 菜单下的Add Variable/Input 菜单项。
如下图。
其次,给输入输出变量命名。
单击各个输入和输出框,在Current Variable 选项区域的Name文本框中修改变量名。
如下图
最后,保存系统。
单击File菜单,选择Export下的To Disk项。
这里将创建的系统命名为PID_auot.fi。
二.定义输入、输出模糊集及隶属函数
语言变量值域的选取:输入语言变量e和ec的值域取值“大”(B)、“中”(M)、“小”(s)和“零”(Z) 4种;输出语言变量Kp、Ki、Kd的值域取值为“很大”(VB)、“大”(B)、“中”(M)、“小”(s) 4种。
在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编辑器图标部分中间的方框即可打开规则编辑器。
规则的制定:根据PID参数整定原则及运行经验,可列出输出变量Kp、Ki、Kd的控制规则表。
添加完成后的规则编辑器如下图所示。
四.模糊推理规则及输出特性
对于建好的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。
然后运行,运行结果如下图:
六.总结
通过学习了智能控制这门课程并做了相关的实验设计,我对模糊控制有了一定的了解,比如模糊控制系统的原理,组成,分类以及简单的模糊控制器设计过程等;但学到的这些都是比较浅显的,由于后面还有必修课要复习考试,故不做深入的研究,望老师海涵。
感谢老师的指导!
七.参考文献
[1].智能控制(第2版)--刘金琨。