zoukankan      html  css  js  c++  java
  • PID控制

    什么是PID控制

    首先举个例子,比如考驾照时候的S弯,当你刚摸车的时候,你往往无法做到一步到位,完美漂移过弯,你需要观察车辆速度是不是太快,车头是不是过线,同时调整方向盘、油门和刹车。这种通过周围环境的反馈进行修正控制的方式就被称为反馈控制,PID就是其中典型的、应用最广泛的一种。

    PID控制详解

    PID就是指比例(proportion)、积分(integral)、微分(derivative)
    ,这三项表示我们如何使用我们的误差来产生控制指令,整个流程如下:
    image
    即档得到系统的输出后,将输出经过比例、积分、微分三种运算方式,叠加到输入中,从而控制系统的行为。
    下面用例子对三种控制方法进行说明

    比例控制

    我们想让这个小车沿着绿线向前走,我们给P设置一个固定的值,这个值可以让离开绿线的小车向绿线的方向行驶,离的越远,方向盘打的角度越大,离的越近,方向盘打的角度越小。橙色的箭头表示小车行进的方向。
    image
    P值越大,小车的反应越快,P值越小,小车的反应越慢,所以这三个小车第一次到达绿线的时间是不一样的。虽然P值大能够较快的到达绿线,但是反应比较剧烈,总是因为过快冲过了头。相反P值小的反应比较平缓,但是它反应太慢,我们有时候接受不了。

    微分控制

    为了不让这个小车偏离车道线过大,我们再给它加一个力,这个力就是D,让这个力来起一个作用,就是让小车越接近绿线的时候,接近绿线的速度越慢,小车越远离绿线的时候,接近绿线的速度相对较快,这个接近绿线的速度不是小车前进的速度,是小车与绿线平行线之间的相对速度。
    image
    如果D值过大,也就是小车靠近绿线的阻力过大,这样会让小车需要比较长的时间才能到达绿线上方。
    如果D值设置的过小,也就是小车靠近绿线的阻力过小,那微分控制(D)就不会对比例控制产生大的影响,所以虽然小车能够较快到达绿线,但小车需要多调整几次,在绿线的两侧往复几次后才能到达绿线上方行驶。
    image

    积分控制

    比例控制(P)和微分控制(D)的配合,貌似已经很完美了。为什么还要有积分控制(I)?
    设置合适的P值和D值,可以让小车很好的沿着绿线一直走,但路上不是很平坦,会有些坑坑包包,或者其他的一些干扰,路况不好就会让小车的行进路线发生偏移,并且会随着时间的增加,偏移越来越大,这时候就需要积分控制(I)来消除误差。
    image
    如果I值过大,积分控制(I)调整的力就会比较大,它在帮P的时候会用力过猛,会让小车冲过绿线,下次帮忙的时候还是用力过猛,P表示很无奈,毕竟I也是好心,经过几次调整后,小车终于回到绿线上面,但我们看小车的轨迹线产生了一定的振荡。
    如果I值过小,积分控制(I)调整的力就会比较小,就像有一个手无缚鸡之力的柔弱小鲜肉一样,帮不上太大的忙,所以小车回到正确轨迹的时间就会比较长。

  • 相关阅读:
    win7颜色反转
    全框眼镜拆卸镜片方法分享
    自定义锁屏图片 win7
    保存chrome主题背景的图片
    广域网设计
    网络方案设计
    电脑不能上网win7 解决办法
    局域网设计
    以太网安全技术ACL原理+配置
    协议无关组播--稀疏模式 PIM-SM
  • 原文地址:https://www.cnblogs.com/cokefentas/p/14734642.html
Copyright © 2011-2022 走看看