How Does Unity Position Feedback Affect System Dynamics in Control Theory?

AI Thread Summary
The discussion focuses on analyzing a control system with unity position feedback by plotting the root locus as a function of pitch gain (K1) when K2 is set to zero. Participants derived the open and closed-loop transfer functions, identifying the poles and zeros, and emphasized the importance of the dominant complex conjugate poles for approximating the system's dynamics. They discussed how to impose a second-order system approximation to estimate settling time, rise time, and peak time, particularly under the constraint of achieving a 20% overshoot. The conversation also touched on using the damping ratio and natural frequency to find the appropriate K1 value, with some confusion about the correct method for plotting the root locus and determining system parameters. Ultimately, they concluded that adjustments to K1 are necessary to align the system's response with the desired overshoot characteristics.
toolpusher123
Messages
64
Reaction score
0

Homework Statement


With unity position feedbck, i.e. make K2=0, plot root locus as a function of pitch gain (K1). By imposing 2nd order system approximation, estimate settling time, rise time, peak time of the closed-loop system with 20% overshoot.

Homework Equations


The Attempt at a Solution


I have derived the open & closed loop transfer functions for the system, when K2=0. From this I have determined the poles & zeros:
  • 1 pole at, s=-2
  • 1 pole at, s=-1.25
  • 1 zero at, s= -0.452
  • A complex conjugate pair at, -0.177+/- 0.051j
  • Plotted the root locus: https://app.box.com/s/6o5y65btkp3zbvc31cqg
  • I now have no idea how to impose 2nd order approx & estimate rise time etc. Please help...
 
Physics news on Phys.org
toolpusher123 said:
A complex conjugate pair at, -0.177+/- 0.051j
It's probably just a typo, but I think that should be -0.117 instead.

You have a conjugate pair of poles that are approximately dominant. As I understand it, you're asked to only consider that conjugate pair (approximate with a second-order system) and place them in the complex plane along the root locus where it intersects with an isoline of constant damping ratio corresponding to 20% overshoot, i.e. what value of ##K_1## puts the conjugate pair at a spot with the damping factor you want?

From the resulting system you can determine the rest of the parameters. This assumes you're not using a more sophisticated method of reducing the order of your system.
 
Does this mean I should take the quadratic out of the transfer function & just adjust K1 until I get a step response= the original tf's step response?
 
Is there a specific equation or set of equations that I can use to determine the appropriate value for K1?
 
milesyoung said:
It's probably just a typo, but I think that should be -0.117 instead.

You have a conjugate pair of poles that are approximately dominant. As I understand it, you're asked to only consider that conjugate pair (approximate with a second-order system) and place them in the complex plane along the root locus where it intersects with an isoline of constant damping ratio corresponding to 20% overshoot, i.e. what value of ##K_1## puts the conjugate pair at a spot with the damping factor you want?

From the resulting system you can determine the rest of the parameters. This assumes you're not using a more sophisticated method of reducing the order of your system.
Is there a formula to find K1?
 
toolpusher123 said:
Does this mean I should take the quadratic out of the transfer function & just adjust K1 until I get a step response= the original tf's step response?
No, I just meant that you should focus solely on the conjugate pair of poles. The root locus shows you that those poles will probably always remain dominant.

toolpusher123 said:
Is there a specific equation or set of equations that I can use to determine the appropriate value for K1?
You don't necessarily have to determine ##K_1##. The dynamics of a second-order system is fully determined by its undamped natural frequency ##\omega_n## and damping ratio ##\zeta##. Have you seen a plot of how these two quantities determine pole locations and vice versa in the complex plane? Hint: Think radius and angle.

The 20% overshoot gives you ##\zeta## and a specific location on the root locus for that conjugate pair of poles. From that location you can eyeball ##\omega_n##, which let's you estimate the parameters you need.
 
I'm pretty confused as fom a suggestion from another site, I was pointed to 'Routh-Hurwitz Stability Criteria'. I was then told that its too complex to explain in a post? I'm really unsure what to do next. By the way your help is very much appreciated
 
