Sie sind auf Seite 1von 6

University of West Florida

Department of Electrical & Computer Engineering


EEL4657L — Linear Control Systems Laboratory
Spring 2018 Lab #6
Root Locus: Graphical & Analytical Analysis Using MATLAB

Objective

The objective of this laboratory exercise is to utilize MATLAB to obtain the root locus for various
systems. In addition, analytical techniques implemented in MATLAB are used to verify graphical
ω axis crossing points with associated gain as well as break away/in points with associated gain.

✓✏
R(s) ✲
+ P
✲ K ✲ G(s) q ✲ Y (s)
✒✑

Figure 1. Unity negative feedback system with variable gain K.

Background Theory

When the root locus technique is employed, one typically assumes a unity negative feedback system
with open loop gain G(s) cascaded with a variable gain parameter K as shown in Figure 1. Then,
the objective is to investigate how varying K affects the stability as well as transient behavior of
the system. In the following, the analytical techniques that are employed to obtain an estimate to a
root locus plot are presented. In addition, the necessary procedure for using the MATLAB Control
System Toolbox as well as ancillary m files to obtain required information is also discussed.

Analytical Techniques

While MATLAB, as described later, can plot the root locus and numerically determine for which
range of K the system is stable or which K leads to a certain type of transient behavior, it is
necessary to have an understanding of how to do this analytically based on the abbreviated steps
described below.

1. Determine the closed loop transfer function for the system shown in Figure 1 and write it in
the standard form
Y (s) KG(s)
T (s) = = . (1)
R(s) 1 + KG(s)

EEL4657L Lab #6 1 of 6 Last revised: 17 December, 2017


In the event that the system is not a unity negative feedback system, or, in the case of a unity
negative feedback system where the parameter K is not a numerator factor of G(s), some
additional work is required to obtain the form shown in (1). However, these situations are not
considered in this laboratory exercise.

2. Once the form for the transfer function shown in (1) is obtained, identify and plot in the
complex frequency (s) plane the poles of G(s), using an ×, as well as the zeros of G(s), using
an ◦. In addition, determine the number of infinite zeros of G(s). Recall that this is equal to
the order of the denominator polynomial of G(s) minus the order of the numerator polynomial
of G(s).

3. Sketch the required root locus segment(s) on the real axis in the complex s plane. Recall that
the root locus segment(s) on the real axis are to the left of an odd number of poles and zeros
located on the real axis.

4. Determine whether or not the root locus for the system has break away points or break in
points. Break away points occur if poles on the real axis come together and go to finite or
infinite zeros in the complex s plane. Break in points occur if poles in the complex s plane
go to finite zeros on the real axis or to infinite zeros on the real axis. Note that at break
away or break in points, the second order (sub)system has a critically damped response in the
time domain. For break away points, values of K before the break away K value lead to an
over damped (sub)system response while values of K after the break away K lead to an under
damped (sub)system. For break in points, values of K before the break in K value lead to an
under damped (sub)system response while values of K after the break in K lead to an over
damped (sub)system.
If break away or break in points are determined to exist, then they respectively occur at
maxima or minima for K on the real axis. As such, these points are determined by finding the
roots of
d d 1
 
0 = K = − . (2)
ds ds G(s)
That is, (2) is determined by equating the denominator of (1) to zero, solving for K and then
differentiating the resulting equation with respect to s.
Note that (2) may yield more values of s than there are break away or break in points. The
extraneous points, which are determined by noting that break away or break in points must be
real and must occur between poles or zeros on the real axis, are eliminated leaving the actual
break away or break in points as s = sbreak . Furthermore, the value of K which leads to the
break away or break in point at the location s = sbreak is determined as
Y
(s + pj )
p(s)

j

Kbreak = − Y = − . (3)

z(s) s=sbreak

(s + zi )
i
s=sbreak

5. Determine whether or not the root locus for the system crosses the imaginary (ω) axis. This
can occur under numerous circumstances. For instance, it can occur when poles in the left half

EEL4657L Lab #6 2 of 6 Last revised: 17 December, 2017


