Multivariable Loopshaping

6 downloads 164 Views 458KB Size Report
be systematically used to design control systems that are robust to modeling .... Wp(jw). 1/Wd(jw). Figure 3. Singular values for Plant. The resulting plot of the ...
CHAPTER 7

Multivariable Loopshaping Loopshaping grpahically portrays the tradeoff between performance and robustness in a way that can be systematically used to design control systems that are robust to modeling error. As a graphical method, however, it works well only for scalar systems. The objective of this chapter is to see where this graphical viewpoint breaks down when we attempt to extend it to multivariable systems. In particular, we encounter two basic problems. The first is that the 20 dB/decade rule that assures internal stability in the transition region can no longer be used. In general it can be very difficult to graphically determine loopshapes that meet the performance and robustness constraints that are also internally stabilizing. The second problem occurs when we try to find appropriate loop functions that assure the robust performance constraints are satisfied in the transition region. This is also extremely difficult due to the multivariable nature of the plant. In essence, what we will find is that the “graphical” method is still useful in identifying meaningful performance weights, Wp (s) and W∆ (s). It is, however, less useful in finding a good loopshape and for this we will eventually have to turn to the H∞ synthesis method. As it turns out, we can recast our robust performance problem as an H∞ controller synthesis problem. Such problems are readily solved using computational tools in

Matlab’s µ and robust toolbox. So one goal of this chapter is to demonstrate the use of H ∞ control

tools in solving the robust performance problem.

The remainder of this chapter is organized as follows. We first attempt to extend graphical loopshaping to multivariable loop functions. In doing this we’ll find that it can be very difficult to identify internally stable loop shapes. One approach to handling the internal stability problem is to shape the Youla parameter, rather than the loop function. While shaping the Youla parameter ensures internal stability, it often can be very difficult to assure the robust performance bound is satisfied in the transition region. We therefore recast the robust performance problem as an H ∞

control problem and introduce the Matlab tools required to solve this.

1. Graphical Loopshaping of Multivariable Loop Functions Loopshaping methodologies for SISO systems can be extended to multivariable systems. The extension,however, is difficult to apply in practice due to inconsistent specifications and the difficulty of selecting loopshaping blocks that preserve internal stability. Nonetheless, the engineering insights obtained in SISO loopshaping carry over to MIMO systems and this insight is essential in the ”real-world” of control system design. Loopshaping, even for MIMO systems provides a systematic 139

140

7. MULTIVARIABLE LOOPSHAPING

framework in which to make intelligent design decisions. The difficulties usually arise in finding compensators that implement those design decisions. In particular, figure 1 graphically shows how these bounds are related to the maximum and minimum singular values. Obviously if we have a given plant, G, the idea is to find a compensator K such that the loop GK = L satisfies the specified bounds on its singular values and such that the closed loop system is internally stable.

σ( Lo ) 1 + σ(Wp )

ωh

1 − σ(W∆ ) Region A

Region B ωl

1 − σ(Wp ) 1 + σ(W∆ )

σ( Lo )

Figure 1. Multivariable Loopshaping The method outlined in figure 1 is a straightforward extension of the SISO loopshaping ideas presented in the preceding chapter. While conceptually similar, there are some serious problem that arise in actually fitting MIMO system loop functions. The following example illustrates some of the problems that arise in loopshaping of MIMO systems. Let’s consider a nominal system plant whose transfer function matrix is " # 4 0 s+4 Go (s) = 8(s−200) 4s(3s+16) (s+4)(s+8)

s+8

We’ll assume an uncertainty bound of the form W∆ (s) =

10−3 s + 1 I 2(10−6 s + 1)

where I is the identity matrix. The perturbed plant is given by G = (I + ∆)Go −1 where kW∆ ∆k∞ < 1.

1. GRAPHICAL LOOPSHAPING OF MULTIVARIABLE LOOP FUNCTIONS

141

We also assume a performance bound on the output sensitivity function of the form kWp So k∞ ≤ 1 where s + 100 I 2s

Wp (s) = Once again, I is the identity matrix.

−1 The singular values of W∆ (s) and Wp (s) are shown in figure 2. What we see here is that the low

frequency performance region is ω < 20 rad/sec and that the robust stability region (region B) is for ω > 4 × 103 rad/sec. Singular Values 40

30

20

Singular Values (dB)

10

0

−10

region A LF performance

−20

−30

regon B: robust stability

−40

−50

−60 0 10

1

10

2

3

10

10

4

5

