目录

1、PID控制基础

2、模糊控制

3、模糊PID简介

4、模糊自整定PID的理论内容(重点内容)

4.1 基本原理

4.2 模糊子集及其论域的确定

4.3 模糊规则的建立

4.4 模糊推理

4.5、解模糊化


2020 年4月2日  由于浏览数量的增加,这里做了一些增补及修改。有问题请大家指出。


1、PID控制基础

PID控制是极其常用的控制方法,主要分为位置式PID和增量式PID,主要方程大家可以查看其他资料,这里就不作详细的解释了,另外还需要了解阶跃响应曲线上面的超调量、稳态误差等参数的意义。

2、模糊控制

模糊控制的发展历史和相关的论证也不说了,百度百科也有。

相关概念扫盲(不一定准确):

相关概念 简单理解
论域 类似于值域,一般是变量的变化范围
隶属度 一般的“属于”概念是相互独立的,属于你就不属于我。隶属度则定义来了既可以属于你,也可以属于我,只是可能更属于我或更属于你
模糊语言 正大、正中、正小、零、负大、负中、负小这些定性的描述词

其实模糊控制的提出确实很有意义,对很多领域来说都是。模糊控制的提出者Zadeh还同时搞了个“软计算”的概念,使用计算机模拟人类的直觉并将其自动化,个人觉得这种将客观现实转换到人的逻辑水平进行推理,再在物理现实实现的过程一直令人着迷,就像大数定理、哥德尔定理。现在深度神经网络的发展其实远超出当时提出的“软计算”,但是感觉如果模糊规则足够庞大复杂,仍然可以达到很高的水平。

模糊控制还常常与专家系统等结合在一起使用,其实要发论文的话还是要结合当前的一些机器学习内容来搞。

大家用MATLAB做一下仿真其实是有利于理解模糊控制的。

模糊控制的隶属度函数定义有相关的理论,但是实际是很灵活的,比如你认为在论域[0,10]里面,3可以是负中、可以负小、可以负大,甚至还有一部分可能是零,只是隶属度不同。

另外,在模糊论域的选取过程中,我们常看到的是(-6,6)这样的区间,其实这并不重要,你如果想把自己的数据套用到这个算法里面,就可以做一下线性变换,把你的论域映射到这个区间。

3、模糊PID简介

模糊PID其实有多种,并不是单一的方法。根据其结构主要分为三种 [1](目前我查到的资料只看到以下三种):

(1)模糊控制和PID控制各自在相应的条件下执行自己的功能,条件作为一种开关(单刀双掷),当采用模糊控制好的时候则使用模糊控制,当使用PID控制器较好时则使用PID算法。

具体我就不画了,直接截的图。

单独的模糊控制器具有较好的鲁棒性,但由于它是离散的规则控制(主要是基于语言变量),往往在工作点附近容易引起小辐震荡(稳态误差问题),使受控系统的静态误差较大。而单独PID控制鲁棒性较差,但其积分作用可以有效消除系统稳态误差,并且在工作点附近的小范围内有较好的调节效果。因此这种双模结构结合了两者的优点,做到的优势互补。

(2)模糊自整定PID算法(名字多:模糊自组织PID,模糊自调节PID、模糊自适应PID...)

这种方法比较常用,也就是使用模糊规则的方式进行PID三个参数的整定,至于它是否优于PID算法,个人持怀疑态度,后湖会提到。这种方法基本就是用计算机代替人进行PID参数整定。结构如下图:

Robot Model 是文献 [2] 中的控制模型,这里大家要用自己的模型代替。

这种方法本质上是PID控制,对于参数变化范围大的对象,要获得良好的相应性能,就需要对PID参数进行在线调整,模糊自整定PID就是比较好的方法。

(3)还有一种我也是在参考文献 [1] 才见过的,文中提到这有点类似冗余控制,这个大家可以自行参考研究。

4、模糊自整定PID的理论内容(重点内容)

4.1 基本原理

典型PID控制器的传递函数(CSDN的公式编辑器不太好用,又截图了0.0):

其中 Kp , Ti , Td 分别是比例增益、积分和微分时间常数。PID控制器的设计和参数整定放在模糊规则里。

4.2 模糊子集及其论域的确定

一般PID参数在整定的时候常采用 Ziegler-Nichols 方法,这种方法对于线性或者参数变化较小的对象有良好的响应性能,但参数变化较大时则需要另外调整。Ziegler-Nichols 方法一般设:

其中Ku、Tu分别是在比例(只有比例)控制下,系统临界稳定状态时控制器的增益和系统响应震荡周期;alpha为常数通常取

alpha = 4。经大量的仿真计算验证,Kp、Td的调整范围由下确定:

