# Coursework : Root Locus

## Homework Statement

I have to design a controller for "Cruise Control System" using Root Locus method.

## Homework Equations

We havnt studied that method yet and nor do I think it is in the course outline. Actually that is why I selected root locus so that I can learn something beyond the course for Control System.

## The Attempt at a Solution

Luckily I found the project online. http://www.engin.umich.edu/class/ctms/examples/cruise/ccrl.htm"

The problem is in understanding the method itself. I have referred to many books but I am still not able to catch the real deal. I will start with the basic problems I have.

1. How many poles/zeros do we move to make the system stable?

2. How do we know that we have to move poles only or zeros only or both ?

3. Referring to the above link. Doesnt the two dotted lines (under "Proportional controller") and the dotted semi circle bound all the points which will give the desired rise time and overshoot ? Why do they don't when the criteria for those lines and semicircle is set?

4. Referring to the above link. I do not understand the part under "Proportional controller" where after plotting the root locus (I understand the plotting part quite fine) it is written to chose "-0.4" as the pole. Now the confusion is that there are million points between the dotted lines and the dotted semi-circle, so how do I know that which one will give the desired rise time and overshoot.

Will be waiting anxiously for reply....

Last edited by a moderator:

## Homework Statement

I have to design a controller for "Cruise Control System" using Root Locus method.

## Homework Equations

We havnt studied that method yet and nor do I think it is in the course outline. Actually that is why I selected root locus so that I can learn something beyond the course for Control System.

## The Attempt at a Solution

Luckily I found the project online. http://www.engin.umich.edu/class/ctms/examples/cruise/ccrl.htm"

The problem is in understanding the method itself. I have referred to many books but I am still not able to catch the real deal. I will start with the basic problems I have.

1. How many poles/zeros do we move to make the system stable?

2. How do we know that we have to move poles only or zeros only or both ?

3. Referring to the above link. Doesnt the two dotted lines (under "Proportional controller") and the dotted semi circle bound all the points which will give the desired rise time and overshoot ? Why do they don't when the criteria for those lines and semicircle is set?

4. Referring to the above link. I do not understand the part under "Proportional controller" where after plotting the root locus (I understand the plotting part quite fine) it is written to chose "-0.4" as the pole. Now the confusion is that there are million points between the dotted lines and the dotted semi-circle, so how do I know that which one will give the desired rise time and overshoot.

Will be waiting anxiously for reply....

1. Your system is stable for every gain (no part of the RL is in the RHP).
2. Adding zeros tend to shift the RL to the left, while adding poles tend to shift it to the right. If you want more stability, you should add zeros to your system, but since you cannot add a simple zero, you should add a compensator with a pole and a zero, the zero beeing nearer the origin than the pole. This is called a lead compensator.
3. I don't understand your question.
4. Since the RL is all in the real axis, you must pick a real value for the location of your closed loop pole. They picked -0.4 because it is a rounder number than -0.3873, for example.

Last edited by a moderator:
1. Your system is stable for every gain (no part of the RL is in the RHP).
2. Adding zeros tend to shift the RL to the left, while adding poles tend to shift it to the right. If you want more stability, you should add zeros to your system, but since you cannot add a simple zero, you should add a compensator with a pole and a zero, the zero beeing nearer the origin than the pole. This is called a lead compensator.
3. I don't understand your question.
4. Since the RL is all in the real axis, you must pick a real value for the location of your closed loop pole. They picked -0.4 because it is a rounder number than -0.3873, for example.

3. My question was that what does the region bound by the semicircle and the two dotted lines represnt ?

4. RL all in real axis ? I dun get it...Wasnt the semi-circle and the dotted lines the locus ? And if you pick up -0.4 then it doesnt meet the criteria actually. The rise time comes out to be more that 5 sec...You have to selecte a value much farther than -0.4...So how d o I know which one to select ?

3. My question was that what does the region bound by the semicircle and the two dotted lines represnt ?

4. RL all in real axis ? I dun get it...Wasnt the semi-circle and the dotted lines the locus ? And if you pick up -0.4 then it doesnt meet the criteria actually. The rise time comes out to be more that 5 sec...You have to selecte a value much farther than -0.4...So how d o I know which one to select ?

The semicircle represents the region of the plane where $$\omega_n = 0.36$$. Points inside the circle have $$\omega_n < 0.36$$, those outside have $$\omega_n > 0.36$$.
The two dotted lines are the locus of the points with $$\zeta=0.6$$. Between the lines we have $$\zeta>0.6$$.
So, the point -0.4 fulfills both specifications: $$\omega_n > 0.36$$ and $$\zeta>0.6$$.
The RL is the line from the pole -0.05 to minus infinity (in blue in the graphic).

The semicircle represents the region of the plane where $$\omega_n = 0.36$$. Points inside the circle have $$\omega_n < 0.36$$, those outside have $$\omega_n > 0.36$$.
The two dotted lines are the locus of the points with $$\zeta=0.6$$. Between the lines we have $$\zeta>0.6$$.
So, the point -0.4 fulfills both specifications: $$\omega_n > 0.36$$ and $$\zeta>0.6$$.
The RL is the line from the pole -0.05 to minus infinity (in blue in the graphic).

But if the point -0.4 fulfills both specifications and the two specifications of eta and Frequency were calculated from the initial criteria of rise time and overshoot then why does the rise time doesnt still come out to be corect when plotted in MATLAB ?

But if the point -0.4 fulfills both specifications and the two specifications of eta and Frequency were calculated from the initial criteria of rise time and overshoot then why does the rise time doesnt still come out to be corect when plotted in MATLAB ?

Remember that the rise time is the time the system takes to go from 10% to 90% of the final value. The paper you linked to says this criterion has been met (and the plot seems to confirm it).

