模糊控制

本文最后更新于:2025年12月9日 凌晨

模糊控制

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

参考:

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

Fuzzy control system - Wikipedia

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

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

一、基本原理

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

模糊控制原理框图

二、模糊控制器

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

模糊控制器组成

(1)模糊化接口(Fuzzy interface)

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

(2)知识库(Knowledge Base—KB)

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

1.数据库(Data Base—DB)

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

2.规则库(Rule Base—RB)

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

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

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

三、应用实例

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

水箱液位控制系统

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

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

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

(1)确定观测量和控制量

  定义理想液位O点的水位为,实际测得的水位高度为,计算液位差:   将当前水位对于O点的偏差作为观测量。

(2)输入量和输出量的模糊化

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

水位变化模糊划分表

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

控制量变化模糊划分表

(3)模糊规则的描述

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

  1. “若e负大,则u负大”
  2. “若e负小,则u负小”
  3. “若e为0,则u为0”
  4. “若e正小,则u正小”
  5. “若e正大,则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)求模糊关系

  模糊控制规则是一个多条语句,它可以表示为上的模糊子集,即模糊关系   其中规则内的模糊集运算取交集,规则间的模糊集运算取并集。

模糊集运算

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

隶属度

(5)模糊决策

  模糊控制器的输出为误差向量和模糊关系的合成:   当误差为NB时,=[1, 0.5, 0, 0, 0, 0, 0]控制器输出为:

输出计算

(6)控制量的反模糊化

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

反模糊计算

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

四、Matlab实例

  后续补充……