我不了解 PID 控制器的组成部分。让我们假设这个来自维基百科的伪代码:
previous_error = 0
integral = 0
start:
error = setpoint - measured_value
integral = integral + error*dt
derivative = (error - previous_error)/dt
output = Kp*error + Ki*integral + Kd*derivative
previous_error = error
wait(dt)
goto start
积分在开始时设置为零。然后在循环中,它会随着时间的推移整合错误。当我对测量值或设定点进行(正)更改时,误差将变为正,并且积分将随着时间的推移(从一开始)“吃掉”这些值。但是我不明白的是,当误差稳定回零时,积分部分仍然会有一些值(随着时间的推移积分误差)并且仍然会有助于控制器的输出值,但它不应该。
有人可以解释一下吗?