模糊控制系统及其MATLAB实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 模糊控制的相关理论和概念
1.1 模糊控制的发展
模糊控制理论是在美国加州伯克利大学的L.A.Zadeh 教授于1965 年建立的模糊集合论的数学基础上发展起来的。之后的几年间Zadeh 又提出了模糊算法、模糊决策、模糊排序、语言变量和模糊IF-THEN 规则等理论,为模糊理论的发展奠定了基础。
1975年,Mamdani 和Assilian 创立了模糊控制器的基本框架,并用于控制蒸汽机。
1978年,Holmblad 和Ostergaard 为整个工业过程开发出了第一个模糊控制器——模糊水泥窑控制器。
20世纪80年代,模糊控制开始在工业中得到比较广泛的应用,日本仙台地铁模糊控制系统的成功应用引起了模糊领域的一场巨变。到20世纪90年代初,市场上已经出现了大量的模糊消费产品。
近30 年来, 因其不依赖于控制对象的数学模型、鲁棒性好、简单实用等优点, 模糊控制已广泛地应用到图像识别、语言处理、自动控制、故障诊断、信息检索、地震研究、环境预测、楼宇自动化等学科和领域, 并且渗透到社会科学和自然科学许多分支中去, 在理论和实际运用上都取得了引人注目的成果。
1.2模糊控制的一些相关概念
用隶属度法来定义论域U 中的集合A ,引入了集合A 的0-1隶属度函数,用()A x μ表示,它满足:
1
()0A x μ⎧=⎨⎩ x A x A ∈∉
用0-1之间的数来表示x 属于集合A 的程度,集合A 等价与它的隶属度函数()A x μ
模糊系统是一种基于知识或基于规则的系统。它的核心就是由所谓的
IF-THEN 规则所组成的知识库。一个模糊的IF-THEN 规则就是一个用连续隶属度函数对所描述的某些句子所做的IF-THEN 形式的陈述。例如:
如果一辆汽车的速度快,则施加给油门的力较小。
这里的“快”和“较小”分别用隶属度函数加以描述。模糊系统就是通过组合IF-THEN 规则构成的。
构造一个模糊系统的出发点就是要得到一组来自于专家或基于该领域知识的模糊IF-THEN 规则,然后将这些规则组合到单一系统中。不同的模糊系统可采用不用的组合原则。
用隶属度函数表征一个模糊描述后,实质上就将模糊描述的模糊消除了。 模糊控制系统设计的关键在于模糊控制器的设计。模糊控制器的设计主要有三个部分:
(1) 输入量的模糊化
所谓模糊化(Fuzzification) 就是先将某个输入测量量的测量值作标准化处理,把该输入测量量的变化范围映射到相应论域中,再将论域中的各输入数据以相应
的模糊语言值的形式表示,并构成模糊集合。这样就把输入的测量量转换为用隶属度函数表示的某一模糊语言变量。
(2) 模糊逻辑推理
根据事先已定制好的一组模糊条件语句构成模糊规则库,运用模糊数学理论对模糊控制规则进行推理计算,从而根据模糊控制规则对输入的一系列条件进行综合评估,以得到一个定性的用语言表示的量,即模糊输出量。完成这部分功能的过程就是模糊逻辑推理过程。
(3) 反模糊化过程
反模糊化(Defuzzification) 有时又叫模糊判决。就是将模糊输出量转化为能够直接控制执行部件的精确输出量的过程。
模糊控制器的核心部分又在于模糊推理系统(FIS) 的建立
2.MATLAB/SIMULINK工具箱的应用
模糊控制作为智能控制的一种, 实质是对人脑思维的一种模拟, 因此, 模糊控制器的设计在很大程度上依赖于设计者的实践经验, 若是用一般的编程语言(如C 语言) 来实现模糊控制系统的设计和仿真, 往往非常困难。使用工具软件MATLAB中的SIMULINK工具箱可以方便地对模糊控制系统进行仿真。
SIMULINK工具箱是MATLAB软件的扩展,主要用于动态系统的仿真。SIMULINK 模块库中提供了建立系统模型所需的大部分模块。系统的模型建好后,用户可以根据系统的不同需要,设置或更改模块的参数,然后打开仿真菜单,设置仿真参数,起动仿真过程,仿真结束后用户可以通过输出示波器或plot绘图函数观察系统的仿真输出。
在MATLAB菜单窗口中输入命令fuzzy可进入FIS编辑器,在FIS编辑器中可以设置输入输入变量的模糊隶属度函数和模糊控制规则。如下图所示:
隶属度函数有三角形、梯形等不同种类。
设置好模糊推理系统FIS后保存设置结果,用菜单项里的File-〉Export-〉to workspace将它导出到Matlab的工作空间,这样在用SIMULINK仿真的时候FIS 才能被调用。
打开SIMULINK工具箱,选择相应的模块,设置好模型参数,在Fuzzy Logic Toolbox中选择Fuzzy Logic Controller,在FIS files or structure中填入已经保存的FIS文件名,建立起系统的动态模型。点击仿真按钮,就可以在示波器中看到仿真结果。
SIMULINK 窗口
Fuzzy Logic Controller 设置
3模糊控制在一个二阶环节中的应用
3.1系统模型
许多工业控制对象都可以等效为二阶环节。以下面的二阶环节为例: 220() 1.6 4.41
H s s s =++ 设计它的模糊控制器,观察其阶跃响应。
3.2语言变量的选取以及隶属函数的确立
假设系统输入为r = 1. 0 ,可取系统输出误差e 和误差变化de 作为模糊控制器的输入, 模糊控制器的输出u 作为被控对象的控制输入。则可根据系统输出的误差和误差变化设计出模糊控制器FC ,并根据一系列的模糊推理过程推导出最终的输出控制量u 。其中,误差e 误差变化量de 以及输出u 所对应的模糊语言变量分别为E 、DE 和U 。E 和DE 的论域范围均为[ - 6 ,6 ] ,U 的论域范围为[ - 3 3 ] 。每个语言变量都取5 个语言值:“正大( PB) ”、“正小( PS) ”、“零(ZR) ”、“负小(NS) ”、“负大(NB) ”,其隶属度函数图如图所示。