You are on page 1of 29

Limits of Feedback Control

Regeltechniek 2, 5K120 Regeltechniek VKO, verkorte opleiding, 5F120


Ad Damen
Measurement and Control group Department of Electrical Engineering Eindhoven University of Technology P.O.Box 513 5600MB Eindhoven E-mail: A.A.H.Damen@er.ele.tue.nl Version of July 25, 2003

Contents
0.1 Stability

Usually the rst prerequisite for the closed loop is stability, so that we start analysing this aspect.

0.1.1

Pole zero cancellation in the RHP

In this subsection it will be demonstrated that feedback is indispensable for stabilisation. From a practical point of view this is easy to understand: if you want to stabilise an inverted pendulum, you have to observe in what direction it tends to fall. However, if one is focussed too much on the algebraic equations and forget about the link to practice, one can easily get trapped into tricky reasonings as simple feedforward with pole zero cancellations. For the demonstration of pole-zero compensation eects we will take a plant transfer: P = s1 s2 (0.1)

Algebraically we can annihilate both zero and pole at the Right Half Plane (RHP) by taking as a compensator: C= s2 s1 (0.2)

in a simple feedforward control, illustrated in the next block scheme. u


- C = s2 s1

- P = s1 s2

Figure 0.1: Blockscheme of controller and plant. Algebraically the transfer from u to y is simply one. However, we will show by state space representation that the cancelled poles keep their disastrous eect. According to conventional notation, the input x has been redened as u, which is converted into a new input u by the prepositioned compensator C. Indeed, the mathematical transfer between u and y is now equal to 1, so that it seems, that y follows the input u exactly and promptly. Implementation would reveal quite a dierent outcome, as can be analysed by state space description. The following blockscheme, directly prompting 1 1 states, can be drawn by considering, that P = 1 + s2 and C = 1 s1 . 3

6 -

x1
6 

x1
1 s

- 1-

6 ?u

x2
6 

1 s

x2

- 1

? 1 

2  ? P

C Figure 0.2: Sequential state space representation. The corresponding state space equations are given by: x1 x2 = y = 1 0 1 2 1 1 x1 x2 x1 x2 + + 1 1 1 u u

(0.3) (0.4)

If there is zero initial state and no state disturbance, indeed the unstable mode in x2 viz. e2t is not excited by the input signal u , as the compensator, having a zero at 2, will lter out all signals, that can put energy in that special mode. This mode is not reachable from u . Nevertheless, each small disturbance or nonzero initial state will certainly cause instability of the plant. The particular, unstable mode has become uncontrollable and thus not visible in the transfer function. This can be observed from the rank of the so-called controllability matrix as follows. If a general, state space description of dimension n is given by: x = Ax + Bu y = Cx + Du (0.5) (0.6)

then the number of controllable (reachable) states is given by the rank of the controllability matrix: B AB A2 B . . . An1 B (0.7)
1

Ergo for the system under study this yields: rank B AB = rank 1 1 1 1 =1 (0.8)

so that we conclude, that one state is uncontrollable. On the other hand, the unstable mode in x1 viz. et will certainly be excited by the input u , nonzero initial state or state noise, but this particular mode will be ltered out by the process zero at 1, so that this mode will not be detectable in the output. This particular, unstable mode is not observable at the output y, as can be learned from the so-called observability matrix as follows. The number of observable (detectable) modes is equal to the rank of the observability matrix: C CA CA2 (0.9) . . . CAn1
1

Exactly the same holds for discrete time systems.

Ergo for the system under study this yields: rank C CA = rank 1 1 2 2 =1 (0.10)

so that we conclude that one state is unobservable. Above analysis is even more evident, if we transform the sequential states as illustrated in Fig. 0.2 to parallel states as shown in next Fig. 0.3 by means of a Jordan (canonical) transform. This is accomplished by the eigenvalue decomposition of the system u
6 -

x 2 6 

1 s

x 2
?

- 1 -

? y

2 
1 s

- 2

x 1
6 

x 1

1 

Figure 0.3: Parallel (Jordan canonical) states. matrix A: A = EE 1 (0.11) where the diagonal matrix contains the eigenvalues and E the corresponding eigenvectors as its columns. For the system under study: 1 1 0 1 0 2 0 2 2 0 = (0.12) 1 1 2 0 2 1 1 2 2 1 Generally, substitution of the decomposed matrix A into the original equations and premultiplying the rst equation by E 1 results in the Jordan form in the new states x = E 1 x: (E 1 x) = (E 1 E)(E 1 x) + (E 1 B)u x = x + B u y = (CE)E
1

(0.13) (0.14)

x + Du

y = C x + Du + +

For the system under study the Jordan form then is: x 1 x 2 = y = 1 0 0 2 0 1 x 1 x 2 x 1 x 2 2 0 u u (0.15) (0.16)

Because of the diagonal structure of the system matrix and the zero entries in B and C , we immediately observe, that x is not controllable and x is not observable. This is 2 1 very evident when observing the blockscheme of this Jordan form in Fig. 0.3. 2u Indeed, x is excited by u , leading to s1 , which causes the unstable mode et , that 1 is not observed in y though. Nevertheless, the system will internally saturate or burn out. 5

