Вы находитесь на странице: 1из 100

Root Locus

CCS-532 Lecture - 13
http://www.library.cmu.edu/ctms/ctms/matlab42/rlocus/rlocus.htm

Closed-loop poles Plotting the root locus of a transfer function Choosing a value of K from root locus Closed-loop response Key Matlab commands used in this tutorial: cloop, rlocfind, rlocus, sgrid, step

Dr Pavan Chakraborty IIIT-Allahabad

Indian Institute of Information Technology - Allahabad

Root-locus Analysis
Based on characteristic eqn of closed-loop transfer function Plot location of roots of this eqn
Same as poles of closed-loop transfer function Parameter (gain) varied from 0 to g

Multiple parameters are ok


Vary one-by-one Plot a root contour (usually for 2-3 params)

Quickly get approximate results


Range of parameters that gives desired response

Closed-Loop Poles
The root locus of an (open-loop) transfer function H(s) is a plot of the locations (locus) of all possible closed loop poles with proportional gain k and unity feedback:

The closed-loop transfer function is:

and thus the poles of the closed loop system are values of s such that 1 + K H(s) = 0.
Indian Institute of Information Technology - Allahabad

If we write H(s) = b(s)/a(s), then this equation has the form:

Let n = order of a(s) and m = order of b(s) [the order of a polynomial is the highest power of s that appears in it]. We will consider all positive values of k. In the limit as k p 0, the poles of the closed-loop system are a(s) = 0 or the poles of H(s). In the limit as k p g (infinity), the poles of the closed-loop system are b(s) = 0 or the zeros of H(s).
Indian Institute of Information Technology - Allahabad

No matter what we pick k to be, the closed-loop system must always have n poles, where n is the number of poles of H(s). The root locus must have n branches, each branch starts at a pole of H(s) and goes to a zero of H(s). If H(s) has more poles than zeros (as is often the case), m < n and we say that H(s) has zeros at infinity. In this case, the limit of H(s) as s p g (infinity) is zero. The number of zeros at infinity is n-m, the number of poles minus the number of zeros, and is the number of branches of the root locus that go to infinity (asymptotes).
Indian Institute of Information Technology - Allahabad

Since the root locus is actually the locations of all possible closed loop poles, from the root locus we can select a gain such that our closed-loop system will perform the way we want. If any of the selected poles are on the right half plane, the closed-loop system will be unstable. The poles that are closest to the imaginary axis have the greatest influence on the closed-loop response, so even though the system has three or four poles, it may still act like a second or even first order system depending on the location(s) of the dominant pole(s).

Indian Institute of Information Technology - Allahabad

Plotting the root locus of a transfer function


Consider an open loop system which has a transfer function of

How do we design a feed-back controller for the system by using the root locus method? Say our design criteria are 5% overshoot and 1 second rise time. Make a Matlab file called rl.m. Enter the transfer function, and the command to plot the root locus:

num=[1 7]; den=conv(conv([1 0],[1 5]),conv([1 15],[1 20])); rlocus(num,den) axis([-22 3 -15 15])
Indian Institute of Information Technology - Allahabad

Closed-Loop Poles

The closed-loop transfer function is:

and thus the poles of the closed loop system are values of s such that 1 + K H(s) = 0. K s  7 s ( s  5)( s  15)( s  20)  K s  7 1 !0 ! s ( s  5)( s  15)( s  20) s( s  5)( s  15)( s  20)

