模糊PID控制器的实现

这篇具有很好参考价值的文章主要介绍了模糊PID控制器的实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本文讨论有关模糊PID相关的问题。模糊PID是一种将PID控制和模糊算法结合起来的控制算法,其实质上是将模糊算法用在了PID的参数整定上,以此来满足需要动态调整PID参数的系统的要求。

一、模糊PID控制优势

(1)传统的控制方法有时无法满足控制精度的要求,而且抗干扰的能力较弱,模糊控制可以有效克服上述问题;
(2)对于常规的PID控制而言,虽然较为简单易操作,但相关的参数是提前设定的不可改变,因此无法适应参数变化、干扰较多的控制系统,模糊PID结合了PID控制和模糊控制的优势,有较好的控制效果;
(3)PID控制器都要求精确的数学模型,若数学模型不精确,控制性能将会降低,而模糊PID能有效解决该问题;

二、PID控制原理

PID控制由三部分组成控制率,即比例项(P),积分项(I)和微分项(D),调节的参数也只有三个,即各个部分的系数:比例系数 K P K_{P} KP,积分系数 K I K_{I} KI和微分系数 K D K_D KD,对PID控制进行参数整定是设计PID控制系统的核心问题,下面给出一个PID的控制实例:
模糊PID控制器的实现
从上图可以看出,PID控制系统主要由两个部分组成:PID控制器和被控对象 ,被控对象在仿真图中用传递函数体现。系统通过对期望值 r ( t ) r(t) r(t)和实际输出 y ( t ) y(t) y(t)的误差值 e ( t ) e(t) e(t)分别进行比例、积分和微分的操作,最后求和便得到了控制率,传入传递函数进而对被控对象进行控制。
用公式表示误差为:
e ( t ) = r ( t ) − y ( t ) e(t)=r(t)-y(t) e(t)=r(t)y(t)控制输入的表达式为:
u ( t ) = K P e ( t ) + K I ∫ e ( t ) d t + K D d e ( t ) d t u(t)=K_P e(t)+K_I\int e(t)dt+K_D\frac{de(t)}{dt} u(t)=KPe(t)+KIe(t)dt+KDdtde(t)

2.1三个参数的功能

比例 K P K_P KP

严重影响响应速度。与调节力度成一个比例关系,若 K P K_P P太小,调节效果就会较为缓慢,所用的时间也会更长;若 K P K_P P太大,响应就会很快,但是相应产生的超调也会较大;

积分 K I K_I KI

有效克服静态误差,可以消除因为散热、阻力等各种造成的静态误差。

微分 K D K_D KD

用于克服振动,在只有 K P K_P KP K I K_I KI的作用下,被控对象的控制量会一直在期望值附近振动,微分项根据误差值的变化率进行控制,类似于阻尼作用,可以使被控物理量趋近于零。

三、模糊控制原理

很多时候被控对象精确的数学模型很难建立或无法建立。
模糊控制的基本原理:将人们的手动控制经验用语言加以描述,构成一系列条件语句,即控制规则,再利用模糊理论、模糊语言变量和模糊逻辑推理,将模糊的控制规则上升为数值运算,让计算机运用程序来实现规则,如此便可以利用计算机模拟人机型自动控制被控对象。
模糊控制包含三个步骤:模糊化、模糊逻辑推理和解模糊。其分别由模糊器、模糊推理机和解模糊器来完成。
模糊PID控制器的实现

四、模糊PID控制器实现

模糊PID是以偏差 e ( t ) e(t) e(t)和偏差的导数 d e ( t ) de(t) de(t)作为输入,利用模糊规则对PID的参数进行在线调整,一般结构可以由下图表示:
模糊PID控制器的实现(1)打开matlab,输入fuzzy命令,进入fuzzy设计工具箱
在edit里添加额外的一个输入和两个输出,同时对输入输出进行重命名,如图所示。
模糊PID控制器的实现
(2)设置输入输出范围,修改隶属度函数并定义函数名
各范围为:E:[-3 3];EC:[-3 3];KP:[-0.3 0.3];KI:[-0.05,0.05];KD:[-2,2]
均采用七个函数,两个输入采用trifm函数,三个输出采用gaussmf函数
模糊PID控制器的实现
(3)修改函数参数
形如:
模糊PID控制器的实现
(4)确定模糊规则表,添加模糊规则
模糊规则表为:
模糊PID控制器的实现
模糊PID控制器的实现
设置完成后保存为fis格式。
(5)搭建仿真程序导入fuzzy,运行

仿真程序1:
搭建如下:
模糊PID控制器的实现
仿真结果为:
模糊PID控制器的实现
仿真程序2
搭建如下:
模糊PID控制器的实现
模糊PID控制器的实现文章来源地址https://www.toymoban.com/news/detail-415043.html

