There are known strategies for dealing with integrator saturation and wind-up but most of them require a more complex analysis of the system and thus were beyond the scope of this project. One strategy, though, was employed with some success and that was limiting the input of the error signal into the integrator to a very small range, say 10% of its actual value. This prevents the integrator from being saturated by large transient errors but doesn’t address the issue of wind-up.