FAQ: How does moving a pole at zero to a small value prevent integrator windup?

From FBSwiki
Jump to: navigation, search

Posted by Murray 25 November 2002
If you replace the pole at the original with a pole at some small value (say -0.001) then you eliminate the integrator completely => no windup. A good way to think about this is from the state space realization. An integrator looks like:

where e is the error (= input to the controller) and y is output from controller.

If you have e > 0 for a long time, then when e becomes zero the output of the controller stays large (due to the integrated error). The only way to get y to go to zero is to make e negative until the integrator decreases back to zero. If, on the other hand, you have a pole, then this looks like:

If you now have some (small) error for a long time, you reach the equilibrium point x = e/a (remember that a is small, so this could be large). If e becomes zero, then the output *immediately* starts to decay (since now xdot = -a x). How fast it decays depends on the location of the pole, but you don't have to do anything but wait and the output will go to zero.</math>