模糊控制笔记(三)模糊控制系统与模糊PID

  • 1. 模糊控制系统
    • 1) 量化
    • 2) 模糊控制系统组成
    • 3) 模糊规则
  • 2. 模糊PID

本文章所有知识点均为作者本人学习刘杰、李允公等老师的教材《智能控制与MATLAB实用技术》时所作笔记,在此发自肺腑地表达对老师们辛勤劳动的感谢和尊敬,也安利一下这本书,对入门智能控制的同学们来说是一本极其优秀的教材!

1. 模糊控制系统

1) 量化

一般地,根据输入信号的取值,将其分为几个等级,即进行量化的操作。如,设输入信号 x ∈ [ 1 , 10 ] x \in [1,10] x∈[1,10],我们有意将其量化为4份,即 n = 4 n=4 n=4,那么量化后的离散论域为 N = { − 4 , − 3 , − 2 , − 1 , 0 , 1 , 2 , 3 , 4 , 5 } N=\{-4, -3, -2, -1, 0, 1, 2, 3, 4, 5\} N={−4,−3,−2,−1,0,1,2,3,4,5},而 x x x在 N N N上相应地需要进行量化的操作。
原论域中的某一元素 a a a经过量化后得到离散论域 N N N中的元素 b b b,则有:
b = k ( a − x H − x L 2 ) b=k\left( a-\frac{x_H-x_L}{2} \right) b=k(a−2xH​−xL​​)其中 x H x_H xH​与 x L x_L xL​分别是原论域中 x x x的上下限, k k k为量化因子
k = 2 n x H − x L k=\frac{2n}{x_H-x_L} k=xH​−xL​2n​
以上述例子为例,原论域 x ∈ [ 1 , 10 ] x \in [1,10] x∈[1,10],离散论域 N = { − 4 , − 3 , − 2 , − 1 , 0 , 1 , 2 , 3 , 4 , 5 } N=\{-4, -3, -2, -1, 0, 1, 2, 3, 4, 5\} N={−4,−3,−2,−1,0,1,2,3,4,5},那么量化因子为
k = 2 n x H − x L = 2 × 4 10 − 1 = 8 9 k=\frac{2n}{x_H-x_L}=\frac{2 \times 4}{10-1}=\frac{8}{9} k=xH​−xL​2n​=10−12×4​=98​

对于原论域中的元素 a = 3 a=3 a=3,其在离散论域 N N N中对应的元素 b b b应为
b = k ( a − x H − x L 2 ) = 8 9 × ( 3 − 10 − 1 2 ) = − 4 3 ≈ − 1.33 b=k\left( a-\frac{x_H-x_L}{2} \right)=\frac{8}{9}\times \left(3-\frac{10-1}{2} \right)=-\frac{4}{3} \approx-1.33 b=k(a−2xH​−xL​​)=98​×(3−210−1​)=−34​≈−1.33取整后为 b = − 1 b=-1 b=−1。

2) 模糊控制系统组成

一般的模糊控制系统组成如下图。

可以简单理解为:将经典PID控制回路中的PID模块改成了模糊控制模块。其中,模糊控制器的内部结构可以分为3部分:

在系统控制时,输入信号(往往是期望值与返回值的误差 e e e进入模糊控制器,先进行模糊化,即将连续的信号转为离散的信号,将原论域转为离散论域;之后根据离散论域中的离散值,在模糊规则库中采取相应的模糊控制规则;最后将控制信号再进行一步逆操作,把离散论域转化回原论域进行输出。

3) 模糊规则

