Je ne comprends pas la partie intégrante du contrôleur PID. Supposons ce pseudocode de Wikipedia:
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 est mis à zéro au début. Et puis dans la boucle, il intègre l'erreur au fil du temps. Lorsque je modifie (positivement) le point de consigne, l'erreur deviendra positive et l'intégrale "mangera" les valeurs au fil du temps (depuis le début). Mais ce que je ne comprends pas, c'est que lorsque l'erreur se stabilise à zéro, la partie intégrale aura toujours une certaine valeur (erreurs intégrées dans le temps) et contribuera toujours à la valeur de sortie du contrôleur, mais cela ne devrait pas, car si l'erreur est nulle, la sortie du PID devrait également être nulle, non?
Quelqu'un peut-il m'expliquer cela s'il vous plaît?