toolpusher123 said:
I'm pretty confused as fom a suggestion from another site, I was pointed to 'Routh-Hurwitz Stability Criteria'.
The Routh-Hurwitz criterion can be used to find the value of ##K_1## at the intersection of the root locus with the imaginary axis, i.e. where the system becomes marginally stable, but I'm not sure what it'll solve in your case.

I think the easiest solution to your problem is the one I've already hinted at.
 
I'm still uncertain of the actual procedure.
  • If I follow your method, I just plot the root locus using the closed loop tf.
  • I know how to determine ζ from % overshoot, but how do I find ωnwithout first having ts, tr, tp etc?
  • In what way does ζ give me the location of the 'complex conjugate pair'? Does it just show where they already are, or is it a new position I must move them to?
  • Sorry if I come across as 'slow' but the longer I spend at this, the more confused I get...Thanks for your patience
 
  • #10
toolpusher123 said:
I'm still uncertain of the actual procedure.
  • If I follow your method, I just plot the root locus using the closed loop tf.
  • I know how to determine ζ from % overshoot, but how do I find ωnwithout first having ts, tr, tp etc?
  • In what way does ζ give me the location of the 'complex conjugate pair'? Does it just show where they already are, or is it a new position I must move them to?
  • Sorry if I come across as 'slow' but the longer I spend at this, the more confused I get...Thanks for your patience
You've found that your system has 4 poles and a single zero. Two of the poles are complex conjugates and are somewhat closer to the imaginary axis (slower) than the other poles and zero. This conjugate pair will thus tend to dominate the response, i.e. your system will behave approximately as if only the conjugate pair of poles was present. The poles are dominant.

