分享

模糊控制介绍及Matlab模糊控制工具箱使用

 龙在天中 2018-02-04

目录

  • 一、模糊控制的产生

  • 二、模糊逻辑的理论基础

  • 三、模糊控制Matlab工具箱示例

  • 四、模糊控制的基本思想

  • 五、模糊控制器的基本结构

  • 六、模糊控制器的优缺点

一、模糊控制的产生

在传统控制领域,对于明确系统有强而有力的控制能力,即被控系统的动态信息越详细,越能达到精确控制的目的。然而,在多变量、非线性的复杂系统中,往往难以完全描述系统的动态信息。此时,传统的控制理论则显得无能为力,而有经验的专家或工作人员仍能根据长期实践观察和操作经验进行有效控制。

据此引申,是否可将人的操作经验总结为若干条控制规则以避开复杂模型的建立过程?

模糊控制最重要的特征是反应人们的经验及推理规则,而这些经验和推理规则是通过自然语言来表达的,如“水温上升过快,则关小燃气阀”。在控制系统初期,由于对系统缺乏了解,控制效果可能不好,但若干次探索后终能实现预期的控制,这就是经验对模糊控制系统的重要性。由于模糊控制实质上是用计算机去执行人的控制策略,因而可以避开复杂模型的建立,对人们关于某个控制问题的成功和失败经验加工,总结出知识,从中提炼出控制规则,实现复杂系统的控制。

PS: “模糊”是人类感知万物,获取知识,思维推理,决策实施的重要特征。“模糊”比“清晰”所拥有的信息量更大,更符合客观世界。

二、模糊逻辑的理论基础

模糊逻辑是指模仿人脑不确定性的概念判断和推理思维,对于定性的知识和经验,借助隶属度概念、模糊集合,来处理模糊关系。模糊逻辑实质上是要对模糊性对象进行精确描述和处理。

模糊逻辑的目的是将一个输入空间映射到一个输出空间,主要要靠一系列的if-then规则。这些规则包含变量和描述这些变量的形容词,被平行评估,因此它们的顺序不重要。在进行模糊推理之前,先要定义好输入和输出变量以及描述它们的形容词。模糊推理的流程如下图所示。

模糊控制介绍及Matlab模糊控制工具箱使用

模糊推理流程

2.1、模糊集合

普通情况下,元素a属于集合A(1)或不属于集合A(0),如下图所示,星期一和星期三都是工作日,而苹果和星星则不是。这就是经典集合,完全包括或完全不包括某个元素。

而模糊集合没有明确的界限,把只取0和1二值的普通集合概念推广到在[0,1]区间上无穷多值的模糊集合概念,并用“隶属度”这一概念来精确刻画元素和模糊集合之间的关系。如星期五既是工作日,但下午或晚上又像休息日,因此星期五并不完全属于工作日。

模糊控制介绍及Matlab模糊控制工具箱使用

模糊集合

2.2、隶属度函数

在经典集合下,周一至周日是否属于工作日如下左图所示,而模糊集合下,周一至周日属于工作日的隶属度可以用一连续曲线表示,如右图所示,此时这条曲线上的每一点定义了当前时刻属于工作日的程度,这条曲线称为隶属度函数。隶属度曲线有不同的形式,常见的有三角形、梯形、高斯分布形、S形等。

模糊控制介绍及Matlab模糊控制工具箱使用

工作日隶属度函数

以一年春夏秋冬四个季节为例,每个季节的隶属度函数如下:

模糊控制介绍及Matlab模糊控制工具箱使用

春夏秋冬四季隶属度函数

2.3、逻辑运算

逻辑运算是模糊推理的基础,我们先看一下基本的逻辑运算。

模糊控制介绍及Matlab模糊控制工具箱使用

基本逻辑运算

模糊控制介绍及Matlab模糊控制工具箱使用

基本逻辑运算示意图

由于模糊逻辑用隶属度函数表示元素属于集合的程度,当隶属度为0或1时,可以采用上面的基本逻辑运算;当隶属度在(0,1)之内时,需要对逻辑运算修改一下,一种方法是用min、max、1-A代替and、or、not。

模糊控制介绍及Matlab模糊控制工具箱使用

逻辑运算 - min max替代

模糊控制介绍及Matlab模糊控制工具箱使用

逻辑运算 - min max替代示意图

