H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this...

22
ECE5530: Multivariable Control Systems II. 9–1 H 1 OUTPUT-FEEDBACK CONTROLLER 9.1: Setting up the problem H 1 output-feedback control (or simply H 1 control) uses partial state measurements, corrupted by disturbances, to generate the control. We might consider combining H 1 full-information controller with H 1 estimation, but this is not correct since the H 1 estimator depends on what linear combination of states is being estimated. That is, the estimator will depend on the controller(!). H 1 control comprises an estimated-state feedback part and an estimator part, but these two parts are not independent (no separation principle). We use the plant model P x.t/ D Ax.t/ C h B u B w i 2 4 u.t/ w.t/ 3 5 I 2 4 m.t/ y.t/ 3 5 D 2 4 C m C y 3 5 x.t/ C 2 4 0 D mw D yu 0 3 5 2 4 u.t/ w.t/ 3 5 : The matrices B w and D mw are assumed to satisfy the conditions: D mw B T w D 0 and D mw D T mw D I: These conditions require: Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Transcript of H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this...

Page 1: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530: Multivariable Control Systems II. 9–1

H1 OUTPUT-FEEDBACK CONTROLLER

9.1: Setting up the problem

■ H1 output-feedback control (or simply H1 control) uses partial state

measurements, corrupted by disturbances, to generate the control.

! We might consider combining H1 full-information controller with

H1 estimation, but this is not correct since the H1 estimator

depends on what linear combination of states is being estimated.

! That is, the estimator will depend on the controller(!).

! H1 control comprises an estimated-state feedback part and an

estimator part, but these two parts are not independent (no

separation principle).

■ We use the plant model

Px.t/ D Ax.t/ Ch

Bu Bw

i

2

4u.t/

w.t/

3

5 I

2

4m.t/

y.t/

3

5 D

2

4Cm

Cy

3

5 x.t/ C

2

40 Dmw

Dyu 0

3

5

2

4u.t/

w.t/

3

5 :

■ The matrices Bw and Dmw are assumed to satisfy the conditions:

DmwBTw D 0 and DmwDT

mw D I:

■ These conditions require:

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 2: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–2

! That plant disturbance and measurement noise be distinct, and

! That measurement noise be normalized in equations.

■ The matrices Cy and Dyu are assumed to satisfy the conditions:

DTyuCy D 0 and DT

yuDyu D I:

■ These conditions require:

! The reference output consists of an output dependent only on the

state and a distinct output depending only on the control input.

! The part that depends on the control input is normalized.

■ The plant is also assumed controllable and observable.

■ The suboptimal H1 control problem is to find an output-feedback

controller for the above plant such that the 1-norm of the closed-loop

system is bounded:

!!Gyw

!!

1 Œ0;tf !D sup

kw.t/k2;Œ0;tf !¤0

ky.t/k2;Œ0;tf !

kw.t/k2;Œ0;tf !

< ":

■ The closed-loop system is also required to be internally stable.

The problem. . .

■ We want to approximate u.t/ D "K.t/x.t/ without measuring x.t/.

■ That is, we want to find Ou.t/ # u.t/ when measuring output only, not

state.

■ In LQG, a Kalman filter estimated Ou.t/ D "K.t/ Ox.t/ because the

solution to the Kalman filter does not depend on what linear

combination of states is desired in the estimate:

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 3: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–3

Ou.t/ D EŒ"K.t/x.t/ j Z.t/! D "K.t/EŒx.t/ j Z.t/! D "K.t/ Ox.t/;

where Z.t/ is the set of all measurements until time t .

■ The H1 estimator does depend on the linear combination of states

being estimated, as demonstrated in the example at the end of the

last chapter of notes.

■ Therefore, the H1 estimator must estimate Ou.t/ as an estimate of the

signal "K.t/x.t/ together.

■ The control-design procedure we follow is:

! Design a full-information H1 controller for the plant;

! From this, we have a Riccati equation for P.t/, we know

K.t/ D BTu P.t/, and so altogether we have u.t/ D "K.t/x.t/.

! Design an H1 estimator for "K.t/x.t/. Estimator output is Ou.t/.

