PID的含义

控制系统通常根据有没有反馈会分为开环系统闭环系统,PID是一个闭环控制算法。因此要实现PID算法,必须在硬件上具有闭环控制,就是得有反馈。比如控制一个电机的转速,就得有一个测量转速的传感器,并将结果反馈到控制路线上。
PID三个部分分别为:

  • P:比例环节
  • I:积分环节
  • D:微分环节

所以PID是比例(P)、积分(I)、微分(D)控制算法。但并不是必须同时具备这三种算法,也可以是PD,PI,甚至只有P算法控制。
我以前对于闭环控制的一个最朴素的想法就只有P控制,将当前结果反馈回来,再与目标相减,为正的话,就减速,为负的话就加速。现在知道这只是最简单的闭环控制算法。

PID算法可以自动对控制系统进行准确且迅速的校正,因此被广泛地应用于工业控制系统。(而且在工业控制系统中,常常是PID算法一招吃遍天下)

开环控制

首先来看开环控制系统,如下图所示,小人蒙着眼,需要走到虚线旗帜所表示的目标位置,由于缺少反馈(眼睛可以感知当前距离和位置,由于眼睛被蒙上没有反馈,所以这也是一个开环系统),最终小人会较大概率偏离预期的目标,可能会运行到途中实线旗帜所表示的位置。

开环系统的整体结构如下所示;

  • Input:告诉小人目标距离的直线位置(10米);
  • Controller:小人大脑中计算出到达目标所需要走多少步;
  • Process:双腿作为执行机构,输出了相应的步数,但是最终仍然偏离了目标;

看来没有反馈的存在,很难准确到达目标位置。

闭环控制

所以为了准确到达目标位置,这里就需要引入反馈,具体如下图所示;

在这里继续举个不怎么恰当的比喻;小人重获光明之后,基本可以看到目标位置了;

  • 第一步 Input:告诉小人目标距离的直线位置(10米);
  • 第二步 Controller:小人大脑中计算出到达目标所需要走多少步;
  • 第三步 Process:双腿作为执行机构,输出了相应的步数,但是最终仍然偏离了目标;
  • 第四步 Feedback: 通过视觉获取到目前已经前进的距离,(比如前进了2米,那么还有8米的偏差);
  • 第五步 err:根据偏差重新计算所需要的步数,然后重复上述四个步骤,最终小人达到最终的目标位置。

PID系统架构

虽然在反馈系统下,小人最终到达目标位置,但是现在又来了新的任务,就是又快又准地到达目标位置。所以这里小人开始采用PID Controller,只要适当调整P,I和D的参数,就可以到达目标位置,具体如下图所示;

小人为了最短时间内到达目标位置,进行了不断的尝试,分别出现了以下几种情况:

  • 跑得太快,最终导致冲过了目标位置还得往回跑;
  • 跑得太慢,最终导致到达目标位置所用时间太长;

经过不断的尝试,终于找到了最佳的方式,其过程大概如下图所示;

这里依然举一个不是很恰当的比喻;

  • 第一步:得到与目标位置的距离偏差(比如最开始是 10米,后面会逐渐变小);
  • 第二步:根据误差,预估需要多少速度,如何估算呢,看下面几步;

P(比例)

比例控制规律P:采用P控制规律能较快地克服扰动的影响,它的优点在于输出值较快,但不能很好稳定在一个理想的数值,不良的结果是虽较能有效的克服扰动的影响,但有余差出现。它适用于控制通道滞后较小、负荷变化不大、控制要求不高、被控参数允许在一定范围内有余差的场合。如:金彪公用工程部下设的水泵房冷、热水池水位控制;油泵房中间油罐油位控制等。
P比例则是给定一个速度的大致范围,满足下面这个公式:

  • Kp——比例系数
  • e(t)——偏差

说明其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。
比例作用相当于某一时刻的偏差(err)与比例系数Kp的乘积,具体如下所示

绿色线为上述例子中从初始位置到目标位置的距离变化; 红色线为上述例子中从初始位置到目标位置的偏差变化,两者为互补的关系;

I(积分)

I(积分)则是误差在一定时间内的和,满足以下公式;

  • Ki——积分系数
  • e(t)——偏差

在积分控制中,控制器的输出与输入误差信号的积分正比关系。
对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入"积分项"。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到接近于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后几乎无稳态误差。
如下图所示:

红色曲线阴影部分面积即为积分作用的结果,其不断累积的误差,最终乘以积分系数Ki就得到了积分部分的输出;

D(微分)

微分是误差变化曲线某处的导数,或者说是某一点的斜率。所以在微分控制中,控制器的**输出与输入误差信号的微分(即误差的变化率)**成正比关系。

  • Kd——微分系数
  • e(t)——偏差

自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用, 其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化"超前",即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入 “比例"项往往是不够的,比例项的作用仅是放大误差的幅值,而需要增加的是"微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。

从图中可知,当偏差变化过快,微分环节会输出较大的负数,作为抑制输出继续上升,从而抑制过冲。