2.4、if-then 规则

模糊集和模糊运算是模糊推理的对象和动作,if-then规则用于形成模糊推理的条件语句。最简单的if-then规则:if x is A then y is B。“x is A”是前提,“y is B”是结论。比如:if service is good then tip is average。这里的good是一个模糊输入,average是模糊输出。

if-then规则可以有两个输入:if x is A and y is B then z is C。

当有多个规则时,需要综合考虑各个规则的处理结果,一种方法是取各个规则处理结果的最大值,还有一种方法:probor(a,b)=a+b-ab.

三、模糊控制Matlab工具箱示例

以一个在饭店付小费比例的问题为例,输入是服务员服务质量[0,10]和饭菜可口程度[0,10],输出是小费百分比[5,25]。付小费的三个法则:

· if the service is poor or the food is rancid then tip is cheap;

· if the service is good then tip is average;

· if the service is excellent or the food is delicious then tip is generous。

3.1、在Matlab命令行窗口输入fuzzy,打开模糊控制工具箱

模糊控制介绍及Matlab模糊控制工具箱使用

模糊控制工具箱

3.2、增加一个输入变量,更改输入和输出变量名称

模糊控制介绍及Matlab模糊控制工具箱使用

增加输入变量

模糊控制介绍及Matlab模糊控制工具箱使用

更改输入输出名称

3.3、双击输入变量模块,设置输入和输出变量的隶属函数

模糊控制介绍及Matlab模糊控制工具箱使用

设置输入变量隶属度函数

模糊控制介绍及Matlab模糊控制工具箱使用

设置输出变量隶属度函数

3.4、双击中间的白色方框,编辑 if-then 规则

模糊控制介绍及Matlab模糊控制工具箱使用

编辑 if - then 规则

3.5、点击View,查看最后的模糊控制结果

模糊控制介绍及Matlab模糊控制工具箱使用

查看模糊控制结果

模糊控制介绍及Matlab模糊控制工具箱使用

模糊控制输入输出对应关系

模糊控制介绍及Matlab模糊控制工具箱使用

模糊控制输入输出表三维显示

四、模糊控制的基本思想

将测量得到的被控对象的状态经过模糊化接口转化为自然语言描述的模糊量,然后根据人类的语言控制规则,经模糊推理得到输出控制量的模糊取值,再经解模糊化接口转化为执行机构能接收的精确量。

五、模糊控制器的基本结构

模糊控制介绍及Matlab模糊控制工具箱使用

模糊控制器基本结构

模糊控制器包括五部分:

1)变量定义:定义控制器输入和输出的语言变量,一般控制问题的输入变量有系统的误差E和误差变化率EC,输出变量为执行器的控制量U。

2)模糊化:将精确数值以适当比例转换到自然语言变量的论域上,利用口语化变量来描述,通常将E、EC、U划分为{正大(PB)、正中(PM)、正小(PS)、零(ZO)、负小(NS)、负中(NM)、负大(NB),这里的口语化变量称为模糊子集合},根据各语言值的隶属函数得到精确数值的隶属度。隶属函数常见的有正态分布型、三角型、梯型等。

3)规则库:由若干条根据专家经验总结的规则组成,按照“if(E is PB)and(EC is NS)then(U isPB)”的形式表达。

控制规则的产生方式:

· 根据专家特定领域的经验知识,反复实验和修正形成;

· 根据操作人员的成功操作模式形成;

· 根据设定目标,应用自适应学习算法,增加或修改控制规则;

4)模糊推理:根据模糊输入和规则库,用模糊推理方法得到模糊输出;

5)解模糊:将得到的模糊输出转换为明确的控制信号

六、模糊控制器的优缺点

优点:

1)设计时不需建立被控对象的完整数学模型,简化系统设计复杂性;

2)用语言式的模糊变量描述系统,便于使用自然语言进行人机对话;

3)鲁棒性、适应性、容错性较佳,尤其适用于非线性时变、滞后、模型不完全系统的控制。

缺点:

1)确立模糊化和清晰化的方法时,缺乏系统的方法,主要靠经验和试凑;

2)总结模糊控制规则有时比较困难;

3)控制规则一旦确定,不能在线调整,不能很好地适应情况变化;

4)不具有积分环节,因而稳态精度不高。

模糊控制介绍及Matlab模糊控制工具箱使用

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多