! Use Ou.t/ as the plant control input.

■ Because of the different plant model assumptions for the

full-information controller/estimator and the model above, we must

modify our full-information control design somewhat.

■ The control problem is still to minimize

J" D ky.t/k22;Œ0;tf ! " "2 kw.t/k2

2;Œ0;tf ! $ ""2 kw.t/k22;Œ0;tf ! :

■ However, this cost function is not useful when designing the estimator.

! It is not a function of u.t/. We would like to see ku.t/ " Ou.t/k in

cost function instead of ky.t/k.

■ We must modify it given our knowledge of the Riccati equation

developed for the suboptimal full-information controller. This will give

us a cost function more suitable for designing the estimator.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 4: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–4

9.2: H1 output-feedback control as estimation problem

■ We start by asserting a non-obvious identity that will be used to

“complete the square”Z tf

0

dxT .t/P.t/x.t/

dtdt D xT .tf / P.tf /

„ƒ‚…

0

x.tf / " xT .0/„ƒ‚…

0

P.0/ x.0/„ƒ‚…

0

D 0

since x.0/ D 0 and P.tf / D 0 by definition in the H1 problem.

■ We insert this identity into the cost function J"

J" DZ tf

0

n

xT .t/C Ty Cyx.t/ C uT .t/u.t/ " "2wT .t/w.t/

CdxT .t/P.t/x.t/

dt

o

dt

DZ tf

0

n

xT .t/C Ty Cyx.t/ C uT .t/u.t/ " "2wT .t/w.t/

C PxT .t/P.t/x.t/ C xT .t/ PP .t/x.t/ C xT .t/P.t/ Px.t/o

dt:

■ To continue, note that Px.t/ D Ax.t/ C Buu.t/ C Bww.t/. Regroup and

drop dependence on t for clarity

J" DZ tf

0

n

xTh

PP C C Ty Cy C AT P C PA

i

x C uT u " "2wT w

C.Buu C Bww/T P x C xT P.Buu C Bww/o

dt:

■ Now, substitute from the Riccati equation for PP C C Ty Cy C AT P C PA

J" DZ tf

0

n

xT Ph

BuBTu " ""2BwBT

w

i

P x C uT u " "2wT w

C.Buu C Bww/T P x C xT P.Buu C Bww/o

dt

DZ tf

0

Œu C BTu P x!T Œu C BT

u P x!

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 5: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–5

""2Œw " ""2BTw P x!T Œw " ""2BT

w P x! dt

D ku.t/ C BTu P.t/x.t/k2

2;Œ0;tf ! " "2kw.t/ " ""2BTw P.t/x.t/k2

2;Œ0;tf !:

■ Combining this with the inequality we started with, we get a cost

function suitable for a two-player game optimization:

J" D!!u.t/ C BT

u P.t/x.t/!!

2

2;Œ0;tf !" "2

!!w.t/ " ""2BT

w P.t/x.t/!!

2

2;Œ0;tf !

$ ""2 kw.t/k22;Œ0;tf ! :

■ The cost function is identical to what we started with, but now written

in terms of u.t/.

■ To ease notation, define #w D w.t/ " ""2BTw P.t/x.t/.

■ Then, the control problem of minimizing J" is equivalent to minimizing

kG#k1 D sup#w¤0

!!u.t/ C BT

u P.t/x.t/!!

2;Œ0;tf !

k#wk2;Œ0;tf !

< ":

■ Keep this control objective in mind, and now consider the task of

designing an H1 estimator to estimate the linear combination of

states

u.t/ D "BTu P.t/x.t/;

given measurements m.t/ such that the 1-norm of the transfer

function between disturbance input #w and the estimation error is

bounded.

■ Then, we are minimizing

kG#k1 D sup#w.t/¤0

ku.t/ " Ou.t/k2;Œ0;tf !

k#wk2;Œ0;tf !

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 6: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–6

D sup#w.t/¤0

!!"BT

u P.t/x.t/ " Ou.t/!!

2;Œ0;tf !

k#wk2;Œ0;tf !

< ":

■ This is the same problem as the control-design problem we just

derived!