Also, the unstable state x is theoretically not excited by input u , but any nonzero, initial 2 x (0) 2 state x (0) (or some noise) will lead to s2 , so an unstable mode x (0)e2t . 2 2 Consequently, the main conclusion to be drawn from this example is, that the internal behaviour of a realisation (state space) may be more complicated than is indicated by the mathematical, external behaviour (transfer function). The internal behaviour is determined by the natural frequencies of the (undriven) realisation, which in our case are s = 1, 2. However, because of cancellation, not all the corresponding modes of oscillation will appear in the overall transfer function. Or, to put it another way, since the transfer function is dened under zero initial conditions, it will not display all the modes of the actual realisation of the system. For a complete analysis, we shall need to have good ways of keeping track of all the modes, those explicitly displayed in the transfer function and also the hidden ones. It is possible to do this by careful bookkeeping with the transfer function calculations, but actually it was the state equation analysis as in the above example, that rst claried these and related questions. It directly shows, that pole zero cancellation in the right half plane, thus of unstable poles, is strictly forbidden, as it only makes these unstable modes or states either uncontrollable or unobservable, but they will still damage the nice theoretical transfer, as these signals grow uncontrollably without bounds. If we apply pole-zero cancellation in the left half plane, the same eects will occur, but the corresponding signals will die out after some time, depending on the pole position i.e. its damping. As an example may serve the laboratory experiment with the water vessels functioning as a laboratory case study for this course. This plant shows only three real, stable poles and no nite zeros. A PID-controller is to be designed, that is asked to annihilate the two slowest poles, as indicated in the block scheme of Fig. 0.4. +

6 

C = P ID =
(ss1 )(ss2 ) s

K (ss1 )(ss2 )(ss3 )

P = plant =

s3 X

s2 O X

s1 O X

I action X

Figure 0.4: Laboratory experiment with water vessels.


K The loop transfer is then given by s(ss3 ) and, by choosing the gain K properly, we can obtain a suciently damped and fast pole pair for the closed loop system. Nevertheless, after implementation of the controller, one has to wait quite some time before the system is in steady state. This is precisely due to the compensated poles, which still give rise to slow transients es1 t and es2 t , not apparent in the transfer function, but still reacting to nonzero initial states! The corresponding canonical states have become uncontrollable. So it will be clear by now that pole-zero cancellation is strictly forbidden in the right half plane, also in feedback situations as in Fig. 0.4 when e.g. s1 or s2 would have been

unstable poles. What about poles on the imaginary axis? On the imaginary axis the modes, corresponding to the poles, manifest themselves as undamped oscillations of undened amplitude depending on noise or initial conditions. Consequently there are not prone for cancellation. E.g. an integrator (1/s) cascaded by a dierentiator (s) shows this eect for frequency zero. These cascaded blocks produce mathematically the transfer s/s = 1, but a DC-value will not pass. Ergo the general rule becomes:no pole-zero cancellation is allowed in the closed RHP (closed meaning: inclusive the imaginary axis). From now on we will assume, that all systems, to be observed and/or controlled, are both (completely) observable and (completely) controllable and that the dimension n of the state vector is minimal, i.e. a minimal realisation. Now we have shown, that compensation is not the way to get rid of right half plane zeros and poles, the question arises how then to cope with them. Feedback can solve the problem as explained in the next subsection. That is to say, the poles can be shifted to the left half plane by feedback, but the zeros will stay. Zeros in the right half plane, i.e. nonminimum phase zeros, cause ineective response: initially the response is in the wrong direction (opposite sign). Furthermore, the rootloci end in zeros, so that these rootloci are drawn towards the unstable, right half plane. It will lateron appear that nonminimum phase zeros put fundamental bounds on the obtainable bandwidth of closed loop systems. Consequently, what means are there to eliminate the nonminimum phase zeros? The answer has to be sought in the system itself comprising plant, sensors and actuators. By proper choice and positioning of actuators and sensors, the occurrence and position of zeros can be corrected up to a high degree. If this is not sucient, the plant itself should be changed. Transfer blocks parallel to the original transfer will completely change the zeros, but this requires a fundamental redesign of the plant itself. So it advocates the principle of negotiating about the building of plant in the very early stage of design in order to guarantee, that an ecient and optimal control is possible lateron!

0.1.2

Stabilisation by feedback

Theoretically we can apply a proportional feedback of gain K as sketched in Fig.0.5. C r


-

6


u 6 -

x2
6 

1 s

x2

- 1

2  ? P
?

Figure 0.5: Proportional feedback. Algebra ically the closed loop transfer T (from r to y) is given by:
s1 K s2 K PC = s2 = T = s1 1 + PC K + 1 s K+2 1 + s2 K K+1

(0.17)

From rootlocus techniques we know that the pole can be chosen everywhere on the real axis by proper K: 7

K = 1 at

K = 2

K>0

K<0

K = 1 at

Figure 0.6: Rootlocus for gain K. So theoretically we have stabilised the plant for 2 < K < 1. In practice this control

will certainly fail. Why?

Because in practice nor the plant neither the controller can exist in the idealised form as they are modelled here. Inevitably, each real system will fail to let frequencies (s = j) pass, if is suciently large, or put mathematically:

lim P (j) = 0

(0.18)