Remember that the rise time is the time the system takes to go from 10% to 90% of the final value. The paper you linked to says this criterion has been met (and the plot seems to confirm it).

Can you please try it out in MATLAB ? MATLAB doesnt agree..

Even the overshoot is more than 10% where as it was catered for in the calculations as well. Why is that so ?

Even the overshoot is more than 10% where as it was catered for in the calculations as well. Why is that so ?

How do you get an overshoot in a first order system?

Can you please try it out in MATLAB ? MATLAB doesnt agree..

I have tried it in Matlab. You are right. The rise time is a little less than 5.5 sec.

How do you get an overshoot in a first order system?

I am not sure my self but they have calculated in that tutorial. The final velocity should have been around 10 anyway and its even less than 9 so its not good.

I have tried it in Matlab. You are right. The rise time is a little less than 5.5 sec.

Any idea where does the problem lie ? Root locus has been plotted correctly so what can be wrong ?

I am not sure my self but they have calculated in that tutorial. The final velocity should have been around 10 anyway and its even less than 9 so its not good.

There is no overshoot. Look at the plot.
There is a steady state error in the velocity, because all zero type systems present a ss error to a step input. That is why in the following item they use a lag compensator to reduce the error.

Any idea where does the problem lie ? Root locus has been plotted correctly so what can be wrong ?

The formula they used to relate rise time to $$\omega_n$$ is valid for a second order system. Since the system is first order, the formula gives only an approximate relationship.

The formula they used to relate rise time to $$\omega_n$$ is valid for a second order system. Since the system is first order, the formula gives only an approximate relationship.

Where do I get the relations for Zeta and Frequency for 1st order systems ?

Is the one for Zeta applicable on 1st order systems ?

Where do I get the relations for Zeta and Frequency for 1st order systems ?

In first order systems zeta = 1. The frequency is the absolute value of the pole.

Why can't a first order system overshoot ? What restrains it ? Any formula to calculate it ?

Last edited:
And what about steady state error for 1st order systems ? Where do I get the formula ?

And does a type 0 system with one pole classify as 1st order ?

Last edited:
Why can't a first order system overshoot ? What restrains it ? Any formula to calculate it ?

Overshoot is how much the response of the system goes over the steady state value. In a first order system the response is always below ss.

And what about steady state error for 1st order systems ? Where do I get the formula ?

And does a type 0 system with one pole classify as 1st order ?

The steady state is the limit of a function when time goes to infinity. The ss error is the difference between the ss values of the excitation and of the response. The final value theorem states that for any system the ss value of f(t) can be obtained by taking the limit as s goes to zero of sF(s).
Any system with one pole is first order, with two poles is second order and so on.

Overshoot is how much the response of the system goes over the steady state value. In a first order system the response is always below ss.

Why is it always below ss value ?

The steady state is the limit of a function when time goes to infinity. The ss error is the difference between the ss values of the excitation and of the response. The final value theorem states that for any system the ss value of f(t) can be obtained by taking the limit as s goes to zero of sF(s).

I calculated the steady state error for the system this way.

I calculated the static error constant $$K_p$$ by limiting the open loop transfer function to 0 and used the $$\frac{1}{1+K_p }$$to calculate the percentage error. That is correct ?

Any system with one pole is first order, with two poles is second order and so on.

But a type 0 system can be a second order as well ?

Last edited:
Why is it always below ss value ?

Because the step reponse of a first order system is an exponential, which is a monotonically growing function.

I calculated the steady state error for the system this way.

I calculated the static error constant $$K_p$$ by limiting the open loop transfer function to 0 and used the $$\frac{1}{1+K_p }$$to calculate the percentage error. That is correct ?
Yes

But a type 0 system can be a second order as well ?

Yes. $$\frac{K}{(s+1)(s+2)}$$ is a type zero, second order system.

I get following plot for Derivative only controller. Is it correct ? If yes then there isn't going to be any rise time but there should be some settling time ? And if the plot is correct can you please explain the characteristics of the graph ?

If incorrect, following is the code I am using. Where am I making mistake ?

Code:
Kp=0;
Ki=0;
Kd=1000;
m=1000;
b=50;
u=10;
num=[1];
den=[m b];
cruise=tf(num,den);
contr=tf([Kd Kp Ki],[1 0]);
sys_cl=feedback(contr*cruise,1);
t=0:0.1:20;
step(u*sys_cl,t)
axis([0 20 0 10])

And how do I find rise time etc for a TF of the form $$\frac{K_iS}{(1000+K_i)s + 50}$$ ? Even if I divide it I still cant get to solve it to get the risetime etc using the formulae for 1st order systems because a constant term comes..what should I do with it ?

Last edited:
And how do I find rise time etc for a TF of the form $$\frac{K_iS}{(1000+K_i)s + 50}$$ ? Even if I divide it I still cant get to solve it to get the risetime etc using the formulae for 1st order systems because a constant term comes..what should I do with it ?

As you can see by the plot, the rise time is zero. The response goes instantaneously from 0 to 5, beacause of the derivative term $$K_is$$ and then decays exponentially because of the pole at -50/(1000+Ki).

As you can see by the plot, the rise time is zero. The response goes instantaneously from 0 to 5, because of the derivative term $$K_is$$ and then decays exponentially because of the pole at -50/(1000+Ki).

Does that mean that the terms risetime, settling time and overshoot etc have no meaning at all for a pure derivative controller ? But when I think again I get confused that there should be some settling time formula or for overshoot etc. If yes then what is it ?

So what is going to be steady state value in case of pure derivative controller ? Zero, always ?

And what about PID controller how do I find rise time etc for a PID controller...It has to has some...