So, let us pretend that we only see the conjugate pair of poles and their part of the root locus. This is the second-order system approximation (which only has a pair of complex conjugate poles, assuming it's oscillatory).

Recall that the root locus is a curve in the complex plane that shows you all the possible locations for the closed-loop poles as you vary a single parameter, which in your case is chosen to be ##K_1##. Given a value of ##K_1##, the closed-loop poles will be at some specific location on the root locus.

Now, you're asked to find some parameters subject to the condition that the closed-loop system has 20 % overshoot. This is a constraint on the location of the closed-loop poles in the complex plane! You know that the closed-loop poles must lie on the root locus, but they can't just be anywhere on it. They have to be at the location on the root locus that gives the conjugate pair of poles a damping factor corresponding to 20 % overshoot. If you could find this location, you also know what ##\omega_n## is for the system. From ##\omega_n## and ##\zeta##, you can find ##t_s, t_r, t_p## and whatnot.

Have you maybe seen an expression such as:
$$
\zeta = \cos(\alpha)
$$
where ##\alpha## is the angle a line from the origin into the left-half plane makes with the real axis?

Any location on one such line will have the same damping factor. One of these lines corresponds to the damping factor you want, and its intersection with the root locus shows you the location where the second-order system has 20 % overshoot. What is ##\omega_n## at this location? ##\omega_n## also has a simple geometric property in the complex plane.

Edit:
A picture might help:

http://jpkc.zju.edu.cn/k/506/econtext/image/02/032.jpg
 
Last edited:
  • #11
I follow you so far, but if I'm now looking at the 'root locus' with only the dominant pair. Any point on these lines representing a different value for K1 & the 'closed-loop' poles.
  • How do I use the trig relationship above with the 'curved' lines on the root locus?
  • Pic: https://app.box.com/s/31jwzwc3apchfaiayks3
  • What values do I use for the 'opposite' & 'adjacent' in order to find length of the 'hypotenuse=ωn'?
 
  • #13
toolpusher123 said:
Obviousy I need the length of one of the sides. What value would I use for the 'opposite' or 'adjacent' to find 'hypotenuse' i.e. ωn?
Yes, that's where I wanted you to eyeball either the real or imaginary part of the intersection point on your plot. An analytical solution is going to be very tedious work.

If you're familiar with the angle criterion for the root locus, you could let ##s = \omega_n e^{j (\pi - \theta)}## and build a small table of values of ##\omega_n## that shows it converge to something that approximately satisfies the angle criterion. If your instructor really wants an analytical solution, I'd be curious to see what he/she had in mind.
 
  • #14
I managed by plotting root locus in Matlab & using 'sgrid' i.e specifying (ζ) & estimating (ωn) to find a very close value for natural frequency. By using an iterative process I eventually got all lines to intersect at poles on root locus. See below:
  • https://app.box.com/s/qp1gh26st9viazefeya6
  • ts=33.649 sec (±5%)
  • tp=13.539 sec
  • tr=6.904 sec (10-90%)
  • I now have to find K1 at 20% overshoot. It says to generate 'step response' of the closed-loop system & estimate steady state error. Measure actual PO, ts, tp, tr. See if their values are close to the ones found in previous step.
 
  • #15
Could you perhaps include a picture of the assignment?
 
  • #16
Here it is:
  • Questions: https://app.box.com/s/lnh0jr9yl291ie8dhi8x
 
Last edited by a moderator:
  • #17
toolpusher123 said:
By using an iterative process I eventually got all lines to intersect at poles on root locus. See below:
So first thing, it looks like you're plotting the root locus of the closed-loop system, which isn't right. That shows you the pole locations of a system that has an outer feedback loop around the feedback system that's shown in your assignment. You need to plot the root locus of the open-loop system, i.e. 'rlocus(-2/(s+2)*G)' in MATLAB.

Secondly, the plot you've included here does not show the intersection point of the isoline of constant damping ratio and the root locus. It just shows what the natural frequency is (##\omega_n = 0.261##) of the closed-loop poles with ##K_1 = 1##.

After you sort this out, you can find what ##K_1## is at the intersection point, which is some value of ##s##, by inserting this value into the characteristic equation for your system and solve for ##K##. It's not going to be exact, since you don't know the exact intersection point, but you can just discard any imaginary part in the result as an approximation.
 
Last edited:
  • #18
Thanks, I'll get on that now 7 post asap...
 
  • #19
I reworked the problem with the 'open loop' tf. My values are:
For the poles:
  • s = -2
  • s = -1.25
  • s = -0.117 ± 0.0511j
For the zeros:
  • s = -0.452
If I now plot the root locus to include a damping ratio ζ = 0.456 & natural frequency ωn = 0.44:
Everything intersects on the root locus, but the 'step response' has an incorrect overshoot. See below:
I have to make K1=1.67 in order for it to have the specified 20% overshoot. But if I want the pole to sit at the intersection of ζ & ωn isolines, I have to make K1=2.79. Again this changes my 'step response' overshoot to 28.1%.

Should I use the above values for ζ & ωn to derive tp, ts, tr? I'm unsure because at these values the % overshoot wasn't 20%.
 
  • #20
toolpusher123 said:
If I now plot the root locus to include a damping ratio ζ = 0.456 & natural frequency ωn = 0.44:
Yes! :)

toolpusher123 said:
Everything intersects on the root locus, but the 'step response' has an incorrect overshoot. See below:
I think you attached the wrong plot. This one shows the step response with ##K_1 = 1##.

toolpusher123 said:
I have to make K1=1.67 in order for it to have the specified 20% overshoot. But if I want the pole to sit at the intersection of ζ & ωn isolines, I have to make K1=2.79. Again this changes my 'step response' overshoot to 28.1%.

Should I use the above values for ζ & ωn to derive tp, ts, tr? I'm unsure because at these values the % overshoot wasn't 20%.
You should use the values at the intersection point. Remember, the whole point of this exercise is to show the difference between a true second-order system and the approximation you're using. You'd only have 20 % overshoot if that conjugate pair of poles were the only ones present (with no zeros).

Have a read-through again of the problem statement for (3). See how you're now asked to compare the values of those parameters for the approximation and the full-order system?
 
  • #21
At last! I thought I'd spent two days working on this, only to arive at the answers I had when I originally posted:(. I think I'm getting my head around it a bit more now.
  • Does this mean I've already found K1 asked for in question 3?
  • Why does it ask me to estimate steady state error?
  • Is the steady state error just the % difference between steady state value & 1.0?
Sorry to keep asking you for advice/help as you've done so much already. Your help is more than appreciated...
 
  • #22