Consequently, the highest power np of s in the denominator, which equals the number of poles, has to be greater than nz, the highest power of s in the numerator, being the number of zeros. The dierence np nz is called the pole zero excess. One can imagine that there are eectively np nz zeros at innity and an equal number of rootloci will end at these innity zeros. Such a realistic plant with np > nz is called strictly proper. The plant P = s1 and the controller C = K have equal number of zeros and poles s2 np = nz and are therefore called biproper. They can not exist as they still have a nite, nonzero transfer for = . The set of all strictly proper and biproper systems is indicated as proper and used in textbooks (like Franklin) to describe plants and controllers. This can lead to unrealistic controllers as we will show. Finally, nonproper systems, where np < nz can certainly not exist as they would display innite transfer for = (i.e. nz np poles at ). Returning to our example, we can thus conclude, that both for P and for C there will be at least one extra pole, representing the roll o in frequency response for higher frequencies, so e.g.: P = s 1 p1 s 2 s + p1 C= Kp2 s + p2 (0.19)

Note that for lower frequencies the original P and C transfers have been preserved. However, the rootlocus now shows a completely dierent behaviour: K = K = K>0 K<0 K<0 at at K>0 p2 p1 1 Figure 0.7: Realistic rootlocus The rootlocus for K < 0 starting at s = 2 will never reach the left half plane, but simply go to + and stay there. 8 2

There is no other way out to stop this eect than by putting an unstable pole in the strictly proper controller: C= yielding: K s3 (0.20)

K = at K<0 p1

K>0 K<0 K>0

K = at K<0

Figure 0.8: Rootlocus for unstable controller. Indeed we have stabilised the closed loop system. By choosing the unstable controller pole further away from the origin and by increasing the gain K we can improve the quality of the closed loop system, but this has its price as will be elucidated later, when other constraints have been studied.

0.2

Aims and constraints.

Next to stabilisation the main aims for the control are: tracking: The closed loop system has to be suited to track reference signals accurately over a given frequency band. If the reference is zero or constant it boils down to keeping the system in some equilibrium. disturbance rejection: The eect of disturbances in the output signals should be kept to a minimum. In our eorts to obtain a very good performance in terms of above aims we are strongly limited by the following constraints: actuator: The actuator has restricted range, limited slew rate, shows saturation, has limited bandwidth. We should take care that no saturation occurs. 9

sensor: The sensor may be very accurate, it will always contribute measurement noise and it is not feasible to strive for a controlled accuracy higher than the sensor allows. Furthermore, if the sensor is not suciently broadbanded, this defect should inuence controller design. Finally it is not only required to design a controller that performs well for the model of the plant, actuator and sensor, the performance should be kept at a minimum level when the real system suers from unmodelled eects like nonlinearities (hysteresis, saturation,. . . ) or shows deviating behaviour due to manufacturing inaccuracies, wearing, pollution,. . . . Under all circumstances at least stability should be preserved e.g. even in case particular sensors or actuators fail. We call this property, that performance and certainly stability should be guaranteed in the face of model deviations, robustness. u
6 -

dF

actuator + process P (s)A(s)


6  dm + ? + -

G(s)

r
-

e
6

C(s)

um y
-

y
-

G(s)

+
?

Figure 0.9: Blok scheme with constraints. For a more fundamental analysis of the aims, constraints and robustness let us consider the various ects in the block scheme of Fig.0.9. Note that we have combined the plant dynamics P (s) and the actuator A(s) in one transfer G(s) and modelled the uncertainty as an additive, unknown but bounded transfer G(s) according to: P (s)A(s) G(s) + G(s) (0.21)

Furthermore, the sensor was supposed to be ideal except for some additive measurement noise . If we deal with mechanical plants the inputs are usually forces and torques. The disturbances are then of the same kind and entering the plant at the input as dF . If there are other disturbances entering the plant somewhere, we can consider their eect at the output and for the moment we will combine these output errors in dm . The control aims and constraints can now be formulated as follows: 1) Stabilise the plant irrespective of the modelling errors dm due to G(s) (robust stability) 2) Minimise the tracking error r y(= e!) which implies also the minisation of the inuence of the disturbances dF and dm and measurement noise 10

3) The actuator input u should not saturate the actuator under the excitation of reference and disturbances. We can show that there is a fundamental contradiction in aim 2 and constraint 3 by simply computing the transfers of inputs and outputs of the generalised plant in Fig. 0.9. For clarity we omit the argument s: ry = u= 1 GC (r dm GdF ) + 1 + GC 1 + GC C (r + dm + GdF + ) 1 + GC

(0.22)

(0.23)

Observe that for the tracking error the combined eects of the reference and the disturbances can be minimised by minimising the coecient transfer, the so called sensitivity S: S= 1 1 + GC (0.24)

The eects of the sensor noise require minimisation of the complementary sensitivity T: T = GC 1 + GC (0.25)

where the attribute complementary is caused by the obvious equality: S+T = 1 GC + =1 1 + GC 1 + GC (0.26)

If we look for a controller that minimises S among all stabilising controllers, we should choose a very big C as C only appears in the denominator. If we choose to minimise T , apparently we have to look for a very small C as C appears in the numerator. Conclusion: for each frequency s = j we cannot minimise both S and T as their sum will inevitably be one! The compromise will be that for frequencies where the disturbance dm + GdF is larger than the measurement noise , we will mainly minimise S by choosing a large controller and vice versa. It is revealing to analyse the extremes. If stability would allow us to choose C = we would get: r y = (0.27)

reecting the fact that we can never control more accurately than we can measure. In fact this is what we do when we apply an integrator in the controller for zero nal error. Then for = 0 we indeed have C = , and we obtain zero DC-error within the restrictions of the actuator. If on the other hand we would choose C = 0, we would get: r y = (r dm GdF ) (0.28)