■ The goal is to find a u.t/ that approximates "BTu P.t/x.t/: That is, we

know u.t/ should be u.t/ D "BTu P.t/x.t/ but we will try to

approximate as closely as possible without measuring x.t/ by

minimizing this gain.

■ We need to be careful how we apply the H1 estimation, however,

since our definition of inputs has changed.

! Our disturbance input is now #w.t/, not w.t/.

Px.t/ D Ax.t/ C Buu.t/ C Bww.t/

C ""2BwBTw P.t/x.t/ " ""2BwBT

w P.t/x.t/„ ƒ‚ …

0

D ŒA C ""2BwBTw P.t/!x.t/ C Buu.t/ C Bw#w.t/:

■ The measurement equation may be similarly generated, noting that

""2DmwBTw P.t/x.t/ D 0.

m.t/ D Cmx.t/ C Dmww.t/ " ""2DmwBTw P.t/x.t/

D Cmx.t/ C Dmw#w.t/:

■ The resulting plant model may be used with our previous results on

H1 estimation.

! We will see how to do so in the next topic.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 7: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–7

9.3: Finite-time and steady-state control

Finite-time control

■ With the plant model reformulated, we can now address the

finite-time control problem and the steady-state control problem.

■ The finite-time control problem results in a Riccati equation with the

modified A matrix from above.

■ Let Am.t/ D A C ""2BwBTw P.t/. The Riccati equation is then:

PQm.t/ D Qm.t/ATm.t/ C Am.t/Qm.t/ C BwBT

w

" Qm.t/ŒC Tm Cm " ""2P.t/BuBT

u P.t/!Qm.t/;

with initial condition Qm.0/ D 0.

■ The suboptimal estimator is then

POx.t/ D Am.t/ Ox.t/ C Buu.t/ C L.t/Œm.t/ " Cm Ox.t/!

Ou.t/ D "BTu P.t/ Ox.t/;

where the gain L.t/ D Qm.t/C Tm .

■ This estimator becomes our controller by letting u.t/ D Ou.t/. Then,

POx.t/ D ŒAm " BuBTu P.t/ " Qm.t/C T

m Cm! Ox.t/ C Qm.t/C Tm m.t/

u.t/ D "BTu P.t/ Ox.t/:

■ The modified Riccati equation also leads to a Hamiltonian system

(see text for a lot of omitted math), which is:

PQx.t/ D

"

.A C ""2BwBTw P.t//T ""2P.t/BuBT

u P.t/ " C Tm Cm

"BwBTw ".A C ""2BwBT

w P.t//

#

Qx.t/

D QY1.t/ Qx.t/:

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 8: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–8

■ Note that this Hamiltonian matrix is time-varying, with P.t/ obeying

PP .t/ D "P.t/A " AT P.t/ " P.t/.BuBTu " ""2BwBT

w /P.t/ " C Ty Cy:

■ Therefore, for an output-feedback controller to exist, a solution to the

full-information suboptimal control must exist.

■ Also, we can find that Qm.t/ D Q.t/ŒI " ""2P.t/Q.t/!"1, so a solution

to the H1 state estimator must also exist, and furthermore

$ŒP.t/Q.t/! < "2;

where “spectral radius” $Œ%! is max. absolute eigenvalue of matrix.

! These three tests may be used in bisection algorithm on " to find

best suboptimal output-feedback controller.

Steady-state control

■ The conditions for existence of a suboptimal steady-state controller,

with performance bound " , are:

! There is a solution P & 0 for

PA C AT P " P.BuBTu " ""2BwBT

w /P C C Ty Cy D 0;

such that A " .BuBTu " ""2BwBT

w /P is stable.

! There is a solution Q & 0 for

AQ C QAT " Q.C Tm Cm " ""2C T

y Cy/Q C BwBTw D 0;

such that A " Q.C Tm Cm " ""2C T

y Cy/ is stable.

! The spectral radius $ŒPQ! < "2.

■ Note that the two algebraic Riccati equations may be solved via

Hamiltonian methods developed in the last chapter.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 9: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–9

EXAMPLE 10.1: Consider a satellite tracking antenna, modeled as"