由模糊控制的定义可以知道,模糊控制利用的是人们在长期工程实践中总结出来的控制规律或经验,而不是精确的数学计算。例如,对于在限速60km/h路段驾驶的司机来说,当司机通过感官感受到“车速快”这一“感性”结论后,就会采取“松油门并踩刹车”的操作,这一系列动作中并不含有“定量”的数值(如将刹车踏板踩下几厘米),而是依靠司机的经验和直觉。
因此,为了模拟这一“依靠直觉”的过程,就需要建立这样一套模糊规则,使得程序能够在面临一些情况时,按照人类的经验给出“相对模糊且大概”的调整方式,而不是定量的调整。
对于上面司机的例子来说,他在限速路段行车过程中所面临的所有情况可能如下:
若车速过多大于60,则松开油门并踩刹车;
若车速大于60不多,则松开油门并轻踩刹车;
若车速略微高于60,则松开油门,不踩刹车;
若车速等于60,则保持现状,即油门和刹车均不移动;
若车速略微低于60,则轻踩油门;
若车速低于60不多,则踩油门;
若车速过低,则甚至可能考虑切换档位。

一般地,在控制理论中,通过比较给定值和实际值的误差大小,指定相应的决策策略。对于误差来说,分为正大、正中、正小、零、负小、负中、负大几种情况,用PB、PM、PS、ZE、NS、NM、NB表示。
对于上述行车的例子,设车速与规定车速60的误差为 e e e,则可以表示为:
if e == PB, then 油门 == NB and 刹车 == NM;
if e == PM, then 油门 == NB and 刹车 == NS;
if e == PS, then 油门 == NB and 刹车 == ZE;
if e == ZE, then 油门 == ZE and 刹车 == ZE;
if e == NS, then 油门 == PS and 刹车 == ZE;
if e == NM, then 油门 == PM and 刹车 == ZE;
if e == NB, then 油门 == PB and 刹车 == ZE (or 档位 += 1 and 刹车 == ZE)。

应当注意的是,通常使用的指标不仅有误差 e e e,还有误差变化率 e c ec ec

为了便于表示,往往将模糊规则以表格的形式记下来。

2. 模糊PID

模糊PID即为在PID控制的基础上,与模糊控制进行结合,使得PID的三个系数可以在线改变:
k p = k p 0 + Δ k p k i = k i 0 + Δ k i k d = k d 0 + Δ k d k_p=k_{p0}+\Delta k_p \\ k_i=k_{i0}+\Delta k_i \\ k_d=k_{d0}+\Delta k_d kp​=kp0​+Δkp​ki​=ki0​+Δki​kd​=kd0​+Δkd​
其结构如下:

这样一来,原先PID控制的公式
u = k p e + k i ∫ e d t + k d d e d t u=k_p e+k_i \int edt +k_d \frac{de}{dt} u=kp​e+ki​∫edt+kd​dtde​就变为
u = ( k p 0 + Δ k p ) e + ( k i 0 + Δ k i ) ∫ e d t + ( k d 0 + Δ k d ) d e d t u=\left( k_{p0}+\Delta k_p \right) e+\left( k_{i0}+\Delta k_i \right) \int edt +\left( k_{d0}+\Delta k_d \right) \frac{de}{dt} u=(kp0​+Δkp​)e+(ki0​+Δki​)∫edt+(kd0​+Δkd​)dtde​
也就是说,每经过一个采样时间 T T T,PID的参数都会改变,从而达到一种在线PID整定的效果,避免了原来PID控制中单独一组PID受限大、不及时的缺点。

在下一篇笔记中,将带来模糊PID的一个简单例子,并将其与经典PID做比较。

