源代码参考 PID的Python实现_python写一个pid-CSDN博客
在机器学习中,需要通过计算大量数据信息来逼近目标值。本文通过具体例子,演示PID不同的参数值如何逼近目标值。例子设定的目标为20.
1、只改变P值。当KP值从10调到21后,曲线往复震动次数变少。这说明机器减少了逼近目标值的学习次数。见图1、2
图1:
Current KP: 10.0
Current KD: 1.0
Current KI: 50.0
图2:
Current KP: 21.0
Current KD: 1.0
Current KI: 50.0
2、只改变D值。当KD值从1调到6后,曲线就变得粗糙。图3顶端在25以下。而图2顶端超25很多。这说明机器在尝试提高每次学习的偏差,减少超调。见图2、3
图3:
Current KP: 21.0
Current KD: 6.0
Current KI: 50.0
3、只改变I值。当KI值从100调到1后,机器可以稳定消除稳态误差,不超调。见图4、5
图4:
Current KP: 21.0
Current KD: 6.0
Current KI: 100.0
图5:
Current KP: 21.0
Current KD: 6.0
Current KI: 1.0
重要说明:我在实验过程中发现,过度调整PID值很有可能使得机器调整学习的过程变得很不稳定。后续尝试让机器快速调整最优的PID值,以最短的时间达到目标值。