我不理解PID控制器的組成部分。讓我們假設來自Wikipedia的這個僞代碼:我不明白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
Integral在開始時設置爲零。然後在循環中整合錯誤。當我對測量值或設定值進行(正向)改變時,誤差將變爲正值,並且積分將在時間上(從開始)「吃」這些值。但我不明白的是,當誤差穩定回零時,積分部分仍然有一定的價值(隨着時間的推移積分誤差),並且仍然有助於控制器的輸出值,但它不應該。
有人可以解釋我嗎?
對於任何感興趣的人,我實現了這個確切的算法來控制循環速度。 http://stackoverflow.com/questions/38377820/throttling-await-for-inbound-messages – Jim