0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文了解透彻PID控制

jf_78858299 来源:汽车学堂Automooc 作者:汽车学堂 2023-05-19 16:44 次阅读

PID及其衍生算法,是目前工业应用最为广泛的算法之一,是当之无愧的万能算法!

对于研发人员来讲,熟练掌握了PID算法的设计与实现过程,就足够应对一般的研发问题了。

PID概念

PID是比例(Proportional)、积分(Integral)、微分(Derivative)的缩写,将偏差的比例、积分、微分通过线性组合构成控制量,用这一控制量对被控对象进行控制。

PID的控制流程简单到不能再简单,如图1所示:

图片

图1:PID控制流程

通过这张流程图,我们可以看到PID也是反馈控制,在PID控制中:

1.

第一步

根据反馈值和期望值求出误差,比如轨迹跟踪控制中,这个误差就是车辆当前位置和期望路径之间的距离;

2.

第二步

求出误差之后,再根据这个误差值进行比例、积分和微分三项的计算,其中K p ,Ki和Kd分别是这三项的系数,表示这三项对输出控制量的影响的比重。

3.

第三步

最后将计算出来的比例、积分和微分三项进行求和,就得到最后输出的控制量了。

PID的结构是可以灵活改变的,因为根据实际情况,比例、积分、微分三项并不是都需要发挥作用的,所以PID控制器又往往可以变成P控制器和PD控制器。

接下来我们以轨迹跟踪为例来分别讨论:比例、积分、微分这三项的意义。

P概念

考虑一个简单的情况,假设我们希望自动驾驶小车沿着图中的路线行驶,但小车在如图2所示的位置,那么需要转多少度呢?

图片

图2:小车初始位置

如果我们给其输入一个固定的值来转向,那么小车的轨迹将会图3中所示:小车会沿着车道中心线走蛇形曲线。

图片

图3:固定值转向的小车行驶轨迹

显然,如果我们坐在这样的车上,一定会非常不舒服,因此驾驶技术娴熟的老司机在变道或是转向时,会一直调整方向盘,偏差大的时候转动更多的角度,偏差小的时候,则转角少一点。

PI中的P控制,也称为比例控制,就是根据不同的偏差输出不同的控制信号。控制器的输出和输入成正比,只要偏差出现,就能及时地产生与它成比例的控制信号,如下图所示。

图片

图4:比例控制

在轨迹跟踪控制的这个例子中可以用这个式子来表达:

steering=K p .e(t)

其中的e(t)就是期望值和反馈值的偏差,在这里指的是 辆偏离期望路径的距 ,Kp就是比例控制的系数,通常称为 比例参数

我们可以这样理解: 方向盘应该转动的角度是车辆偏离当前车道的距离的倍数,这个倍数就是Kp

在P控制中系数Kp会直接影响实际的控制效果。在合理的数值范围内,Kp越大控制的效果越好,小车会越快的回到期望路径附近,对比如图5所示。

图片

图5:不同Kp时小车行驶轨迹

但是,如果小车本身的位置距离期望路径很远,并且Kp又比较大的时候,就会出现车辆失控的情况,如图6所示:

图片

图6:Kp过大时车辆失控

如果单纯地使用比例控制,小车可能会不停的穿越期望路径,并且来回调整,并不能稳稳地按照车道中心线行驶。在控制领域中,称这种现象为“ 超调 ”。

PD概念

这样看来PD控制好像已经能够实现较好的控制效果了,但这只是对于正常的情况,当环境存在扰动的时候。

比如说路面不平,车辆在受到外力作用下发生轻微偏移之后,由于比例控制倾向于向车道中心线方向运动,而微分控制则希望抵消这种倾向,这时候就可能造成车辆行驶路线与期望路径之间有一个持续的偏差(如图7所示),从而使得车辆始终无法沿着期望路径行驶,这种偏差我们称作“ 稳态误差 ”。

图片

图7:小车受扰动后产生偏移后的轨迹

为了消除稳态误差,我们需要再引入一项—— 积分项 。我们同样把偏差的积分乘以一个系数K i ,加入到比例微分控制的表达式中去:

图片

那么现在的控制输出就变成了比例项、积分项和微分项的和的形式,现在控制器就由PD控制器变成了PID控制器,也就是比例、积分、微分控制器。

积分控制其实很好理解,稳态误差持续一段时间后,车辆的真实轨迹跟期望路径会形成一个长条形的区域。这个区域可以称之为累积误差****。

这个累积误差,实际上是长条形区域的面积,而这个区域的面积就可以用偏差的积分来表示。

加入积分项以后,控制函数会尽可能使车辆实际运行轨迹的积分尽可能小(也就是使车辆实际运行轨迹和期望路径之间形成的形状的面积尽可能小),那么也就能够实现消除稳态误差了。

现在我们需要调节的系数变成三个了,同样的,这里的积分项系数Ki的大小也会影响整个控制系统的稳定性,如图8所示:

图片

图8:图不同Ki时小车行驶轨迹

