Multivariable Control Root Locus By Kirsten Mølgaard Nielsen
Outline Root Locus Design Method Root locus Dynamic Compensation definition The phase condition Test points, and sketching a root locus Dynamic Compensation Lead compensation Lag compensation
Introduction Closed loop transfer function Characteristic equation, roots are poles in T(s)
Introduction Dynamic features depend on the pole locations. For example, time constant t, rise time tr, and overshoot Mp (1st order) (2nd order)
Introduction Root locus Determination of the closed loop pole locations under varying K. For example, K could be the control gain. The characteristic equation can be written in various ways
Introduction Root locus of a motor position control (example)
Introduction break-away point
Introduction Some root loci examples (K from zero to infinity)
Sketching a Root Locus Definition 1 Definition 2 The root locus is the values of s for which 1+KL(s)=0 is satisfied as K varies from 0 to infinity (pos.). Definition 2 The root locus is the points in the s-plane where the phase of L(s) is 180°. The angle to a point on the root locus from zero number i is yi. The angle to a point on the root locus from pole number i is fi. Therefore,
Sketching a Root Locus s0 f1 p y1 f2 p* A root locus can be plotted using Matlab: rlocus(sysL)
Root Locus characteristics Rule 1 (of 6) The n branches of the locus start at the poles L(s) and m of these branches end on the zeros of L(s).
Root Locus characteristics Rule 2 (of 6) The loci on the real axis (real-axis part) are to the left of an odd number of poles plus zeros. Notice, if we take a test point s0 on the real axis : The angle of complex poles cancel each other. Angles from real poles or zeros are 0° if s0 are to the right. Angles from real poles or zeros are 180° if s0 are to the left. Total angle = 180° + 360° l
Root Locus characteristics Rule 3 (of 6) For large s and K, n-m branches of the loci are asymptotic to lines at angles fl radiating out from a point s = a on the real axis. fl a For example
Root Locus characteristics n-m=1 n-m=2 n-m=3 n-m=4 For ex., n-m=3
Root Locus 3 poles: q = 3 Rule 4: The angles of departure (arrival) of a branch of the locus from a pole (zero) of multiplicity q. f1,dep = 60 deg. f2,dep = 180 deg. f3,dep = 300 deg.
Root Locus characteristics Rule 5 (of 6) The locus crosses the jw axis at points where the Routh criterion shows a transition from roots in the left half-plane to roots in the right half-plane. Routh: A system is stable if and only if all the elements in the first column of the Routh array are positive.
Root Locus characteristics Rule 6 (of 6) The locus will have multiplicative roots of q at points on the locus where (1) applies. The branches will approach a point of q roots at angles separated by (2) and will depart at angles with the same separation. Characteristic equation
Root locus for double integrator with P-control Example Root locus for double integrator with P-control Rule 1: The locus has two branches that starts in s=0. There are no zeros. Thus, the branches do not end at zeros. Rule 3: Two branches have asymptotes for s going to infinity. We get
Rule 2: No branches that the real axis. Rule 4: Same argument and conclusion as rule 3. Rule 5: The loci remain on the imaginary axis. Thus, no crossings of the jw-axis. Rule 6: Easy to see, no further multiple poles. Verification:
Example Root locus for satellite attitude control with PD-control
Selecting the Parameter Value The (positive) root locus A plot of all possible locations of roots to the equation 1+KL(s)=0 for some real positive value of K. The purpose of design is to select a particular value of K that will meet the specifications for static and dynamic characteristics. For a given root locus we have (1). Thus, for some desired pole locations it is possible to find K.
Selecting the Parameter Value Example Selection of K using Matlab: [K,p]=rlocfind(sysL)
Dynamic Compensation Some facts Controller design using root locus We are able to determine the roots of the characteristic equation (closed loop poles) for a varying parameter K. The location of the roots determine the dynamic characteristics (performance) of the closed loop system. It might not be possible to achieve the desired performance with D(s) = K. Controller design using root locus Lead compensation (similar to PD control) overshoot, rise time requirements Lag compensation (similar to PI control) steady state requirements
Dynamic Compensation PD Lead PI Lag
Lead Compensation PD P Lower damping ratio with PD !
Lead Compensation PD control Pure differentiation Output noise has a great effect on u(t) Solution: Insert a pole at a higher frequency r(t) e(t) controller D(s) u(t) plant G(s) y(t) + - + + noise
Lead Compensation
Lead Compensation Selecting p and z Usually, trial and error The placement of the zero is determined by dynamic requirements (rise time, overshoot). The exact placement of the pole is determined by conflicting interests. suppression of output noise effectiveness of the zero In general, the zero z is placed around desired closed loop wn the pole p is placed between 5 and 20 times of z
Lead Compensation Design approach (A) Initial design z=wn, p=5z Noise: additional requirement, max(p)=20 Iterations First design: z=wn, p=5z (neglecting the add. req.) Second design: z=wn, p=20 Third design: new z, p=20
Lead Compensation Possible pole location Matlab – design 1 sysG = tf([1],[1 1 0]) sysD = tf([1 7],[1 5*7]) rlocus(sysD*sysG)
Lead Compensation No possible pole location ! Matlab – design 2 sysG = tf([1],[1 1 0]) sysD = tf([1 7],[1 20]) rlocus(sysD*sysG)
Lead Compensation Possible location New zero location Matlab – design 3 sysG = tf([1],[1 1 0]) sysD = tf([1 4],[1 20]) rlocus(sysD*sysG)
Lead Compensation Design approach (B) Pole placement from the requirements Noise: Additional requirement, max(p)=20. So, p=20 to minimize the effect of the pole.
Lead Compensation
Lead Compensation Pole location Matlab – design B sysG = tf([1],[1 1 0]) sysD = tf([1 5.4],[1 20]) rlocus(sysD*sysG)
Lead Compensation Exercise Design a lead compensation D(s) to the plant G(s) so that the dominant poles are located at s = -2 ± 2j You can use, triangle a/sin(A) = b/sin(B) r(t) e(t) controller D(s) u(t) plant G(s) y(t) + -
Lead Compensation Answer we have three poles and one zero f1 y f2 Notice, triangle a/sin(A) = b/sin(B)
Dynamic Compensation PD Lead PI Lag
Lag Compensation Lag compensation Steady state characteristics (requirements) Position error constant Kp Velocity error constant Kv Let us continue using the example system and the designed controller (lead compensation)
Lag Compensation Calculation of error constants Suppose we want Kv ≥ 100 We need additional gain at low frequencies !
Lag Compensation Selecting p and z To minimize the effect on the dominant dynamics z and p must chosen as low as possible (i.e. at low frequencies) To minimize the settling time z and p must chosen as high as possible (i.e. at high frequencies) Thus, the lag pole-zero location must be chosen at as high a frequency as possible without causing any major shifts in the dominant pole locations
Lag Compensation Design approach Increase the error constant by increasing the low frequency gain Choose z and p somewhat below wn Example system: K = 1 (the proportional part has already been chosen) z/p = 3, with z = 0.03, and p = 0.01.
Lag Compensation Lead-lag Controller Notice, a slightly different pole location Lead-lag Controller
Lag Compensation z p
Lag Compensation Step
Lag Compensation Ramp
Notch compensation Example system We have successfully designed a lead-lag controller Suppose the real system has a rather undampen oscillation about 50 rad/sec. Include this oscillation in the model Can we use the original controller ?
Notch compensation Step response using the lead-lag controller
Notch compensation Aim: Remove or dampen the oscillations Possibilities Gain stabilization Reduce the gain at high frequencies Thus, insert poles above the bandwidth but below the oscillation frequency – might not be feasible Phase stabilization (notch compensation) A zero near the oscillation frequency A zero increases the phase, and z ≈ PM/100 Possible transfer function If zn < 1, complex zeros and double pole at w0
Notch compensation
Notch compensation Cancellation Root Locus The lead-lag controller with notch compensation w0 = 50 z = 0.01
Notch compensation Too much overshoot !! Also, exact cancellation might cause problems due to modelling errors Thus, we need different parameters
Notch compensation Modified parameters Notch compensation Dynamic characteristics Increase zn to obtain less overshoot Make sure that the roots move into the LHP In general, obtain a satisfactory dynamic behavior After some trial and error
Notch compensation The overshoot has been lowered to an acceptable level ! The oscillations have almost been removed ! So, we have reached a final design !
Notch compensation Root Locus The lead-lag controller with notch compensation w0 = 60 z = 0.3
Time Delay Notice Root locus analysis Solutions Time delay always reduces the stability of a system ! Important to be able to analyze its effect In the s-domain a time delay is given by e-ls Most applications contain delays (sampled systems) Root locus analysis The original method does only handle polynomials Solutions Approximation (Padé) of e-ls Modifying the root locus method (direct application)
Time Delay
Time Delay No delay Padé (1,1) Exact Root locus for some example system (heat exchanger) Padé (2,2) (p,p) Approx. in Matlab : [num,den]=pade(T,p)
Time Delay However, Matlab does not support this approach... In discrete systems the sampling time introduce a time delay
The Discrete Root Locus Discrete (z-domain) Closed loop transfer function Characteristic equation Thus, same sketching techniques as in the s-domain However, different interpretation !!!