Now there is certainly no eect of the sensor noise, because there is no feedback at all and thus we have no disturbance rejection and tracking error of 100%. 11

We also have to deal with the constraint 3) on the actuator saturation, that forces us to bound the transfer: C (0.29) 1 + GC that is called the control sensitivity R. As we have C in the numerator it means that C should be small. Minimising the control sensitivity R ts in with minimising the complementary sensitivity T because: R= T = GR (0.30)

which implies that their relation is simply in a multiplication by the model transfer G(s) that cannot be inuenced by the choice of C and only represents a weighting for all frequencies s = j. Finally, for an optimal controller C we have to look in the set of all stabilising controllers and we have to guarantee that this controller, designed for the nominal model G(s), will not cause instability when the real plant behaves like G(s) + G(s). We require robustness of the stability and of the performance against additive model perturbation G(s). This can be accomplished as follows: Surely, the controller choice based upon the nominal model G(s) is stabilising this nominal model. Consequently the transfer between dm and um , represented by the control sensitivity R(s), is stable. So all possible instability has to be caused by the smaller loop indicated by the looping vector in Fig.0.9 where G(s) faces the stable transfer R(s) between dm and um . If we keep the looptransfer less than 1 in this loop, the critical point -1 in the Nyquist plot can never be encircled whatever the phase is. 2 Formalised we thus require for robust stability: : |R(j)G(j)| < 1 which eectively bounds the control sensitivity as it says: : |R(j)| < |G(j)|1 (0.32) (0.31)

again putting constraints on the complementary sensitivity T . Note that the more accurate the model is, the more freedom we have in the choice of R and thus C. Inversely, the smaller |R| is the more model errors can be allowed. Concluding we may summarise: The major aim: good tracking and disturbance rejection by minimising the sensitivity S(j) is thwarted by all other constraints that require minimisation of the complementary sensitivity T (j). This holds for each relevant frequency j.

0.3

Non-minimum-phase zeros

Zeros at the RHP or nonminimum phase zeros, as the engineering name indicates, originate from some strange internal phase characteristics, usually by contradictory signs of behaviour in certain frequency bands. As an example may function: P (s) = P1 (s) + P2 (s) =
2

2 s8 1 = s + 1 s + 10 (s + 1)(s + 10)

(0.33)

Formally we also have to require that G(s) is stable as well, but it can be proved that the same number of poles for G(s) and for G(s) + G(s) is sucient.

12

The two transfer components show competing eects because of the sign. The the sign of the transfer with the slowest pole at -1 is positive. The sign of the other transfer with the faster dynamics pole at -10 is negative. Brought into one rational transfer this eect causes the RHP-zero at z = 8. Note that the zero is right between the two poles in absolute value. The zero could also have been occurred in the LHP, e.g. by dierent gains of the two rst order transfers (try for yourself). In that case a controller could easily cope with the phase characteristic by putting a pole on this LHP-zero. In the RHP this is not allowed because of internal stability requirement. So, let us take a straightforward PI-controller that compensates the slowest pole: P (s)C(s) = s8 s+1 K (s + 1)(s + 10) s (0.34)

and take controller gain K such that we obtain equal real and imaginary parts for the closed loop poles as shown in Fig. 0.10.
20

15

10

5 Imag Axis

10

15

20 20

15

10

0 Real Axis

10

15

20

Figure 0.10: Rootlocus for PI-controlled nonminimumphase plant. which leads to K = 3. In Fig. 0.11 the step response and the bode plot for the closed loop system is showed.
Step Response
From: U(1) 1.5

10

PC/(PC+1)
0

P1C/s(P1C+1)
0.5

10

P2C/(P2C+1)

Amplitude

To: Y(1)

PC/s(PC+1)

P1C/(P1C+1)
0

10

0.5

P2C/s(P2C+1)

1 0 0.5 1 1.5

10

Time (sec.)

10

10

10

10

Figure 0.11: Closed loop of nonminimum phase plant and its components. Also the results for the same controller applied to the one component P1 (s) = 1/(s+1) 13

or the other component P2 (s) = 2/(s + 10) is shown. The bodeplot shows a total gain enclosed by the two separate components and the component 2/(s + 10) is even more broadbanded. Alas, if we would have only this component, the chosen controller would make the plant unstable as seen in the step response. For the higher frequencies the phase of the controller is incorrect. For the lower frequencies (0, 3.5) the phase of the controller is appropriate and the plant is well controlled. The eect of the higher frequencies is still seen at the initial time of the response where the direction (sign) is wrong. As a consequence we cannot aim at a broader, low pass frequency band for tracking than, as a rule of the thumb, (0, |z|/2). If, on the other hand, we would like to obtain a good tracking for a band (2|z|, 100|z|) the controller can indeed well be chosen to control the component 2/(s + 10), while now the other component 1/(s + 1) is the nasty one. In a band (|z|/2, 2|z|) we can never track well, because the opposite eects of both components of the plant are apparent in their full extent. If we have more RHP-zeros zi , we have as many forbidden tracking bands (|zi |/2, 2 |zi |). Even zeros at innity play a role as explained in the next section.

0.4

Bode integral.

