I have the following transfer function $$10000 \cdot\frac{(s-0.012)(s+1.05)(s-18)}{(s+0.22)^2(s+45)(s+1000)}$$ For which I am trying to tune a PID controller for. I'm using the pidTuner in MATLAB to do so. I wish to have the settle time be less than 3 seconds if possible, however, the best I have been able to do is 77 seconds with the settings $K_p = 0.049955$, $K_i = 0.0087525$ and $K_d=0$. At these values, going in any direction seems to increase the settling time more. Any help would be really great!


1 Answer 1


You have 2 right-half plane zeroes : 0.012 and 18. The zero at +18 is "fast" and will not affect the performance much, but your slow zero at 0.012 will severely limit your performance. You can't cancel this right-half plane zero with a right-half plane pole in your controller, your controller output will be unbounded.

Is this homework or a real life problem?

  • $\begingroup$ Thanks for the response. This is for school. If that's the case then is there anything I can do? This transfer function seems to model the system quite well. $\endgroup$
    – cicey60307
    Apr 10, 2021 at 18:21
  • $\begingroup$ Would a controller other than a PID controller work better? $\endgroup$
    – cicey60307
    Apr 10, 2021 at 18:46
  • $\begingroup$ I doubt it. The slow RHP zero is probably the limiting factor. Maybe you made a mistake in your transfer function ? How did you obtain it? $\endgroup$
    – Ben
    Apr 10, 2021 at 18:50
  • $\begingroup$ Estimated poles and zeros off of a Bode plot, then used the bode function in MATLAB to guess and check the signs of the zeros until the bode plots matched each other. $\endgroup$
    – cicey60307
    Apr 10, 2021 at 18:56
  • 1
    $\begingroup$ Ohh, yes. That's nasty. That sharp initial negative response, followed by a slow increase to a positive response is the time-domain manifestation of your slow unstable zero. You are not going to have an easy time controlling that for a fast, precise response. It's not within the bounds of your question but -- can you change the plant? Part of the real job of a control systems engineer is to inform the mechanical team -- diplomatically or with the use of clue-by-fours -- that they need to change things. $\endgroup$
    – TimWescott
    Apr 10, 2021 at 20:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.