Simple Technique For Root Locus Plotting
Simple Technique For Root Locus Plotting
Simple Technique For Root Locus Plotting
We present a simple technique for calculating and plotting the root locus of a linear control system. Although several programs are com-
mercially available for this purpose, and remarks on this subject can be found in dedicated texts, a complete description of the program code
is desirable to provide the designer with versatility and deeper insight. This report describes our technique and includes complete program
codes. In this technique, the roots of the systems characteristic function are found by providing a single, unique guess value to be used in
a first derivative search algorithm in order to calculate the unknown set of roots. Similarly to other techniques, the root locus is found by
calculating the systems set of roots as the gain varies in the range of interest. The resolution obtained depends on the sampling rate of the
gain parameter. The technique is suitable for any programming language and there is basically no limit on the root order of the system. To
illustrate the technique a four-pole order system is analyzed. Then, to improve the response of the system a lead compensation network is
added.. The usefulness of the technique is illustrated by comparing the time response of the compensated network over the uncompensated
one.
Presentamos una tecnica sencilla para calcular y trazar el lugar de las races de un sistema de control lineal. Aunque existen diversos
programas comerciales para este proposito y pueden encontrarse algunos topicos sobre este tema en textos dedicados, es deseable tener
una descripcion completa del codigo del programa, permitiendole al disenador mayor versatilidad y profundizar mas en el sistema bajo
su estudio. Este reporte describe nuestra tecnica e incluye codigos completos de la programacion. En esta tecnica las races de la funcion
caracterstica se calculan proporcionando un u nico valor de prueba que es utilizado en un algoritmo de busqueda de derivada de primer orden.
De manera similar a otras tecnicas, el lugar de las races es construido mediante el calculo del conjunto de las races del sistema en funcion
del parametro de ganancia. La tecnica puede ser utilizada en cualquier lenguaje de programacion y basicamente no hay lmite en el orden del
polinomio caracterstico. Para ilustrar la tecnica analizamos un sistema lineal de cuarto orden al cual posteriormente se le anade una red de
compensacion de adelanto de fase para mejorar la respuesta en el tiempo. La utilidad de la tecnica es ilustrada comparando la respuesta en
tiempo del sistema compensado con respecto al sistema original.
1. Introduction the Nyquist stability criterion, the Nichols chart and the root-
locus-plotting. Vast literature on these subjects can be found,
The use of feedback in system controlling has become an im- for example in Refs. 5 and 6.
portant tool in several areas as for example in automation of With the advent of the personal computer and the avail-
industrial processes. Commonly applications can be found in ability of faster processors, a suitable technique to be used
controlling of communication networks [1]. Additionally, the in a personal computer is the root-locus-plotting. This tech-
controlling of hydraulic drives represents an important tool nique gives accurate results and provides the designer with an
for metal forming machines, injection molding, and in the ample knowledge of the behavior of the system under inspec-
construction of testing devices [2]. Perhaps, the most com- tion. Then, several parameters of the system (gain, damping
monly known application can be found in automatic aircraft factor, time response, etc) can be calculated accurately. This
piloting [3]. Higher control system technologies can be found allows for designing, not only stable systems, but also, by
in the manufacturing of semiconductor devices [4]. trial and error, it is possible to propose improvements over the
Independently of the area of the application, the main original design. In contrast, the other mentioned techniques
concern in system controlling is to calculate accurately the ordinarily give local, relative or moderate information [5,6].
performance of the system under design for stability, time re- There are several commercially available programs in
sponse and reliability. control design and for root-locus-plotting, among them,
Calculating the stability of a feedback system has de- RLOCUS function of MATLAB R is the most frequently
served a great deal of attention. Several techniques have been used. However, the designer depends on inherent built in
proposed on this subject. Among them, the most used are functions of the particular program or tool in use and no in-
SIMPLE TECHNIQUE FOR ROOT LOCUS PLOTTING 557
formation is available of the internals of these calculations. Fig. 2A represents a phase-lag network because the phase an-
Thus, an open technique is desired to provide more versatility gle associated with the phasor transfer function is negative
to the designer. In what follows we show how the proposed when the substitution s = i is made, where i = 1,
technique works. = 2 f , and f is the frequency.
2. Feedback transfer function considerations As a second example let us consider a network for con-
trolling the speed of a d-c motor. The devices involved in this
Let us consider the basic feedback block diagram shown in system are composed by an isolation amplifier, a tachome-
Fig. 1. This system can be used to derive the feedback rela- ter a power amplifier an amplidyne and a d-c motor. A brief
tions common to all types of feedback theory [7]. In Fig. 1, description for each mechanical device follows.
C (s) represents the Laplace transform of the time depen-
The tachometer is a fixed field d-c generator and used
dent input c (t), and R(s) the Laplace transform of the output
as a rotational speed sensor. The transfer function for the
r (t). G(s) and H(s) are the forward and feedback transfer
tachometer is given by
functions respectively. The parameter s is the complex vari-
able in the Laplaces space.
Thus, as it is well known, the closed loop transfer func- Eout (s)
= KT ,
tion can be written as (s)
C (s) G (s)
= . (1) where KT is the tachometer constant with dimensions of
R (s) 1 + G (s) H (s)
Volts/radian [7].
Equation (1), represents the closed loop transfer func-
tion as the ratio of the Laplace-transformed integrodifferen-
tial equation describing the output function to the Laplace-
transform of the integrodifferential equation describing the
input function, with all initial conditions equal to zero [7].
Some examples are given in Sec. 3.
The equation that results of equating the denominator in
Eq. (1) to zero is known as the characteristic equation. It is
given by
1 + G (s) H (s) = 0. (2)
The characteristic equation, [Eq. (2)], is used to plot the
system root-locus as described in the next sections.
The d-c motor uses electrical power to generate mechan- This equation will be used in the next section to attain
ical torque. The transfer function for the d-c motor is given some general remarks on the analytical expression of the
by closed loop transfer function of a linear feedback system.
(s) KM KM /M
= = ,
Ein (s) 1 + M s (s + 1/M )
4. General remarks on linear system transfer
where KM = 1/Kb , M = JRA /KT Kb . Kb is the back functions
emf, or generator constant, measured in Volts per radian per
second, J is the inertia of the motor shaft and the load mea-
The results of the above example allows us to summarize
sured in slug-feet2 , RA is the resistance of the shunt field and
some general remarks on the analytical expression of the
KT is the motor-torque constant measured in pound-feet per
overall transfer function. This approach is similar to the one
Ampere, [7].
found in dedicated texts, [6,7].
The amplidyne is a very rugged electromechanical power
amplifier capable of the controlled transformation of a few It can be seen that a feedback network consists basically
Watts into thousands of Watts. The amplidyne is essentially of a forward and a feedback path.
a d-c generator with an extra set of brushes, thus it consists of
a control field winding and a quadrature field or QQ brushes Each path in the network is composed by individual
used in much the same way as the elements of a d-c shunt blocks. Each block represents a set of electrical networks
generator. The transfer function for the amplidyne is given or/and servo-mechanical-electronic devices each having an
by associated rational transfer function which is written as
the quotient of two polynomials with constant coefficients.
Eout (s) KA
= Moreover, the rational function is explicitly expressed as
Ein (s) (1 + Cc s) 1 + Q s products of well determined poles an zeroes which charac-
KA /C Q terizes the physical behavior of the associated component or
= , device at least in a functional linear region.
(s + 1/C ) s + 1/Q
where KA is the amplidyne constant and is dimensionless, If N blocks, B1 , B2 , , BN are located in a particu-
and C , and Q are the control and quadrature field time con- lar path, the overall transfer function for the path is given
stants [7]. by the product of the transfer function of each block as
The components described above can be combined to de- (B1 )(B2 ) (BN ).
sign a driven d-c motor controlled system as shown in Fig. 3.
A global multiplicand parameter, denoted as k, represents
Using the transfer function for each component, it can be
the unknown to be determined for stable working conditions.
shown that for this system
2 This parameter is located in a specific block and it is usu-
s + 1/R1 C1 ally in the form of a gain.. When parameters other than k
G(s)H(s) =
are unknown, they are varied (one at a time), in this case the
R1 + R2 corresponding root locus plot is defined as a generalized root
s+
R1 R2 C1 loci.
K1 K2 (KM /M )KA C Q From the above discussion, it is apparent that the open
.
(s + 1/C ) s + 1/Q (s + 1/M ) loop equation G(s)H(s) can be expressed as
The product G(s)H(s) is known as the open loop transfer
function.
In this application it is considered that the gain K1 is to (s z1 ) (s z2 ) ... (s zm )
G(s)H(s) = k , (3)
be determined for stable working conditions. All other pa- (s p1 ) (s p2 ) ... (s pn )
rameters in the above equation are considered as constants,
except of course, the state variable s. where m < n, that is, the number of poles is greater than the
Denoting the gain K1 by the variable k, the above equa- number of zeros. Compare with the example equation at the
tion can be written as end of Sec. 3.
2
The number of poles in the origin defines the type of sys-
s + 1/R1 C1
G(s)H(s) = k
tem under consideration. If 0,1,2,3, and so on, poles are lo-
R1 + R2 cated at the origin a type 0,1,2,3, and so on, system is defined.
s+
R1 R2 C1 The open-loop gain factor, k, is usually considered positive.
Equation (3) is the general analytical form that can be stud-
K2 (KM /M )KA C Q
. ied by the root locus technique and this is the only case that
(s + 1/C ) s + 1/Q (s + 1/M ) is considered in this work.
Fortunately the vast majority of linear servo-systems can be this model by only changing the numerical values assigned to
modeled by equation (3). When the above conditions are not the poles and zeroes
fulfilled it is necessary to use partial fraction expansion tech- The programming platform is Mathcad R Plus 6.0 and
niques to intend to describe the system as in Eq. (3). was selected due to its powerful graphical environment.
By using Eq. (3), the characteristic equation, can be writ- The characteristic equation for this system can then be
ten as written as
(s z1 ) (s z2 ) ... (s zm )
1+k = 0. (4)
(s p1 ) (s p2 ) ... (s pn )
(s p1 ) (s p2 ) (s p3 ) (s p4 )
From Eq. (4), the root-locus of the system is given by the
set of roots of the equation +k (s z1 ) (s z2 ) = 0 (6)
(s p1 ) (s p2 ) ... (s pn ) where
+k (s z1 ) (s z2 ) ... (s zm ) = 0, (5)
p1 = 0; p2 = 1; p3 = 4; p4 = 6;
where the value of the gain is sampled over the range of in-
terest. z1 = 2 i20; z 2 = 2 + i20. (7)
As m < n, Eq. (5) results to be a polynomial of order
n. Let R1, R2, ..., Rn denote the n roots of Eq. (5), then, the It can be seen that Eq. (6) is a polynomial of fourth degree
root-locus of the system is the plot of the real part against the on the variable s and that the restriction m < n, is fulfilled.
imaginary part for each of the roots as the gain varies form Explicitly, Eq. (6) can be written as
an initial to a final value.
Without lose of generality we will consider the most com-
mon case in which the gain k, varies for positive values, al- s4 + 11s3 + (34 + k)s2 + (24 + 4k)s + 404k = 0.
though this is not a restriction for the present technique.
We may express this polynomial as
Step c) The third step is to provide an initial guess value derivative function.
for initiating the process. A common way to do this is by con- In this case, the loop described above is executed 800
sidering the three terms of higher degree in the polynomial as times by the next statement,
m0
root2(s, k, R) := sm s
R1n := root1(s1, kn ), while 1
y sm
where s1 is the guess value and kn is the n-th sampled gain. f 2 (y, k, R)
sm+1 y
After complete execution, (no out of bounds message d
generated), a set of 800 roots within the specified precision f 2 (y, k, R)
dy
is obtained and stored in an array. Each root in the set cor- break if |f 2 (sm , k, R)| 108
responds to one of the elements in the gain array constructed mm+1
in step b). As the characteristic equation for this example is a sm+1
polynomial of degree four, this set of roots is denoted as the
first-set of roots. Three more sets remain to be found.
As in the first loop the guess value is provided and stored
In order to proceed further, the second-set of roots will be
in the first entry of an array. Additionally, the corresponding
calculated. For this, a second function is defined by using the
gain and value stored in the gain-array and in the first-set of
next statement
roots are provided for each iteration.
f 1(s, k) The statement for executing 800 times the above code to
f 2(s, k, R1) := . calculate the second-set of roots is
s R1
Notice that the second function has a degree less than the R2n := root2(s1, kn , R1n ).
first function.
Notice that the first function has dependence only on s At the end of the loop, the second-set of roots within the
and on the gain while the second function shows dependence proposed precision is stored in the array. As described, each
also on the first-set of roots previously found. This will allow calculated root corresponds to a gain stored in the gain array
to obtain the second-set of roots for each value stored in the and at the same time to a root stored in the first-set array.
first-set of roots. The technique follows the same sequence up to the fourth
The loop statements for calculating the second-set of set of roots. For completeness, the statements for calculating
roots is then the third and fourth set of roots follow:
f 2(s, k, R1)
f 3(s, k, R1, R2) := ,
m0 s R2
root3(s, k, R1, R2) := sm s
while 1
y sm
f 3 (y, k, R1, R2)
sm+1 y d
dy f 3 (y, k, R1, R2)
break if |f 3 (sm , k, R1, R2)| 108
mm+1
sm+1
R3n := root3(s1, kn , R1n , R2n ).
The code for finding the fourth set is
f 3(s, k, R1, R2)
f 4(s, k, R1, R2, R3) := ,
s R3
m0
root4(s, k, R1, R2, R3) := sm s
while 1
y sm
f 4 (y, k, R1, R2, R3)
sm+1 y d
dy f 4 (y, k, R1, R2, R3)
break if |f 4 (sm , k, R1, R2, R3)| 107
mm+1
sm+1
6. Root-locus plotting for the example the system just discussed. Several techniques to accomplish
this are possible. Among them, let us choose, a simple
Figure 4A shows the root-locus obtained for the four-pole lead compensation network introduced in the forward loop
example of the above section. The dashed line shows the of the system. Let, the lead network consist of a pole located
desired damping ratio. In this case we have chosen the com- at 16.0 and the zero at 1.6 (trial an error is necessary to find
monly used value 0.5. The intersection of the dashed line suitable values). Additional amplification is included to de-
with the root-locus corresponds to one of the roots. By ex- crease the error signal, for impedance matching, and to meet
ploiting the graphical capabilities of Mathcad R , which al-
with the gain value that will be obtained after performing the
lows expanding portions of the plot, it is possible to estimate calculations, Fig. 5. The characteristic equation for the com-
graphically the corresponding root an then to find it precisely pensated system can be written as
by choosing the corresponding entry in the calculated arrays.
The intersection of the root-locus with the damping ratio line
(s p1 ) (s p2 ) (s p3 ) (s p4 ) (s p5 )
results 0.363 + i0.612.
Once a root is found, the gain and the remaining roots are +k (s z1 ) (s z2 ) (s z3 ) = 0, (10)
obtained by consulting in the arrays the corresponding val-
ues. For this case, k = 0.033. The corresponding four roots where p1 , p2 , p3 , p4 , z1 , z2 , corresponds to the original sys-
are tem, given in Eq. (7), and p5 , z3 , correspond to the additional
R1 = 4.57; R2 = 5.704; pole and zero introduced by the compensating network (-16.0
and -1.6, respectively).
R3 = 0.363 + i0.612;
It will be noticed that Eq. (10) corresponds to a fifth
R4 = 0.363 i0.612. degree polynomial. The coefficients of the polynomial can
readily be found by using the polynomial coefficient, built
For reliability, each calculated root is introduced into the
in tool provided by Mathcad R . The fifth degree polynomial
characteristic equation and its absolute value calculated for
for this characteristic function is given by
each corresponding gain value. The maximum error found
results in less than 1010 , representing an excellent precision
for most practical applications. s5 + 27s4 + (210 + k)s3 + (568 + 5.6k)s2
Once the complete set of roots and gain are known the
+(384 + 410.4k)s + 646.4k = 0,
system performance can be tested. For example, for a
unitary-step input, the overall transfer function can readily
be expanded in partial fractions and the time response can and the corresponding program statement is given by
be plotted by calculating the inverse Laplace transform. Fig-
ure 4B shows the time response for the four-pole system dis- f 1(s, k) := a5(k) s5 + a4(k) s4 + a3(k) s3
cussed above. It can be seen, from Fig. 4B, that the maxi-
+a2(k) s2 + a1(k) s + a0(k).
mum overshoot occurs at approximately five seconds and the
system settles after approximately 14 seconds.
Let us illustrate how the present technique can be used to In order to plot the root-locus for the compensated system,
improve the performance of the system. For this purpose, let the code for calculating the fifth set of roots must be added to
us consider that it is desired to speed up the time response of the overall previous code. For completeness we provide the
code for obtaining the fifth set of roots:
(A) (B)
F IGURE 6. A) Root-locus plot for the compensated system. The poles are located at 0, -1, -4, -6, -16 and the zeroes at 2 i20, 2 + i20
and -1.6. B) System time response to the unitary step input.
To illustrate the simplicity and usefulness of the tech- the time response thus, showing the usefulness of having an
nique, a particular four-pole order system was selected. The open code root locus visualization technique.
root-locus of the system was plotted and the characteristic The technique can be implemented in any programming
roots and gain were found for a desired damping ratio. The language and shows to be reliable and time efficient, offering
time response of the system to a unitary-step was obtained. A a versatile tool for the interested designer.
lead compensation network was proposed for improving the
time response and by trial and error suitable parameters were
Acknowledgements
found. The root-locus of the compensated system was com-
pared to the uncompensated one to show the improvement in We thank to Manuel Servn for useful discussion.
1. L. G. Bushnell, IEEE Control Systems 21 (2001) 22. 5. P. H. Lewis and C. Yang, Basic Control Systems Engineering,
2. E. Detiek and E. Kiker, Experimental techniques 25 (2001) 35. (Prentice-Hall Inc, 1997), p. 248.
3. E. O. Doebelin, Measurement Systems Application and Design, 6. W. J. Palm III, Control Systems Engineering, (John Wiley &
(McGraw-Hill Book Co, 1966), p. 345. Sons Inc. 1986), p. 484.
4. J. Y. Choi and H. M. Do, IEEE Trans. On Semiconductor Man- 7. R. E. Lueg, Basic Electronics, (International Textbook Com-
ufacturing 14 (2001) 1. pany 1963), p. 284.