For strictly proper plants combined with strictly proper controllers we will have zeros at innity. It is irrelevant whether innity is in the RHP. Zeros at innity should be treated like all RHP-zeros, simply because they cannot be compensated by poles. Because in practice each system is strictly proper, we have that the combination of plant and controller L(s) = P (s)C(s) has at least a pole zero excess (np nz) of two. Consequently we have: 1 |=1 (0.35) 1 + L(s) which implies that inevitably for higher frequencies the system cannot track and we have 100% tracking error and 100% disturbance. Any tracking band will necessarily be bounded. However, how can we see the inuence of zeros at innity at a nite band? Here the Bode Sensitivity Integral gives us an impression (the proof can be found in e.g. Doyle [1]). If the pole zero excess is at least 2 and we have no RHP poles, the following holds:
s

lim |S| = lim |


s

0 ln |S(j)|d

=0

The explanation can best be done with an example: L(s) = P (s)C(s) = so that the sensitivity in closed loop will be: s(s + 100) (0.37) + 100s + K For increasing controller gain K = {2100, 21000, 210000} the tracking band will be broader but we have to pay with higher overshoot in both frequency and time domain as Fig. 0.12 shows. S= s2 14 K s(s + 100) (0.36)

10

10

10

K=2100

10

K=21000 K=210000

10

10

10

10

10

10

10

10

10

Figure 0.12: Sensitivity for looptransfer with pole zero excess 2 and no RHP-poles. The Bode rule states that the area of |S(j)| under 0dB equals the area above it. Note that we have as usual a horizontal logarithmic scale for in Fig. 0.12 which visually disrupts the concepts of equal areas. Nevertheless the message is clear: the less tracking error and disturbance we want to obtain over a broader band, the more we have to pay for this by a more than 100% tracking error and disturbance multiplication outside this band.

0.5

RHP-poles.

The RHP-zeros play a fundamental role in the performance limitation because they cannot be compensated by poles in the controller and will thus persist in existence also in the closed loop. Also the RHP-poles cannot be compensated by RHP-zeros in the controller, again because of internal stability, but in closed loop they can be displaced into the LHP by means of the feedback. So in closed loop, they are no longer existent, and consequently their eect is not as severe as of the RHP-zeros. Nevertheless, their shift towards the LHP has to be paid for, as can can easily be grasped. First there is a need for control action to stabilise on top of that optimisation of the stable closed loop. Sometimes one actually designs two controllers for these separate aims. It will be clear that the extra eort of stabilisation has to be paid for. The currency is the use of the actuator range. Part of the actuator range will be occupied for the stabilisation task so that less is left for the optimisation compared with a stable plant, where we can use the whole range of the actuator for optimisation. This can be illustrated by a simple example represented in Fig. 0.13. The plant has either a pole in RHP at a > 0 or a pole in LHP at a < 0. The proportional controller K is bounded by the range of |u| < umax , while the closed loop should be able to track a unit step. The control sensitivity is given by: 15

r + 6 

u K

1 sa
?

Figure 0.13: Example for stabilisation eort.

R=

K K(s a) u = = K r sa+K 1 + sa

(0.38)

For stability we certainly need K > a. The maximum |u| for a unit step occurs at t = 0 so: max(u) = u(0) = lim R(s) = K = umax
t s

(0.39)

So it is immediately clear that, limited by the actuator saturation, the pole in closed loop can maximally be shifted umax to the left. Consequently, for the unstable plant, a part a is used for stabilisation of the plant and only the remainder K a can be used for a bandwidth K a as illustrated in Fig. 0.14.


K = umax < K + a X a


K a

<

X a

K = umax Figure 0.14: Rootloci for both plants 1/(s a). Note that the actuator range should be large enough, i.e. umax > a. Otherwise stabilisation is not possible. It denes a lower bound on K > a. With the same eort we obtain a tracking band of K + a for the stable plant. Also the nal error for the step response is smaller: e = Sr e() = lim and certainly a a < K +a K a (0.41) a sa = s0 s a + K K a (0.40)

being the respective absolute nal errors. Let us show these eects by assuming some numerical values: K = umax = 5, a = 1, which leads to poles of respectively -4 and -6 and dito bandwidths. The nal errors are respectively 1/6 and 1/4. Fig. 0.15 shows the two stepresponses. Also the two sensitivities are shown, where the dierences in bandwidth and the nal error (at = 0) are evident. 16

Step Response
From: U(1) 1.4

10

1.2

P=1/(s1) K=5
1

Amplitude

0.8 To: Y(1)

P=1/(s+1) K=5
0.6

P=1/(s1)

0.4

0.2

P=1/(s+1)

0 0 0.5 1 1.5

10

Time (sec.)

10

10

10

10

Figure 0.15: Step response and |S(j)| for controlled stable and unstable plants.

0.6
0.6.1

Limiting rules in frequency and time domain


Bode rule for unstable plants

The Bode integral can be extended to incorporate the eect of RHP-poles. If we have Np unstable poles pi the Bode integral changes into:
0
p ln |S(j)|d = i=1 (pi )

(0.42)

which says that there is an extra positive area for ln |S| given by the sum of the real parts ( ) of the unstable poles multiplied by . This is exactly the cost of the stabilisation and increases the further away the poles are from the imaginary axis.

0.6.2

Restricted step response for unstable plants

Also in time domain we have a restriction on the step response, resembling the Bode integral in frequency domain (see Engell [2]). Let the open loop transfer have an unstable pole at p, so that we may write:
0

g(t)ept dt = T (p) =

P (p)C(p) = =1 1 + P (p)C(p) 1+

(0.43)

according to the Laplace transform of the closed loop impulse response g(t). Let the step response be h(t) so that g(t) = dh(t)/dt. Then integration by parts yields:
0 0 0