10

10

6

10

7

10

Frequency (rad/sec)

Figure 2. Robust Performance Bounds The separation between regions A and B leaves a healthy transition region consisting of about 2 decades. We now try to fit the output loop function Lo (s) within these bounds so that −1 σ(Lo (jω)) < W∆ (jω) for ω > 4 × 103 rad/sec and so that

σ(Lo (jω)) > |Wp (jω)| for ω < 20 rad/sec. The plot of the singular values for the uncompensated loop functions is shown in figure 3. What figure 3 shows us that the minimum and maximum singular values clearly violate the robust performance bounds. On the basis of this singular value plot, we introduce the following compensation K(s) =

"

120 s

0

0

120 s

#

142

7. MULTIVARIABLE LOOPSHAPING Singular Values 60

40

max singular value of G

Wp(jw) 20

Singular Values (dB)

0

−20

−40

1/Wd(jw)

min singular value of G

−60

−80

−100

−120

−140 −1 10

0

10

1

10

2

10

3

10

4

10

5

10

6

10

7

10

Frequency (rad/sec)

Figure 3. Singular values for Plant The resulting plot of the singular values for the compensated loop function Lo = Go K is shown in figure 4. This controller consists of a proportional gain and integrator. The proportional gain is used to boost the minimum singular value of the system so it lies above the bound found in the low frequency region. The integrator is used to reshape this singular value so it has the same slope as the low frequency bound. Singular Values 150

100

max singular value of G

50

Wp(jw) Singular Values (dB)

0

1/Wd(jw) min singular value of G

−50

−100

−150

−200

−250 −1 10

0

10

1

10

2

10

3

10

4

10

5

10

6

10

7

10

Frequency (rad/sec)

Figure 4. Singular values for compensated plant From figure 4 we see that except for a slight violation of the performance specification on the low frequency end, that this design appears to meet the robust performance bound. Loopshaping in this manner, however, does not ensure closed loop stability. Unlike the SISO case, we cannot use Bode’s integral gain-phase relation to make broad generalizations about this plant’s closed loop stability. In fact, this particular design we have here is unstable.

2. SHAPING THE YOULA PARAMETER

143

Another potential issue is encountered if we attempt to satisfy bounds simultaneously on the input and output loop functions. Let’s rework our example with the compensator " # K(s) =

s+1 s 120 s

120 s

0

Figure 5 shows the singular value plots for the input and output loop functions, Li = KG and Lo = GK. Note that while Lo appears to satisfy the robust performance found, it is obvious that Li does not meet the bound. It can in fact be very difficult to realize constraints on both input and output sides of a MIMO system. Singular Values

Singular Values

150

150

100

max singular value of G violates robust stability bound

100

max singular value of G

50 50

Wp

Wp(jw) 1/Wd

−50

0 Singular Values (dB)

Singular Values (dB)

0

min singular value of G

−100

−150

1/Wd(jw) min singular value of G

−50

−100 −200 −150 −250

Input Loop Function

−200

−300

Output Loop FUnction −350 −1 10

0

10

1

10

2

3

10

4

10

10

5

10

6

10

7

10

−250 −1 10

0

10

1

10

2

3

10

Frequency (rad/sec)

10

4

10

5

10

6

10

7

10

Frequency (rad/sec)

Figure 5. Input and output loopshapes The preceding remarks indicate that loopshaping for MIMO systems is extremely difficult. There are problems with inconsistent specifications on both the input and output loop function as well as the difficulty associated with obtaining internally stable controllers for MIMO systems. In the next section we present a novel way of dealing with the stability problem by shaping the Youla parameter instead of the loop function.

2. Shaping the Youla Parameter The preceding example illustrated how difficult it can be to find a loop shape where the closed loop map is internally stable. One way around this difficulty is to try shaping the Youla parameter Q(s). Recall that all internally stabilizing controllers of a plant can be parameterized in terms of a transfer function Q(s) in RH ∞ . This means that shaping Q(s) to achieve the robust performance bounds

automatically guarantees internal stability.

Let’s assume that the open loop plant is stable. We therefore know that all internally stabilizing controllers of this system can be written as K(s) = Q(s) [I − Go (s)Q(s)] where Q(s) ∈ RH ∞ .

−1

144

7. MULTIVARIABLE LOOPSHAPING

The output sensitivity can be written as So (s)

= (I + Go (s)K(s))−1 =

I + Go (s)Q(s)(I − Go (s)Q(s))−1

