Designing a Cruise Control System Controller with Root Locus Method | Coursework

In summary, the conversation is about designing a controller for a cruise control system using the Root Locus method. The individual has found a project online but is having trouble understanding the method itself. They have questions about the number of poles/zeros to move, how to know whether to move poles or zeros, and the meaning of certain parts of the root locus plot. They also have confusion about selecting a specific value for the closed loop pole and how to know which one to choose.
  • #1
Altairs
127
0

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...

Thanks in advance
 
Last edited by a moderator:
Physics news on Phys.org
  • #2
Altairs said:

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...

Thanks in advance

Answers to your questions:
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:
  • #3
CEL said:
Answers to your questions:
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 doesn't 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 ?
 
  • #4
Altairs said:
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 doesn't 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 [tex]\omega_n = 0.36[/tex]. Points inside the circle have [tex]\omega_n < 0.36[/tex], those outside have [tex]\omega_n > 0.36[/tex].
The two dotted lines are the locus of the points with [tex]\zeta=0.6[/tex]. Between the lines we have [tex]\zeta>0.6[/tex].
So, the point -0.4 fulfills both specifications: [tex]\omega_n > 0.36[/tex] and [tex]\zeta>0.6[/tex].
The RL is the line from the pole -0.05 to minus infinity (in blue in the graphic).
 
  • #5
CEL said:
The semicircle represents the region of the plane where [tex]\omega_n = 0.36[/tex]. Points inside the circle have [tex]\omega_n < 0.36[/tex], those outside have [tex]\omega_n > 0.36[/tex].
The two dotted lines are the locus of the points with [tex]\zeta=0.6[/tex]. Between the lines we have [tex]\zeta>0.6[/tex].
So, the point -0.4 fulfills both specifications: [tex]\omega_n > 0.36[/tex] and [tex]\zeta>0.6[/tex].
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 doesn't still come out to be corect when plotted in MATLAB ?
 
  • #6
Altairs said:
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 doesn't 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).
 
  • #7
CEL said:
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 doesn't agree..
 
  • #8
Even the overshoot is more than 10% where as it was catered for in the calculations as well. Why is that so ?
 
  • #9
Altairs said:
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?
 
  • #10
Altairs said:
Can you please try it out in MATLAB ? MATLAB doesn't agree..

I have tried it in Matlab. You are right. The rise time is a little less than 5.5 sec.
 
  • #11
CEL said:
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.
 
  • #12
CEL said:
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 ?
 
  • #13
Altairs said:
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.
 
  • #14
Altairs said:
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 [tex]\omega_n[/tex] is valid for a second order system. Since the system is first order, the formula gives only an approximate relationship.
 
  • #15
CEL said:
The formula they used to relate rise time to [tex]\omega_n[/tex] 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 ?
 
  • #16
Is the one for Zeta applicable on 1st order systems ?
 
  • #17
Altairs said:
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.
 
  • #18
Why can't a first order system overshoot ? What restrains it ? Any formula to calculate it ?
 
Last edited:
  • #19
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:
  • #20
Altairs said:
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.
 
  • #21
Altairs said:
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.
 
  • #22
CEL said:
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 ?
 
  • #23
CEL said:
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 [tex]K_p[/tex] by limiting the open loop transfer function to 0 and used the [tex]\frac{1}{1+K_p }[/tex]to calculate the percentage error. That is correct ?

CEL said:
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:
  • #24
Altairs said:
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.
 
  • #25
Altairs said:
I calculated the steady state error for the system this way.

I calculated the static error constant [tex]K_p[/tex] by limiting the open loop transfer function to 0 and used the [tex]\frac{1}{1+K_p }[/tex]to calculate the percentage error. That is correct ?
Yes
But a type 0 system can be a second order as well ?

Yes. [tex]\frac{K}{(s+1)(s+2)}[/tex] is a type zero, second order system.
 
  • #26
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])
http://www.freeimagehosting.net/uploads/b0495eb59b.jpg
 
  • #27
And how do I find rise time etc for a TF of the form [tex]\frac{K_iS}{(1000+K_i)s + 50}[/tex] ? Even if I divide it I still can't 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:
  • #28
Altairs said:
And how do I find rise time etc for a TF of the form [tex]\frac{K_iS}{(1000+K_i)s + 50}[/tex] ? Even if I divide it I still can't 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, because of the derivative term [tex]K_is[/tex] and then decays exponentially because of the pole at -50/(1000+Ki).
 
  • #29
CEL said:
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 [tex]K_is[/tex] 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 ?
 
  • #30
And what about PID controller how do I find rise time etc for a PID controller...It has to has some...
 
  • #31
Altairs said:
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 ?
The settling time is zero.
The ss value can be obtained from the final value theorem. The settling time is the time when response attains 1% or 2% of its final value. In a negative exponent exponential, what is the time when this happens?
 
  • #32
Altairs said:
And what about PID controller how do I find rise time etc for a PID controller...It has to has some...

Obtain the time response and verify how long does it take from 10% to 90% of ss.
 
  • #33
CEL said:
In a negative exponent exponential, what is the time when this happens?

Indefinite ?
 
  • #34
Altairs said:
Indefinite ?

When is[tex]Ke^{-\alpha t}[/tex] equal to 0.01K or 0.02K?
 
  • #35
CEL said:
When is[tex]Ke^{-\alpha t}[/tex] equal to 0.01K or 0.02K?

[tex]\frac{-ln(0.01)}{\alpha}[/tex]
 

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
3
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
2K
  • Engineering and Comp Sci Homework Help
3
Replies
94
Views
10K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
Replies
4
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
Back
Top