You can review this (and past) tutorials by following their links on
the
Problem Sets webpage for 2.010.
This homework should not be too bad. The details on drawing root locus
are easiest to learn
if you walk through them yourself (so I'm not even going to bother
re-listing all the details
over a multitude of pages this week). The m-files at the links below
step (quickly!) through calculations
of the centroid and asymptotes and gain margin for several example
systems; hopefully looking
through the code will be helpful as you go through similar steps for the
systems in hw #8.
Note that the one step not done automatically in the matlab
code is an 'eyeball'
estimate of where the root locus is at the 'margin of
stability' (where it crosses the
imaginary axis). I just defined a variable called 'gazc'
(guess-at-zero-crossing) for each
system by hand...
The homework this week should give you the opportunity:
To go through the steps of taking some Open-Loop Transfer
Function (OLTF(s)), represented as:
OLTF(s) = K * [(s + z1) * (s + z2) * ... * (s + zm)] / [(s + p1) *
... * (s = pn)]
and drawing a root locus (which shows the continuous paths of
locations on which each of the POLES move as you increase 'K' from zero
to infinity).
Some steps needed to draw the root locus include:
Plotting the open-loop poles and zeroes on the real-imag axis
(the s-plane)
These locations correspond to 'K=0' for the closed-loop system.
Calculating the centroid (on the Real axis) where the asymptotes
intersect.
centroid = (sum(poles) - sum(zeroes)) / ((# of poles) - (# of
zeroes))
Drawing asymptotes.
The number of asymptotes will equal "(# of poles) - (# of
zeroes)"
The asymptotes will all intersect the centroid.
The angle between each asymptotes and its nearest neighbor
(asymptote) will be 360/(total # of asymptotes)
Each zero will 'absorb' a pole (if #poles>#zeroes). [The zeroes do
not move.]
The other poles will take paths which approach the asymptotes.
The exact rules for drawing root locii are provided in
class notes
suggested readings by Nise and Ogata
Here's a brief summary of how to use an accurate root locus plot
(generated in MATLAB) to calculate the GAIN MARGIN
Eyeball the location where the root locus crosses the
imaginary axis.
Measure the distances (dp1, dp2, etc) from each open-loop pole to
this crossing location.
Measure the distances (dz1, dz2, etc) [if any!] from each zero to
this crossing location.
K_crit = (dp1*dp2*...*dpn)/(dz1*dz2*...*dzm)
The 'gain margin' is proportional to K_crit, but also depends on the
gain 'K' of the open-loop system.
Gm = K_crit / K
Here are MATLAB scripts which calculate the GAIN MARGIN (and plot root
locii w/ asymptotes) for some systems
(unrelated to the systems in hw #8):
My final comment is that the systems in hw#8 are systems you have seen
in hw's 6 and 7 to allow you
to concentrate on the new ideas (i.e. how to use root locus) --
so you should not be spending a large
amount of time puzzling out what your system transfer functions are.
(e.g. The OLTF for problem 8.1
has poles at zero and -2*pi w/out the servovalve dynamics, as seen in
problem 7.1. The servovalve dynamics add two additional
poles at -25 Hertz (-50*pi).)