比例、积分好微分的比较

比例,反应系统的基本(当前)偏差e(t),系数大,可以加快调节,减小误差,但过大的比例使系统稳定性下降,甚至造成系统不稳定;
积分,反应系统的累计偏差,使系统消除稳态误差,提高无差度,因为有误差,积分调节就进行,直至无误差;
微分,反映系统偏差信号的变化率e(t)-e(t-1),具有预见性,能预见偏差变化的趋势,产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除,因此可以改善系统的动态性能。但是微分对噪声干扰有放大作用,加强微分对系统抗干扰不利。
积分和微分都不能单独起作用,必须与比例控制配合
比例积分控制规律(PI):在工程中比例积分控制规律是应用最广泛的一种控制规律。积分能在比例的基础上消除余差,它适用于控制通道滞后较小、负荷变化不大、被控参数不允许有余差的场合。如:在主线窑头重油换向室中F1401到F1419号枪的重油流量控制系统;油泵房供油管流量控制系统;退火窑各区温度调节系统等。
比例微分控制规律(PD):微分具有超前作用,对于具有容量滞后的控制通道,引入微分参与控制,在微分项设置得当的情况下,对于提高系统的动态性能指标,有着显著效果。因此,对于控制通道的时间常数或容量滞后较大的场合,为了提高系统的稳定性,减小动态偏差等可选用比例微分控制规律。如:加热型温度控制、成分控制。需要说明一点,对于那些纯滞后较大的区域里,微分项是无能为力,而在测量信号有噪声或周期性振动的系统,则也不宜采用微分控制。如:大窑玻璃液位的控制。
比例积分微分控制规律(PID):PID控制规律是一种较理想的控制规律,它在比例的基础上引入积分,可以消除余差,再加入微分作用,又能提高系统的稳定性。它适用于控制通道时间常数或容量滞后较大、控制要求较高的场合。如温度控制、成分控制等。

鉴于D规律的作用,我们还必须了解时间滞后的概念,时间滞后包括容量滞后与纯滞后。
其中容量滞后通常又包括:测量滞后和传送滞后。测量滞后是检测元件在检测时需要建立一种平衡,如热电偶、热电阻、压力等响应较慢产生的一种滞后。而传送滞后则是在传感器、变送器、执行机构等设备产生的一种控制滞后。
纯滞后是相对与测量滞后的,在工业上,大多的纯滞后是由于物料传输所致,如:大窑玻璃液位,在投料机动作到核子液位仪检测需要很长的一段时间。

比例系数Kp、积分系数Ki、微分系数Kd对系统的影响

综上,Kp、Ki、Kd,分别增加其中一项参数会对系统造成的影响总结如下表所示。

理论基础

上面扯了这么多,无非是为了初步理解PID在负反馈系统中的调节作用,下面开始推导一下算法实现的具体过程;PID控制器的系统框图如下所示;


因此不难得出输入e(t)和输出u(t)的关系:

Kp是比例增益; Ki是积分增益; Kd是微分增益。

离散化

PID算法-增量(详细)
在数字系统中进行PID算法控制,需要对上述算法进行离散化;假设系统采样时间为△t 则将输入e(t)序列化得到:

将输出u(t)序列化得到:

比例项:

积分项:

微分项:

所以最终可以得到下式,记为(1),也就是网上所说的位置式PID:

u(k)为实际输出,位置式 PID 需每次计算 u(k) 的实际值,并将 0时刻到 k时刻的所有状态值存储。可见,实现该式内存占用庞大,当计算机出现故障时会引起控制量的大幅度震动,从而可能带来不必要的损失。
将式(1)再做一下简化:

最终得到增量式PID的离散公式如下:

△u(k)为相邻两次采样间隔内控制量的差,这样,从前一时刻开始,当前的控制量就只与e(k -1) 、e(k -2)和e(k)有关。在计算机上实现控制时,也仅需将上述三个数据存储,便可得出控制器输出值。与此同时,其不会累积偏差,避免引起积分饱和。因此,增量式在实际情况中应用较为广泛。

PID算法流程

Kp,Ki,Kd三个参数的设定是PID控制算法的关键问题。一般说来编程时只能设定他们的大概数值,并在系统运行时通过反复调试来确定最佳值。因此调试阶段程序须得能随时修改和记忆这三个参数。
参数的自整定:在某些应用场合,比如通用仪表行业,系统的工作对象是不确定的,不同的对象就得采用不同的参数值,没法为用户设定参数,就引入参数自整定的概念。实质就是在首次使用时,通过N次测量为新的工作对象寻找一套参数,并记忆下来作为以后工作的依据。

总之,控制规律的选用要根据过程特性和工艺要求来选取,决不是说PID控制规律在任何情况下都具有较好的控制性能,不分场合都采用是不明智的。如果这样做,只会给其它工作增加复杂性,并给参数整定带来困难。当采用PID控制器还达不到工艺要求,则需要考虑其它的控制方案。如串级控制、前馈控制、大滞后控制等。

