查看原文
其他

模糊控制课程要点 | 行业论坛第6讲笔记

2015-06-05 Scalers ScalersTalk成长持续论

Scalers点评:这是5月17日晚上成长会哈嘿和我们分享的关于模糊控制的入门课。其实我们生活在一个模糊的世界,很多事情我们其实是通过模糊准确来判断的,即使包括我们的口译也是如此。但是模糊的世界后面却有一套机理能让我们实现控制的功效,不信就请往下读。另外,模糊控制的相关领域模糊数学,也是很有意思的一个话题。

框架

l 一维燃气模糊控制器

l 二维燃气模糊控制器

l 模糊控制器的特点

l 其他应用

其中,模糊控制器的设定按照下图1所示流程,我将介绍a.模糊化b.推理机制c.精确化三个步骤。另外,两个重要的概念——隶属度函数模糊控制分别会在模糊化之前和精确化之后进行介绍,值的注意。





一、 一维燃气模糊控制器

为了方便理解,模糊控制的讲解从具体实例中开始。见以下例题

已知某一燃气热水器,要求温度保持在40℃恒定。控制要求:

1) 若水温低于40℃,则加气;低的越多加气越多。

2) 若水温高于40℃,则减气;高的越多减气越少。

3) 若水温等于40℃,则保持不变。

在解决模糊控制的实例前,需要理解第一个重要概念——隶属度函数

这里用温度解释隶属度。在一般情况下,大部分人把15~25℃的室温称作“舒适”的温度,而把15℃以下称为“冷”,25℃以上称为“热”,如下图2所示(Y轴值“1”=“属于”,“0”=“不属于”)。


如果按上图2所示,哪怕14.9℃只能属于冷,15.1℃却属于舒适,显然这与人的感觉是不一致的,因此需要另一种表示方式——用具有0~1之间变化的隶属度的特征函数来描述某一模糊的元素(比如此处的冷、舒适、热),模糊集合中的特征函数就称作隶属度函数见下图3,虽然不严谨,对于初学者,可以将此图理解为隶属度函数的一种图像表示方法)。



理解好隶属度函数的概念后,回到一维燃气模糊控制器的例题,主要分成三个步骤a.模糊化b.推理机制c.精确化

首先需要明确,此控制器的输入是“水温”,输出是“燃气量”,那么就需要输入信息模糊化和输出信息模糊化,见下图4和图5。如图,我把输入与输出都分成了五部分,每个部分都用三角形简单的表示每部分隶属度。


这就完成了第一步模糊化,接下来是推理机制。根据三条控制要求,可以设定出5条控制规则:

1. If (水温 is 很低) then (燃气量 is 大幅度增加 )

2. If (水温 is 低 ) then (燃气量 is 稍微增加 )

3. If (水温 is 正好) then (燃气量 is 不变 )

4. If (水温 is 高 ) then (燃气量 is 稍微减少 )

5. If (水温 is 很高) then (燃气量 is 大幅度减少)

设定完推理规则后,通过MATLAB的模糊控制箱就可以轻松得到精确化的模糊输出如下图6 。


现在整个模糊控制器就已经基本解决了,从以上步骤中,可以定义出糊控制:模糊控制器的输出是通过观察过程的状态和一些如何控制过程的规则的推理得到的。

下面就可以轻松的解决更复杂点的二维燃气模糊控制器。

二、 二维燃气模糊控制器

现实生活中,一维的控制器的效果往往不能满足要求,二维控制器一般拥有更好的稳定性和快速性。基于上个例题,再加入温度变化率的输入变量。通样的将此变量分为五部分,将其模糊化得到温度变化率的隶属度函数,如下图7 。

接下来,是推理机制的设定,两种输入共有25种规则,下面写出比较有代表性的十条规则:

1) If (水温 is 正好) and (水温变化率 is 降低快) then (燃气量 is 大幅度增加)

2) If (水温 is 正好) and (水温变化率 is 降低慢) then (燃气量 is 稍微增加 )

3) If (水温 is 正好) and (水温变化率 is 不变 ) then (燃气量 is 不变 )

4) If (水温 is 正好) and (水温变化率 is 升高慢) then (燃气量 is 稍微减少 )

5) If (水温 is 正好) and (水温变化率 is 升高快) then (燃气量 is 大幅度减少)

6) If (水温 is 高) and (水温变化率 is降低快) then (燃气量 is 稍微增加 )

7) If (水温 is 高) and (水温变化率 is 降低慢) then (燃气量 is 不变 )

8) If (水温 is 高) and (水温变化率 is 不变 ) then (燃气量 is 稍微减少 )

9) If (水温 is 高) and (水温变化率 is 升高慢) then (燃气量 is大幅度减少)

10)If (水温 is 高) and (水温变化率 is 升高快) then (燃气量 is 大幅度减少)

最后通过MATLAB 的模糊控制工具箱得到精确化的模糊输出,因为多了一维,所以精确化的输出是三维立体图,如下图8所示 。离散化后得到类似入下图9的平面图形。

在线上课堂中,加入了MATLAB的仿真演示,有兴趣的朋友可以百度“MATLAB模糊控制箱的使用方法”,自己试验不仅有趣而且有助于深入理解。





三、 模糊控制器的特点

综上两个事例,可以总结出模糊控制器如下的特点:

l 无需知道被控对象的数学模型

l 与人类思维的特点一致

n 模糊性

n 经验性

l 构造容易

l 鲁棒性好(robust):控制系统在一定(结构,大小)的参数摄动下,维持其它某些性能的特性。

四、 其他应用

模糊控制还有其他的应用,比如:

1) 模糊推理

如果 A1 且 B1,那么 C1和 如果 A2 且 B2,那么 C2。

已知 A3 且 B3,那么 C3 =?

2) 模糊PID控制器

3) 模糊控制实际应用(多级倒立摆)

视频链接()

以上相关内容参照的教材:《智能控制基础》韦巍 何衍编著

五、 致谢

l 感谢 ScalersTalk 成长会的朋友们~

l 河北工业大学智能系的所有老师谆谆教导~


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存