则对于模糊控制器的设计时论域采用如下:

归一化处理:

对于 alpha 值也要进行论域划分 alpha = {2,3,4,5}。

这里隶属度函数的定义就比较灵活了,我参考的书(《模糊控制原理与应用(第二版)》机械工业出版社)上面采用S,B,并经过多次调整得到隶属度函数:

其中的 x 就可以用 Td' 和 Kp' 代替。而误差 e 和误差变化率 ec 可以取7语言变量,为了便于记住(其实记住会在后续步骤比较方便),NL,NM,NS,ZE,PS,PM,PL,分别对应负大、负中、负小、零、正小、正中、正大,对应的大家考虑英语怎么表示就行。隶属度函数通常取三角。

4.3 模糊规则的建立

模糊规则主要由“if ...... and......then......”的形式给出,例如:

Ri:if e is Ai and ec is Bi then Kp' is Ci and Td' is Di and alpha is Ei

表示第i条推理规则为当误差e在隶属度中为Ai且误差变化率ec在隶属度中为Bi时,比例系数Kp'就为Ci,微分系数就为Di并且alpha为Ei。这种推理规则大家可以从一些文献中查找,文献[2]给出了一种设计方式(不过是关于PID三个参数的)。

模糊规则通常来源于专家知识、经验等。其本质上是一个查找表。即给定e,ec ,得出相对应的输出模糊变量。这里要注意的是 数量 的问题:对于单输入单输出(SISO)系统,假设划分为 7 * 7 的规则,那么总共可以得到 49 条不同 e 和 ec 的输出。那么对于多输入单输出(MISO)的情况下,那么模糊规则中你可以设计他们之间的关系为 and 、or 等,这时,有多少个输入,就应该有多少个模糊规则表。对于多输入多输出(MIMO)系统,则涉及到的问题就比较多了。随着输出的增加,模糊规则数会呈现指数形式增加,因此也有一些降维的解决方案,这里不做叙述。

个人揣测:模糊规则库是模糊控制的关键所在,但也是模糊控制的难点。所以很多研究模糊控制的优化都针对模糊规则的涉及。也就是所谓的专家系统、神经网络模糊之类的。

4.4 模糊推理

模糊推理主要为根据模糊运算规则将模糊规则库中的 if then 转化成某种映射。模糊运算的规则实际上是有数学理论支撑的。最常见的运算方法有以下几种:

(1)最小运算法

最小运算法也称 Mamdani 方法,即取隶属度函数极小值。

(2)积运算

积运算也称 Larsen 方法,故名思意,就是取隶属度函数的乘积。

(3)算数运算

算数运算也称 Zadeh 方法,没错,就是发明模糊控制的那个人。算数运算可以表示为:

另外还有最大最小运算、布尔运算、标准法运算等。

其实需要注意的主要就是模糊运算与常规的运算之间的区别。比如在模糊控制中看起来可能是交运算符(^),但是实际上是个取极小值运算。

4.5、解模糊化

解模糊化就是要把经过模糊推理后的结果在系统中进行应用,因为模糊推理所得到的输出可能是“较大”、“适中”、“负小”这样的结果,你直接告诉你的系统是不行的。因此这里需要把这个模糊输出进行清晰化,因此解模糊也称为清晰化、去模糊化。

解模糊化最常用的就是重心法。另外还有最大隶属度法等。其实如果你从数学的角度进行理解就懂了,模糊输出是一个类似高斯分布的隶属度函数,你想让你的系统输出准确,就应该取那个隶属度尽可能大的值,其实也就是均值或者中心。

参考文献:

[1] 高福学, 李伯全, 丁丽娟, et al. 链篦机篦床温度场模糊PID控制的研究与仿真[J]. 微计算机信息, 2009, 25(16):42-43.

[2] S. krishna, S. Vasu,Fuzzy PID based adaptive control on industrial robot system,Materials Today: Proceedings,Volume 5, Issue 5, Part 2,2018,Pages 13055-13060.

[3] Kudinov Y I , Kolesnikov V A , Pashchenko F F , et al. Optimization of Fuzzy PID Controller's Parameters ☆[J]. Procedia Computer Science, 2017, 103:618-622.

[4] A tuning proposal for direct fuzzy PID controllers oriented to industrial continuous processes

[5] Khan A A , Rapal N . [IEEE 2006 IEEE International Conference on Engineering of Intelligent Systems - Islamabad, Pakistan (22-23 April 2006)] 2006 IEEE International Conference on Engineering of Intelligent Systems - Fuzzy PID Controller: Design, Tuning and Comparison with Conventional PID Controller[J]. 2006:1-6.