P%.t/R%.t/

#

D

"

0 1

0 "0:1

# "

%.t/P%.t/

#

C

"

0

0:001

#

u.t/ C

"

0

0:001Wb

#

w1.t/

where %.t/ is the pointing angle error in degrees, u.t/ is the control

torque, and w1.t/ is the normalized wind torque such that jw1.t/j $ 1

and w.t/ D Wbw1.t/.

■ The pointing error is measured as

m.t/ Dh

1 0i

"

%.t/P%.t/

#

C v.t/

where jv.t/j $ 1 degree.

■ The outputs of interest are the pointing error and the control input

y.t/ D

"

W% 0

0 0

# "

%.t/P%.t/

#

C

"

0

1

#

u.t/:

■ The weight W% is used to tune the controller.

■ Baseline case is for Wb D 70 and W% D 13; Simulation used w.t/ D 70

and v.t/ as sampled white uniform noise between "1 and 1.

0 20 40 60 80 1000

1

2

3

4

5

Time (sec)

Angl

e er

ror (

deg)

0 20 40 60 80 100−100

−80

−60

−40

−20

0

20

Time (sec)

Con

trol t

orqu

e (N

-m)

■ Steady-state angle error has a dc component due to disturbance

torque and a random component due to measurement error.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 10: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–10

■ Next case designed for Wb D 700 and W% D 13, but used Wb D 70.

■ Increasing bound on disturbance torque in design gives response that

uses more control, decreases dc angle error due to disturbance, and

increases random component due to measurement error.

0 20 40 60 80 1000

0.5

1

1.5

2

Time (sec)

Angl

e er

ror (

deg)

0 20 40 60 80 100−800

−600

−400

−200

0

200

400

600

800

Time (sec)C

ontro

l tor

que

(N-m

)

■ The final case designed for and used Wb D 70 and W% D 130.

■ Increasing angle-error weighting also yields response that uses more

control, decreases dc error due to disturbance, and increases random

component of angle error due to measurement noise.

0 20 40 60 80 1000

0.5

1

1.5

Time (sec)

Angl

e er

ror (

deg)

0 20 40 60 80 100−250

−200

−150

−100

−50

0

50

100

150

Time (sec)

Con

trol t

orqu

e (N

-m)

■ Note that the text also discusses how to approximate integral control

in an H1 setting, and how to approximate LTR for an indirect robust

control design method.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 11: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–11

9.4: &-Synthesis

■ Nothing that we have done to date is any guarantee of robustness of

the control design.

■ However, we can formulate the robust control problem as an H1

optimization.

■ Recall that robust performance may be cast as a structured robust

stability problem.

"

#.s/ 0

0 #o.s/

#

#.s/

K.s/

K.s/

P.s/

P.s/W.s/

W.s/

U.s/

U.s/

Y.s/

Y.s/

M.s/

M.s/

Wd .s/ Wd .s/Yd .s/ Yd .s/

■ For a system in standard form, robust performance is guaranteed if

J D sup!

f& N#ŒN.j!/!g < 1:

■ The &-synthesis design procedure optimizes this cost function.

■ Recall that the direct computation of & N# is intractable. Therefore, we

bound

& N#ŒN.j!/! $ minfd1;d2;%%%;dng

di 2.0;1/

N'.DR.j!/N.j!/D"1L .j!//:

■ The D-scales that minimize this relationship are sets of numbers at

different frequency samples.

■ These values must be fitted by a transfer function for the design

procedures to work.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 12: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–12

■ There are least-squares techniques to do this, discussed later.

■ To achieve robust performance, start with the cost function

J D sup!

minfd1;d2;%%%;dng

di 2.0;1/

N'.DR.j!/N.j!/D"1L .j!//:

■ This cost function is still intractable, but for a given set of Ds, we have

JD D sup!

N' ŒDR.j!/N.j!/D"1L .j!/! D

!!DRN D

"1L

!!

1 :

■ The solution to the H1 output-feedback controller for this cost

function is valid assuming that the D-scales are described in the state

model.

■ Unfortunately, the D-scales are not fixed, since they depend on the