Using this matrix inversion lemma, we can reduce this expression to

−1

So (s) = I − Go (s)Q(s)(I − Go (s)Q(s) + Go (s)Q(s))−1 = I − Go (s)Q(s) The complementary output sensitivity is To (s) = I − So (s) = I − I + Go (s)Q(s) = Go (s)Q(s) Now let’s look at the robust performance condition σ(W∆ To ) + σ(Wp So ) ≤ 1 We assume a consistent set of weighting matrices so there exists a well defined region B. In particular let region B be defined as by the interval ω > ωh . In this region we know that σ(W∆ (jω))  1 and σ(Wp (jω)) < h  1 We also have a well defined region A defined by the interval ω < ω` where σ(Wp (jω))  1 and σ(W∆ (jω)) < `  1 Let’s look at region B. We know that σ(So ) > σ(To ) so that σ(W∆ To ) + σ(Wp So ) ≤ σ(W∆ )σ(To ) + h σ(So ) ≤ σ(W∆ )σ(To ) + h (1 + σ(To )) So if we let σ(W∆ )σ(To ) + h (1 + σ(To )) < 1 then robust performance is satisfied in region B. This preceding condition can be restated as σ(Go Q)
σ(So ). We use this fact to infer σ(W∆ To ) + σ(Wp So )

≤ σ(Wp So ) + ` σ(To ) ≤ σ(Wp So ) + ` (1 + σ(So ))

So if we let σ(I − Go Q)
Computing the 4-block H-inf optimal controller using the S-L-C loop-shifting/descriptor formulae Solving for the H-inf controller F(s) using U(s) = 0 (default) Solving Riccati equations and performing H-infinity existence tests: 1.

Is D11 small enough?

2.

Solving state-feedback (P) Riccati ...

3.

OK

a.

No Hamiltonian jw-axis roots?

FAIL

b.

A-B2*F stable (P >= 0)?

FAIL

Solving output-injection (S) Riccati ...

154

7. MULTIVARIABLE LOOPSHAPING

4.

a.

No Hamiltonian jw-axis roots?

FAIL

b.

A-G*C2 stable (S >= 0)?

FAIL

max eig(P*S) < 1 ?

OK

------------------------------------------------------NO STABILIZING CONTROLLER MEETS THE SPEC. !! The preceding output, of course, says that our synthesis failed. The function is nice enough to tell us what the problem is. Recall from our earlier characterization of the H∞ synthesis problem that

there were several conditions that had to be satisfied. Let’s double check to see if these conditions were satisfied by our problem. Clearly the first condition on the stabilizability and detectability of the original plant is satisfied.

Now let’s take a look at the second condition. This is a requirement that the matrix D 12 have full column rank. The D12 matrix is 

D12

0

0

  −3 −2   0 0  =  0 0   0  0 3000 2000

          

This matrix does not have full column rank and thereby violates one of the conditions given earlier. Remember that condition two is essential for ensuring that the control signals are bounded. Obviously, our problem is that we failed to penalize the synthesis for generating unbounded controls and this is a direct consequence of the fact that we let Wu = 0. So to fix this problem, we need to introduce a non-zero weighting function Wu on the control signal. In this case let’s select Wu (s) =

"



0

0



#

where  = .0001. We now re-run the H∞ synthesis script. The output from this particular run of

the code is shown below.

> Computing the 4-block H-inf optimal controller using the S-L-C loop-shifting/descriptor formulae Solving for the H-inf controller F(s) using U(s) = 0 (default) Solving Riccati equations and performing H-infinity existence tests:

4. H∞ LOOPSHAPING

1.

Is D11 small enough?

2.

Solving state-feedback (P) Riccati ...

3.

4.

155

OK

a.

No Hamiltonian jw-axis roots?

OK

b.

A-B2*F stable (P >= 0)?

OK

Solving output-injection (S) Riccati ... a.

No Hamiltonian jw-axis roots?

FAIL

b.

A-G*C2 stable (S >= 0)?

FAIL

max eig(P*S) < 1 ?

OK

------------------------------------------------------NO STABILIZING CONTROLLER MEETS THE SPEC. !! DONE!!! ------------------------------------------------------Again our synthesis failed. In this case, we go back and check our three conditions. The first two conditions are now satisfied but the third condition is violated because the augmented plant has poles on the jω-axis. These imaginary poles enter through the weight function Wp (s). We can handle this problem by modifying the Wp (s) specification. Recall that we originally let Wp (s) =

s + 100 I 2s