模糊PID算法及其MATLAB仿真(1)相关推荐

  1. 模糊PID基本原理及matlab仿真实现(新手!新手!新手!)

    有关模糊pid的相关知识就把自己从刚接触到仿真出结果看到的大部分资料总结一下,以及一些自己的ps 以下未说明的都为转载内容 1.转自  https://blog.csdn.net/weixin_363 ...

  2. pid算法的MATLAB仿真 - 用MATLAB进行pid算法仿真实验

    算法理论知识 PID算法是工业应用中最广泛算法之一,在闭环系统的控制中,可自动对控制系统进行准确且迅速的校正.PID算法已经有100多年历史,在四轴飞行器,平衡小车.汽车定速巡航.温度控制器等场景均有 ...

  3. matlab 经典pid,经典-先进PID控制及其MATLAB仿真(刘金锟)-315页.pdf

    免积分版,学习交流用,如需要请购买正版! 先进 PID 控制及其 MATLAB 仿真 刘金琨 著 电 子 工 业 出 版 社 内 容 简 介 本书从 MATLAB 仿真角度系统地介绍了 PID 控制的 ...

  4. 先进控制技术+matlab仿真,先进 PID 控制及其 MATLAB 仿真(教材+相关程序) 刘金琨 著 电 子 工 业 出 版 社...

    先进 PID 控制及其 MATLAB 仿真(教材+相关程序) 刘金琨 著 电 子 工 业 出 版 社 2016-08-22 1 0 0 暂无评分 其他 1 积分下载 如何获取积分? 先进 PID 控制 ...

  5. 神经网络pid控制器MATLAB,基于BP神经网络的PID控制器及其MATLAB仿真.pdf

    基于BP神经网络的PID控制器及其MATLAB仿真.pdf 2009 NO.10 中国新技术新产品 China New Technologies and Products 高新技术 基于BP 神经网络 ...

  6. PID专家控制matlab仿真

    PID专家控制matlab仿真 一.实验目的   使用matlab针对某二阶或三阶系统,结合专家控制规则,设计相应的专家PID控制器,使得其闭环系统能快速跟踪阶跃信号. (1)画出闭环输出响应,误差响 ...

  7. matlab2014仿真pid程序,先进 PID 控制及其 MATLAB 仿真 (PDF+程序)

    [实例简介] 目 录 前 言 第 1 章 数字 PID 控制------------------------(1) 1.1PID 控制原理 --------------------------(1) ...

  8. matlab整定串级pid,PID算法在Matlab串级控制中的应用

    PID算法在Matlab串级控制中的应用 自114 1112002039 陈艳 前言:这个专题是由王娟老师给我们授课,我感觉收获挺大的,尤其是matlab仿真软件的使用,为我以后的实验课打下良好的基础 ...

  9. 直流电机,传递函数,模糊控制pid算法,matlab代码

    直流电机,传递函数,模糊控制pid算法,matlab代码 ID:1466674483342194夹竹丶桃

最新文章

  1. android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口)
  2. 吴良超 融合 cnn+lstm
  3. 实验十——一维数组的定义及引用
  4. React系列---Webpack环境搭建(二)不同环境不同配置
  5. 二叉树(多路平衡搜索树)-(代码、分析、汇编)
  6. 【CodeForces - 569B】Inventory (水题)
  7. 库克协议CTO:加密货币有望成为法定货币替代金融工具
  8. 使用async 和 await方法来
  9. 使用IE缓存提取微博相片
  10. 2021-08-18 HarmonyOS实战 CommonDialog的使用
  11. 2020金三银四——在家也能躺拿大厂offer
  12. 用SDK包开发K66FX18学习笔记(4)
  13. 四、Hibernate框架的API (三)-- Session对象
  14. mysql gprs 程序_基于STM32控制的GPS定位与GPRS发送数据(程序源码)
  15. Host文件的使用与说明
  16. 2021年茶艺师(中级)考试报名及茶艺师(中级)考试试卷
  17. Selenium(二)_控件定位及简单操作
  18. 中南大学湘雅医院简丹主任谈相控微针用于玫瑰痤疮的治疗
  19. 去除搜狗输入法弹窗骚扰的一个简易方法
  20. 2018最值得期待:为AI提供基础云平台的海云捷迅

热门文章

  1. 大数据时代,做大数据开发要学Java框架吗?
  2. 如何卸载 java (Jdk)
  3. 指针的形式与动态存储分配
  4. ARM GICv3中断控制器
  5. 直接寻址、间接寻址、立即数寻址
  6. WORDS WORTH光与影的传说简明攻略
  7. PS2键盘扫描码:通码与断码
  8. rvtptcontrol failed
  9. 文章《Deep Image Homography Estimation》
  10. (转)如何获得两个日期相减的天数?