news 2026/7/15 1:35:53

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

作者头像

张小明

前端开发工程师

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/7/9 16:44:56

引入AI辅助的3D游戏美术工作流

不同于其他类型的AI应用,3D内容的AI生成应用所面向的行业更加垂直,会有一定的专业使用门槛,并且生成的产物与直接投入生产环境的内容往往还存在一定的距离。笔者这里针对小型独立游戏/Demo的场景下,为提高3D游戏美术工作效率和降低…

作者头像 李华
网站建设 2026/7/13 3:15:47

Python入门:从安装到第一个程序

好的,我们来梳理一下Python的基础与环境配置要点: 1. Python 是什么? Python 是一种高级编程语言,以简洁易读的语法著称。它支持多种编程范式(面向对象、函数式等),广泛应用于数据分析、人工智…

作者头像 李华
网站建设 2026/7/1 8:57:48

RanUI:一款回归纯粹的高性能PHP博客/内容管理系统

RanUI:一款回归纯粹的高性能PHP博客/内容管理系统 在追求速度与极简的今天,你是否已经厌倦了臃肿、复杂,动辄加载数秒的CMS系统?对于真正专注于内容创作的博主和开发者而言,一个响应迅速、核心纯净、但又具备足够扩展…

作者头像 李华
网站建设 2026/7/1 14:21:12

安卓驱动开发工程师:深入技术核心,驱动智能未来

深圳达实智能股份有限公司 安卓驱动开发工程师 职位信息 负责安卓系统底层驱动的设计、开发、调试、集成与性能优化工作。 负责Android Framework及内核等系统框架层的调优,关键模块开发实现及调试定位。 系统API设计和开发,安卓SDK定制和维护。 二、 任职要求: 1. 基础要求…

作者头像 李华
网站建设 2026/7/1 11:05:46

协鑫集成高级AI开发工程师职位深度解析:职责、能力与面试指南

协鑫集成 高级AI开发工程师 职位信息 职位详情: 1.探索、跟踪国内外领先的AI技术、产品方案,推动其在公司内应用,提升企业运营效率,生产效率。 2.协调各部门团队,包括研发、工艺、生产、职能等,确保AI项目目标实现。 3.结合AI背景和行业需求,为企业数字化、智能化提供指…

作者头像 李华
网站建设 2026/7/1 8:57:51

Snapd和Apt—Linux 上两种完全不同的软件包管理系统

Snapd 和 Apt 是 Linux 上两种完全不同的软件包管理系统,各有优劣。以下是详细对比: 核心区别一览 特性Apt (传统)Snapd (现代)设计年代1998年 (Debian)2014年 (Ubuntu)软件包格式.deb.snap依赖处理共享系统库,自动解决依赖自带所有依赖&…

作者头像 李华