PID的理解

关于理解PID控制算法最典型的一个例子就是一个漏水的水缸的问题。网上有很多讲解PID的帖子会讲到这个例子。这里我也把我自己对于PID的理解用这个例子阐述一遍。

有个漏水的水缸,而且漏水的速度还不是恒定的。然后我们还有个水桶,我们可以控制往水缸里面加水或者从水缸里面舀水出来。另外我们可以检测水平面。现在我们的目的就是要控制水平面稳定在我们想要的任何一个平面上。

注意我们使用PID需要在一个闭环系统里面。什么叫闭环系统,就是有输入有反馈,输入就是能输入一个量去影响和控制我们的系统,反馈就是我们要能知道我们最终控制的东西的状态。在这个漏水的水缸系统中,输入就是这个水桶,我们能通过水桶往水缸里面加水或者从水缸里面舀水出来来影响我们水缸的水平面,反馈的话也就是说我们要能测量水平面,知道水平面是多少。控制系统原理图如下:

我们来看看公式:

其中Kp为比例系数,Ti为积分时间常量,Td为积分时间常量。

比例控制理解

首先是比例控制。比例控制就好比是通过水桶往水缸加水或者从水缸舀水。假设我们需要把水平面稳定在A平面,而实际水平面在B平面,那么水平面差值Err=A-B,那这个时候我们需要往里面加水的量就是Kp*Err,Kp就是我们的比例控制系数。

如果A>B,Err为正,就往水缸里面加水;如果A<B,Err为负,就从水缸里面舀水出来。那么只要预期水平面和实际水平面有差值,我们都会通过水桶去加减水来调整系统。同时Kp的大小也有对系统的性能有影响。如果Kp的值比较大,优点是从B平面达到A平面的速度快,缺点是在B平面已经接近A平面的时候系统会产生比较大的震荡。如果Kp的值比较小,优点是B平面在接近A平面的时候系统震荡小,缺点是从B平面达到A平面的速度慢。

这里也许有人会有疑问,如果这里把比例控制系数Kp直接设置成1,然后加水的量直接为Err=A-B不就可以了。然而实际上很多系统是做不到这点的。比如温度控制系统,实际温度为10度,我要通过加热把温度提升到40度,这里难道我们能一次性准确的给系统加30度?显然这是做不到的。那么比例控制的最终结果是Err的值趋向于0。比例控制部分公式如下图:

微分控制理解

然后我们先看看微分控制。在我们的比例控制的作用下,Err是开始减小的(假设一开始预期水平面A大于实际水平面B,也就是说Err是一个正值),那么也就是说Err随时间是一条斜率小于0的曲线,那么在周期时间内,Err越大,微分的绝对值越大,那么也就对Err的减小速度是起到抑制的作用的,直到最后斜率为0微分才会停止作用。微分公式如下:

那么随着微分的影响,Err曲线的斜率最终是趋向于0的,如下图:

积分控制理解

积分控制部分的作用主要是用来消除静差。那么积分是怎样来消除静差的呢?

比例控制只能尽量将Err调节到0,而微分的作用是将曲线的斜率控制到0则停止对其作用,但斜率为0的时候Err并不一定为0。

这个时候我们就需要积分来起作用了。我们知道曲线的积分相当于曲线与x轴围出来的面积。如下图,积分作用的目的是使红色部分的面积和蓝色部分的面积的和为0,那么即使系统在比例控制和微分控制部分已经趋于稳定,只要Err不为0就会存在静差,只要存在静差那么积分就会对系统产生影响,直到系统的Err值为0。那么这样我们的PID控制在理论上就可以达到一个非常精确的控制效果。

来看看我们的积分公式部分:

PID算法离散化

假设采样时间间隔为T,则在k时刻:

偏差为e(k);

积分为e(k)+e(k-1)+e(k-2)+...+e(0);

微分为(e(k)-e(k-1))/T;

从而公式离散化后如下:

比例系数:Kp,

积分系数:Kp*T/Ti,可以用Ki表示;

微分系数:Kp*Td/T,可以用Kd表示;

则公式可以写成如下形式:

PID算法的离散形式就是这样了,这就是我们平时说的位置式PID。

接下来我们继续推算增量式PID,根据上面公式我们可以求得:

上式就是增量式PID的表现形式,计算出来的增量只跟最近三次的偏差值有关。注意这里计算出来的是增量值,也就是说如果我们要求u(k)的话应该是

那么PID的离散化就长不多是这样了,接下来我们看看PID的程序实现。

转载自:https://blog.csdn.net/qq229596421/article/details/51419813

这里有些关于PID相关的资料也讲得非常好,大家也可以学习下。

http://wenku.baidu.com/link?url=XtnOjEGrIev7ZUmlwAIR7IEMG0YTvxV3YKpZMsVbEu8FWRsgAeVTLmJCe2K99fjsHuAGHq1c6_s6pqv6JJdYoiA1KcSQVLkV6HIW-_0w88m

http://wenku.baidu.com/link?url=DliKXRLALX6O-uW6glxLb5xW4RWIQm0Ia1PAR4nN4cguFAChMyoYk2XOaikcbIKBWCgmVnVsYnBLN1Ephm7Ly2SHvWioAN3drWlUgvvbFmi

