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

In summary, you are attempting to solve a system with two poles by using a conjugate pair of poles to approximate the dominant pole. You derive the transfer functions and determine the other parameters from that. 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. If you follow the method, you just plot the root locus.
  • #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:
Physics news on Phys.org
  • #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
  • #51
toolpusher123 said:
Ok I will add to H(s) block, H(s) now = 2s+2/(s+2)
So, is the root locus where you would expect?
 
  • #52
I think so, I'm looking at the corresponding 'step reponse', I think overshoot has dropped (improved stability)?
On the root locus I would have thought the new 'zero' would move root locus to the L.H.S?
 
  • #53
toolpusher123 said:
I think so, I'm looking at the corresponding 'step reponse', I think overshoot has dropped (improved stability)?
You've made sure the root locus is close to ##s = -1 \pm j2##, but you need to add the compensator pole to actually force it to pass through it.

Also, recall that the root locus just shows you possible locations for the closed-loop poles. You need to figure out what value of ##K_1## actually places closed-loop poles on the root locus where you want them. Currently, you're just plotting with ##K_1 = 1##, and, as you can tell from your root locus plot, there are no closed-loop poles (purple dots) anywhere close to ##s = -1 \pm j2##.
toolpusher123 said:
On the root locus I would have thought the new 'zero' would move root locus to the L.H.S?
Yes, due to its contribution to the angle criterion, a lead compensator will have a tendency to "push" the root locus further into the left-hand plane.
 
  • #54
I'll have to check with the youtube video you posted earlier, but do I perform much the same process to find the 'compensator pole'?
 
  • #55
toolpusher123 said:
I'll have to check with the youtube video you posted earlier, but do I perform much the same process to find the 'compensator pole'?
You're pretty much already done with that. You know what angle it needs to contribute, so, just like you found the angles for the other vectors, find the location a pole must have in order for its vector to contribute 1.58°.
 
  • #56
I should probably also mention now, before you start wondering, that there's a rather significant caveat to root-locus design:

Using the angle criterion, you can force the root locus to place a branch anywhere you want, but this says nothing about where else it might also have a branch. You might finish your design only to discover that your carefully selected closed-loop poles are no longer dominant, or worse, the system might be unstable.

I mention this, because the design you're currently doing has a branch that's closer to the imaginary axis than the dominant closed-loop poles you want, but there's no need to worry about that now. It has an easy fix.
 
  • #57
I've used the reverse of the previous procedure. So if I want the pole on the real axis & I want it to contribute 1.58 deg. Using the same ref point as before i.e. s= -1 +/- 2j, I get a position for the new pole at s=-73.51 (real axis)?
 
  • #58
toolpusher123 said:
I've used the reverse of the previous procedure. So if I want the pole on the real axis & I want it to contribute 1.58 deg. Using the same ref point as before i.e. s= -1 +/- 2j, I get a position for the new pole at s=-73.51 (real axis)?
You could try plotting the root locus again to check your result.
 
  • #60
toolpusher123 said:
Wow, I've never had this result in all my attempts. Not 100% sure I entered the correct tf.
No, something went wrong there. You added the compensator zero alright, so what's the difficulty with adding the pole?
 
  • #61
I keep getting the same result, therefore I don't think it's a mistake in my multiplication when working out my tf. It must be the position of the pole.
  • To work out the position of the pole, I just used trig. Knowing the 3 angles (1.58, 88.42 & 90) & the height of the right angled tri i.e. 2.0 ,to put pole on real axis. I then derived the length of the base (base equal to 72.54). The reference pole was at (-1) on real axis therefore my new pole is at -73.51?
  • I'm really not sure what's wrong with the method or calc?
 
  • #62
toolpusher123 said:
I keep getting the same result, therefore I don't think it's a mistake in my multiplication when working out my tf. It must be the position of the pole.
  • To work out the position of the pole, I just used trig. Knowing the 3 angles (1.58, 88.42 & 90) & the height of the right angled tri i.e. 2.0 ,to put pole on real axis. I then derived the length of the base (base equal to 72.54). The reference pole was at (-1) on real axis therefore my new pole is at -73.51?
  • I'm really not sure what's wrong with the method or calc?
I had another look at your root locus plot. I can't tell exactly what it is you're doing, but it shows a zero at -73.51, not a pole (circles are zeros, crosses are poles).

You can include your MATLAB code using [ code ][ /code ] tags without the spaces.
 
  • #64

Attachments

  • upload_2014-12-15_19-40-30.png
    upload_2014-12-15_19-40-30.png
    1.7 KB · Views: 504
  • #65
So with the addition of the compensator pole, does the root locus now pass through ##s = -1 \pm j2##?
 
  • #66
No it's close but it doesn't go through these ponts?
 
  • #67
toolpusher123 said:
No it's close but it doesn't go through these ponts?
If I use your pole location, I have it passing through within ##s = (-1 \pm 0.005) \pm j(2 \pm 0.005)##. That's close enough.

Now you need the value of ##K_1## that places closed-loop poles at that location.
 
  • #68
Yes you're right it does. I was looking at the wrong root locus (I now have several on my desktop). So K1 representing the gain, I need to find a value for it that places 'closed loop' poles at s = -1 +/- 2j. I was getting confused with the open/closed loop. I plot the locus with open loop tf but it shows the possible positions of closed loop poles.
  • To find the value of K1, is there a formula or would I just move the 'pink dot' until its in the required position & read off the value?
 
  • #69
When you say that it comes as close as 0.005, is this on the root locus with the compensator added? When I zoom in it looks as if it's way further out. Am I even looking at the correct plot?
rlocus plot: https://app.box.com/s/0w8pszlnpxa31vxpn0an
 
Back
Top