closed-loop model N.s/ which, in turn, depends on the controller

K.s/. The D-K iteration seeks to overcome this problem by iteratively

performing 1-norm optimization and D-scale optimization.

1. Model the plant. Include disturbance inputs, control inputs,

reference outputs, measured outputs, and perturbations. Append

the performance block to the uncertainty matrix.

2. Generate an H1 output-feedback controller to minimize the

1-norm of the transfer function from the augmented perturbation

input to the augmented perturbation output.

3. Compute the structured singular values for the closed-loop system

(with both uncertainty and performance blocks). Save the D-scales

used in computing the structured singular value.

4. Fit a low-order transfer function to each frequency-dependent

D-scale.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 13: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–13

5. Append these transfer functions to the plant. The rational transfer

function approximations for the D-scales and the inverse D-scales

are appended to the nominal closed-loop system. You may

augment the plant dynamics with state equations for these

D-scales and inverse D-scales.

6. For the augmented plant, generate an H1 output-feedback

controller for the augmented plant model to minimize the 1-norm

of the transfer function from the augmented perturbation input to

the augmented perturbation output.

7. Return to step 3, until the structured singular value of the

closed-loop system fails to improve.

■ This algorithm usually converges in a few iterations. However, it is not

guaranteed to converge to the global minimum of the cost function.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 14: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–14

9.5: Fitting a transfer function to D-scales and inverse D-scales

■ Generally, the D-scales found comprise a set of numbers fd1; % % % ; dngnumerically optimized at each frequency point.

■ These numbers fill a block-diagonal matrix, which again varies with

frequency ➠ a MIMO transfer function.

■ We wish to approximate this transfer function with a low-order G.s/.

Note that G.s/ must be minimum phase and have equal-order

numerator and denominator since we require a stable causal inverse.

■ The optimization routines give us the magnitude response of the

transfer function, and knowing that it must be minimum-phase we use

the gain-phase relationship

† Qdk.j!l/ D2!l

