PID再回炉学习

2019-02-22  本文已影响4人  Allen的光影天地
read e;
e_dot = e - e_old;  // 当前误差之差
E = E + e;  // 累计误差
// 这里的KI和KD参数包含了 *和/ (t_dot)
// 在如下式子可清晰看出,控制量就是,当前偏差(线性)+累计偏差(积分)+偏差变化率(微分)
u = KP * e +  KI * E + KD * e_dot;
e_old = e;

控制系统:汽车达到给定速度R.
x为实际水面高度。
e = R - x

第一种最简单的策略:

u = Ke
u可以理解为油门开度

方案的缺陷:
如下图所示:该系统永远存在一个跟速度成正比的速度漏洞,这就是所谓的稳态误差,当达到匀速行驶的时候,当前速度与我们想要的给定速度,永远差一小节。
最后时刻,通过微小的偏差e产生的加速度,正好和风的逆行推力抵消。所以永远跟不上给定值。
也就是所谓的稳态误差。


I的意义

第二种方案:加入一个跟着累计误差成正比的积分I项

累计偏差正常情况都会产生超调,知道上下波动调节,使得积分项正好补上逆行推力。
所以加入积分项产生震荡是很正常的。

最后的微分项

其实就是加入了当前的偏差,配合快速到稳态。 同样因为微分项只看当前偏差,所以他对扰动异常敏感。在加入微分项的时候需要谨慎!!!

上一篇 下一篇

猜你喜欢

热点阅读