s plane follow a trajectory to finite or infinite zeros in the right half s plane. It can also occur
when poles in the right half s plane follow trajectories to finite or infinite zeros in the left half
s plane. If the gain value leading to a crossing on the ω axis is determined to be Kcross , then,
in the first situation, the system will be stable if the gain satisfies 0 < K < Kcross while in the
second situation, the system will be stable if K > Kcross .
To determine whether or not a ω axis crossing exists, form the Routh–Hurwitz table for the
closed loop system T (s) shown in (1). That is, if G(s) = z(s)/p(s), then the polynomial for the
Routh–Hurwitz table is p(s) + Kz(s). Since ω axis crossings occur when an entire row in the
Routh–Hurwitz table is zero, determine if there are any K values that lead to a row of zeros
in the Routh–Hurwitz table by starting with the first row and proceeding to the last row in
the Routh–Hurwitz table. If K does exist, then Kcross = K. To determine the exact location
on the ω axis where the crossing occurs, one utilizes the auxiliary equation. Recall that the
auxiliary equation is obtained from the row immediately preceeding the just determined zero
row. Then, for the auxiliary equation, each value of K is replaced by Kcross , and the equation
is solved for s, which yields the ω axis crossings points.

6. To ultimately plot the complete root locus trajectory, note that all root locus segments must
start at the poles of G(s) and ultimately end at the zeros of G(s) with numerical values of any
break away, break in or ω axis crossing points determined as noted previously. Furthermore,
the root locus trajectory must by symmetric with respect to the horizontal (ω = 0) axis.

MATLAB

The above procedure can be automated by using the MATLAB rlocus command, which requires
the Control System Toolbox. The rlocus command, at a minimum, requires one argument, which
describes the open loop system shown in Figure 1 (doc rlocus). Typically, this is done by providing
a vector num and a vector den where the vector components respectively are the coefficients of
the numerator and denominator polynomial of G(s) and then forming the system using sys =
tf(num,den). Then, to obtain various pieces of information concerning the system at a specific
point of the root locus trajectory (e.g., gain value K, pole location, etc.), one clicks on the desired
location of the resulting root locus plot.

Finally, as seen in Lab #5, m files supplied by other users can enhance the functionality of MATLAB.
For this lab, routh.m, which is in the file routh_information.zip at https://elearning.uwf.edu,
can be used to analytically determine the ω axis crossing points, which are the boundary between
a stable and unstable system. The use of this m file is described through various examples in
the routh_handout.pdf supplemental handout at https://elearning.uwf.edu, which is also con-
tained in the zip file routh_information.zip.

EEL4657L Lab #6 3 of 6 Last revised: 17 December, 2017


Procedure

1. Consider the system in Figure 1 with open loop gain


1 1
G(s) = = 3 .
(s + 1)(s + 3)2 s + 7s2 + 15s + 9

Use the MATLAB rlocus command to plot the system root locus. Present this plot in the
final report. Next, click on the end of the left root locus and bottom root locus trajectores
to show the gain value (as well as other information) associated with the end of each of the
three root locus trajectories. Now, click on the top ω crossing point to label this point. The
plot with the four noted points is presented in the final report in addition to the unlabeled
one. (Ensure that the plot window is sufficiently large so that the boxes associated with the
labels do not overlap, but that it is not so large that when it is copied to the word processed
lab document that the labels become too small to read.)
Next, based on the information presented in the handout routh handout.pdf (focus on the
fifth example in the handout) as well as in the Background Theory section of this document,
use routh.m with additional MATLAB code to have MATLAB “analytically” determine the
ω axis crossing value as well as associated gain value K. In particular, utilize the routh
command as routh(den+k*num,epsilon) where k and epsilon are defined to be symbolic
(i.e., syms) and den and num are equal length vectors (i.e., if leading zeros are required to
make the vector lengths equal, then they must be used) containing respectively the coefficients
of the denominator and numerator of G(s). Then, based on the results of routh, identify the
first row which can be entirely zero (0) and add the additional necessary MATLAB code to
find the associated k. Once k is determined via MATLAB, append additional MATLAB code
to utilize the immediately preceding row in the Routh table and solve for s; this will yield the
ω crossing points as seen in lecture. In implementing the MATLAB code, the eval, solve
and subs commands will be needed. (Note that above approach requires appending MATLAB
code as intermediate results are obtained in order to ultimately obtain the final result; that
is, the final result is not obtained until the code is run several times where after each run
additional code is added based on previous results. While one can write code that will obtain
the final result without any intermediate user modifications, it would be too time consuming
for a time restricted lab exercise that has additional topics that are covered.)
For the final report, present the two root locus plots in figures with descriptive figure captions.
Also, indicate what the gain value K should be at the end of the root locus trajectory. Does
this correspond to what was found in the second root locus plot. Explain any discrepancy. In
addition, show the MATLAB code as well as Command Window input/output that utilizes the
routh.m file to determine the ω crossing points and associated gain value K in two additional
figures. Do these “analytical” results for the crossing points and gain match those that were
found from the root locus plot? Again, explain any discrepancy.