Wp (s) =

s + 100 I 2s + 

We now change this to

where  ≈ .0001. This modification moves the poles of Wp (s) off the imaginary axis so our augmented

plant should now satisfy the third condition. If we now rerun the Matlab script with this change we get the output. > Computing the 4-block H-inf optimal controller using the S-L-C loop-shifting/descriptor formulae Solving for the H-inf controller F(s) using U(s) = 0 (default) Solving Riccati equations and performing H-infinity existence tests: 1.

Is D11 small enough?

2.

Solving state-feedback (P) Riccati ...

3.

OK

a.

No Hamiltonian jw-axis roots?

OK

b.

A-B2*F stable (P >= 0)?

OK

Solving output-injection (S) Riccati ... a.

No Hamiltonian jw-axis roots?

OK

156

7. MULTIVARIABLE LOOPSHAPING

b. 4.

A-G*C2 stable (S >= 0)?

OK

max eig(P*S) < 1 ?

OK

------------------------------------------------------all tests passed -- computing H-inf controller ... DONE!!! ------------------------------------------------------which indicates that the synthesis was successful. This example shows that a major part of the H ∞

synthesis involves the appropriate selection of weighting matrices. The preceding example showed some of the common pitfalls encountered in using Matlab’s function hinf and how one might go

about modifying the weighting matrices to force a solution. Note that our report from hinf has four conditions, rather than the 3 we cited earlier. The last condition on the maximum eigenvalue of the matrix PS is a condition on the spectral radius of the matrices P and S that solve associated Riccati equations. If these conditions fail to be satisfied it probably means that there is no controller that will solve the H∞ synthesis problem you’ve posed. Unlike H2 optimization problems, the H∞ does not always have a solution. Solutions may fail to

exist if the designer is asking too much from the controller. Remember that there are some natural constraints imposed by the feedback nature of the system. Violating these constraints regarding the

tradeoff between modelling uncertainty and performance can often lead to H∞ synthesis problems that have no solution. We now turn to examine this solution and see if it really solved our problem. We first plot the robust performance level σ(Wp S) + σ(W∆ T). This plot is shown in figure 11. The red line in the plot is the combined robust performance level. Since this line is below the 0 dB line, this plot shows that the robust performance condition is clearly satisfied.

0 sigma(Wp S) + sigma(Wd T)

sigma(Wp S) −5

−10

sigma(Wd T) −15

−20

−25 −3 10

−2

10

−1

10

0

10

1

10

2

10

3

10

Figure 11. σ(Wp S) + σ(W∆ T) versus ω

4

10

4. H∞ LOOPSHAPING

157

The next plot shown in the left hand side of figure 12 compares the loop function’s shape to the specified robust performance bounds. In particular we plot σ(L), σ(L), σ(Wp ) and 1/σ(W∆ ) versus ω. This is what we originally used to shape the loop. This figure shows that the resulting design clearly meets our loopshaping bounds, so the H∞ synthesis has indeed solved the robust performance problem.

Step Response

Singular Values From: U(1)

200

From: U(2)

1.5

150

To: Y(1)

1

100

0.5

50

−50

max sigma of L

min sigma of L

−0.5

Amplitude

Singular Values (dB)

0

0

1.4 1.2

−100 To: Y(2)

1

−150

0.8 0.6 0.4 0.2

−200

0

−250 −3 10

−0.2 −2

10

−1

10

0

10

1

10

2

10

3

10

4

10

5

10

6

7

10

10

0

0.05

0.1

0.15

0.2

0.25 0

0.05

0.1

0.15

0.2

0.25

Time (sec)

Frequency (rad/sec)

Figure 12. (left) Loopshapes of Example, (right) Step Responses of Example Finally, we check our design by plotting the step responses for our closed loop design. One should always plot these step responses to make sure that the transient response of your system is acceptable. The plotting of such step responses is the easiest way to make sure your system is stable. These plots are shown in the right hand plot of figure 12. There are four plots in this figure that show the step response from each input to each output channel. The plots are arranged in a rectangular manner so that the plots on the diagonal represent the step responses of the closed loop transfer functions on the diagonal of the closed loop transfer function matrix. These plots clearly show that the system is stable. They also show that inputs applied to the first input channel produce a step response in the first output channel and are rejected in the second output channel. This type of step response is what we usually want to see in our system. At this point it is worthwhile to take a closer look at the controller. Note that it is an 8th order controller even though the plant is only of 4th order. The controller is so large because the augmented plant P(s) is of 8th order. This is a common trait of H∞ synthesis. It tends to make high order controllers because the augmented plant usually has a high order. Therefore a necessary step in the design of H∞ control is the introduction of a model reduction method. Given a transfer function matrix G, the model reduction problem constructs a transfer function ˆ matrix G(s) such that