toolpusher123 said:
Does this mean I've already found K1 asked for in question 3?
Yes, I thought that was the part of the assignment you were doing now:
toolpusher123 said:
I now have to find K1 at 20% overshoot. It says to generate 'step response' of the closed-loop system & estimate steady state error. Measure actual PO, ts, tp, tr. See if their values are close to the ones found in previous step.
toolpusher123 said:
Why does it ask me to estimate steady state error?
I guess your instructor wants to know that you're able to?
toolpusher123 said:
Is the steady state error just the % difference between steady state value & 1.0?
The steady-state error is usually defined as:
$$
e_\mathrm{ss} = \lim_{t\rightarrow \infty}\left[r(t) - c(t)\right]
$$where ##r(t)## and ##c(t)## is the input and output signal, respectively.

So if, for instance, the input step was equal to ##2## for ##t \geq 0## and the output tends to ##4## as ##t \rightarrow \infty##, you'd have ##e_\mathrm{ss} = 2 - 4 = -2##.
toolpusher123 said:
Sorry to keep asking you for advice/help as you've done so much already.
No need to be sorry. I wouldn't be posting if I didn't want to help.
 
  • #23
For question 3 it asks me to design a 'phase-lead compensator'. I have to get the 'step response' to give, PO<16%, ts<4 secs. I've got to then put a zero at (-1) & find the remaining unknown parameter. I also have to select a pair of 'dominant closed loop poles'.

  • Is this asking me to find a region to insert a pole, that will result in the correct PO & ts?
  • If not, how do I go about designing a 'phase-lead compensator' for the specs above?
 
Last edited:
  • #24
toolpusher123 said:
For question 3 it asks me to design a 'phase-lead compensator'.
Isn't that under (4)?
toolpusher123 said:
Is this asking me to find a region to insert a pole, that will reult in the correct PO & ts?
You're asked to select a conjugate pair of poles that satisfies the performance requirements and then force the root locus to pass through their location by adding a lead compensator. Root locus design would be appropriate here, and you should already have experience with it. You'll need to show your attempt before I can help you further.
 
  • #25
Yes you're corect it is question 4. I'll start in the morning as it's 2am in the UK. Thanks for your help & I'll post as soon as I have a result...
 
  • #26
Hi, I've read through a fair amount on 'phase-lead comps', it would seem that it's kind of an exercise in trigonometry? From what I've read it's a 'cascade' method I'll have to use. To start I have to plot the 'root locus' & through trig determine where the new poles have to go.
 
  • #27
toolpusher123 said:
Hi, I've read through a fair amount on 'phase-lead comps', it would seem that it's kind of an exercise in trigonometry? From what I've read it's a 'cascade' method I'll have to use. To start I have to plot the 'root locus' & through trig determine where the new poles have to go.
Yes, there's not much involved besides evaluating a few angles and their contribution to the angle criterion of the root locus. 'Cascade controller' usually just means that it's in series with the plant.

The constraint on ##\omega_n## shouldn't be there. You're only asked to satisfy requirements on settling time and overshoot.
toolpusher123 said:
  • Really not sure if I should even start with the 'open loop' above or if it should be the 'closed-loop'?
There's very little in classical control theory that has to do with the closed-loop transfer function. This is a common point of confusion for many starting out with feedback system analysis. Practically all the classical analysis and design methods are based on the open-loop function, since, before computers, it was mostly a necessity.
toolpusher123 said:
You select the poles. It's probably better if you look through some more material first, since you should have a basic understanding of the method before you try to solve the assignment. Maybe this video will help:

 
  • #28
Yes, I did this before I noticed you'ld posted. This is based on 'closed loop'. The value for (-ve) sigma can't be correct, but maybe this is because it's 'closed loop'?
  • Angles schematic (.docx): https://app.box.com/s/d3a08ly4ja5ecvtjpfa0
 
Last edited by a moderator:
  • #29
toolpusher123 said:
Yes, I did this before I noticed you'ld posted. This is based on 'closed loop'. The value for (-ve) sigma can't be correct, but maybe this is because it's 'closed loop'?
  • Angles schematic (.docx): https://app.box.com/s/d3a08ly4ja5ecvtjpfa0
