模糊控制

本文最后更新于:2026年8月29日 晚上

“模糊”是人类感知万物,获取知识,思维推理,决策实施的重要特征。“模糊”比“清晰”所拥有的信息容量更大,内涵更丰富,更符合客观世界。模糊逻辑控制 (Fuzzy Logic Control),简称模糊控制 (Fuzzy Control),是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术。模糊控制理论是由美国著名的学者加利福尼亚大学教授 Zadeh·L·A 于 1965 年首先提出,它是以模糊数学为基础,用语言规则表示方法和先进的计算机技术,由模糊推理进行决策的一种高级控制策略。1974 年,英国伦敦大学教授 Mamdani·E·H 研制成功第一个模糊控制器,并把它应用于锅炉和蒸汽机的控制,在实验室获得成功。

参考:

如何理解模糊控制? - 知乎 (zhihu.com)

Fuzzy control system - Wikipedia

模糊控制——(1)基本原理 - 一抹烟霞 - 博客园 (cnblogs.com)

模糊控制 - 知乎 (zhihu.com)

基本原理

模糊控制是以模糊集理论、模糊语言变量和模糊逻辑推理为基础的一种智能控制方法,它是从行为上模仿人的模糊推理和决策过程的一种智能控制方法。该方法首先将操作人员或专家经验编成模糊规则,然后将来自传感器的实时信号模糊化,将模糊化后的信号作为模糊规则的输入,完成模糊推理,将推理后得到的输出量加到执行器上。

61cb7c9f3a0e96449c1f41f1c311e1e0

模糊控制器

模糊控制器(Fuzzy Controller—FC):也称为模糊逻辑控制器(Fuzzy Logic Controller—FLC),由于所采用的模糊控制规则是由模糊理论中模糊条件语句来描述的,因此模糊控制器是一种语言型控制器,故也称为模糊语言控制器(Fuzzy Language Controller—FLC)。

e0494ab2fdef7394b44e3654244d06f7

模糊化接口(Fuzzy interface)

模糊控制器的输入必须通过模糊化才能用于控制输出的求解,因此它实际上是模糊控制器的输入接口。它的主要作用是将真实的确定量输入转换为一个模糊矢量。

知识库(Knowledge Base—KB)

知识库由数据库和规则库两部分构成。

数据库(Data Base—DB)

数据库所存放的是所有输入、输出变量的全部模糊子集的隶属度矢量值(即经过论域等级离散化以后对应值的集合),若论域为连续域则为隶属度函数。在规则推理的模糊关系方程求解过程中,向推理机提供数据。

规则库(Rule Base—RB)

模糊控制器的规则是基于专家知识或手动操作人员长期积累的经验,它是按人的直觉推理的一种语言表示形式。模糊规则通常由一系列的关系词连接而成,如 if-then、else、also、end、or 等,关系词必须经过“翻译”才能将模糊规则数值化。最常用的关系词为 if-then、also,对于多变量模糊控制系统,还有 and 等。

推理与解模糊接口(Inference and Defuzzy-interface)

推理是模糊控制器中,根据输入模糊量,由模糊控制规则完成模糊推理来求解模糊关系方程,并获得模糊控制量的功能部分。在模糊控制中,考虑到推理时间,通常采用运算较简单的推理方法。最基本的有 Zadeh 近似推理,它包含有正向推理和逆向推理两类。正向推理常被用于模糊控制中,而逆向推理一般用于知识工程学领域的专家系统中。推理结果的获得,表示模糊控制的规则推理功能已经完成。但是,至此所获得的结果仍是一个模糊矢量,不能直接用来作为控制量,还必须作一次转换,求得清晰的控制量输出,即为解模糊。通常把输出端具有转换功能作用的部分称为解模糊接口。

应用实例

以水位的模糊控制为例,如下图所示。设有一个水箱,通过调节阀可向内注水和向外抽水。设计一个模糊控制器,通过调节阀门将水位稳定在固定点附近。按照日常的操作经验,可以得到基本的控制规则:

bf3ad7124ac85f9f1368c952ed30a714

  • “若水位高于 O 点,则向外排水,差值越大,排水越快”;

  • “若水位低于 O 点,则向内注水,差值越大,注水越快”。

根据上述经验,按下列步骤设计模糊控制器:

确定观测量和控制量

定义理想液位 O 点的水位为,实际测得的水位高度为,计算液位差:

将当前水位对于 O 点的偏差作为观测量。

输入量和输出量的模糊化

将偏差分为五个模糊集:负大(NB),负小(NS),零(ZO),正小(PS),正大(PB)。根据偏差的变化范围分为七个等级:-3,-2,-1,0,+1,+2,+3。得到水位变化模糊表:

d5acb513fedbd61a415cd228f4043af5

控制量为调节阀门开度的变化。将其分为五个模糊集:负大(NB),负小(NS),零(ZO),正小(PS),正大(PB)。并将的变化范围分为九个等级:-4,-3,-2,-1,0,+1,+2,+3,+4。得到控制量变化模糊表:

7292c5241f255508ef3dd428273bfced

模糊规则的描述

根据日常的经验(专家经验),设计以下模糊规则:

  1. “若负大,则负大”
  2. “若负小,则负小”
  3. “若为 0,则为 0”
  4. “若正小,则正小”
  5. “若正大,则正大”

其中,排水时,为负,注水时,为正。

上述规则采用"If A Then B"形式来描述:

  1. If =NB Then =NB
  2. If =NS Then =NS
  3. If =0 Then =0
  4. If =PS Then =PS
  5. If =PB Then =PB

根据上述经验规则,可得模糊控制表:

若 (F)
NBe NSe ZOe PSe PBe
则 (THEN) NBu NSu ZOu PSu PBu

求模糊关系

模糊控制规则是一个多条语句,它可以表示为上的模糊子集,即模糊关系:

其中规则内的模糊集运算取交集,规则间的模糊集运算取并集。

由以上五个模糊矩阵求并集(即隶属函数最大值),得:

模糊决策

模糊控制器的输出为误差向量和模糊关系的合成:

当误差为 NB 时,,控制器输出为:

控制量的反模糊化

由模糊决策可知,当误差为负大时,实际液位远高于理想液位, =NB,控制器的输出为一模糊向量,可表示为:

如果按照“隶属度最大原则”进行反模糊化,则选择控制量为 ,即阀门应更加关闭一些,减少进水量。

Matlab 实例

后续补充……