# How to design a Controller that would adjust the steady-state error of a system?

I have a simple model (input-plant-output) with a transfer function : $$T(s)=\frac{4}{s^{2}+2s+4}$$ The goal of this problem is to design a system such that it has the following specification for a step input:

1. $$\%\;\text{overshoot}\leq6\%$$
2. $$t_{s}<1\;\text{sec}$$

Moreover, when the system is given a ramp input, it must have a steady-state error of at most $$0.1$$

My strategy :

First try : I first thought of adding a Lag-Lead compensator and tune the poles but this appears to force the step-response to be prone to heavy oscillations. Moreover, the settling time and the maximum overshoot were far off from the desired values.

Second try : I decided to add a PI controller to the lag-lead compensator and this helped in decreasing the maximum overshoot and the oscillations in general but it did not resolve the issue of the settling time and in fact the settling time was much far.

I would hope for the best optimal method to use that would be able to satisfy both requirements if possible because I am not aware if it might not be possible to satisfy both requirements (i.e., step input requirement and the ramp input requirement)

• hm, I'm a bit conflicted, that system will not converge to a steady state if the input is not bounded, and your ramp is unbounded Nov 22, 2021 at 19:29
• hm, I'm really not sure, but: how can we define a "steady state error", which is the difference between the desired output and the actual output at time going to $\infty$ if the input and the output to this system will never ever converge? What is the steady state that has an error? Your input ramp rises forever, your linear system's output rises forever. Nov 22, 2021 at 19:40
• Indeed, they shall never meet and in my case, the SSE originally is between 0.9 and 1 but by using a controller (PID or Lead-Lag Compensator) I should be able to decrease it to 0.1 @MarcusMüller Nov 22, 2021 at 19:49
• It sounds like you're trying to paraphrase a homework problem that you don't really understand. So, A: tell us the whole problem, as given to you, and B: tell us what you've done so far, or which part you think you don't understand. Nov 23, 2021 at 2:44
• Do the constraints of your class allow you to add an improper controller, i.,e. one with a 'pure' derivative action: $H(s) = k_d s + k_p + \frac{k_i}{s}$? Nov 23, 2021 at 20:11

Your open-loop transfer function has 2 poles at $$-1 ±j \sqrt(3)$$

Good news, they are stable. However, they are not damped and they are slow.

1 - Damp the poles, this will reduce the overshoot.
2 - Try to increase the poles frequency. This will reduce the settling time.
3 - Your allowed steady-state error to a ramp input is less than 0.1. It means that the steady-state error to a step input must be 0. You need a PI controller since your open-loop transfer function has no integrator.
4 - Another strategy cancel the poles in your controller and add a simple PI controller. This will allow you to shape the time response as needed. It should be good enough for a homework. In real-life, you should check for robustness.

Thanks to Tim Wescott for pointing out my original mistake about the steady-state error.

• The OP needs a constant steady state error with a ramp input. Nov 23, 2021 at 20:06
• You're right, I corrected my post for point 3 and 4.
– Ben
Nov 23, 2021 at 20:28
• Thank you very much for your answer. Nov 23, 2021 at 21:27