I can't tell what it is you want to show me with that plot. Are you trying to find a bound on the real value ##\sigma## for the closed-loop poles? In that case, you did fine, but it should be clear from this plot:
toolpusher123 said:
That to satisfy the requirement on settling time, you just need ##\sigma < -1##.

Alternatively, the settling time of a first/second-order system is given by ##t_s = -\frac{k}{\sigma}##, where ##\sigma## is the real part of its pole(s) and ##k## is typically chosen to be 4 or 5 (multiple of time constant) depending on your definition of settling time (4 in your case).

'rlocus', 'sisotool' etc. in MATLAB expects to be passed the open-loop system, which you can also tell from its help page ('doc rlocus').
 
Last edited by a moderator:
  • #30
  • #31
First thing, when I wrote:
milesyoung said:
... and ##k## is typically chosen to be 4 or 5 (multiple of time constant) ...
I didn't mean that you should multiply it by anything. ##k## is just a value you use for the number of multiples of the time constant for the system you want to pass until you consider the system to be in steady state. ##k = 4## is a common choice, which is also what MATLAB uses. I'm sorry if that was confusing.
toolpusher123 said:
I have the angle shown as 'phi/2' but how would you find the 2 angles either side?
I assume A (and its conjugate) is the location of the closed-loop poles you've chosen that satisfy the performance requirements. Since you're the one who chose A, you should certainly be able to bisect ##\angle \mathrm{OAF}.##
toolpusher123 said:
  • Am I even using the correct approach?
Sure, just note that it doesn't allow you to choose the location of the zero, which was suggested in the problem statement to be at -1. If you want the zero placed there, however, it should be straightforward to offset the pole location, since you know ##\phi##.
 
  • #32
Ah, so I can put the zero at (-1) & then just have to determine the position of the pole. By 'bisect' does this mean to divide into 2 even halves? If this is the case then I can find 'P'. I will do this now & post back...
 
  • #33
toolpusher123 said:
By 'bisect' does this mean to divide into 2 even halves?
Yes, to quote the Wikipedia page I linked:
In geometry, bisection is the division of something into two equal or congruent parts, usually by a line, which is then called a bisector.
toolpusher123 said:
If this is the case then I can find 'P'. I will do this now & post back...

 
  • #34
Wow I finally got my calc's to work out! I don't know if this is correct as things wouldn't work out if I used the (-1) for the pole. Using the trig method shown in the previous pics:
  • θ1 = 155.39 deg, θ2 = 150.31 deg
  • 1 - θ2 = -305.7 deg
  • 305.7 - 180 = + 125.7 deg (∴ lead compensator)
  • Φc = 125.7 ∴ Φc/2 = 62.85 deg (used this value to find 'P' & 'Z')
  • Z = -2.69, P = -10.37 (on real axis)
  • Point 'A' is -5.0 on the real axis (derived from σ = -K/Ts) where K = 5*Ts (Ts = 4)
 
Last edited:
  • #35
toolpusher123 said:
Wow I finally got my calc's to work out! I don't know if this is correct as things wouldn't work out if I used the (-1) for the pole. Using the trig method shown in the previous pics:
  • θ1 = 155.39 deg, θ2 = 150.31 deg
  • 1 - θ2 = -305.7 deg
  • 305.7 - 180 = + 125.7 deg (∴ lead compensator)
  • Φc = 125.7 ∴ Φc/2 = 62.85 deg 9use this value to find 'P' & 'Z')
  • Z = -2.69, P = -10.37 (on real axis)
What pole locations did you choose, i.e. what is A in your diagram?
 
  • #36
A is at (1.174 on imaginary axis) & (-5.0 on real axis). I got the σ = - 5.0 from ( σ = -K/ts) ∴ σ = -20/4 = -5.0?
 
Last edited:
  • #37
The other option was to use (σ = ζ*ωn) but this resulted in: 0.504*1.984 = 0.999? This value was not low enough, it was to the right hand side of the poles (s = -1.25 & s = -2.0).

