模糊控制
1、模糊控制的基本原理
模糊控制是以模糊集理论、模糊语言变量、模糊逻辑推理为基础的一种智能控制方法。
2、模糊控制器
模糊控制器(Fuzzy controller)的基本结构包含知识库、模糊推理、输入量模糊化、输出量精确化四部分。
- 知识库
知识库包含模糊控制器参数库和模糊控制规则库两部分。
模糊控制器参数库里存放着所有输入变量和输出变量的全部模糊子集的隶属度矢量值。模糊控制规则库则存放着基于专家知识、类似于人的直觉推理的一种语言表达形式,一般是if-then、else、also、end、or、and等关系词。
- 输入量模糊化
模糊控制器的输入必须通过模糊化才能用于模糊控制器。
- 模糊推理
推理是模糊控制器中,根据输入模糊量,由模糊控制规则完成模糊推理来求解模糊关系方程,从而获得模糊控制量的这部分功能。
最简单的模糊推理形式为:
前提1: IF A THEN B
前提2: IF A’ THEN B’
- 输出量精确化
推理得到的模糊子集需要转化为精确值,才能得到最终控制量输出y。常使用最大隶属度法和重心法。
3、水位模糊控制实例
设计一个模糊控制器,调节阀门将水位稳定在h0高度,阀门可向内注水和向外抽水。
因此我们有这样一个思路:
如果水位高于高度h0,就向外抽水,阀门越大,抽水越多;
如果水位低于高度h0,就向内注水,阀门越大,注水越多。
①确定观测量和控制量
理想水位h0,实际水位h,液位差 e = h 0 − h e=h0-h e=h0−h作为观测量。
②输入量和输出量模糊化
隶属度有这样一个定义:若对论域(研究的范围)U中的任一元素x,都有一个数A(x)∈[0,1]与之对应,则称A为U上的模糊集,A(x )称为x对A的隶属度。当x在U中变动时,A( x)就是一个函数,称为A的隶属函数。隶属度A(x)越接近于1,表示x属于A的程度越高,A(x)越接近于0表示x属于A的程度越低。用取值于区间(0,1)的隶属函数A(x)表征x 属于A的程度高低。
将液位差e分为五个模糊集合,分别为负大(NB),负小(NS),零(O),正小(PS),正大(PB),水位依次从高到低。水位变化等级分为七个等级:-3,-2,-1,0,1,2,3。得到水位变化的模糊表。
将阀门开度的变化分为五个模糊集合,分别为负大(NB),负小(NS),零(O),正小(PS),正大(PB),阀门依次从抽水最多到注水最多。控制量u的变化范围分为九个等级:-4,-3,-2,-1,0,+1,+2,+3,+4。得到控制量模糊划分表。
③描述模糊规则
前提 | 经验 | 结论 |
---|---|---|
若e负大 | 则水位过高需抽水 | 取u负大 |
若e负小 | 则水位略高需抽水 | 取u负小 |
若e为0 | 则水位合适 | 取u为0 |
若e正小 | 则水位略低需注水 | 取u正小 |
若e正大 | 则水位过低需注水 | 取u正大 |
描述为关系词IF-THEN则为:
(1)if e=NB then u=NB
(2)if e=NS then u=NS
(3)if e=ZO then u=ZO
(4)if e=PS then u=PS
(5)if e=PB then u=PB
模糊控制表为:
④求模糊关系
R = ( N B e × N B u ) ∪ ( N S e × N S u ) ∪ ( Z O e × Z O u ) ∪ ( P S e × P S u ) ∪ ( P B e × P B u ) R=(NBe\times NBu)\cup(NSe\times NSu)\cup(ZOe\times ZOu)\cup(PSe\times PSu)\cup(PBe\times PBu) R=(NBe×NBu)∪(NSe×NSu)∪(ZOe×ZOu)∪(PSe×PSu)∪(PBe×PBu)
规则内的模糊集运算取交集,规则见的模糊集运算取并集。
有:
⑤模糊决策
模糊控制器的输出为误差向量和模糊关系的合成: u = e ∘ R u=e\circ R u=e∘R
当误差e为NB时, e = [ 1 , 0.5 , 0 , 0 , 0 , 0 , 0 ] e=[1,0.5,0,0,0,0,0] e=[1,0.5,0,0,0,0,0],此时控制器的输出为:
⑥控制量的反模糊化
当误差e为负大NB时,当前水位过高,控制器的输出为一模糊向量:
按照隶属度最大原则进行反模糊化,应当选择控制量u=-4,即阀门抽水开度达到最大。
本文是作者在日常学习生活中所作,难免有遗漏或错误,遇到问题的读者请点击给我写信向我的邮箱反馈,不胜感激。