1=
0

g(t)ept dt =

ept dh(t) = h(t)dept =

(0.44) (0.45) (0.46)

= h(t)ept | 0

=p

h(t)ept dt

where we used that h(0) = 0 when the closed loop system is strictly proper and that h() is nite. Because it is straightforward that 17

ept dt =

1 p

dept =

ept 1 | = p 0 p

(0.47)

the combination yields the restrictive time integral:


0 {1

h(t)}ept dt = 0

This rule in time domain restricts the attainable step responses: the integral of the step response error, weighted by ept must vanish. As h(t) is below 1 for small values of t, this area must be compensated by values above 1 for larger t, and this compensation is discounted for t by the weight ept and even more so if the steady state error happens to be zero by integral control action. So the step response cannot show an innitesimally small error for a long time. The larger p is, the shorter the available compensation time will be, during which the response is larger than 1.If an unstable pole and actuator limitations are both present, the initial error integral of the step response is bounded from below, and hence there must be a positive control error area which is at least as large as the initial error integral due to the weight ept . Consequently either large overshoot and rapid convergence to the steady state value or small overshoot and slow convergence must occur. For our example P = 1/(s 1) we can choose C = 5, as we did before, or C = 5(s + 1)/s to accomplish zero steady state error and still avoiding actuator saturation. The respective step responses are displayed in Fig. 0.16 together with the weight et .
1.4 C=5 1.2

1 C=5(s+1)/s Amplitude 0.8

0.6 exp(t) 0.4

0.2

0 0

0.5

1.5 Time (secs)

2.5

Figure 0.16: Closed loop step response for P = 1/(s 1) restricted by the time integral.

0.6.3

Double integrator.

From the foregoing it is clear that poles and zeros in the RHP put limits on the controlled closed loop system. An often encountered problem is the control where the concatenation of controller and plant L = P C inhabits two or more integrators, i.e. poles exactly on the 18

stability border in s = 0. E.g. the plant has one integrator (servosystem) and in order to obtain a zero DC-error for disturbing inputs (force), one is obliged to incorporate an integrator in the controller as well. For that situation we have a nasty limiting rule in stepresponse similar to the RHP-poles eect:
0 {1

h(t)}dt = 0

The proof is as follows (in the same notation as for the RHP-pole rule): Simple Laplace transform states:
0

{1 h(t)}est dt =

1 1 T (s) s s

(0.48)

furthermore: 1 1+P C 1 T (s) 1 = lim = lim =0 s0 s0 s0 s + sP C s s lim because


s0 PC

(0.49)

lim sP (s)C(s) = QED

(0.50)

as PC have at least two integrators.

19

0.7

Design example

The aim of this chapter is to synthesize a classic controller for a rocket model with perturbations. The program les which will be used can be obtained from the public folders of this course.

0.7.1

Plant denition

The model has been inspired by a paper on rocket control from Enns [3]. Booster rockets y through the atmosphere on their way to orbit. Along the way, they encounter aerodynamic forces which tend to make the rocket tumble. This unstable phenomenon can be controlled with a feedback of the pitch rate to thrust control. The elasticity of the rocket complicates the feedback control. Instability can result if the control law confuses elastic motion with rigid body motion. The input is a thrust vector control and the measured output is the pitch rate. The rocket engines are mounted in gimbals attached to the bottom of the vehicle to accomplish the thrust vector control. The pitch rate is measured with a gyroscope located just below the center of the rocket. Thus the sensor and actuator are not co-located. In this example we have an extra so called ight path zero in the transfer function on top of the well known, so called short period pole pair which are mirrored with respect to the imaginary axis. The rigid body motion model is described by the transfer function (s + .125) M (s) = 8 (0.51) (s + 1)(s 1) Note that M (0) = 1. We we will use the model M as the basic model P in the control design. The elastic modes are described by complex, lightly damped poles associated with zeros. In this simplied model we only take the lowest frequency mode yielding: Ps (s) = Ks (s + .125) (s + .05 + 5j)(s + .05 5j) (s + 1)(s 1) (s + .06 + 6j)(s + .06 6j) (0.52)

The gain Ks is determined so that Ps (0) = 1. Fuel consumption will decrease distributed mass and stiness of the fuel tanks. Also changes in temperature play a role. As a consequence, the elastic modes will change. We have taken the worst scenario in which poles and zeros change place. This yields: Pa (s) = Ka (s + .125) (s + .06 + 6j)(s + .06 6j) (s + 1)(s 1) (s + .05 + 5j)(s + .05 5j) (0.53)

Finally, we have M (s) = P (s) as basic model and Ps (s) M (s) and Pa (s) M (s) as possible additive model perturbations. The Bode plots are shown in Fig. 0.17. As the errors exceed the nominal plant at 5.5 the control band will certainly be less wide. In Matlab, the plant denition can be implemented as follows
% This is the script file PLANTDEF.M % % It first defines the model M(s)=-8(s+.125)/(s+1)(s-1) % from its zero and pole locations. Subsequently, it introduces % the perturbed models Pa(s)=M(s)*D(s) and Ps(s) = M(s)/D(s) where % D(s) has poles and zeros nearby the imaginary axis z0=-.125; p0=[-1;1]; zs=[-.125;-.05+j*5;-.05-j*5]; ps=[-1;1;-.06+j*6;-.06-j*6]; za=[-.125;-.06+j*6;-.06-j*6]; pa=[-1;1;-.05+j*5;-.05-j*5];