http://blog.gkong.com/liaochangchu_117560.ashx

控制理论PID的理解相关推荐

  1. PID的理解与实现(二)

    目录 前言 PID有什么用? 二.控制方式 1.离散控制和连续控制 2.连续系统控制 举个粒子 3.离散控制 总结: 前言 在上一章"PID的理解与实现一"中我们简单的介绍了PID ...

  2. PID及串级PID的理解

    PID及串级PID的学习 比例环节(P) 积分环节(I): 微分环节(D): (仅供本人学习使用) 在四轴中,PID起着至关重要的作用,对PID学习更加深入才能更了解四轴的平衡状态时如何实现的. 暂时 ...

  3. 增量式PID与位置式PID的理解与代码实现

    一.PID控制算法概述 PID 实指"比例 proportional"."积分 integral"."微分 derivative",这三项构 ...

  4. 十一.四轮车驱动开发之四:理解直流电机PID控制器

    这是"四轮车驱动控制"系列,分多个小节来介绍: 1. 八.四轮车驱动开发之一:正/逆向运动学分析 2. 九.四轮车驱动开发之二: 配置PWM驱动直流电机 3. 十.四轮车驱动开发之 ...

  5. 总结PID算法,位置式增量式理解以及C代码实现

    前言 近日刚接触PID,于是查找了所有资料(PID是经典算法,有很多文章),理解一大堆资料后,整理总结才写下在这篇博客. 自己也用STM32F103写些代码实现验证,先是单纯比例控制,后来PI控制,到 ...

  6. 从公式和波形上理解PID

    概述 看完大佬们对PID通俗易懂的解释之后,感觉自己又行了,但又感觉还差点意思.为什么呢?PID怎么说也是个控制算法,光理解个概念还不行,好歹得从公式.波形上再分析一下. 前言 看看大佬心中的PID ...

  7. [控制原理基础]浅谈PID算法

    一.PID使用背景 当今的自动控制技术都是基于反馈的概念.即一个In Loop闭环的理论,反馈理论的要素包括三个部分:测量.比较和执行.测量关心的变量,与期望值相比较,用这个误差纠正调节控制系统的响应 ...

  8. logcat --pid xx 查看某个进程的信息

    logcat --pid xx 这里的pid 自己理解为process id 就是进程的id 例如我们查看进程500的信息 就可以使用logcat --pid 500

  9. Linux中pid与tid的异同及top中pid字段含义

    简介 pid(process identifier),进程id.在整个操作系统中,每个进程的id唯一. tid(thread identifier),线程id.在一个进程中,每个线程的id唯一,不同的 ...

  10. 运动学习与控制-学习笔记(三)——运动控制理论

    运动学习与控制-学习笔记(三)--运动控制理论 一.理解控制理论以及两个重要概念 1.Motor Control Theory 2.两个重要概念:Coordination,Degree of Free ...

最新文章

  1. python json dumps 自定义_Python json.dumps 自定义序列化操作
  2. 网络编程学习笔记(recvfrom和sendto函数)
  3. C#编程(四十八)----------列表
  4. vlan绑定_图文并茂深入了解VLAN工作原理,不能错过干货
  5. 2021牛客暑期多校训练营6
  6. 31 MM配置-采购-采购申请-采购申请审批策略-定义审批过程
  7. python输入圆的半径公式_【同步练习】六年级数学上册圆的面积教材同步
  8. python json.dumps() 中文乱码问题
  9. 【matlab】画正六边形、矩形、圆形点阵
  10. golang GC机制
  11. 计算机 蓝牙鼠标卡顿,Win10使用蓝牙鼠标老是卡顿的原因及解决方法
  12. python多态_python多态和规范
  13. 在线教育颠覆传统教育
  14. 未压缩视频数据计算方式
  15. Mac家谱制作软件MacFamilyTree 9好用吗?如何在MacFamilyTree 9中创建数据库的备份?
  16. 汽车空调、刮水器和车窗控制
  17. Mac OS 如何让窗口显示在最前边,(用于录制屏幕提醒,以及屏幕分享,应用分享的UI窗口解决)
  18. 教学计划编制源代码c语言,《数据结构C语言》教学计划编制问题.doc
  19. 推荐测试网站的性能测试工具这最佳的12款
  20. 煎饼,娇妻,Belief:黄太吉的移动互联网营销

热门文章

  1. 2021年中国传统文化锦集(中国人必须了解的)
  2. 南佛罗里达大学计算机科学硕士,南佛罗里达大学计算机科学理学硕士研究生申请要求及申请材料要求清单...
  3. LCD 1602学习
  4. 搜索习题-传教士与野人问题
  5. HTML制作简单课程表
  6. 华为外包公司一面二面三面回顾
  7. python实现论文查重系统_python 手把手教你基于搜索引擎实现文章查重
  8. 用python计算工资工资_薪资计算-Python,薪水,python
  9. Ros自定义消息及使用
  10. 用java编国际象棋2之棋子的走法和吃法