2
$\begingroup$

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)

$\endgroup$
8
  • $\begingroup$ 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 $\endgroup$ Commented Nov 22, 2021 at 19:29
  • $\begingroup$ 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. $\endgroup$ Commented Nov 22, 2021 at 19:40
  • $\begingroup$ 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 $\endgroup$ Commented Nov 22, 2021 at 19:49
  • 2
    $\begingroup$ 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. $\endgroup$
    – TimWescott
    Commented Nov 23, 2021 at 2:44
  • 1
    $\begingroup$ 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}$? $\endgroup$
    – TimWescott
    Commented Nov 23, 2021 at 20:11

1 Answer 1

3
$\begingroup$

I'm not gonna give you a complete answer but I can help you.

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.

Your strategy is this

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.

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

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.