20

10 10 10 10 10 10 10 10 10 10

|M|,|MPs|,|MPa|

10

10

10 10 The plant and its perturbations

10

10

Figure 0.17: Nominal plant and additive perturbations.


[numm,denm]=zp2tf(z0,p0,1); [nums,dens]=zp2tf(zs,ps,1); [numa,dena]=zp2tf(za,pa,1); % adjust the gains: km=polyval(denm,0)/polyval(numm,0); ks=polyval(dens,0)/polyval(nums,0); ka=polyval(dena,0)/polyval(numa,0); numm=numm*km;nums=nums*ks;numa=numa*ka; % Define error models M-Pa and M-Ps [dnuma,ddena]=parallel(numa,dena,-numm,denm); [dnums,ddens]=parallel(nums,dens,-numm,denm); % Plot the bode diagram of model and its (additive) errors w=logspace(-3,2,3000); magm=bode(numm,denm,w); mags=bode(dnums,ddens,w); dmaga=bode(dnuma,ddena,w); dmags=bode(dnums,ddens,w); loglog(w,magm,w,dmags,w,dmaga); title(|M|,|M-Ps|,|M-Pa|); xlabel(The plant and its perturbations);

0.7.2

Classic control

The plant is a simple SISO-system, so we should be able to design a controller with classic tools. For the controlled system we wish to obtain a zero steady state, i.e., integral action. The bandwidth is bounded by the actuator and by the elastic mode at approximately 5.5 rad/s, as we require robust stability and robust performance for the elastic mode models. Some trial and error with a simple low order controller, leads soon to a controller of the form 1 (s + 1) C(s) = (0.54) 2 s(s + 2) In the bode plot of this controller in Fig. 0.18, we observe that the control band is 21

bounded by 0.25rad/s.
50

Gain dB

50 3 10

10

10 10 Frequency (rad/sec) bodeplots controller

10

10

250 255 Phase deg 260 265 270 3 10

10

10 10 Frequency (rad/sec)

10

10

Figure 0.18: Classic low order controller. The root locus and the Nyquist plot look familiar for the nominal plant in Fig. 0.19, but we could have done much better by shifting the pole at -2 to the left and increasing the gain.
rootlocus MC 4 5 4 3 2 2 1 Imag Axis Imag Axis 1 0 1 2 2 3 3 4 5 5 Nyquist MC

4 4

0 Real Axis

0 Real Axis

Figure 0.19: Root locus and Nyquist plot for low order controller. If we study the root loci for the two elastic mode models of Fig. 0.20 and the Nyquist plots in Fig. 0.21, it is clear why such a restricted low pass controller is obtained. Increase of the controller gain or bandwidth would soon cause the root loci to pass the imaginary axis to the RHP for the elastic mode model Pa . This model shows the most nasty dynamics. It has the pole pair closest to the origin. The root loci, which emerge from those poles, loop in the RHP. Also in the corresponding right Nyquist plot we see that an increase of the gain would soon lead to an extra and forbidden encircling of the point -1 by the loops originating from the elastic mode. By keeping the control action strictly low pass, the elastic mode dynamics will hardly be inuenced, as we may observe from the closed loop disturbance step responses of the nominal model and the elastic mode models in Fig. 0.22. Still, we notice some high frequent oscillations, that occur for the model Pa , as the poles have been shifted closer to the imaginary axis by the feedback and consequently the elastic modes are less damped. We can do better by taking care that the feedback loop shows no or very little action just in the neighborhood of the elastic modes. Therefore we include a notch lter, which 22

rootloci PtsC and PtaC

10

Imag Axis

10 10 5 0 Real Axis 5 10

Figure 0.20: Root loci for the elastic mode models.


Nyquist PtsC 5 4 3 2 1 Imag Axis 0 1 2 3 4 5 5 Imag Axis 5 4 3 2 1 0 1 2 3 4 5 5 Nyquist PtaC

0 Real Axis

0 Real Axis

Figure 0.21: Nyquist plots for elastic mode models.


step disturbance for M, Pts or Pta in loop 1

0.5

0 Amplitude

0.5

1.5

2 0

10

20

30

40

50 60 Time (secs)

70

80

90

100

Figure 0.22: Disturbance step responses for low order controller.

has a narrow dip in the transfer just at the proper place: 23

C(s) =

(s + .055 + 5.5j)(s + .055 5.5j) 1 (s + 1) 150 2 s(s + 2) (s + 50 + 50j)(s + 50 50j)

(0.55)

We have positioned zeros just in the middle of the elastic modes pole-zero couples. Roll o poles have been placed far away, where they cannot inuence control, because at = 50 the plant transfer itself is very small. We clearly discern this dip in the bode plot of this controller in Fig. 0.23.
50

Gain dB

50

100 3 10

10

10 10 Frequency (rad/sec) bodeplots controller

10

10

Phase deg

90

180

270 10
3

10

10 10 Frequency (rad/sec)

10

10

Figure 0.23: Classic controller with notch lter. The root locus and the Nyquist plot for the nominal plant in Fig. 0.24 are hardly changed close to the origin. Further away, where the roll-o poles lay, the root locus is not interesting and has not been shown. The poles remain suciently far from the imaginary axis, as expected, given the small plant transfer at those high frequencies.
Nyquist MC 5
rootlocus MC 10 8 6

4 3 2