s ( s  5)( s  15)( s  20)  K s  7 ! 0 for s { 0,  5,  15,  20.


Indian Institute of Information Technology - Allahabad

The plot shows all possible closed-loop pole locations for a pure proportional controller. Obviously not all of those closed-loop poles will satisfy our design criteria.

Indian Institute of Information Technology - Allahabad

Choosing a value of K from the root locus


The plot shows all possible closed-loop pole locations for a pure proportional controller. Obviously not all of those closed-loop poles will satisfy our design criteria. To determine what part of the locus is acceptable, we can use the command sgrid(Zeta,Wn) to plot lines of constant damping ratio and natural frequency.
Indian Institute of Information Technology - Allahabad

Choosing a value of K from the root locus


Its two arguments are the damping ratio (Zeta) and natural frequency (Wn) [these may be vectors if you want to look at a range of acceptable values]. In our problem, we need an overshoot less than 5% (which means a damping ratio Zeta " 0.7) and a rise time of 1 second (which means a natural frequency Wn > 1.8). Enter in the Matlab command window: zeta=0.7; Wn=1.8; sgrid(zeta, Wn)
Indian Institute of Information Technology - Allahabad

Rise Time : defined as the 10% to 90% time from a former setpoint to new setpoint. The quadratic approximation for normalized rise time for a 2nd-order system, step response, no zeros is:

where is the damping ratio and frequency of the network.

is the natural

However, the proper calculation for rise time of a system of this type is:

where is the damping ratio and frequency of the network.

is the natural

Indian Institute of Information Technology - Allahabad

Indian Institute of Information Technology - Allahabad

Indian Institute of Information Technology - Allahabad

On the plot above, the two white dotted lines at about a 45 degree angle indicate pole locations with Zeta = 0.7; in between these lines, the poles will have Zeta > 0.7 and outside of the lines Zeta < 0.7. The semicircle indicates pole locations with a natural frequency Wn = 1.8; inside the circle, Wn < 1.8 and outside the circle Wn > 1.8.

Indian Institute of Information Technology - Allahabad

Zeta " 0.7 Wn > 1.8

Indian Institute of Information Technology - Allahabad

Going back to our problem, to make the overshoot less than 5%, the poles have to be in between the two dotted lines, and to make the rise time shorter than 1 second, the poles have to be outside of the dotted semicircle. So now we know only the part of the locus outside of the semicircle and in between the two lines are acceptable. All the poles in this location are in the left-half plane, so the closed-loop system will be stable. From the plot above we see that there is part of the root locus inside the desired region. So in this case we need only a proportional controller to move the poles to the desired region.
Indian Institute of Information Technology - Allahabad

Interactive Root Locus in MathScript Window

Indian Institute of Information Technology - Allahabad

You can use the locus:

[kd,poles] = rlocfind(num,den) rlocfind command in Matlab to choose the desired poles on

Click on the plot the point where you want the closed-loop pole to be. You may want to select the points indicated in the plot to satisfy the design criteria.
Indian Institute of Information Technology - Allahabad

Note that since the root locus may have more than one branch, when you select a pole, you may want to find out where the other pole (poles) are. Remember they will affect the response too. From the plot we see that all the poles selected (all the RED "+") are at reasonable positions. We can go ahead and use the chosen kd as our proportional controller.

Indian Institute of Information Technology - Allahabad

Closed-loop response
In order to find the step response, you need to know the closedloop transfer function. You could compute this using the rules of block diagrams, or let Matlab do it for you: [numCL, denCL] = cloop((kd)*num, den) The two arguments to the function cloop are the numerator and denominator of the open-loop system. You need to include the proportional gain that you have chosen. Unity feedback is assumed.

Indian Institute of Information Technology - Allahabad

Closed-loop response
If you have a non-unity feedback situation, look at the help file for the Matlab function feedback, which can find the closed-loop transfer function with a gain in the feedback loop. Check out the step response of your closed-loop system: step(numCL,denCL)

As we expected, this response has an overshoot less than 5% and a rise time less than 1 second.

Indian Institute of Information Technology - Allahabad

Example: Solution to the Cruise Control Problem Using Root Locus Method
Proportional Controller Lag controller The open-loop transfer function for this problem is: where m=1000 b=50 U(s)=10 Y(s)=velocity output The design criteria are: Rise time < 5 sec Overshoot < 10% Steady state error < 2%
Indian Institute of Information Technology - Allahabad

Proportional controller
Recall from the Root-Locus Tutorial page, the root-locus plot shows the locations of all possible closed-loop poles when a single gain is varied from zero to infinity. Thus, only a proportional controller (Kp) will be considered to solve this problem. Then, the closed-loop transfer function becomes:

Also, from the Root-Locus Tutorial, we know that the Matlab command called sgrid should be used to find an acceptable region of the root-locus plot. To use the sgrid, both the damping ratio (zeta) and the natural frequency (Wn) need to be determined first.
Indian Institute of Information Technology - Allahabad

The following two equations will be used to find the damping ratio and the natural frequency: where Wn=Natural frequency zeta=Damping ratio Tr=Rise time Mp=Maximum overshoot

One of our design criteria is to have a rise time of less than 5 seconds. From the first equation, we see that the natural frequency must be greater than 0.36. Also using the second equation, we see that the damping ratio must be greater than 0.6, since the maximum overshoot must be less than 10%.
Indian Institute of Information Technology - Allahabad

Now, we are ready to generate a root-locus plot and use the sgrid to find an acceptable region on the root-locus. Create an new m-file and enter the following commands.
hold off; m = 1000; b = 50; u = 10; numo=[1]; deno=[m b]; figure hold; axis([-0.6 0 -0.6 0.6]); rlocus (numo,deno) sgrid(0.6, 0.36) [Kp, poles] = rlocfind(numo,deno) figure hold; numc=[Kp]; denc=[m (b+Kp)]; t=0:0.1:20; step (u*numc,denc,t) axis ([0 20 0 10])

Indian Institute of Information Technology - Allahabad

Running this m-file should give you the following root-locus plot.

Indian Institute of Information Technology - Allahabad

The two dotted lines in an angle indicate the locations of constant damping ratio (zeta=0.6); the damping ratio is greater than 0.6 in between these lines and less than 0.6 outside the lines. The semi-ellipse indicates the locations of constant natural frequency (Wn=0.36); the natural frequency is greater than 0.36 outside the semi-ellipse, and smaller than 0.36 inside. If you look at the Matlab command window, you should see a prompt asking you to pick a point on the root-locus plot. Since you want to pick a point in between dotted lines (zeta>0.6) and outside the semi-ellipse (Wn>0.36), click on the real axis just outside the semi-ellipse (around 0.4).

Indian Institute of Information Technology - Allahabad

You should see the gain value (Kp) and pole locations in the Matlab command window. Also you should see the closedloop step response similar to the one shown below.

With the specified gain Kp (the one you just picked), the rise time and the overshoot criteria have been met; however, the steadystate error of more than 10% remained.
Indian Institute of Information Technology - Allahabad

Lag controller
To reduce the steady-state error, a lag controller will be added to the system. The transfer function of the lag controller is:

The open-loop transfer function (not including Kp) now becomes:

Finally, the closed-loop transfer function becomes:

read the "Lag or Phase-Lag Compensator using Root-Locus" section in


http://www.library.cmu.edu/ctms/ctms/matlab42/extras/leadlag.htm#lagrl Indian Institute of Information Technology - Allahabad

The pole and the zero of a lag controller need to be placed close together. Also, it states that the steady-state error will be reduce by a factor of Zo/Po. For these reasons, let Zo equals -0.3 and Po equals -0.03. Create an new m-file, and enter the following commands. hold off; m = 1000; b = 50; u = 10; Zo=0.3; Po=0.03; numo=[1 Zo]; deno=[m b+m*Po b*Po]; figure hold; axis ([-0.6 0 -0.4 0.4]) rlocus(numo,deno) sgrid(0.6,0.36) [Kp, poles]=rlocfind(numo,deno) figure t=0:0.1:20; numc=[Kp Kp*Zo]; denc=[m b+m*Po+Kp b*Po+Kp*Zo]; axis ([0 20 0 12]) step (u*numc,denc,t)

Indian Institute of Information Technology - Allahabad

Running this m-file should give you the root-locus plot similar to the following: In the Matlab command window, you should see the prompt asking you to select a point on the root-locus plot. Once again, click on the real axis around -0.4.

Indian Institute of Information Technology - Allahabad

You should have the following response. As you can see, the steady-state error has been reduced to near zero. Slight overshoot is a result of the zero added in the lag controller.

Now all of the design criteria have been met and no further iterations will be needed.
Indian Institute of Information Technology - Allahabad

Indian Institute of Information Technology - Allahabad

Figure 8.1 a. Closedloop system; b. equivalent transfer


function

Indian Institute of Information Technology - Allahabad

Figure 8.2 Vector representation of complex numbers: a. s = W + j[; b. (s + a); c. alternate representation of (s + a); d. (s + 7)|sp5 + j2
Indian Institute of Information Technology - Allahabad

Figure 8.3 Vector representation of Eq. (8.7)


( s  1) F (s) ! s ( s  2)

Indian Institute of Information Technology - Allahabad

Courtesy of ParkerVision.

Figure 8.4
a. CameraMan Presenter Camera System automatically follows a subject who wears infrared sensors on their front and back (the front sensor is also a microphone); tracking commands and audio are relayed to CameraMan via a radio frequency link from a unit worn by the subject. b. block diagram. c. closed-loop transfer function.

Indian Institute of Information Technology - Allahabad

Table 8.1 Pole location as a function of gain for the system of Figure 8.4

Indian Institute of Information Technology - Allahabad

Figure 8.5 a. Pole plot from Table 8.1; b. root locus

Indian Institute of Information Technology - Allahabad

Figure 8.6
a. Example system; b. pole-zero plot of G (s)

Indian Institute of Information Technology - Allahabad

Figure 8.7 Vector representation of G(s) from Figure 8.6(a) at -2+ j 3

Indian Institute of Information Technology - Allahabad

Figure 8.8 Poles and zeros of a general open-loop system with test points, Pi, on the real axis

Indian Institute of Information Technology - Allahabad

Figure 8.9
Real-axis segments of the root locus for the system of Figure 8.6

Indian Institute of Information Technology - Allahabad

Figure 8.10
Complete root locus for the system of Figure 8.6

Indian Institute of Information Technology - Allahabad

Figure 8.11 System for Example 8.2

Indian Institute of Information Technology - Allahabad

Figure 8.12
Root locus and asymptotes for the system of Figure 8.11

Indian Institute of Information Technology - Allahabad

Figure 8.13
Root locus example showing real- axis breakaway (-W1) and break-in points (W2)

Indian Institute of Information Technology - Allahabad

Figure 8.14
Variation of gain along the real axis for the root locus of Figure 8.13

Indian Institute of Information Technology - Allahabad

Table 8.2
Data for breakaway and break-in points for the root locus of Figure 8.13

Indian Institute of Information Technology - Allahabad

Table 8.3 Routh table for Eq. (8.40)

Indian Institute of Information Technology - Allahabad

Figure 8.15 Open-loop poles and zeros and calculation of: a. angle of departure; b. angle of arrival

Indian Institute of Information Technology - Allahabad

Figure 8.16 Unity feedback system with complex poles

Indian Institute of Information Technology - Allahabad

Figure 8.17
Root locus for system of Figure 8.16 showing angle of departure

Indian Institute of Information Technology - Allahabad

Figure 8.18
Finding and calibrating exact points on the root locus of Figure 8.12

Indian Institute of Information Technology - Allahabad

Figure 8.19
a. System for Example 8.7; b. root locus sketch

Indian Institute of Information Technology - Allahabad

Figure 8.20
Making second-order approximations

Indian Institute of Information Technology - Allahabad

Figure 8.21 System for Example 8.8

Indian Institute of Information Technology - Allahabad

Figure 8.22
Root locus for Example 8.8

Indian Institute of Information Technology - Allahabad

Table 8.4 Characteristics of the system of Example 8.8

Indian Institute of Information Technology - Allahabad

Figure 8.23
Second- and third-order responses for Example 8.8: a. Case 2; b. Case 3

Indian Institute of Information Technology - Allahabad

Figure 8.24
System requiring a root locus calibrated with p1 as a parameter

Indian Institute of Information Technology - Allahabad

Figure 8.25
Root locus for the system of Figure 8.24, with p1 as a parameter

Indian Institute of Information Technology - Allahabad

Figure 8.26 Positive-feedback system

Indian Institute of Information Technology - Allahabad

Figure 8.27
a. Equivalent positive-feedback system for Example 8.9; b. root locus

Indian Institute of Information Technology - Allahabad

Figure 8.28
Portion of the root locus for the antenna control system

Indian Institute of Information Technology - Allahabad

Figure 8.29
Step response of the gain-adjusted antenna control system

Indian Institute of Information Technology - Allahabad

Figure 8.30
Root locus of pitch control loop without rate feedback, UFSS vehicle

Indian Institute of Information Technology - Allahabad

Figure 8.31
Computer simulation of step response of pitch control loop without rate feedback,UFSS vehicle

Indian Institute of Information Technology - Allahabad

Figure 8.32
Root locus of pitch control loop with rate feedback, UFSS vehicle

Indian Institute of Information Technology - Allahabad

Figure 8.33
Computer simulation of step response of pitch control loop with rate feedback, UFSS vehicle

Indian Institute of Information Technology - Allahabad

Figure P8-1 (p. 474)


Indian Institute of Information Technology - Allahabad

Figure P8.2

Indian Institute of Information Technology - Allahabad

Figure P8.3

Figure P8-4 (p. 476)

Figure P8-5 (p. 477)

Figure P8.6

Figure P8-7 (p. 479)

Indian Institute of Information Technology - Allahabad

Figure P8.8

Indian Institute of Information Technology - Allahabad

Figure P8.9

Indian Institute of Information Technology - Allahabad

Figure P8.10

Indian Institute of Information Technology - Allahabad

Figure P8.11

Indian Institute of Information Technology - Allahabad

Figure P8.12

Indian Institute of Information Technology - Allahabad

Figure P8.13
a. Robot equipped to perform arc welding; (figure continues)
Courtesy of FANUC Robotics.

Indian Institute of Information Technology - Allahabad

Figure P8.13 (continued) b. block diagram for swing motion system

1967 H.L. Hardy.

Indian Institute of Information Technology - Allahabad

Figure P8.14 Block diagram of smoother

1985 Rockwell International.

Indian Institute of Information Technology - Allahabad

a. Active vibration absorber ((c)1992 AIAA); b. control system block diagram


Indian Institute of Information Technology - Allahabad

Figure P8.16 Floppy disk drive: a. physical representati on; b. block diagram
Indian Institute of Information Technology - Allahabad

Figure P8.17 Simplified block diagram of pupil servomechanism

Indian Institute of Information Technology - Allahabad

Figure P8.18
Active suspension system

1985 ASME.

Indian Institute of Information Technology - Allahabad

Figure P8.19 F4-E pitch stabilization loop

Indian Institute of Information Technology - Allahabad

Figure P8.20 Pitch axis attitude control system utilizing momentum wheel

Indian Institute of Information Technology - Allahabad

Figure P8.21
a. Combustor with microphone and loud speaker ((c)1995 IEEE); b. block diagram ((c)1995 IEEE)

Indian Institute of Information Technology - Allahabad

Jim Corwin/ Photo Researchers

Figure P8.22
a. Wind turbines generating electricity near Palm Springs, California; (figure continues)

Indian Institute of Information Technology - Allahabad

Figure P8.22
(continued) b. Control loop for a constant-speed pitch-controlled wind turbine ((c)1998 IEEE); c. Drivetrain ((c)1998 IEEE)

Indian Institute of Information Technology - Allahabad

Indian Institute of Information Technology - Allahabad

Indian Institute of Information Technology - Allahabad

Indian Institute of Information Technology - Allahabad

Indian Institute of Information Technology - Allahabad

Indian Institute of Information Technology - Allahabad

Вам также может понравиться