news 2026/5/1 4:42:44

控制算法—模糊控制原理和示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
控制算法—模糊控制原理和示例

参考先进控制-模糊控制原理全解析:不用建模也能精准控制

1.什么是模糊控制?

在控制系统中,我们通常需要精确的数学模型,才能通过经典方法(如 PID、LQR)来设计控制器。然而,现实系统往往复杂、多变,建模困难,或者根本没有办法精确描述。

​ 这时,模糊控制(Fuzzy Control)就提供了一种“不依赖精确模型”、完全基于人类经验规则的控制方法。

1.1 模糊控制在做什么?

它的核心思想是:

“与其告诉系统一个精确的数学规则,不如告诉它:如果偏差很大且越来越大,那就赶紧往回拉一点。”

换句话说,模糊控制模仿人类工程师或操作者的直觉与语言,例如:

  • “车偏得有点厉害了,要快点拉回去”
  • “温度有点高了,慢慢降一点”
  • “机器人跑偏了,但趋势在纠正,可以不动”

这些判断背后隐藏的,其实是一种模糊逻辑的推理机制。

1.2 模糊控制的优点

优点描述
不依赖系统精确数学模型即使系统复杂、非线性、带有未知扰动,也能构建控制器
规则可视化、逻辑直观控制行为基于“如果…那么…”形式,便于解释和调试
易于融合专家经验可直接嵌入人工制定的调节规则或启发式逻辑
可与经典控制互补模糊控制器可与 PID 控制器结合,构建更鲁棒的复合控制器

2.核心原理

2.1输入

输入通常有两个:误差e和误差变化率Δe。

在输入和输出时可以对其进行限幅和缩放。

2.2模糊化

模糊化就是将输入的具体数值根据定义的隶属函数模糊到隶属度中。

  1. 首先要确定隶属度,即模糊子集个数N,一般定义N=7,假设隶属度定义如下:
    N B N M N S Z O P S P M P B − 3 − 2 − 1 0 1 2 3 负大 负中 负小 零 正小 正中 正大 \begin{matrix} NB&NM&NS&ZO&PS&PM&PB\\ -3&-2&-1&0&1&2&3\\ 负大&负中&负小&零&正小&正中&正大 \end{matrix}NB3负大NM2负中NS1负小ZO0PS1正小PM2正中PB3正大

  2. 定义隶属函数,例如选择三角形隶属函数:

假设e = 0.1 e=0.1e=0.1Δ e = 0.01 \Delta e = 0.01Δe=0.01

  • e = 0.1 → e 1 ( Z O ) = 0.9 , e 2 ( P S ) = 0.1 e=0.1 \rightarrow e_1(ZO)=0.9, e_2(PS) = 0.1e=0.1e1(ZO)=0.9,e2(PS)=0.1
  • Δ e = 0.01 → Δ e 1 ( Z O ) = 0.99 , Δ e 2 ( P S ) = 0.01 \Delta e=0.01 \rightarrow \Delta e_1(ZO)=0.99, \Delta e_2(PS) = 0.01Δe=0.01Δe1(ZO)=0.99,Δe2(PS)=0.01

2.3规则推理

例如定义以下规则表:

e ee\Δ e \Delta eΔePBPMPSZONSNMNB
PBPBPBPMPMPSZOZO
PMPBPMPMPSZONSNS
PSPMPMPSZONSNMNM
ZOPMPSZOZOZONSNM
NSPSZONSZONSNMNM
NMZONSNMNMNMNBNB
NBZOZENMNMNBNBNB
  • 横轴为误差e ee
  • 纵轴为误差变化率Δ e \Delta eΔe
  • 表中元素为输出控制量u uu的模糊语言

下面根据规则表进行模糊推理:

  • e = Z O ( 0.9 ) e = ZO(0.9)e=ZO(0.9)Δ e = Z O ( 0.99 ) \Delta e = ZO(0.99)Δe=ZO(0.99)→ rule[3][3]=Z O ZOZO
  • e = Z O ( 0.9 ) e = ZO(0.9)e=ZO(0.9)Δ e = P S ( 0.01 ) \Delta e = PS(0.01)Δe=PS(0.01)→ rule[3][2]=Z O ZOZO
  • e = P S ( 0.1 ) e = PS(0.1)e=PS(0.1)Δ e = Z O ( 0.99 ) \Delta e = ZO(0.99)Δe=ZO(0.99)→ rule[2][3]=Z O ZOZO
  • e = P S ( 0.1 ) e = PS(0.1)e=PS(0.1)Δ e = P S ( 0.01 ) \Delta e = PS(0.01)Δe=PS(0.01)→ rule[2][2]=P S PSPS