1
2 Imag Axis 0 2 4 6 8 10 10

Imag Axis
8 6 4 2 0 Real Axis 2 4 6 8 10

0 1 2 3 4 5 5

0 Real Axis

Figure 0.24: Root locus and Nyquist plot controller with notch lter. Studying the root loci for the two elastic mode models of Fig. 0.25 it can be seen that there is hardly any shift of the elastic mode poles. Even Matlab had problems in showing the eect because apparently the gain should be very large in order to derive the exact track of the root locus. This is also reected in the Nyquist plots in Fig.0.26. Because of the notch lters, the loops due to the elastic modes have been substantially decreased in the loop transfer and consequently there is little chance left that the point -1 is encircled. 24

rootloci PtsC and PtaC 10 8 6 4 2 Imag Axis 0 2 4 6 8 10 10

0 Real Axis

10

Figure 0.25: Root loci for the elastic mode models with notch lter.
Nyquist PtsC 5 4 3 2 1 Imag Axis 0 1 2 3 4 5 5 Imag Axis 5 4 3 2 1 0 1 2 3 4 5 5 Nyquist PtaC

0 Real Axis

0 Real Axis

Figure 0.26: Nyquist plots for elastic mode models with notch lter. Finally, as a consequence, the disturbance step responses of the two elastic models show no longer elastic mode oscillations and they dier hardly from the rigid mass model as shown in Fig. 0.27.
step disturbance for M, Pts or Pta in loop 1

0.5

0 Amplitude

0.5

1.5

2 0

10 12 Time (secs)

14

16

18

20

Figure 0.27: Disturbance step responses for controller with notch lter. You can replay all computations, possibly with modications, by running raketcla.m 25

as listed below:
% % % % % % % % This is the script file RAKETCLA.M In this script file we synthesize controllers for the plant (defined in plantdef) using classical design techniques. It is assumed that you ran *plantdef* before invoking this script. First try the classic control law: C(s)=-.5(s+1)/s(s+2)

numc=-[.5 .5]; denc=[1 2 0]; bode(numc,denc,w); title(bodeplots controller); pause; numl=conv(numc,numm); denl=conv(denc,denm); rlocus(numl,denl); title(rootlocus MC); pause; nyquist(numl,denl,w); set(figure(1),currentaxes,get(gcr,plotaxes)) axis([-5,5,-5,5]); title(Nyquist MC); pause; [numls,denls]=series(numc,denc,nums,dens); [numla,denla]=series(numc,denc,numa,dena); rlocus(numls,denls); hold; rlocus(numla,denla); title(rootloci PtsC and PtaC); pause; hold off; nyquist(numls,denls,w); set(figure(1),currentaxes,get(gcr,plotaxes)) axis([-5,5,-5,5]); title(Nyquist PtsC); pause; nyquist(numla,denla,w); set(figure(1),currentaxes,get(gcr,plotaxes)) axis([-5,5,-5,5]); title(Nyquist PtaC); pause; [numcl,dencl]=feedback(1,1,numl,denl,-1); [numcls,dencls]=feedback(1,1,numls,denls,-1); [numcla,dencla]=feedback(1,1,numla,denla,-1); step(numcl,dencl); hold; step(numcls,dencls); step(numcla,dencla); title(step disturbance for M, Pts or Pta in loop); pause; hold off; % Improved classic controller C(s)=-[.5(s+1)/s(s+2)]* % 150(s+.055+j*5.5)(s+.055-j*5.5)/(s+50-j*50)(s+50-j*50) numc=conv(-[.5 .5],[1 .1 30.2525]*150); denc=conv([1 2 0],[1 100 5000]); bode(numc,denc,w); title(bodeplots controller); pause; numl=conv(numc,numm); denl=conv(denc,denm); rlocus(numl,denl); axis([-10,10,-10,10]); title(rootlocus MC); pause; nyquist(numl,denl,w); set(figure(1),currentaxes,get(gcr,plotaxes)) axis([-5,5,-5,5]); title(Nyquist MC);

26

pause; [numls,denls]=series(numc,denc,nums,dens); [numla,denla]=series(numc,denc,numa,dena); rlocus(numls,denls); hold; rlocus(numla,denla); axis([-10,10,-10,10]); title(rootloci PtsC and PtaC); pause; hold off; nyquist(numls,denls,w); set(figure(1),currentaxes,get(gcr,plotaxes)) axis([-5,5,-5,5]); title(Nyquist PtsC); pause; nyquist(numla,denla,w); set(figure(1),currentaxes,get(gcr,plotaxes)) axis([-5,5,-5,5]); title(Nyquist PtaC); pause; [numcl,dencl]=feedback(1,1,numl,denl,-1); [numcls,dencls]=feedback(1,1,numls,denls,-1); [numcla,dencla]=feedback(1,1,numla,denla,-1); step(numcl,dencl); hold; step(numcls,dencls);step(numcla,dencla); title(step disturbance for M, Pts or Pta in loop); pause; hold off;

27

28

Bibliography
[1] J. Doyle, B. Francis, A. Tannenbaum, Feedback Control Theory, McMillan Publishing Co., 1990. [2] S. Engell, Design of Robust Control Systems with Time-Domain Specications, Control Eng. Practice, Vol.3, No.3, pp.365-372, 1995. [3] D.F. Enns, Structured Singular Value Synthesis Design Example: Rocket Stabilisation, American Control Conf., Vol.3, pp.2514-2520, 1990.

29

You might also like