PID算法的基础知识相关推荐

  1. 机器学习算法的基础知识

    机器学习算法的基础知识 1.评估指标 2.偏差与方差(过拟合与欠拟合) 3.正则化(解决过拟合) 4.梯度下降算法(算法优化方式) 5.数据不平衡 1.评估指标 预测值 0 1 实际 0 TN FP ...

  2. 菜鸟学算法一基础知识篇

    菜鸟学算法<一>知识准备篇 刚刚上任,急着给兄弟们一点见面礼,嘿嘿 前言:论坛上有关算法分析的文章不少,也不少精品 但对于刚学CARACK来说,只是叹为观止 原因如下: 1.论坛高手如云, ...

  3. 数据结构基础:算法的基础知识笔记

    1.算法的概念 算法是问题求解过程中的精确描述,它为解决某一特定类型的问题规定了一个运算过程. 2.算法的特点 2.1 有穷性 一个算法必须在有穷的步骤结束后结束,并且每一步都在有穷时间内完成. 2. ...

  4. TCP系列39—拥塞控制—2、拥塞相关算法及基础知识

    原文:https://www.cnblogs.com/lshs/p/6038722.html 一.拥塞控制的相关算法 早期的TCP协议只有基于窗口的流控(flow control)机制而没有拥塞控制机 ...

  5. 数据结构之栈,栈是很多算法的基础知识,本文带你从0开始了解栈并手写一个栈

    栈(Stack) 一.目录 1.栈的基本介绍 2.栈的相关术语 3.栈的特点 4.栈实现的基本思路 5.栈的图解 6.数组实现栈的原码 7.栈的应用 二.正文 1.栈的基本介绍 栈的英文为Stack, ...

  6. 数据结构与算法学习——基础知识(一)

    数据结构与算法 线性结构和非线性结构 基本概念 线性结构 非线性结构 稀疏数组 基本概念 稀疏数组的处理方法 举例说明 应用实例 代码实例 队列 基本介绍 示意图 数组模拟队列 思路分析 代码实现 数 ...

  7. 深入理解机器学习——k近邻(kNN,k-Nearest Neighbor)算法:基础知识

    分类目录:<深入理解机器学习>总目录 k近邻(k-Nearest Neighbor,kNN)算法是一种常用的有监督学习算法,可以完成分类与回归的任务,其工作机制非常简单:给定测试样本,基于 ...

  8. 【广告算法】基础知识补充

    机器学习在饿了么竞价广告中的实践 - 文西的文章 - 知乎 https://zhuanlan.zhihu.com/p/32020522 校准部分一般采用保序回归校准的方式.-- 需要扩展<保序回 ...

  9. LabVIEW增量式PID算法控制房间温度变化的简单例子的程序

    PID相关的基础知识可以查看我之前写的博客: PID算法的基础知识 基于PID算法的房间温度控制 增量式PID算法控制房间温度变化的简单例子 LabVIEW简单的PID控制程序 前面板

最新文章

  1. 接受许可协议 将禁用_知识产权小知识|知识产权许可
  2. rocketmq 几种队列_关于RocketMQ的知识
  3. pix2pix损失函数理解(精)
  4. 单例设计模式八种写法
  5. carbondata 1.1.0安装文档
  6. 【报告分享】2020海外留学趋势报告.pdf(附下载链接)
  7. [科研论文]基于W7100的以太网读卡器的设计与实现
  8. ES6学习笔记四(数组)
  9. 网络请求返回数据格式_原生 Ajax 详解 - 响应数据格式
  10. Google退出中国的影响分析
  11. 多模块项目提示“Module ** must not contain source root **. The root already belongs to module **”的解决办法
  12. python的快捷键是什么意思_Python基础知识—快捷键
  13. 你真的会搜索资源吗?我来把我的资源搜索心得告诉你...
  14. 8:操作模式1-boot mode
  15. 计算机鼠标由传感器来监视,2020年人教版九年级物理全册:16.4“变阻器”过关检测练习题D卷...
  16. 5、JVM分代模型--新生代 的垃圾回收
  17. Sentinel系列之热点限流
  18. Internet Download Manager v6.36 Build 3 Final 注册版-IDM下载工具
  19. Elasticsearch - 搜索引擎Lucene
  20. Java-泛型的限定通配符

热门文章

  1. android下usb框架系列文章---(2)Usb mass_storage turn on的过程
  2. 重启rabbitmq服务
  3. android+final+框架,使用android快速开发框架afinal 开发android应用程序
  4. 性能测试指标及优化方案
  5. python学习笔记 day43 修改密码
  6. Python 图片色彩转为回忆中的色彩(附代码) | Python工具
  7. 30张设计师的手绘网页草图(原型图/框架图)
  8. 沉默的螺旋理论(转载)
  9. csdn设置自己的博客代码和博客的背景颜色
  10. T2VLAD: Global-Local Sequence Alignment for Text-Video Retrieval