到了这里,关于模糊PID控制器的实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【GUI】使用PID控制器进行台式过程控制实验,以保持热敏电阻的温度(Matlab代码实现)

    目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、操作说明 本实验是温度控制的反馈控制应用。特别是,本实验讲解: 手动和自动控制的区别 生成动态数据的 步进测试 拟合动态数据以构建简单的一阶加死区时间 (FOPDT) 模型 从标准调整规则 获取 PID 控制的 参数

    2024年02月15日
    浏览(50)
  • 【OpenAI】Python:基于 Gym-CarRacing 的自动驾驶项目(4) | 车辆控制功能的实现 | 开环控制 | 闭环控制 | 启停式控制 | PID 控制 | Stanley 控制器

       猛戳!跟哥们一起玩蛇啊  👉 《一起玩蛇》🐍  ​ 💭 写在前面: 本篇是关于多伦多大学自动驾驶专业项目的博客。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。它是流行的 Box2D 物理引擎的一个版本,经过修改以支持模拟汽车在赛道上

    2024年02月08日
    浏览(47)
  • 【OpenAI】Python:(4) 基于 Gym-CarRacing 的自动驾驶项目 | 车辆控制功能的实现 | 开环控制 | 闭环控制 | 启停式控制 | PID 控制 | Stanley 控制器

       猛戳!跟哥们一起玩蛇啊  👉 《一起玩蛇》🐍  ​ 💭 写在前面: 本篇是关于多伦多大学自动驾驶专业项目的博客。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。它是流行的 Box2D 物理引擎的一个版本,经过修改以支持模拟汽车在赛道上

    2024年02月03日
    浏览(52)
  • PID 控制器

    本文参考: 从不懂到会用!PID从理论到实践~_哔哩哔哩_bilibili 目录 1.PID控制器入门 1.1.PID控制器的引入 1.2.PID控制器适用系统 1.3.PID控制器宏观意义 2.PID控制器的必备知识 2.1.控制系统概述 2.2.参数详解 2.3.连续与离散信号 3.PID控制算法 3.1.PID公式解释(抽象派) 3.2.PID公式解释

    2024年02月07日
    浏览(45)
  • PID控制器调参

    PID控制器是工业自动化控制中最常用的一种控制器,它可以实现系统的稳定控制和精确调节。然而,PID控制器的效果与调参有着极大的关系,良好的调参能够使得PID控制器的控制效果更加优秀。本文将详细介绍PID控制器的调参技术。 PID控制器由比例项、积分项和微分项三部分

    2024年02月16日
    浏览(54)
  • m基于FPGA的FOC控制器verilog实现,包括CLARK,PARK,PID及SVPWM,含testbench

    目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件 Quartus II 12.1(64-Bit) ModelSim-Altera 6.6d Starter Edition 仿真结果如下: 整个系统的结构如下所示: 1、采集到两相电流 2、经过clarke变换后得到两轴正交电流量, 3、经过旋转变换后得到正交的电流量

    2024年02月15日
    浏览(53)
  • 基于FPGA的PID控制器设计

    PID控制应该算是应用非常广泛的控制算法了。常见的比如控制环境温度,控制无人机飞行高度速度等。PID我们将其分成三个参数,如下: P-比例控制,基本作用就是控制对象以线性的方式增加,在一个常量比例下,动态输出,缺点是会产生一个稳态误差。 I-积分控制,基本作

    2024年02月03日
    浏览(58)
  • 基于simulink的PID控制器设计

    目录 1、PID算法的基本理论 1.1 PID 控制的基本概念 1.2 基本公式 1.3 PID控制系统原理图 2、在simulink中搭建PID控制器模型及调参  3、调参 PID 控制器是一种比例、积分、微分并联控制器。它是最广泛应用的一种控制器。在 PID 控制器中,它的数学模型由比例、积分、微分三部分

    2024年02月03日
    浏览(58)
  • 【Matlab】简单PID 控制器设计(控制系统工具箱)

    这里展示如何设计一个简单的PID控制器。 传递函数如下: s y s = 1 ( s + 1 ) 3 sys=frac{1}{(s+1)^3} sys = ( s + 1 ) 3 1 ​ 首先,创建模型并选用PI控制器: 生成结果如下: (交叉频率约为0.52 rad/s,相位裕度为60) 检查受控系统的闭环阶跃响应: 为了缩短响应时间,可以设置比自动选择

    2024年02月06日
    浏览(53)
  • 【Simulink】仿真_PID控制器调谐/调参/整定

    如何使用PID调谐器自动调优PID控制器块? 模型下载: 转速闭环 PID调谐器提供了一种快速和广泛适用的 single-loop PID通过Simulink控制块的整定方法。通过这种方法,可以调优PID控制器参数,以实现具有所需响应时间(response time)的鲁棒(robust)设计。 PID调谐器的典型设计工作流程包括

    2024年02月05日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包