1. 模糊集合、隶属度
比如论域为年龄[0,100],模糊集合有儿童,青年,老年。
一个今年25岁,另一个今年30 岁
25岁正当青年,其隶属度应该取1;
而30岁虽属青年,但略显偏大,其隶属度可以取0.69,或取成0.8。
模糊集合的表示方法:序对法、扎德发、向量法
2. 隶属函数
目模糊集合A表示“接近于4的数”,则A的隶属函数可能是:
也可以是
常用的隶属度函数
3. 模糊集合运算
4. 模糊条件
(1)若A,则U;
(2)若A则U1,否则U2;
(3)若A且B,则U;
- 反模糊化
把模糊集合转化成单个数值,即选定一个清晰数值去代表某个表述模糊事物或概念的模糊集合
4. T-S型模糊控制器设计
T-S型模糊推理输出的是清晰值,或者是输入量的函数,不需要经过清晰化过程就可以直接用于推动控制机构,更方便于对它进行数学分析。
5. Mamdani型模糊控制器的设计
模糊自动洗衣机的设计
简单总结:
(1)确定输入与输出
(2)模糊化,确定输入输出模糊集和隶属度函数
(3)建立模糊规则
(4)反模糊化
来看一个实例,控制进水阀S1和出水阀S2,使水箱水位保持在目标水位O处。(参考)
按照日常操作经验,有以下规则:
1、 若当前水位高于目标水位,则向外排水,差值越大,排水越快;
2、 若当前水位低于目标水位,则向内注水,差值越大,注水越快;
3、 若当前水位和目标水位相差很小,则保持排水速度和注水速度相等。
下面来设计一个模糊控制器
以水位的模糊控制为例,如图4-4所示。设有一个水箱,通过调节阀可向内注水和向外抽水。设计一个模糊控制器,通过调节阀门将水位稳定在固定点附近。按照日常的操作经验,可以得到基本的控制规则:
“若水位高于O点,则向外排水,差值越大,排水越快”;
“若水位低于O点,则向内注水,差值越大,注水越快”。
根据上述经验,按下列步骤设计模糊控制器:
1)确定输入输出
定义理想液位O点的水位为h0,实际测得的水位高度为h,选择液位差:
将当前水位对于O点的偏差e作为观测量。
将控制量u为调节阀门开度的变化。
输入:e; 输出:u
2)确定输入输出模糊集和隶属度函数
将偏差e分为五个模糊集:负大(NB),负小(NS),零(O),正小(PS),正大(PB)。根据偏差e的变化范围分为七个等级:-3,-2,-1,0,+1,+2,+3。得到水位变化模糊表4-1。
控制量u为调节阀门开度的变化。将其分为五个模糊集:负大(NB),负小(NS),零(ZO),正小(PS),正大(PB)。并将u的变化范围分为九个等级:-4,-3,-2,-1,0,+1,+2,+3,+4。得到控制量模糊划分表4-2。
3)建立模糊规则
根据日常的经验,设计以下模糊规则:
(1)“若e负大,则u负大”
(2)“若e负小,则u负小”
(3)“若e为0,则u为0”
(4)“若e正小,则u正小”
(5)“若e正大,则u正大”
其中,排水时,u为负,注水时,u为正。
上述规则采用“IF A THEN B”形式来描述:
(1) if e=NB then u=NB
(2) if e=NS then u=NS
(3) if e=0 then u=0
(4) if e=PS then u=PS
(5) if e=PB then u=PB
根据上述经验规则,可得模糊控制表4-3。
4)计算控制量
模糊控制规则是一个多条语句,它可以表示为U×V上的模糊子集,即模糊关系R:
其中规则内的模糊集运算取交集,规则间的模糊集运算取并集。
模糊控制器的输出为误差向量和模糊关系的合成公式:(不是简单的矩阵相乘,而是输入与输出先取交集,再选出最大的值作为最后输出,比如和第一列,相交为 [1,0.5,0,0,0,0,0],取最大值为1,即第一个元素为1)
当误差e为NB时,e=[1,0.5,0,0,0,0,0]控制器输出为:
5)控制量的反模糊化
由模糊决策可知,当误差为负大时,实际液位远高于理想液位,e=NB,控制器的输出为一模糊向量,可表示为:
如果按照“隶属度最大原则”进行反模糊化,则选择控制量为 u=-4,即阀门的开度应关大一些,减少进水量。
6.调节PID控制器三个参数的模糊规则
7.用GUI设计Mamdani型模糊系统举例
衣服上的污泥和油脂决定洗涤时间
1.选择模糊控制器的结构及模糊逻辑算法
2.定义覆盖输入、输出变量的模糊子集
3.编辑模糊控制规则
4.观测模糊推理过程
8.用GUI设计Sugeno型模糊系统举例
1.选择模糊控制器的结构及模糊逻辑算法
2.定义输入、输出变量的模糊子集