ˆ

G − G



ˆ is less than the order of G. and the order of G

0 dB for low frequencies

10 0 −10 −20 −30 −40 −3 10

−2

10

−1

10

0

10

1

10

2

10

3

10

Figure 17. Uncompensated plant, β = 3 The top plot in figure 17 plots the singular values of the uncompensated HIMAT plant along with the −1 singular values for the performance weight Wp (s) and the inverse uncertainty weight W∆ (s). From

this plot, it would appear that the robust performance constraint is violated in the low frequency region. We can confirm this by plotting the robust performance level as shown in the bottom plot of figure 17. This plot clearly shows that the robust performance bound reaches a value of 20 dB for frequencies below 0.1 rad/sec. So the uncompensated plant clearly violates the robust performance bound in the low frequency region. The top plot in figure 18 plots the singular values for the compensated HIMAT plant using an H ∞

controller of order norder=9. In this case, we see that the low frequency singular values are above the specified lower bound and that the high frequency singular values are below the high frequency upper bound. We would therefore expect this design to meet the robust performance level. The bottom plot in figure 18 shows the robust performance level as a function of frequency. Note that this level is below zero dB for all frequencies, including those in the transition region. The transition region, in fact, is rather tight here and it would probably have been impossible to use graphical

164

7. MULTIVARIABLE LOOPSHAPING

methods to obtain a comparable fit. It is in these types of problems that the H∞ synthesis shows

its value. In essence, we can think of it as an industrial strength tool for optimizing loopshaping designs. 40 20 0 −20 note a rather large transition region

−40 −60 −80 −3 10

−2

10

−1

10

0

1

10

10

2

3

10

10

20 note that robust perf is met since gam < 0dB 0 −20 gam −40 T S

−60 −80 −3 10

−2

10

−1

10

0

10

1

10

2

10

3

10

Figure 18. Compensated plant, β = 3, norder = 9

We finalize this design by plotting the step responses for the closed loop system. Figure 19 shows the step responses for this system. The step input is applied to both input channels, δe and δc , of the system. There are four step responses, showing the response of both output channels α and θ. The four step responses correspond to the step responses for transfer functions T δe α , Tδe θ , Tδc α , and Tδc θ . The step responses show that the system has a rise time of 1.0 seconds. This is rather slow for a high performance fighter. We can improve the speed of the response by increasing the β in our performance weighting function Wp (s). Now let’s try to see how much performance (i.e. faster response time) we can get by pushing up β. Note from figure 18, that the bandwidth of the closed loop system is really determined by the width of the transition region. The lower end of this region is fixed by β, so we expect that by increasing β, we can speed up the the system’s response. There will come a point, however, when −1 β is so large that it is inconsistent with the uncertainty bound W∆ (s). From our plots, we expect

this to happen around 100 − 200 rad/sec. So this would seem to be an upper limit on β. We redid the control synthesis for β = 150 and norder=9. The singular values for the compensated plant and bounds are shown in the top plot of figure 20. As we’d expect, the transition region is narrower. Nonetheless, the H∞ synthesis was still able to find a controller that met the robust

performance bounds. The resulting robust performance level is shown in the bottom plot of figure 20.

5. HIMAT DESIGN EXAMPLE

165

Step Response From: U(2)

From: U(1) 1

To: Y(1)

0.8

0.6

0.4

Amplitude

0.2

0 1

To: Y(2)

0.8

0.6

0.4

0.2

0 0

0.2

0.4

0.6

0.8

10

0.2

0.4

0.6

0.8

1

Time (sec.)

Figure 19. Step Response for Compenstated system β = 3, norder = 9 80 Note very narrow transition region

60 40 20 0 −20 −40 −3 10

−2

10

−1

10

0

1

10

10

2

3

10

10

20 note that robust perf is met since gam < 0dB 0 −20 gam −40 T S

−60 −80 −3 10

−2

10

−1

10

0

10

1

10

2

10

3

10

