如何设计模糊逻辑控制器
从字面上看,模糊逻辑控制器就在我们身边。从防抱死制动系统到清洗我们衣服的洗衣机。但它们真的有效吗?使用它们有什么好处?
图 1. 现代加工通常依靠模糊逻辑来控制过程的关键方面。图片由 Michael Schwarzenberger 提供
梯形逻辑和模糊逻辑
学习模糊逻辑控制的一个很好的起点是确定梯形逻辑是否与模糊逻辑兼容。当需要时序逻辑时,梯形逻辑是一种常用的基于规则的编程 PLC(可编程逻辑控制器)方法。梯形逻辑程序中的每个梯级代表一个二进制或离散的逻辑方程。
请记住,梯形逻辑是从左到右、从上到下读取的,然后梯级的最右侧代表输出条件。该梯级的输出条件取决于输出左侧梯形逻辑符号的结果。
以图 2 所示的单梯级为例,请注意 A/C(空调)仅在 Switch 处于活动状态时才处于活动状态,并且 HighTemp 或 Humid 处于活动状态。
图 2. 用于控制 A/C 系统的梯形逻辑梯级。所用信息由维基百科提供
通常,此梯级将采用以下形式:
A/C =Switch AND (HighTemp OR Humid)
因为梯形逻辑可以表示为规则,所以它很容易被采用到模糊逻辑控制中。另一种思考方式是,结果取决于左侧梯形逻辑符号表示的 IF 条件,而输出表示 THEN 结果。
IF (Switch AND [HighTemp OR Humid]) THEN A/C
图 3。 表示模糊逻辑系统的框图。
这种方法当然可以使用模糊逻辑规则来实现。在这种情况下,清晰的输入将是温度和相对湿度。这些值的传感器读数将被模糊器转换为模糊输入。推理引擎将包含上面显示的规则以及其他规则。根据推理机的规则,模糊输出集将呈现给解模糊器。从那里,清晰的输出将提供给控制系统。
总之,梯形逻辑可以用模糊逻辑来实现。
设计模糊逻辑控制器的基本步骤
模糊逻辑控制系统(通常缩写为 FLC)是开发和实施控制系统的另一种方法。
图 4。 实现模糊控制的简单反馈控制系统。图片由 Boffy b 提供
认识所涉及的假设
在开始设计 FLC 之前,有一些关键假设。</P>
- 存在控制问题的解决方案。
- “足够好”的解决方案代替“最佳解决方案”是可以接受的。
- 输入、输出和状态变量可以被观察并用于控制。
- 知识体系以以下形式存在:
- 语言规则,和/或
- 可以从中提取规则的一组输入-输出数据。
- FLC 的设计必须达到可接受的精度范围。
- 稳定性和最优性没有明确解决,但都是开放的。
识别和配置用于模糊化的变量
设计 FLC 的第一步是确定所涉及的输入、输出和状态变量。接下来,确定变量的模糊子集。例如,温度输入可以分为五个子集,每个子集都有一个描述性的语言标签:{'cold','cool,''nominal,''warm,''hot'}。
图 5. 使用隶属函数表示温度的示例。
一旦为变量选择了子集,就应该配置隶属函数来表示这些子集。隶属函数的选项包括三角形、梯形、sigmoid 和高斯函数。这构成了模糊器 将清晰的输入转换为模糊值。请注意,还需要为推理引擎的输出配置模糊子集和相关的隶属函数 .
生成模糊逻辑规则
将传统的梯形逻辑控制器转换为模糊逻辑控制器,首先要生成模糊逻辑规则。
在假设中提到,这可能采用已经存在的语言规则的形式,或者可以在主题专家的帮助下开发。给定一组输入输出数据,也可以生成规则。并且,在梯形逻辑的情况下,可以直接从梯形图中读取模糊逻辑规则。
结果是规则基础 用于模糊系统。
实现推理引擎和去模糊器
有几种不同的方法来实现推理引擎 .在控制方面,两种最流行的方法是 Mamdani 和 Sugeno。两种类型的推理引擎都使用 OR 运算符组合来自规则库的模糊输出,然后去模糊化 该输出以获得清晰的值。
模糊逻辑控制器的应用
模糊逻辑控制器已被广泛使用。例如,电梯通常具有模糊逻辑控制器,可减少等待时间、减少楼层之间的行程并减少能源使用。减少地板之间的行程的另一个好处是减少关键部件的磨损并延长使用寿命。
模糊控制系统的另一个引人入胜的例子涉及数码摄像机和便携式摄像机。操作者在拍摄一致的镜头时可能会移动或抖动相机,但模糊逻辑控制可以自动补偿。
在工业环境中,模糊逻辑通常用于控制工业过程和系统。例如,模糊逻辑适用于温度和过程控制器,例如用于金属热处理的控制器。典型的热处理涉及高度精确的斜坡和均热循环,以实现正确的冶金性能。
受益于 FLC 的类似应用包括在涂漆表面上固化橡胶或干燥溶剂。此外,所有这些都是通常使用 PID(比例积分微分)控制器的控制过程的示例。 CNC(计算机数控)加工通常依赖于模糊逻辑控制器,许多自主机器人、机器视觉和遥感也是如此。
图 6. 模糊 PID 控制器的框图。图片由 Mathworks 提供
模糊逻辑控制的优缺点
当面对不精确的数据以及系统中的非线性时,模糊逻辑控制仍然可以发挥作用。它还允许将人类经验和知识集成到控制系统中,并且是高度可定制的。与更传统的方法相比,模糊逻辑控制系统的开发成本通常更低,而且往往更高效、稳健和可靠。
具体来说,在控制中,FLC 不需要像在更传统的控制系统方法中那样以精确的术语来制定模型和/或目标。此外,模糊控制可以很容易地与其他控制系统混合。
当然,使用模糊控制系统也有缺点。虽然模糊逻辑是人工智能 (AI) 的一个子集,但它不是一种机器学习,因此无法适应和学习。存在自适应模糊逻辑控制器,但它们的设计和复杂性远远超出了所讨论的模糊控制器类型。
此外,最终需要对控制器所依赖的规则进行更新,而模糊逻辑控制器需要大量的测试和验证才能被认为可以实施。
什么时候应该使用模糊逻辑控制器?对于极其复杂且难以使用精确模型和目标表示的控制问题,它们是绝佳的选择。当涉及不精确的数据和非线性行为时,它们工作得很好。当人类经验和专业知识可以为系统做出贡献时,它们也是一个不错的选择。您如何在控制系统中使用模糊逻辑?或者,你只使用PID控制器吗?
工业机器人