From the pole & zero I derived (if they're correct), would my compensator be: (s+2.69)/(s+10.37)?
 
  • #38
toolpusher123 said:
A is at (1.174 on imaginary axis) & (-5.0 on real axis). I got the σ = - 5.0 from ( σ = -K/ts) ∴ σ = -20/4 = -5.0?
I suggest you choose something a bit easier to work with. The pole locations ##s = -1 \pm j 2## are approximately in the feasible region.

And again, ##k = 4## in your case, not ##20##.

toolpusher123 said:
The other option was to use (σ = ζ*ωn) but this resulted in: 0.504*1.984 = 0.999? This value was not low enough, it was to the right hand side of the poles (s = -1.25 & s = -2.0).
The dynamics of the closed-loop system is determined by the closed-loop poles (which lie somewhere on the root locus), not the open-loop poles. All that matters is that you pick a location for the closed-loop poles that lie in the feasible region. The problem is then that the root locus does not pass through this location, i.e. there's no value of ##K_1## that puts the closed-loop poles where you want them to be.

Your job is thus to add a lead compensator that's designed to force the root locus to pass through the location you just chose.

toolpusher123 said:
From the pole & zero I derived (if they're correct), would my compensator be: (s+2.69)/(s+10.37)?
Yes, but there are some problems with your design procedure.

In this plot:
https://app.box.com/s/0i97d7xkonsia9psr7it

You're only considering the angle contributions from two of the open-loop poles. You need to consider the contributions from all the open-loop zeros and poles (remember the conjugate pair as well), including those from the compensator.

You're applying the angle criterion for the root locus, which states:
$$
\sum (\textrm{all angles from zeros}) - \sum (\textrm{all angles from poles}) = r(180^\circ), \quad r = \pm 1,\pm 3,\pm 5,\dots
$$
Any point that satisfies this equation is on the root locus.
 
Last edited:
  • #39
The only example I have in my notes deals with 2 poles on the 'real axis'. In order to include the 'complex' poles, do I use the same procedure but now with θ3?
Therefore derive the angles between the poles and point A (now at s = -1 +/- 2j)? This time should I be doing the process with the 'closed-loop' poles?
 
  • #40
toolpusher123 said:
The only example I have in my notes deals with 2 poles on the 'real axis'. In order to include the 'complex' poles, do I use the same procedure but now with θ3?
Therefore derive the angles between the poles and point A (now at s = -1 +/- 2j)?
  1. Plot vectors from all open-loop zeros and poles (including the ones from the compensator) to your test point.
  2. Sum up the angles of these vectors according to the angle criterion.
  3. If the angle criterion is satisfied, then the test point is on the root locus.
If the angle criterion is not satisfied, then you need to employ some geometry voodoo in order to make it so.
 
  • #41
I just found a paper on 'Angle & Magnitude Criteria' it has examples on finding departure & arrival angles & summing them.
Just to make sure I've understood:
  1. Plot the 'open loop' poles & zeros, including the pole at 1 +/- 2j.
  2. Use 'angle criterion' to sum up all the angles.
  3. This should satisfy the 'angle criterion', if not then attack with geometry voodoooooo...
It's 00:50 in the UK, so I'll keep going for an hour or so & then start again 1st thing. I'll post asap. Thanks for all your help...
 
  • #42
toolpusher123 said:
I just found a paper on 'Angle & Magnitude Criteria' it has examples on finding departure & arrival angles & summing them.
Calculating departure and arrival angles is something you do when you want to sketch the root locus. To evaluate the angle criterion, you just need to plug in numbers in the equation I wrote.

toolpusher123 said:
Plot the 'open loop' poles & zeros, including the pole at 1 +/- 2j.
##s = -1 \pm j2## is your test point. First step is to calculate the angles of vectors from the open-loop zeros and poles to the test point (remember to include the zero at -1 from the compensator).

toolpusher123 said:
Use 'angle criterion' to sum up all the angles.
You plug the angles into the equation, and you'll get a result that doesn't satisfy the angle criterion. The angles might sum to, for instance, ##200^\circ##, but that just tells you the compensator pole has to have an angle of ##20^\circ## (since poles subtract from the result).
 
  • #43
Would I be correct in saying that all angles are measured counterclockwise from the real axis? For the pole added at (-1 +/- 2j) I sum the angles to the point at -1 + 2j but do I include the 90 deg from the pole at -1-2j?
  • Σ zeros (105.42+90) - Σ poles (63.38+58+114.47+113.24+90) = 195.42 - 439.09 = - 243.67 deg (should this be negative?)
  • Would this mean the compensator pole would be 43.67?
 
  • #44
toolpusher123 said:
Would I be correct in saying that all angles are measured counterclockwise from the real axis?
Yes, if you imagine translating (moving without rotation) those vectors, such that their origin coincides with the origin of the coordinate system, then the convention is to measure their angles from the (positive) real axis, where counterclockwise means positive rotation.

Alternatively, imagine drawing a line out from the origin of the vectors parallel to the real axis.

toolpusher123 said:
For the pole added at (-1 +/- 2j) I sum the angles to the point at -1 + 2j but do I include the 90 deg from the pole at -1-2j?
I really have to emphasize this part: You're not adding any poles at ##s = -1 \pm j2##. That's just a test point you're using to figure out if the angle criterion is satisfied at that point, so it must not figure into your calculation:
milesyoung said:
1. Plot vectors from all open-loop zeros and poles (including the ones from the compensator) to your test point.

toolpusher123 said:
Σ zeros (105.42+90) - Σ poles (63.38+58+114.47+113.24+90) = 195.42 - 439.09 = - 243.67 deg (should this be negative?)
That's almost correct! :)

The pole contributions of 58° and 90° are not correct (the 90° one shouldn't be there). There are only 4 open-loop poles in addition to the one from the compensator, which you need to add to force the sum of the angles to equal:
$$r(180^\circ), \quad r = \pm 1,\pm 3,\pm 5,\dots$$
Anything negative is fine, it just means ##r## is a negative factor.
 
Last edited:
  • #45
Major issue, I uninstalled Avast as it was blocking Matlab. I didn't realize that at Matlabs .dll's were in its virus chest! Now surprise, surprise Matlab will not run. In process of downloading/reinstalling Matlab so that I can produce the 'root locus' plots etc...
  • I'll redo the 'angle criterion' calcs. I should only use the angles from; -2.0, -1.25, 0.117+/- 0.051j (4 open-loop poles).
  • I'll post asap...
 
  • #46
Hi, I redid those 'angle criterion' calc's & managed to reinstall Matlab. The angle criterion wasn't met, so I added a pole, see below:
  • Angle Criterion: ∑ zeros (90+105.42) - ∑ poles (63.38+82.75+114.47+113.24) = (195.42) - (373.84) = -178.42
  • Therefore if I subtract that from 180 deg: 180 - 178.42 = 1.58
  • You subtract poles therefore: (s+z)/(s+p) = (s+z)/(s+1.58)
 
  • #47
toolpusher123 said:
  • Angle Criterion: ∑ zeros (90+105.42) - ∑ poles (63.38+82.75+114.47+113.24) = (195.42) - (373.84) = -178.42
  • Therefore if I subtract that from 180 deg: 180 - 178.42 = 1.58
So far, so good. As you can now tell, with the addition of the zero at -1, the angle criterion is very nearly satisfied, so if you plot the root locus with just the compensator zero added, you should see it pass very close to ##s = -1 \pm j2##.

Your results differ from mine a tad, but it's so little that it's probably just from rounding and whatnot.
toolpusher123 said:
  • You subtract poles therefore: (s+z)/(s+p) = (s+z)/(s+1.58)
Now you do something very strange. 1.58° is the angle the compensator pole needs to contribute, but you use it as a pole location? :oldconfused:
 
  • #48
For plotting the 'root locus', I will use the 'open loop' tf i.e. G(s)* 2/(s+2)*(-K1)*(s+1). The (s+1) being the new zero...
  • Is the 'compensator' part of the H(s) block i.e. 2/(s+2)? Or would I represent it as a new tf in a Simulink block diagram?
 
  • #49
toolpusher123 said:
For plotting the 'root locus', I will use the 'open loop' tf i.e. G(s)* 2/(s+2)*(-K1)*(s+1). The (s+1) being the new zero...
  • Is the 'compensator' part of the H(s) block i.e. 2/(s+2)? Or would I represent it as a new tf in a Simulink block diagram?
What would you prefer?
 
  • #50
Back
Top