如果Ki过大,控制器会变得不稳定,因为正常的控制器波动会被夸大。

如果Ki太小,又会使控制的车辆脱离稳态误差需要较长的时间,这在某些情况下势必会使车辆处于一个危险的境况。

只有当Ki恰到好处时,车辆才能快速接近理想轨迹

总结

我们同时考虑了车辆的偏离程度、向期望路径靠拢快慢、持续偏离误差三个因素来控制车辆实现轨迹跟踪,这就是比例-积分-微分控制(PID)。

这是用车辆轨迹跟踪的案例来进行解释的,我们再总结PID的每一个环节:

比例控制的作用是根据偏差的大小,使控制量向减少偏差的方向变化,控制作用的强弱取决于比例系数K p ,Kp越大控制越强,但是过大的Kp会导致系统震荡,产生“超调”,破坏系统稳定性。

微分控制的作用是根据偏差的变化速率,阻止偏差的变化。有助于减小超调量,克服震荡,使系统趋于稳定。

积分控制能够消除系统的稳态误差,同时也能够促进控制量向减少偏差的方向变化。

选择合适的K p ,Kd和Ki是使用PID控制器的关键,而三个参数的值需要通过不断尝试、调整并结合实际工作经验进行确定。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4599

    浏览量

    92639
  • 控制
    +关注

    关注

    4

    文章

    1010

    浏览量

    122622
  • PID
    PID
    +关注

    关注

    35

    文章

    1471

    浏览量

    85286
收藏 人收藏

    评论

    相关推荐

    基于STM32的PID控制资料

    本资料共11节高清视频,从经典的位式控制理论到PID算法原理讲解,最后结合STM32实现温度控制全过程。本视频配合全部源代码和相关硬件资料。看完后能
    发表于 08-30 10:54

    详解PID串级控制

    概念: 串级控制系统是改善控制质量的有效方法之,在过程控制中得到了广泛的应用。所谓串级控制,就是采用两个
    发表于 10-22 10:11

    PID控制算法仿真与控制

    PID控制算法仿真与控制:了解计算机控制过程,及用不同种高级语言编写实验程序的方法与特点。单回路温度控制
    发表于 07-01 18:25 42次下载

    数字PID控制实验

    数字PID控制实验 Ⅰ 标准PID 控制算法.实验要求1. 了解和掌握连续
    发表于 05-15 00:18 8005次阅读
    数字<b class='flag-5'>PID</b><b class='flag-5'>控制</b>实验

    温度控制PID算法的C语言程序

    温度控制PID算法的C语言程序,以前寫論收集的些資料
    发表于 06-06 10:00 64次下载

    PID控制C源程序

    以前寫論收集的些資料,學習PID控制的好資料!!!!
    发表于 06-06 10:00 1次下载

    PID控制C源程序

    以前寫論收集的些資料,學習電路、PID控制的好資料!!!
    发表于 06-21 15:39 1次下载

    PID控制器与PID算法的研究

    想进了解 PID 控制器,必须首先熟悉PID 算法,这也是笔者为什么在下面的内容里大费周章讨论这个问题的原因所在。
    发表于 11-21 17:03 29次下载

    阐述PID控制算法精华

    因此要实现PID算法,必须在硬件上具有闭环控制,就是得有反馈。比如控制个电机的转速,就得有个测量转速的传感器,并将结果反馈到
    发表于 02-06 18:15 3403次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>阐述<b class='flag-5'>PID</b><b class='flag-5'>控制</b>算法精华

    pid控制器的输入输出_PID控制器的控制实现

    本文首先介绍的是PID控制器的工作原理,其次介绍的是pid控制器的输入输出,最后介绍了PID控制
    的头像 发表于 06-01 09:09 2.9w次阅读

    详解PID控制

    本文主要详细介绍了PID控制,具体的跟随小编一起来了解下。
    的头像 发表于 10-05 09:54 9310次阅读

    带你搞懂PID

    (proportional)、积分(integral)、微分(derivative),是种很常见的控制算法。 PID已经有107年的历史了, 它并不是什么很神圣的东西,大家定都见过
    的头像 发表于 09-18 09:50 2519次阅读

    了解PID

    了解PID1、所谓PID指的是Proportion-Integral-Differential。翻译成中文是比例P-积分I-微分D。记住两句话:1、PID是经典
    发表于 01-14 11:09 1次下载
    <b class='flag-5'>了解</b><b class='flag-5'>PID</b>

    如何使用PID控制算法优化控制系统

    当涉及到控制系统中的精确调节和稳定性,PID(比例-积分-微分)控制算法是种不可或缺的工具。本文将简单介绍 PID
    的头像 发表于 08-29 16:39 2809次阅读
    如何使用<b class='flag-5'>PID</b><b class='flag-5'>控制</b>算法优化<b class='flag-5'>控制</b>系统

    带你了解 DAC

    了解 DAC
    的头像 发表于 12-07 15:10 8591次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>带你<b class='flag-5'>了解</b> DAC