Figure 20. Compensated Plant with high β = 150 Remember that the whole point in using a larger β was to improve the transient response of the closed loop system. From figure 20, we can clearly see that the closed loop system’s bandwidth now extends to about 200 rad/sec. So the step response should have a rise time on the order of a tens of milli-seconds. The step response is plotted in figure 21. The rise time is much shorter and it appears to be about 20 msec, rather than then 1 second found earlier. How large can we make β. We were able to synthesize controllers for β = 300. At β = 310, the Matlab script generated the following message:

166

7. MULTIVARIABLE LOOPSHAPING Step Response From: U(2)

From: U(1) 1

NOTE: very fast system step response!

To: Y(1)

0.8

0.6

0.4

Amplitude

0.2

0 1

To: Y(2)

0.8

0.6

0.4

0.2

0 0

0.2

0.4

0.6

0.8

10

0.2

0.4

0.6

0.8

1

Time (sec.)

Figure 21. Step response of compensated plant with β = 150

> Computing the 4-block H-inf optimal controller using the S-L-C loop-shifting/descriptor formulae Solving for the H-inf controller F(s) using U(s) = 0 (default) Solving Riccati equations and performing H-infinity existence tests: 1.

Is D11 small enough?

2.

Solving state-feedback (P) Riccati ...

3.

4.

OK

a.

No Hamiltonian jw-axis roots?

OK

b.

A-B2*F stable (P >= 0)?

FAIL

Solving output-injection (S) Riccati ... a.

No Hamiltonian jw-axis roots?

OK

b.

A-G*C2 stable (S >= 0)?

OK

max eig(P*S) < 1 ?

OK

------------------------------------------------------NO STABILIZING CONTROLLER MEETS THE SPEC. !! -- CLOSED-LOOP UNSTABLE -which indicates that the program could find no H∞ controller meeting the stated specifications. In

other words, this problem is impossible to solve and the reason, of course, is because we’ve pushed the desired system bandwidth to the point where it is inconsistent with our uncertainty model.

6. NOTES

167

The controller generated by this script was of order 9. We now try to answer the second question posed above; namely the effect that reduced order controllers have on system performance. Recall that H∞ controllers are of extremely high order because the compensator order equals the order of

the augmented plant. The original plant, however, only has 4 states and so we might expect that we should be able to get by with a controller of an order around 4. To see what happens, we designed a full order controller (norder=8) for a weighting function with β = 300. We then began reducing norder to see what happens to the step response. Figure 22 shows the result. The top plot shows the step response for β = 300 and norder = 7. In this case, we’ve only reduced the order of the controller by 1. The system is stable and very responsive. On the other hand, if we reduce the order of the controller by 2 so that norder = 6, the second (lower) plot in figure 22 shows that the system is unstable. For this high-performance example we clearly need the high order controller. 1 0.8 0.6 norder=7

stable!

0.4 0.2 0

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.05

0.06

0.07

0.08

0.09

0.1

7

0

x 10

−0.5 −1 norder=6 unstable! −1.5 −2 −2.5

0

0.01

0.02

0.03

0.04

Figure 22. Step response for β = 300 and norder = 6, 7

6. Notes This chapter examined multi-variable loopshaping methods. We found that a direct attempt to use graphical loopshaping methods is inadequate. It was found that while one could shape the singular values to meet the specified bounds, it was difficult to find internally stable loop functions and even more difficult to find internally stabilizing controllers. The problem of stability was first tackled by recasting our loopshaping problem in terms of loopshaping of the Youla parameter Q(s). But while this method ensured internal stability, it turned out to be very difficult to enforce robust performance specifications in the transition region. At this point, it became apparent that we needed some automated analytical tool for selecting loopshapes and controllers. The tool we chose to use was the H∞ controller synthesis. We found that the robust performance problem could be recast as

168

7. MULTIVARIABLE LOOPSHAPING

an H∞ synthesis problem. We provided two examples illustrating the use of Matlab tools in solving

this problem. A detailed derivation of the H∞ and model reduction methods was not attempted in

this chapter. Those derivations are postponed to the next chapters.

The idea of graphically shaping the loop function of MIMO systems is also discussed in [2]. Similar problems are encountered there and they also use H∞ loopshaping to solve the robust performance

problem. Our use of the term H∞ is somewhat different than that used in [2]. In [2], H∞ loopshaping

is done for a robust performance problem in which the system is perturbed by a normalized coprime

uncertainty model. Such uncertainty models are more general than the one we’ve considered as it allows us to place specifications on both the plant’s input and output. The multiplicative uncertainty model we use here models uncertainty in the plant’s output only. The results on shaping the Youla parameter were taken from [4]. The HIMAT example was taken from [8].