美文网首页
PID学习(一):基本概念+例子理解

PID学习(一):基本概念+例子理解

作者: 九除以三还是三哦 | 来源:发表于2020-01-14 12:32 被阅读0次

一、定义

在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称[PID调节器],是应用最为广泛的一种自动控制器。
PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写

二、各部分详解

总述:


image.png
1.比例系数P
  • 在y = k·x中的,k是比例系数p。
    其中,x是当前值currentValue和目标值totalValue的差值,简称误差err,则err = currentValue - totalValue。y就是执行器对应的输出值U,所以执行器对应的输出值U = Kp * ( currentValue - totalValue )
  • 如果只有比例调节的话,系统会震荡的比较厉害。
2.微分系数D
  • 微分,实际上是对误差进行微分。加入误差1是err(1)。误差2是err(2)。则误差err的微分是 (err2 - err1)。乘上微分系数D,大家叫做KD,则当执行器第1次调节后有了第1次的误差,第2次调节后有了第2次的误差,则结合P系数。就有了PD结合,根据每次调节时,误差的值的经验推算,你就能选取出D的系数。
  • 公式为 U(t) = Kp × err(t) + Kd × derr(t)/dt
3.积分系数I
  • 积分,实际上是对误差的积分,也就是误差的无限和
所以总公式为 image.png

三、辅以例子理解

1.比例控制:
现在有一水缸,当前水位是0.2米,要通过往缸里加水的方式使其水位维持在1米的高度。那么当前水位和目标水位之间的差值是error,为0.8米。
如果单纯的用比例控制算法,就是指加入的水量u和误差error是成正比的。
假设kp取0.5,那么t=1时(表示第1次加水,也就是第一次对系统施加控制),那么u=0.5*0.8=0.4,加水0.4m,达到0.6m
接着,t=2时刻(第2次施加控制),加水0.2m,达到0.8m
如此这么循环下去,就是比例控制算法的运行方法。
可以看到,如果不存在 稳态误差,最终水位会达到我们需要的1米。

图片解释更加清楚

2.稳态误差
系统从一个稳态过渡到新的稳态,或系统受扰动作用又重新平衡后,系统出现的偏差。
投射到上述例子中就是水缸会漏水。
如果每次加水的时候会漏水0.1m,我们会发现是加不到1m的,所以引入积分控制算法



3.积分控制算法
还是用上面的例子,第一次的error是0.8,第二次是0.4,至此,误差的积分(离散情况下积分其实就是做累加),∫∫error=0.8+0.4=1.2. 这个时候的控制量,除了比例的那一部分,还有一部分就是一个系数ki乘以这个积分项。
由于这个积分项会将前面若干次的误差进行累计,所以可以很好的消除稳态误差(假设在仅有比例项的情况下,系统卡在稳态误差了,即上例中的0.8,由于加入了积分项的存在,会让输入增大,从而使得水缸的水位可以大于0.8,渐渐到达目标的1.0.)这就是积分项的作用。
4.微分控制算法
类似于阻尼作用,使控制更加稳定
放入上面的例子中就是当发现水缸里的水快要接近1的时候,加入微分项,可以防止给水缸里的水加到超过1米的高度,说白了就是减少控制过程中的震荡。

四、资料参考

PID算法终于弄明白原理了,原来就这么简单
一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)

相关文章

  • PID学习(一):基本概念+例子理解

    一、定义 在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称[PID调节器],是...

  • 神经网络与深度学习第二章阅读

    第二章机器学习概述 2.1 基本概念 基本概念:样本、特征(属性)、标签、模型、学习算法这里举了一个买芒果的例子。...

  • 一、STL理论基础

    学习重点 STL基本概念 理解容器的概念 理解迭代器的概念 理解算法的概念 1.STL基本概念 STL(Stand...

  • test.html

    产品列表 例子代码: ng-click 为点击事件showpop(pid) 调用弹出层的方法.具体代码如下pid ...

  • ROS机器人底盘(8)-Firmware的代码分析(2)

    PID 直接贴出代码,应该不难理解pid.h pid.cpp 通讯部分 Transport接口 数据报接口 bsp...

  • 学习PID

    最近在想自己的文章有些是不是写的太难以理解了呢.........竟然好多人看了还是会直接问我很多问题..........

  • Elasticsearch 入门学习

    基本概念 ES有些核心基本概念需要先理解,对后续的学习有帮助 1.Near Realtime(NRT):ES是近似...

  • Vue学习-基本概念理解

    登录Vue的网站,来到教程学习这个页面,首先映入眼帘的就是这句话:Vue (读音 /vjuː/,类似于 view)...

  • Linux入门09-Linux根文件系统层级标准FHS

    学习了Linux目录体系结构,理解Linux设备、字符设备、块设备基本概念。

  • MAT说明文档

    1. 基本概念 1.1 如何理解价格的变化和趋势? 举个例子:把地球围绕太阳公转的椭圆形轨道做360度划分。距离...

网友评论

      本文标题:PID学习(一):基本概念+例子理解

      本文链接:https://www.haomeiwen.com/subject/hfvoactx.html