理解了PID的原理后,一个很重要的问题摆在我们面前:如何调整这三个参数呢?

最简单的方法就是一切随缘,参数具体多少看心情,小车能不能沿着黑线走,管它呢。

开个玩笑,现在闲话少叙,步入正题。
首先介绍PID三个参数对系统的影响: 用图像表示:

具体如何调整呢?现在介绍一种比较简便的方法,即齐格勒-尼科尔斯方法。

  1. 首先将Ki和Kd值设为零,也就是说只用P控制。
  2. 将电机的初始速度尽可能调小,最大时速的30%~40%就够了。
  3. 将Kp设为一个合理的值,尽量小(真的可以随缘)。
  4. 试试小车能不能沿着黑线走,如果不能就增大Kp,如果小车左右摇摆剧烈就减小Kp,直到小车可以沿着黑线走并有可注意到的左右摇摆(不是疯狂地摇摆!),将此时的Kp设为Ku,并计算小车摇摆的周期(从黑线一边摆到另一边再回到初始边所用时间),记为Pu,大概是0.5s~2s。
  5. 选择控制器种类,参照下表数据,计算三个参数Kp,Ki,Kd。尽量不要使用D,因为微分控制一般不用于速度很低的物体,如果使用可能会出现微分过冲的情况,即小车速度忽然过快,冲出黑线。
  6. 测试小车,根据实际,调整Kp,Ki和Kd值以获得最佳性能。
    例如:
    • 小车在直线左右抖动频繁,减少Kp的值或减少Kd值
    • 小车在弯道的时候转不过去,增大Kp的值或增大Ki值
    • 小车经过弯道回直线时冲出黑线,增大Kd的值或减少Ki值

以上的总结不一定适用,要让小车以高速且顺滑的跑起来,这还得靠大家有一定的数学知识和耐性,在理解PID原理的同时优化PID的参数。