模糊控制笔记(三)模糊控制系统与模糊PID相关推荐

  1. 模糊控制笔记(一)模糊集合

    模糊控制笔记(一)模糊集合 模糊集合 1. 基本概念 2. 特征函数 3. 模糊集合 表示模糊集合的方法: 1) 向量表示法 2) Zadeh表示法(Zadeh也是模糊集合理论的创始人) 3) 序偶表 ...

  2. 模糊数学笔记大全(模糊集、截集、模糊矩阵、模糊关系、模糊聚类、模糊模型识别、模糊综合决策、模糊数)

    一.模糊集及其运算性质 二.模糊截集与分解定理 三.模糊隶属度函数的确定及常用隶属度函数 四.模糊矩阵与模糊关系 五.模糊聚类 六.模糊模型识别-I(最大隶属度原则) 六.模糊模型识别-II(择近原则 ...

  3. 什么是模糊神经网络结构,模糊神经网络应用实例

    模糊神经网络的基本形式 模糊神经网络有如下三种形式:1.逻辑模糊神经网络2.算术模糊神经网络3.混合模糊神经网络模糊神经网络就是具有模糊权系数或者输入信号是模糊量的神经网络.上面三种形式的模糊神经网络 ...

  4. SurfaceFlinger学习笔记(三)之SurfaceFlinger进程

    概述 本系列是基于android Q 即android10 SurfaceFlinger学习笔记(一)应用启动流程 SurfaceFlinger学习笔记(二)之Surface SurfaceFling ...

  5. 「管理数学基础」4.3 模糊数学:模糊关系与模糊矩阵、模糊关系的运算与合成、模糊等价关系

    模糊关系与模糊矩阵.模糊关系的运算与合成.模糊等价关系 文章目录 模糊关系与模糊矩阵.模糊关系的运算与合成.模糊等价关系 模糊关系与模糊矩阵 定义:模糊关系 模糊矩阵的截集 模糊关系的运算与合成 模糊 ...

  6. 雷达基础之脉冲雷达信号距离模糊与解模糊

    雷达基础之脉冲雷达信号距离模糊与解模糊 脉冲雷达发射信号的参量 什么情况下会产生距离模糊? 如何解距离模糊? 脉冲雷达发射信号的参量 参量名 name 描述 载频 Carry Frequency 载波 ...

  7. 动态模糊或运动模糊(motion blur) 介绍

    // 动态模糊或运动模糊(motion blur)是静态场景或一系列的图片像电影或是动画中快速移动的物体造成明显的模糊拖动痕迹. 摄影技术 当相机拍出影像时,不单只表现出单一时间的即时影像.由于技术限 ...

  8. J2EE学习笔记三:EJB基础概念和知识 收藏

    J2EE学习笔记三:EJB基础概念和知识 收藏 EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些.那么EJB和通常我们所说的Ja ...

  9. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

最新文章

  1. 1344 走格子 (前缀和)
  2. 【视频课】模型部署课程更新!ncnn框架快速实践!
  3. ubuntu16.4中创建帐户
  4. 项响琴C语言书籍在线浏览,电子琴 c语言程序
  5. 进程同步(multiprocess.Lock、multiprocess.Semaphore、multiprocess.Event) day38
  6. ROS-手势控制小海龟移动
  7. [LeetCode] NO. 8 String to Integer (atoi)
  8. python里的拼接_Python拼接字符串的7种方法总结
  9. 计算机辅助设计与图像学学报 改后发表,几种常见图像二值化方法的结果对比与分析...
  10. Prototype库终于有了文档了
  11. pku1088----滑雪(记忆性搜索)
  12. 【python】nonebot--QQ接口库
  13. Android包管理机制(一) PackageInstaller的初始化
  14. 微信小程序 集成腾讯云IM做的聊天室
  15. Sloth演示程序及源代码发布
  16. 数据分析【实践】——教育行业指标体系搭建和生命周期维护
  17. php自动计算增长率,Oracle表空间增长率监控脚本
  18. 容器中的 Shim 到底是个什么鬼?
  19. [SSL_CHX][2021-08-19]子矩阵求和
  20. Perl 6 - CPAN

热门文章

  1. Cesium构造popup弹窗函数
  2. POI处理PPT的表格table,XSLFTable样式设置
  3. 买飞机票牵涉到的业务逻辑,
  4. 2013年计算机网络原理,全国2013年4月自学考试计算机网络原理试题
  5. 三种动态网页技术的简要分析
  6. 小型微型计算机查重修改,基于学习算法的软件故障记录查重与修复人员指派问题研究...
  7. 整理了200多个Python实战案例,都有完整且详细的教程
  8. Android 8.0 正式发布,Google 带来了哪些新功能?
  9. Pycharm配置运行参数
  10. html cookie设置不过期,HTML5学习之关于Cookie的expires过期时间无效分析