2. Consider the system in Figure 1 with open loop gain

(s + 4)(s + 5) s2 + 9s + 20
G(s) = = .
s(s + 2) s2 + 2s

EEL4657L Lab #6 4 of 6 Last revised: 17 December, 2017


Use the MATLAB rlocus command to plot the system root locus. Present this plot in the
final report. Next, identify the system break away and break in points and click on these to
label them with the gain value and s plane location (as well as other information). The plot
with these labeled points is to be presented in a separate figure in the final report.
Based on the information presented in the Background Theory section, utilize MATLAB to
“analytically” determine the break away/in points and associated gain values K. In particular,
use equation (2) to determine the s values associated with the break away and break in points
(for this problem one can assume that all determined s values are valid), and then utilize
equation (3) to determine the associated value of K. In implementing the above in MATLAB,
the diff, eval, solve and subs commands will be needed.
As already noted, present the two plots in figures with descriptive figure captions. In addition,
show the MATLAB code as well as Command Window input/output used to determine the
break away/in points and associated gain values in two additional figures. Do the “analytical”
results match what was found from the second root locus plot? Explain any discrepancy.

3. Consider the system in Figure 1 with open loop gain

(s − 1 − )(s − 1 + ) s2 − 2s + 2
G(s) = = .
(s + 3)2 s2 + 6s + 9

Use the MATLAB rlocus command to plot the system root locus. Present this plot in the
final report. Also, indicate the range of K that will yield a stable system, the range of K that
will yield a stable under damped system, the value of K that will yield a critically damped
system and the range of K that will yield an over damped system.
For the final report, present the original root locus plot in one figure and the labeled root locus
plot that is used to justify your stable region and transient response type in a second figure.
Also, clearly present the range of gain values for the noted stable region as well as the three
transient response conditions.

4. Consider the system in Figure 1 with open loop gain

(s + 3)(s + 5) s2 + 8s + 15
G(s) = = 2 .
(s − 3 − )(s − 3 + ) s − 6s + 10

Use the MATLAB rlocus command to plot the system root locus. Present this plot in the
final report. Also, indicate the range of K that will yield a stable system, the range of K that
will yield a stable under damped system, the value of K that will yield a critically damped
system and the range of K that will yield an over damped system.
For the final report, present the original root locus plot in one figure and the labeled root locus
plot that is used to justify your stable region and transient response type in a second figure.
Also, clearly present the range of gain values for the noted stable region as well as the three
transient response conditions.

EEL4657L Lab #6 5 of 6 Last revised: 17 December, 2017


Final Report

Present the solutions to this laboratory exercise as was done for EGN3204 problem sets. That is,
present a title page, which is not numbered, that contains the course name and number, section
number and location as well as semester at the top and the names of all lab partners at the bottom.
This is followed by the solution to all problems on numbered pages. In particular, present the
solutions in an enumerated list where the numbers correspond to the procedure step numbers.
(Always start the solutions to a new procedure step on a new page.) Give a brief description of
what is being done and follow this by necessary figures showing the necessary Multisim schematics,
Grapher View plots, MATLAB code, MATLAB Command Window output, Simulink work sheets,
etc. to address what is noted in the procedure step. The m file must have as the first line a comment
line containing the course number, lab number, procedure step number and names of all students
in the group. The m file and MATLAB Command Window output must be presented in a fixed
width font such as Courier. In addition, comment lines must be provided for each major section of
code. For Multisim circuit schematics and Grapher View plots, include the names of all students
working together. Simulink work sheets must also include all student names. Figures for the above
must contain a numbered and descriptive figure caption below the figure (e.g., “Figure 4. System
impulse response for H1 (s).”). Any required analytical work or analysis that follows the procedure
step comes after the last figure showing graphical results to a particular procedure step. All work
in the report must be word processed. This includes analysis, derivations, equations, tables, circuit
diagrams, block diagrams, etc. Finally, provide a relevant discussion/conclusion section that presents
information on what was seen and learned from the experiment in the context of lecture material
and perhaps what has been seen in previous courses. At this point in your academic career, you
should be able to provide insightful observations for work done in a laboratory course. As such, a
few sentences which simply restate what was done and ultimately indicate that everything worked
as expected will not be sufficient.

EEL4657L Lab #6 6 of 6 Last revised: 17 December, 2017

Das könnte Ihnen auch gefallen