【问题标题】:The I in Proportional Integral Derivative [closed]比例积分导数中的 I [关闭]
【发布时间】:2011-03-20 22:53:24
【问题描述】:

PID(比例积分微分)中的 I 是前几个误差的总和,仅由增益加权。

error(-1) 表示前一个错误,error(-2) 表示之前的错误,等等...'I'可以描述为:

I = (error(-1) + error(-2) + error(-3) + error(-4) 等等...) * I_gain

为什么在设计 PID 时“我”没有设计为将重要性倾斜到过去,例如:

I = (error(-1) + (error(-2) * 0.9) + (error(-3) * 0.81) + (error(-4) * 0.729) + etc...) * I_gain

编辑:改写

【问题讨论】:

  • 我认为这是题外话。试试math.stackexchange.com
  • 我认为最后几个错误的总和是积分。导数是误差的变化,而不是总和。导数会“抑制”系统,如果它太低,系统就有可能变得不稳定,因此您的积分永远不会变小。
  • 谢谢,您的权利,已更正。令人讨厌的是,它可以进入任一堆栈站点,如果我在这里没有得到答案,我可能会在数学站点中重新发布。您是说积分没有将重要性降低到过去的错误加权的原因是因为 D 的影响?
  • D 和 P 的效果都会影响 I,反之亦然。如果您的 I 没有逐渐减少(即结果没有稳定为零),可能是因为您的 P 太大而 D 太小。大 P 会导致系统更快地归零,但如果您的 D 不足以抑制它,也会导致系统过冲。因此,您的系统不稳定,随着振荡越来越严重,我将继续增加。
  • 您将 FIR 滤波器与 PID 控制器混淆了。积分根本没有加权 - 它是所有过去错误的总和。

标签: math robotics


【解决方案1】:

积分项是所有过去错误的总和。您只需在每个时间步将错误添加到“积分器”。如果需要对此进行限制,则在超出范围时将其限制为最小值或最大值。然后将此累积值复制到您的输出中,并添加比例和微分项,并在必要时再次钳位输出。

导数项是当前误差和先前误差的差值(误差的变化率)。 P 当然只是与误差成正比。

错误 = 参考 - new_measurement I += kI * 错误 导数 = err - old_err 输出 = I - kD * 导数 + kP * err old_err = 错误

你有它。当然省略了限制。

一旦控制器达到参考值,误差将为零,积分器将停止变化。噪声自然会使其反弹一点,但它会保持在满足您的目标所需的稳定状态值,而 P 和 D 项完成大部分工作以减少瞬变。

请注意,在稳态条件下,I 项是唯一提供任何输出的项。如果控制已达到参考值并且这需要非零输出,则它仅由积分器提供,因为误差为零。如果 I 项使用加权误差,它将开始衰减回零,并且不会根据需要维持输出。

【讨论】:

  • 我不认为这意味着所有以前的错误,在您停止计算以前的一些错误之后,例如以前的 20 个错误,我们被指示在我们的“I”中使用最后 4 个错误'。
  • 谁指示你这样做的?
  • 这不是最后 4 个,我已经重新询问,它是最后 10 秒的值(所以更像是数百个),但每个人都说不要让“我”永远回去,因为这不是一种明智的 PID 处理方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
  • 1970-01-01
相关资源
最近更新 更多