其中推导出的rule[3][3]=ZO等称为激活程度μ i \mu_iμi

2.4解模糊

解模糊是将模糊推理得到的、多个可能具有不同权重的输出结果,聚合为一个精确的、可用于实际控制的数值。

解模糊有很多种方法,这里使用加权平均法

u = ∑ i = 1 N e i Δ e i μ i ∑ i = 1 N e i Δ e i u=\frac{\sum_{i=1}^N e_i \Delta e_i \mu_i}{\sum_{i=1}^N e_i \Delta e_i}u=i=1NeiΔeii=1NeiΔeiμi

  • e i e_iei表示根据误差e模糊化出的每一种结果
  • Δ e i \Delta e_iΔei表示根据误差变化率Δ e \Delta eΔe模糊化出的每一种结果
  • μ i \mu_iμi表示变量对应的激活程度

n u m = 0.9 × 0.99 × Z O + 0.9 × 0.01 × Z O + 0.1 × 0.99 × Z O + 0.1 × 0.01 × P S num = 0.9×0.99×ZO+0.9×0.01×ZO+0.1×0.99×ZO+0.1×0.01×PSnum=0.9×0.99×ZO+0.9×0.01×ZO+0.1×0.99×ZO+0.1×0.01×PS

d e n = 0.9 × 0.99 + 0.9 × 0.01 + 0.1 × 0.99 + 0.1 × 0.01 den = 0.9×0.99+0.9×0.01+0.1×0.99+0.1×0.01den=0.9×0.99+0.9×0.01+0.1×0.99+0.1×0.01

u = n u m d e n u = \frac{num}{den}u=dennum

可以把这个过程想象成一次**“民主投票”**:

  • μ i \mu_iμi(规则输出值):就像是每个“选民”(一条模糊规则)提出的具体提案(例如:“加速1m/s”)
  • e i Δ e i e_i \Delta e_ieiΔei(隶属度的乘积):就像是每个选民的“投票权重”。这个权重取决于当前情况与这位选民所代表的条件(误差大小和误差变化趋势)的匹配程度。匹配度越高,他的投票权重就越大。
  • n u m numnum:是所有选民的“加权提案总和”(每个提案乘以它的权重)
  • d e n denden:是所有选民的“总权重”
  • 最终结果u = n u m d e n u = \frac{num}{den}u=dennum:就是这次“加权民主投票”的最终决议,一个综合考虑了所有相关规则及其影响力的精确输出值

2.5输出

最后根据上一步结果进行量程缩放和限幅后得到输出。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 4:42:31

基于深度学习的风机缺陷检测系统 YOLO模型+Deepseek大语言模型 AI问答助手以及知识图谱 YOLOv8 + FastAPI + Streamlit / Flask + DeepSeek LL

基于深度学习的风机缺陷检测系统 AI高分项目 本系统采用融合YOLO目标检测模型Deepseek大语言模型,实现影像的自动化分析。支持区域精准定位、良恶性初步判定、风险等级评估,还具备历史记录追溯、诊断报告自动生成、AI问答助手以及知识图谱,…

作者头像 李华
网站建设 2026/4/23 16:22:25

机器学习和传统统计学是数据科学中相辅相成的两个重要分支

下面内容摘录自《用R探索医药数据科学》专栏文章的部分内容(原文6424字)。 1章2节:机器学习、统计学与ChatGPT的概述,与R语言的相关 (更新20241229)-CSDN博客 一、人工智能 二、机器学习 下面内容摘录自《用R探索医药数据科学》…

作者头像 李华
网站建设 2026/4/25 4:24:39

【系统分析师】7.3 软件开发环境与工具

🛠️ 一、概述:构建软件的“数字工作台”与“专业器具” 软件开发环境与工具 是指用于支持软件系统分析、设计、构造、测试、部署、维护和管理等一系列活动的集成化软件系统(环境)和专用程序(工具) 的统称…

作者头像 李华
网站建设 2026/4/18 8:09:23

人该怎样活着呢?版本68.8

人该怎样活着呢?版本68.8A思考现实问题并记录自己的灵感 。【生活的指南针】 (20250212)a1如何思考?思考相似联想因果联想灵感(20251226)相似联想:比如看到苹果想到牛顿在树下被苹果砸到发…

作者头像 李华