一 原理

1.比例控制(P)

比例控制是PID控制的基础部分,其核心在于对当前误差的响应。误差是设定值(目标值)与实际输出之间的差。比例控制的输出公式为:
  P = K p × e ( t )   \ P = K_p \times e(t) \  P=Kp×e(t) 

  • K_p(比例增益):控制系统对误差的敏感度,增大该值会使系统更快响应,但也可能导致系统不稳定。
  • 优缺点
    • 优点:能够快速响应变化。
    • 缺点:在稳态时可能存在误差(稳态误差),即实际值无法完全达到设定值。
2. 积分控制(I)

积分控制旨在消除稳态误差,通过对误差进行累积,使得控制系统在长时间运行时能够达到设定值。其公式为:

I = K i × ∫ 0 t e ( τ ) d τ I = K_i \times \int_0^t e(\tau) d\tau I=Ki×0te(τ)dτ

  • K_i(积分增益):影响误差的累积速度,过大的积分增益可能导致系统过度调整,造成振荡。
  • 优缺点
    • 优点:有效消除稳态误差。
    • 缺点:容易引起超调和振荡,尤其在增益设置不当时。
3. 微分控制(D)

微分控制用于预测误差的未来趋势,从而对误差的变化做出响应。其公式为:

D = K d × d e ( t ) d t D = K_d \times \frac{de(t)}{dt} D=Kd×dtde(t)

  • **K_d

(微分增益)**:控制对误差变化率的反应,增大该值可以减少系统的超调,但对噪声非常敏感。

  • 优缺点
    • 优点:提高系统的稳定性和响应速度。
    • 缺点:容易对测量噪声产生反应,可能引发不必要的控制调整。
PID控制器的综合输出

PID控制器的输出是以上三部分的综合,公式为:

u ( t ) = K p × e ( t ) + K i × ∫ 0 t e ( τ ) d τ + K d × d e ( t ) d t u(t) = K_p \times e(t) + K_i \times \int_0^t e(\tau) d\tau + K_d \times \frac{de(t)}{dt} u(t)=Kp×e(t)+Ki×0te(τ)dτ+Kd×dtde(t)

二 K_p、K_i、K_d对系统的作用与影响

这下把pid给演明白了


从视频可以直观感受到各个参数对于系统调节的作用:

1. 比例增益 (K_p)

作用:比例控制的主要目的是根据当前误差生成控制输出。(K_p)直接影响控制系统对误差的响应强度。

影响

  • 增大(K_p)

    • 快速响应:系统对误差变化的响应更快。
    • 可能出现超调:当系统接近设定值时,可能会因为过度反应而超过目标值。
    • 稳定性问题:过高的比例增益可能导致系统不稳定,产生持续振荡。
  • 减小(K_p)

    • 响应变慢:系统的调整变得较为缓慢。
    • 稳态误差:在稳定状态下可能存在误差,实际值无法完全达到设定值。
2. 积分增益 (K_i)

作用:积分控制的目标是消除稳态误差。它通过累积过去的误差来调整控制输出。

影响

  • 增大(K_i)

    • 消除稳态误差:随着时间的推移,系统能够逐渐消除任何持久的误差。
    • 可能导致振荡:如果(K_i)设置过高,可能导致系统反应过度,产生振荡或不稳定。
  • 减小(K_i)

    • 提高稳定性:系统的响应更加平稳,减少振荡。
    • 存在稳态误差:可能无法完全消除长时间存在的误差。
3. 微分增益 (K_d)

作用:微分控制预测误差的未来变化,能够提高系统的动态性能。

影响

  • 增大(K_d)

    • 提高稳定性:对误差变化率的敏感性可以减少超调,改善系统的稳定性。
    • 减少振荡:通过对快速变化的误差进行抑制,能够减小系统的振荡。
  • 减小(K_d)

    • 响应变慢:系统对误差变化的反应变得迟钝。
    • 可能增加超调:缺乏预测性控制可能导致在接近目标时出现较大的超调。
总结

在实际应用中,PID控制器的参数设置通常是一个平衡过程:

  • **(K_p)**决定了系统的快速响应能力,但需要谨慎避免过高以免引发不稳定。
  • **(K_i)**可以消除稳态误差,但过高会导致系统振荡。
  • **(K_d)**提供了对误差变化的预测,有助于提高系统稳定性,但过低则可能导致过度反应。

三 调参方法

1. 手动调节法

手动调节是最直观的方法,适合小规模和简单的控制系统。

  • 步骤
    1. 设定初值:从小的(K_p)、(K_i)、(K_d)开始,通常设置(K_i)和(K_d)为0。
    2. 增加(K_p):逐步增加(K_p)的值,观察系统响应。理想情况下,系统应能快速接近设定值。
    3. 观察超调和稳定性:当系统开始出现超调时,记录下这个值。然后略微减小(K_p)以消除过度反应。
    4. 引入(K_i):逐步增加(K_i),以消除稳态误差。注意观察,过大的(K_i)可能会引起振荡。
    5. 引入(K_d):最后添加(K_d)以改善系统的响应速度和稳定性,尤其是对于快速变化的情况。
2. Ziegler-Nichols调节法

这是一个经典的经验法则,适用于多数线性系统。

  • 步骤
    1. 找出临界增益((K_u)):将(K_i)和(K_d)设置为0,逐步增加(K_p),直到系统出现持续振荡,记录此时的(K_p)值为(K_u)。
    2. 记录振荡周期((T_u)):同时记录振荡的周期,这个值为(T_u)。
    3. 计算PID参数
      • K p = 0.6 × K u K_p = 0.6 \times K_u Kp=0.6×Ku
      • K i = 2 K p / T u K_i = 2K_p/T_u Ki=2Kp/Tu
      • K d = K p ∗ T u / 8 K_d = K_p*T_u/8 Kd=KpTu/8

在对无人机、水下机器人调参时,注意先对姿态作调整,姿态稳定后再调节位置参数

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