(

Z 1

0

lnŒdk.!/! " lnŒdk.!l/!

!2 " !2l

d!

where dk.!/ is the magnitude of the D-scale, and † Qdk.j!l/ is the

reconstructed phase at frequency !l .

■ The complex D-scale is then Qdk.j!/ D dk.!/ej † Qdk.j!/.

■ We wish to fit a transfer function of order no to this data

G.s/ Dbnos

no C % % % C b1s C b0

sno C a.no"1/s.no"1/ C % % % C a1s C a0:

■ We need to approximate the “truth” Qdk.j!/ with G.j!/ which implies

Qdk.!l/ #bno.j!l/

no C % % % C b1.j!l/ C b0

.j!l/no C a.no"1/.j!l/.no"1/ C % % % C a1.j!l/ C a0

:

■ Multiplying through by the denominator and subtracting the resulting

RHS from both sides, we compute the fitting error as

ek.!l/ D Qdk.!l/fj!lgno C Qdk.!l/a.no"1/fj!lg.no"1/

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 15: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–15

C % % % C Qdk.!l/a1fj!lg C Qdk.!l/ao

" bnofj!lgno " % % % " b1fj!lg " b0:

■ The errors from all sample frequencies may be computed

Ek Dh

ek.!1/ ek.!2/ % % % ek.!n!/iT

:

■ For a given transfer-function model, Ek D Yk " Mk%k where

Yk Dh

Qdk.!1/fj!1gno; Qdk.!2/fj!2gno; % % % ; Qdk.!n!/fj!n!/no

iT

;

Mk D

2

64

" Qdk.!1/fj!1g.no"1/; % % % " Qdk.!1/ fj!1gno % % % 1::: ::: :::

" Qdk.!n!/fj!n!g.no"1/ % % % " Qdk.!n!/ fj!n!gno % % % 1

3

75

%k Dh

a.no"1/ % % % ao bno % % % b0

iT

:

■ We already know the weighted least-squares solution to this

optimization problem

O% D .M Hk WMk/"1M H

k W Yk;

where “H ” indicates Hermitian transpose and W is an optional

(diagonal) matrix weighting the fit differently at different frequencies.

EXAMPLE 10.5: Consider a single-link robot arm, with linearized plant

model"

P%.t/R%.t/

#

D

"

0 1

0:5 0

# "

%.t/P%.t/

#

C

"

0

0:1

#

u.t/ C

"

0 0

0:1 0

# "

w.t/

v.t/

#

:

■ The disturbance input consists of a torque caused by noise and

biases in the torque circuit. The torque is bounded, jw.t/j $ 0:5.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 16: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–16

■ The angular position of the arm is the output of interest, and is

corrupted by noise jv.t/j $ 0:05.

m.t/ Dh

1 0i

"

%.t/P%.t/

#

Ch

0 1i

"

w.t/

v.t/

#

:

■ The desired bounds on the output %.t/ and control u.t/ are 0.2 and

100, respectively.

■ In order to obtain good stability margins for this system, an input

multiplicative perturbation is added to the plant: k#ik $ 0:5.

■ Note: Per text equation (10.19) we must normalize the two

disturbance inputs w.t/ and v.t/ so that the overall external input has

two-norm less than 1.

! We must have jw1.t/j $ 1=p

# inputs D 1=p

2. We must also have

jv1.t/j $ 1=p

2.

! This means that v1.t/ must be scaled byp

2=20 to achieve the

desired jv.t/j $ 0:05.

! This means that w1.t/ must be scaled byp

2=2 to achieve the

desired jw.t/j $ 0:5.

■ The re-scaled state equation is then

"

P%.t/R%.t/

#

D

"

0 1

0:5 0

# "

%.t/P%.t/

#

C

"

0

0:1

#

u.t/C

2

64

0 0 0

0

p2

200

3

75

2

664

u.t/

w1.t/

v1.t/

3

775

:

■ The output equation does not match the desired format, so we must

scale m.t/ to get m1.t/. Let m1.t/ D20p

2m.t/. Then,

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 17: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–17

2

4m1.t/

y1.t/

3

5 D

2

66664

20p

20

5 0

0 0

3

77775

"

%.t/P%.t/

#

C

2

664

0 0 1

0 0 0

0:01 0 0

3

775

2

664

u.t/

w1.t/

v1.t/

3

775

:

■ The overall system diagram for control design is:

20=p

2

p2=20

p2=2 0:1

0:1

0:5

0:5

0:01

5

1=s2

K.s/

V1.s/

W1.s/

Wd .s/

U.s/

M1.s/

V .s/

‚.s/

W.s/

M.s/

Yd.s/

Y1.s/

■ Several D-K iterations were performed, starting with the standard

H1 controller design of order 2.

■ The D-scale transfer functions added an additional 8 poles to the

system, for iterations 2. . .

■ Results of the controllers are:

Iteration # 1 2 3 4

Controller order 2 10 10 10

Maximum & 1.66 0.88 0.79 0.76

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 18: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–18

■ We see that the final controller design guarantees robust

performance (& < 1) and is far better than the initial H1 design.

■ The Nyquist plot for this system is plotted.

Stability is excellent.

■ Step responses to disturbance inputs are

plotted. Output is within spec: ju.t/j $ 100

and jy.t/j $ 0:2.−2 −1 0 1 2−2

−1

0

1

2

Real axis

Imag

inar

y ax

is0 1 2 3 4 5−0.1

−0.08

−0.06

−0.04

−0.02

0

0.02

0.04

Time (s)

Angl

e (d

eg)

y(t), w(t) = 1(t)y(t), v(t) = 1(t)

0 1 2 3 4 5−60

−40

−20

0

20

Time (s)

Con

trol t

orqu

e (N

-m)

y(t), w(t) = 1(t)u(t), v(t) = 1(t)

EXAMPLE 10.6: The book also has an excellent example of LQG versus

robust &-synthesis design. We don’t have time to cover it here, but it

is worth reading.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 19: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–19

9.6: Controller order reduction

■ The controller produced by a D-K iteration is usually very high order

because of the dynamics added by the D-scales and the inverse

D-scales.

■ High-order controllers increase hardware quantity and complexity.

! For digital control, high-order controllers increase the

computational burden and therefore the required processor speed.

! The sampling rate is also higher, since high-order controllers have

faster dynamics than low-order controllers.

■ We would like to reduce the controller order in a systematic way, by

discarding the parts that have the least effect.

Balanced truncation

■ A systematic way to do this is via a technique called “balanced

truncation”.

■ Consider the generic state-space model

Px.t/ D Ax.t/ C Bu.t/

y.t/ D Cx.t/ C Du.t/:

■ For this system, we define the controllability Gramian to be

Lc DZ 1

0

eAtBBT eAT t dt;

which can be computed by solving the Lyapunov equation

ALc C LcAT C BBT D 0:

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 20: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–20

■ The controllability Gramian may be interpreted as the steady-state

state covariance matrix of x.t/, when the system is subject to white

noise input with unity spectral density.

■ States with larger variances can be thought of as being more strongly

coupled to the input, while states with smaller variances are more

weakly coupled to the input.

■ The observability Gramian is defined as

Lo DZ 1

0

eAT tC T CeAt dt;

which can be computed by solving the following Lyapunov equation:

AT Lo C LoA C C T C D 0:

■ States with larger variances can be though of as more strongly

coupled to the output, while states with smaller variances are more

weakly coupled to the output.

■ If a state is weakly coupled to both the input and the output, it is

reasonable that we can excise the state from the model.

■ However, it is possible for a state to be weakly coupled to the input,

but strongly coupled to the output (for example). Do we delete it? We

need a balanced realization in order to be sure.

■ A balanced realization is one with Lc D Lo, and diagonal. It is then

easy to see which states to delete.

■ To get the balanced realization, we perform a transformation

Qx.t/ D T "1x.t/:

■ This gives a new model with A ( T "1AT ; B ( T "1B; C ( C T ;

D ( D.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 21: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–21

■ The effect on Gramians is:

Lc ( T "1LcT"T ; and Lo ( T T LoT:

■ We desire to find a transformation such that

Lc D Lo D † D

2

66664

'1 0

'2

: : :

0 'n

3

77775

:

■ The diagonal elements are labeled ' since they are the singular

values of both Gramians. They are ordered from greatest to least.

■ To find T :

1. Factor the original controllability Gramian: Lc D RT R, where

R > 0. This may be done via Cholesky factorization.

2. Generate the singular value decomposition of the matrix RLoRT :

RLoRT D U †2U T .

3. Generate the transformation matrix T D RT U †"1=2.

■ Verify that the resulting Lc D Lo D †. Note that U T D U "1 because

U is orthonormal.

Lc ( T "1LcT"T

D †1=2U "1R"T LcR"1U "T †T=2

D †1=2U "1R"T .RT R/R"1U †T=2

D †:

Lo ( T T LoT

D †"T=2U T RLoRT U †"1=2

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett

Page 22: H1 OUTPUT-FEEDBACK CONTROLLERmocha-java.uccs.edu/ECE5530/ECE5530-CH09.pdf2;Œ0;tf!: However, this cost function is not useful when designing theestimator.! It is not a function of

ECE5530, H1 OUTPUT-FEEDBACK CONTROLLER 9–22

D †"T=2U T .U †2U T /U †"1=2

D †:

■ For the state-space system transformed by T , we get2

4

PQx1.t/

PQx2.t/

3

5 D

2

4A11 A12

A21 A22

3

5

2

4Qx1.t/

Qx2.t/

3

5 C

2

4B1

B2

3

5 u.t/

y.t/ Dh

C1 C2

i

2

4Qx1.t/

Qx2.t/

3

5 C Du.t/:

■ In this system, the top states are most coupled to the input and

output, and the bottom states are least coupled to input and output.

We remove the lower states, resulting in a modified controller:

PQx1.t/ D A11 Qx1.t/ C B1u.t/

y.t/ D C1 Qx1.t/ C Du.t/:

■ This procedure will always produce a stable controller provided the

original controller is stable and minimal. However, the feedback loop

may no longer be stable. May need to remove fewer states.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2016, 2010, 2008, 2006, 2004, 2002, 2001, 1999, Gregory L. Plett