Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

10.Stabilisation and state estimation

.pdf
Скачиваний:
14
Добавлен:
23.08.2013
Размер:
649.77 Кб
Скачать

This version: 22/10/2004

Part III

Controller design

This version: 22/10/2004

Chapter 10

Stabilisation and state estimation

While Chapter 5 dealt with various types of stability, and Chapter 6 provided a general setting, with some specialisations in the later sections, for feedback, in this chapter we combine feedback and stability to get stabilisation. The idea is quite simple: one wishes to consider feedback that leaves a closed-loop system stable, or perhaps stabilises an unstable system. In this chapter we also touch upon the matter of state estimation. The need for this arises in practice where one can only measure outputs, and not the entire state. Therefore, if one wishes to design feedback laws using the state of the system, it is necessary to reconstruct the state from the output.

This is our first chapter concerned with controller design. As such, the design issue with that we are concerned is merely stability. Design for performance is dealt with in later chapters. An important outcome of this chapter is the parameterisation in Section 10.3 of all stabilising dynamic output feedback controllers.

Contents

10.1

Stabilisability and detectability . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . 398

 

10.1.1

Stabilisability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . 398

 

10.1.2

Detectablilty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . 400

 

10.1.3

Transfer function characterisations of stabilisability and detectability . . .

. . . . 403

10.2

Methods for constructing stabilising control laws . . . . . . . . . . . . . . . . . . .

. . . . 405

 

10.2.1

Stabilising static state feedback controllers . . . . . . . . . . . . . . . . . .

. . . . 406

 

10.2.2

Stabilising static output feedback controllers . . . . . . . . . . . . . . . . .

. . . . 408

 

10.2.3

Stabilising dynamic output feedback controllers . . . . . . . . . . . . . . .

. . . . 416

10.3

Parameterisation of stabilising dynamic output feedback controllers . . . . . . . .

. . . . 420

 

10.3.1

More facts about RH+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . 421

 

 

 

 

10.3.2

The Youla parameterisation . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . 423

10.4

Strongly stabilising controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . 429

10.5

State estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . 429

 

10.5.1

Observers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . 429

 

10.5.2

Luenberger observers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . 431

 

10.5.3

Static state feedback, Luenberger observers, and dynamic output feedback

. . . . 433

10.6

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . 438

398

10 Stabilisation and state estimation

22/10/2004

10.1 Stabilisability and detectability

In Chapters 2 and 3, we saw some interconnections between controllability, observability, and pole/zero cancellations in the transfer function. At the time, we did not pay too much attention to the nature of the poles and zero that were cancelled. In fact, the illustrative examples of Section 2.3 were cooked with the goal in mind of illustrating the possible disastrous e ects that lack of controllability and observability can have. This need not always be the case. Indeed, it is possible that the a system can be both uncontrollable and unobservable, yet be a system that is tolerable. In this section, we provide the language that expresses the form of this tolerability.

10.1.1 Stabilisability In Theorem 6.49 we saw that if a system Σ = (A, b, ct, D) is controllable, then it is possible by state feedback to render the closed-loop system internally asymptotically stable, and so make the system BIBO stable. The controllability hypothesis is not necessary, and this is captured by the notion of stabilisability. To wit, the system Σ is stabilisable if Ss(Σ) 6= . That is, Σ is stabilisable if there exists f Rn so that A − bft is Hurwitz. Note that stabilisability depends only on (A, b), so we may sometimes say that (A, b) is stabilisable rather than saying Σ is stabilisable. The following result describes stabilisability.

10.1 Proposition Let Σ = (A, b, ct, D) be a SISO linear system and let T Rn×n be invertible with the property that

T AT −1 =

0n−`,`

A22

 

,

T b =

0n−`

(10.1 )

 

A11

A12

 

 

 

b1

 

where (A11, b1) is in controller canonical form (cf. Theorem 2.39). The following are equivalent:

(i)

Σ is stabilisable;

 

 

 

(ii)

A22 is Hurwitz;

 

 

 

(iii)

the matrix

sIn − A

 

b

 

has rank n for all s

 

+.

 

 

 

 

 

C

 

Proof (i) = (ii) Let f Ss(Σ). Then T (A − bft)T −1 is Hurwitz. Now write

 

 

T −tf = (f1, f2) R` × Rn−`.

 

We then have

 

 

A11 − b1f1t

A12 − b1f2t

 

T (A

bft)T −1 =

.

 

 

0n−`,`

A22

 

This matrix is Hurwitz if and only if A11 − b1ft1 and A22 are Hurwitz, and that A22 is

Hurwitz is our assertion.

˜

 

˜

 

 

(ii) =

 

 

 

 

−1

and T b in (10.1)n.

(iii) Let us define A and b to be the expressions for T AT

 

The matrix

 

˜

˜

has rank n exactly when there exists no nonzero vector x R

 

sIn − A

b

with the

property that

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xt sIn − A˜

 

b˜ = xt(sIn − A˜ )

 

xtb = 0nt

 

 

0

 

 

 

 

 

 

 

 

22/10/2004 10.1 Stabilisability and detectability 399

So suppose that x has the property that this equation does hold for some s0 C+. Let us write x = (x1, x2) R` × Rn−`. Thus we have

 

 

 

 

 

 

 

1

 

2

 

0n−`,`

s0In−k`

A22

0n−`

 

 

 

 

 

 

 

xt

s0In

 

A˜

 

b˜

=

xt

xt

 

s0I`

− A11

 

 

−A12

 

b1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

t

 

t

 

 

 

 

 

 

t

 

,

 

 

so that

 

 

 

 

 

 

= x1

(s0I` − A11)

x1A12 + s0x2(In−k` A22)

x1b1

 

 

 

 

 

 

 

 

 

 

x1t (s0I` − A11) = 0`t,

x1t b1 = 0,

 

 

 

 

 

 

 

 

 

(10.2)

 

 

 

 

 

 

 

−x1t A12 + s0x2t (In−k` − A22) = 0nt −`

 

 

 

 

 

 

 

 

 

 

 

 

Since (A11, b1) is controllable, by Exercise E2.13 the matrix

s0I` − A11

 

b1

is full rank so

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The third of equations (10.2) then

that the first two of equations (10.2) implies thatt x1 = 0`.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

says that x2 is a vector in the eigenspace of A22 with eigenvalue s0 C+. However, since

A22 is Hurwitz this implies that x2 = 0n

 

`. This shows that the matrix

s

I

 

 

˜

˜

 

 

 

 

A

b

 

has rank n for s0

 

+. Now we note that

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

`

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

−1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s0I` − A˜

 

 

b˜

 

 

 

 

 

 

 

T1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= T

 

s0I`

− A

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(iii) = (i) This is

 

 

 

˜

 

 

 

˜

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s0I` − A

 

 

 

b

 

 

 

 

s0I` − A

b

 

 

 

 

 

 

 

 

 

 

 

 

Therefore, the ranks of

 

 

 

and

agree and the result follows.

Exercise E10.2.

The following corollary is obvious from the implication (i) = (ii) of the above result.

10.2 Corollary A SISO linear system Σ = (A, b, ct, D) is stabilisable if it is controllable.

Let us explore these results with some examples.

10.3 Examples Note that if a system is controllable, then it is stabilisable. Therefore, interesting things concerning stabilisability will happen for uncontrollable systems.

1. Let us first consider a system that is not controllable and not stabilisable. We let Σ = (A, b, ct, 01) be defined by

0

1

1

 

0

A = 1

0 , b =

−1

,

c = 1 .

We compute

 

 

 

 

 

C(A, b) =

1

−1

 

 

−1

1

that has rank 1, so the system is indeed uncontrollable. To put the system into the proper form to test for stabilisability, we use the change of basis matrix T defined by

 

1

1

T −1

= −1

1 .

Note that the first column of T −1 is the input vector b, and the other column is a vector

not collinear with b. We then compute

 

1

0

 

0

T AT −1 = −1

0 ,

T b = 1 .

These are in the form of (10.1). Note that A22 = [1] which is not Hurwitz. Thus the system is not stabilisable.

400 10 Stabilisation and state estimation 22/10/2004

2. Now we consider an example that is not controllable but is stabilisable. We define

Σ = (A, b, ct, 01) by

1

0 , b =

1

,

c =

1 .

A =

 

0

1

1

 

 

0

We compute

 

C(A, b) =

1

 

1

 

 

 

 

 

 

 

 

1

 

1

 

so the system is uncontrollable. Now we define T by

 

 

 

T −1 = 1

−1 .

 

 

 

1

1

 

 

 

Again note that b forms the first column of T . We also compute

T AT −1 =

0

−1

,

T b =

0

,

 

1

0

 

 

1

 

which is in the form of (10.1). Now we have A22 = [−1] which is Hurwitz, so the system is stabilisable.

10.1.2 Detectablilty The notion of detectability is dual to stabilisability in the same manner that observability is dual to controllability. But let us be precise. A SISO linear system Σ = (A, b, ct, D) is detectable if there exists a vector ` Rn with the property that the matrix A − `ct is Hurwitz. The following result is analogous to Proposition 10.1.

10.4 Proposition Let Σ = (A, b, ct, D) be a SISO linear system and let T Rn×n be invertible with the property that

 

1

 

A11

0n−k,k

t

 

1

t

t

 

 

T AT

 

=

A21

A22

, c

T

 

= c1

0n−k

(10.3 )

where (A11, c1) are in observer canonical form (cf. Theorem 2.40). The following statements are equivalent:

(i)Σ is detectable;

(ii)A22 is Hurwitz;

(iii)the matrix

sIn − A ct

has rank n for all s C+. Furthermore, the condition

(iv)there exists an output feedback constant F R so that the closed-loop system ΣF is internally asymptotically stable,

implies the above three conditions.

Proof (i) = (ii) Let ` Rn have the property that A − `ct

is Hurwitz. Writing T ` =

(`1, `2) Rk × Rn−k we have

 

 

 

 

A21

− `2c1

 

 

 

 

 

 

 

 

 

A22

 

T (A `c

)T

 

=

A

 

` ct

0

 

.

 

 

t

 

1

 

 

11

 

1

1

 

k,n

k

 

22/10/2004

10.1 Stabilisability and detectability

401

This matrixt

is Hurwitz if and only if the matrices A11 −`1c1t and A22 are Hurwitz. Therefore,

if A − `c is Hurwitz then A22 is Hurwitz as claimed.

 

 

˜

 

 

 

(ii) = (iii) Let A and c˜ be the matrix and vector in (10.3). The matrix

 

 

sInt

A˜

 

has rank n if the only vector x Rn for which

 

 

 

sInt

A˜ x = 00n

 

is the zero vector. So let x be a vector for which the above equation is satisfied. Then, writing x = (x1, x2) Rk × Rn−k and letting s0 C+, we have

t

 

x =

 

A21

s0In−k

 

A22

x2

s0In

A˜

 

 

s0Ik − A11

0k,n−k

 

x1

 

 

 

ct

0t

 

 

 

 

=

1

n−k

 

 

 

 

(s0Ik−n − At22)x2 − A21x1 .

 

 

 

 

(s0Ik

− A11)x1

 

 

 

 

 

 

c1x1

 

 

The right-hand side is zero if and only if

 

 

 

 

 

(s0Ik−n − A22)x2 − A21x1 = 0n−k,

(10.4)

 

(s0Ik − A11)x1 = 0k, c1t x1 = 0.

 

Since (A11, c1) is observable, the last two of equations (10.4) imply that x1 = 0k (see Exercise E2.14). Now the first of equations (10.4) imply that x2 is in the eigenspace of A22

for the eigenvalue s0 C+. However, since A22 is Hurwitz, this implies that x2 = 0n−k. Thus we have shown that if A22 is Hurwitz then the matrix

 

sInt

A˜

 

 

 

 

has full rank. Now we note that

 

 

 

 

 

 

 

sInt

˜

T

A

T

 

 

 

A

= 1 sInct

 

 

 

so that if A11 is Hurwitz, it also follows that the matrix

 

 

 

 

 

sInct

A

 

 

 

 

has full rank, as claimed.

 

 

 

 

 

 

 

(iii) = (i) This is Exercise E10.3.

 

 

 

t

is Hurwitz.

 

(iv) = (i) This follows since ` = F b has the property that A − `c

 

The following corollary follows from the implication (i) = (ii).

 

 

 

10.5 Corollary A SISO linear system Σ = (A, b, ct, D) is detectable if it is observable.

402 10 Stabilisation and state estimation 22/10/2004

10.6 Remark The content of the Propositions 10.1 and 10.4 is easily described in words. A system is stabilisable if the uncontrollable dynamics, represented by the matrix A22 in (10.1), are themselves asymptotically stable. Thus, even though the system may not be controllable, this does not hurt you as far as your ability to render the system stable by static state feedback. Similarly, a system is detectable if the unobservable dynamics, represented by the matrix A11 in (10.3), are asymptotically stable. Therefore an unobservable system may be made stable under static output feedback if it is detectable. The consequences of these observations are explored in Section 10.2.

Let us explore these detectability results via examples.

10.7 Examples Note that if a system is observable, then it is detectable. Therefore, interesting things concerning interesting things for detectability will happen for unobservable systems.

1. Let us first consider a system that is not observable and not detectable. We let Σ = (A, b, ct, 01) be defined by

A =

1

0

,

b =

1

,

c =

−1 .

 

0

1

 

 

0

 

 

1

We compute

1 −1 O(A, c) = −1 1

which has rank 1, so the system is indeed unobservable. To put the system into the proper form to test for detectability, we use the change of basis matrix T defined by

T t =

−1

1 .

 

1

1

Note that the first column of T t is the vector c itself, whereas the second column is a vector in ker(ct). We then compute

T AT −1 =

−1

0

,

ctT −1 =

1 0 .

 

0

1

 

 

 

These are in the form of (10.3). Note that A22 = [1] which is not Hurwitz. Thus the system is not detectable.

2. Now we consider an example that is not observable but is detectable. We define Σ = (A, b, ct, 01) by

A =

1

0 ,

b = 1

,

c =

1 .

 

0

1

 

0

 

 

1

We compute

 

O(A, c) =

1

 

1

 

 

 

 

 

 

 

 

 

1

 

1

 

so the system is unobservable. Now we define T by

 

 

 

T t =

−1

1 .

 

 

 

 

1

1

 

 

 

22/10/2004

10.1 Stabilisability and detectability

403

Again note that c forms the second column of T and that the first column is in ker(ct). We compute

T AT −1 =

1

0

, ctT −1 = 1 0 ,

0

−1

which is in the form of (10.3). Now we have A22 = [−1] which is Hurwitz, so the system

is detectable.

 

10.1.3 Transfer function characterisations of stabilisability and detectability

The

results of the previous two sections were concerned with state-space characterisations of stabilisability and detectability. In this section we look into how these may be manifested in the transfer function. This treatment follows closely that of Section 3.3.

First let us look at the detectability result.

10.8 Proposition Let Σ = (A, b, ct, 01) be a SISO linear system and define polynomials

P1(s) = ctadj(sIn − A)b, P2(s) = det(sIn − A).

If (A, b) is controllable then Σ is detectable if and only if the GCD of P1 and P2 has no roots in C+.

Proof We may as well assume that P1 and P2 are not coprime since the result follows from Theorem 3.5 and Corollary 10.5 otherwise. Thus we may as well suppose that (A, c) are not observable, and that

 

 

 

 

 

 

 

 

 

 

 

 

A11

A12

 

t

 

t

t

 

A =

0k,n−k

A22

, c

 

= 0k

c2

 

where (A22, c2) is observable.

Therefore, if we write b = (b1, b2) Rk × Rn−k then we

compute

 

 

 

 

 

 

 

 

 

 

ct(sIn − A)b = c2t (sIn−k − A22)b.

 

Therefore

 

 

 

 

 

 

 

 

 

 

ctadj(sIn − A)b

=

c2t adj(sIn − A22)b2

.

 

det(sIn − A)

 

 

det(sIn−k − A22)

 

But we also have

 

 

 

 

 

 

 

 

 

 

det(sIn − A) = det(sIk − A11) det(sIn−k − A22),

 

from which we conclude that

 

 

 

 

 

 

 

 

 

 

ctadj(sIn − A)b = det(sIk − A11)c2t adj(sIn − A22)b2.

 

Since (A22, c2) is observable, the GCD of P1

and P2

must be exactly det(sIk − A11). By

Proposition 10.4, the roots of the GCD are in Cif and only if Σ is detectable.

 

The consequences of the above result are readily observed in the detectability example we have already introduced.

10.9 Examples (Example 10.7 cont’d) 1.

 

Here we had

 

−1 .

A =

1

0

,

b =

1

,

c =

 

0

1

 

 

0

 

 

1

404 10 Stabilisation and state estimation 22/10/2004

so that we compute

ct(sI2 − A)b = 1 − s, det(sI2 − A) = s2 − 1

The GCD of these polynomials is s − 1 which has the root 1 C+. Thus, as we have seen, the system is not detectable.

2. Here we take

1

0

, b =

1

,

c =

1

A =

 

0

1

 

 

0

 

 

1

and so compute

 

 

 

 

 

 

 

 

ct(sI2 − A)b = s + 1,

det(sI2 − A) = s2 − 1.

The GCD of these polynomials is s + 1 which has the single root −1 C, so that the system is detectable.

Now let us give the analogous result for stabilisability.

10.10 Proposition Let Σ = (A, b, ct, 01) be a SISO linear system and define polynomials

P1(s) = ctadj(sIn − A)b, P2(s) = det(sIn − A).

If (A, c) is observable then Σ is stabilisable if and only if the GCD of P1 and P2 has no roots in C+.

Proof The idea is very much like the proof of Proposition 10.8. We assume that (A, b) is not controllable and that

A =

0n−`,`

A22

 

,

b =

0n−`

 

A11

A12

 

 

 

b1

with (A11, b1) controllable. By arguments like those in the proof of Proposition 10.8 we show that the GCD of P1 and P2 is det(sIn−` − A22). By Proposition 10.1 the roots of the GCD are in Cif and only if Σ is stabilisable.

Again, we may use our existing stabilisability example to illustrate the consequences of this result.

10.11 Examples (Example 10.3 cont’d) 1.

First we take

c = 1 ,

A = 1

0 ,

b =

−1 ,

0

1

 

1

0

which is observable as it is in observer canonical form. We compute

ctadj(sI2 − A)b = 1 − s,

det(sI2 − A) = s2 − 1.

The GCD of these polynomials is s − 1 whose root is 1 C+, leading us to the correct conclusion that the system is not stabilisable.

22/10/2004

10.2 Methods for constructing stabilising control laws

405

2. Next we take

A = 1

0 , b =

1 ,

c = 1 .

 

 

0

1

1

0

 

We compute

ctadj(sI2 − A)b = s + 1,

det(sI2 − A) = s2 − 1,

 

 

 

so the GCD of these polynomials is s + 1 whose roots are in C. Thus we conclude that the system is stabilisable.

Finally, we state a result that characterises stabilisability and detectability in terms of cancellation of poles and zeros in the transfer function. This result is rather analogous to Corollary 3.13.

10.12 Corollary Let Σ = (A, b, ct, D) be a SISO linear system and define polynomials

P1(s) = ctadj(sIn − A)b, P2(s) = det(sIn − A).

The following statements are equivalent:

(i)Σ is stabilisable and detectable;

(ii)the GCD of P1 and P2 has no roots in C+.

We comment that without additional information, one cannot decide whether a system is not stabilisable or not detectable by simply look at the numerator and denominator of the transfer function. This is made clear in Exercise E10.6. Also, note that now we can complete the implications indicated in Figures 5.1 and Figure 5.2. The result is shown in Figure 10.1.

internally

asymptotically +3internally stable stable

g

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G

G Â'

BIBO stable, stabilisable, and detectable

Figure 10.1 Precise relationship between internal and BIBO stability

10.2 Methods for constructing stabilising control laws

In this section, under certain assumptions, we provide explicit formulas for constructing stabilising controllers of various types. The formulas we give are most interesting in that they show that it is in principle possible to explicitly design stabilising controllers of various types. However, as a means for designing controllers, it should be emphasised that the techniques we give here may not in and of themselves be that useful as they only address one aspect of controller design; the necessity that the closed-loop system be stable. There

406

10 Stabilisation and state estimation

22/10/2004

are often present other more demanding criterion given in the form of specific performance criterion (see Chapter 8), or a demand for robustness of the controller to uncertainties in the plant model (see Chapter 15).

10.2.1 Stabilising static state feedback controllers There is a method for systematically determining the state feedback vector f that will produce the desired poles for the closed-loop transfer function. The formula is called Ackermann’s formula [Ackermann 1972].

10.13 Proposition Let (A, b, ct, D) be a controllable SISO linear system and suppose that the characteristic polynomial for A is

PA(s) = sn + pn−1sn−1 + · · · + p1s + p0.

Let P R[s] be monic and degree n. The state feedback vector f defined by

ft = 0 · · · 0 1 (C(A, b))−1P (A).

has the property that the characteristic polynomial of the matrix A − bft is P .

Proof For the proof of this result, it is convenient to employ a di erent canonical form than the controller canonical form of Theorem 2.37. From Exercise E2.32 we recall that if we define

 

 

 

0

1

 

 

−pn−1 ·· ·· ··

0

 

0

 

 

 

 

 

 

 

 

 

 

 

1

 

pn

 

1

 

0

 

0

 

0

 

 

 

 

 

 

 

 

T 1

=

..

 

..

 

 

 

..

... ..

 

..

 

1

,

 

 

 

 

 

 

0

 

0

 

 

 

0

 

1

pn

 

 

 

 

 

 

 

 

 

 

.

 

.

 

 

 

.

 

.

 

.

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

0

· · ·

0

1

 

 

 

 

 

 

 

 

0

 

 

 

 

· · ·

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

then the matrix T˜ = T 1−1(C(A, b))−1 has the property that

 

 

 

 

 

0

 

 

1

 

0

 

·· ·· ·· −0

0

 

 

 

 

 

 

 

 

 

pn

1

pn

2

 

p1

p0

 

 

 

 

 

 

1

 

T AT =

.

 

 

.

 

·.· · .

.

 

,

 

T b =

 

.

.

˜ ˜ 1

 

..

 

 

..

 

.. ..

..

 

 

 

˜

 

 

..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

· · ·

1

0

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

One readily verifies that the vector

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

˜

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f = (αn−1 − pn−1, . . . , α1 − p1, α0 − p0)

 

 

 

 

 

 

 

 

 

˜

˜ −1

˜ ˜t

has as characteristic polynomial

has the property that the matrix T AT

 

 

− T bf

sn + αn−1sn−1 + · · · + α1s + α0.

The actual state feedback vector will then be defined by f

t

˜t ˜

 

= f T .

˜ ˜ ˜ −1

We denote A = T AT , and note that by Cayley-Hamilton we have

˜ n

˜ n−1

˜

A

+ pn−1A

+ · · · + p1A + p0In = 0n.

Suppose that

P (s) = sn + αn−1sn−1 + · · · + α1s + α0

22/10/2004

 

10.2

Methods for constructing stabilising control laws

 

 

 

407

so that

 

˜

˜ n

 

 

˜ n−1

 

 

˜

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P (A) = A

+ αn−1A

+ · · · + α1A + α0In,

 

 

 

 

 

and subtracting from this the previous expression gives

 

 

 

 

 

 

˜

 

 

 

˜ n−1

 

 

 

 

˜

 

 

 

 

(10.5)

P (A) = (αn−1

− pn−1)A

 

+ · · · + (α1 − p1)A + (α0 − p0)In.

 

 

One readily determines that if {e1, . . . en} is the standard basis for Rn, then

 

 

 

ent Ak = ent −k,

k = 1, . . . , n − 1.

 

 

 

 

 

Therefore, using (10.5), we have

 

 

 

 

 

 

 

 

 

 

 

 

t

˜

 

 

t

 

 

 

 

 

t

 

t

 

 

 

enP (A) = (αn−1 − pn−1)e1

+ · · · + (α1 − p1)en−1 + (α0

− p0)en.

 

 

 

˜t

t

˜

 

 

 

 

 

 

˜

 

 

 

 

 

But this shows that f

= e1P (A). It remains to transform f back into the original coor-

dinates to get the state feedback vector f.

This we do by recalling that f

t

 

˜t ˜

 

= f T with

T˜ = T 1−1C(A, b)−1. Thus we arrive at

 

 

 

 

 

 

 

 

 

 

 

 

ft = ent P (A˜ )T˜ = ent P (T˜ AT˜ −1)T˜ = ent T˜ P (A)

 

 

 

 

 

where we have used the fact that P (T MT −1) = T P (M)T −1 for T , M

 

 

R

n×n with T

invertible. Now we see from Exercise E2.31 that ent T 1

1

 

 

 

 

 

= ent , and so this proves that

 

ft = ent T 1−1(C(A, b))−1P (A) = ent (C(A, b))−1P (A),

 

 

 

 

as desired.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10.14 Remarks 1. The static state feedback of Proposition 10.13 gives an explicit controller that stabilises the closed-loop system, provided that the system is controllable. There are, of course, other stabilising state feedbacks. In fact, there are algorithms for computing static state feedback vectors that place the poles in desirable places. Often an ad hoc guess for pole locations will not work well in practice, as, for example, model inaccuracies may have adverse e ects on the behaviour of the actual system with a controller designed as in Proposition 10.13. A popular method for designing stabilising static state feedback vectors is the linear quadratic regulator (LQR), where the state feedback is defined to have an optimal property. This is discussed in many books, a recent example of which is [Morris 2000]. In Chapter 14 we look at this for SISO systems using polynomial machinery.

2. In the proof of Proposition 10.13 we have made use of the canonical form developed in Exercise E2.32. The matter of choosing which canonical form to employ is often a matter of convenience.

Let us illustrate this technology with an example.

10.15 Example (Example 6.50 cont’d) We recall that in this example we had

A =

−1

0

,

b =

1 .

 

0

1

 

 

0

Suppose we wish the closed-loop characteristic polynomial to be s2 + 4s + 4 which has the repeated root −2. Thus we compute

P (A) = A2 + 4A + 4I2

=

−4

3 .

 

 

3

4

408

10 Stabilisation and state estimation

22/10/2004

To apply Proposition 10.13 we compute

0 .

 

 

 

 

C(A, b) = 1

 

 

 

 

0

1

 

In this case we compute f to be

 

 

 

 

ft = 0 1 C(A, b)−1P (A) = 3 4 .

This was the state feedback

vector presented out of the blue in Example 6.50, and now we

 

 

 

 

see where it came from.

 

 

 

 

 

In Proposition 10.13 the assumption of controllability is made. However, only the assumption of stabilisability need be made for stabilisation under static state feedback (pretty much by the very definition of stabilisability). The details of how to construct a stabilising static state feedback for a system that is stabilisable but not controllable is the subject of Exercise E10.7. Let us here state the result.

10.16 Proposition If Σ = (A, b, ct, D) is stabilisable, it is possible to explicitly construct a feedback vector f with the property that the closed-loop system Σf is internally asymptotically stable, i.e., so that f Ss(Σ).

For this result, we also have the following corollary, that is the analogous result for detectability.

10.17 Corollary If Σ = (A, b, ct, D) is detectable, it is possible to explicitly construct a vector ` Rn with the property that the matrix A − `ct is Hurwitz.

Proof Since Σ is detectable, it follows from part (iii) of Proposition 10.1 and part (i) of

˜

t

t

Proposition 10.4 that the system Σ = (A

, c, b , D) is stabilisable. Therefore, by Proposi-

tion 10.16, there exists a vector f Rn so that At − cft is Hurwitz. Therefore, A − fct is also Hurwitz, and the result follows by taking ` = f.

Note that the result merely tells us to construct a feedback vector as in Proposition 10.13 (or Exercise E10.7 if (A, c) is not observable) using At and c in place of A and b.

10.2.2 Stabilising static output feedback controllers Interestingly, the problem of stabilisation by static output feedback is significantly more di cult than the problem of stabilisation by static state feedback (see [Syrmos, Abdallah, Dorato, and Grigoriadis 1997] for a fairly recent survey, and [Geromel, de Souza, and Skelton 1998] for convexity results). For example, a system can be stabilised by static state feedback if and only if it is stabilisable, and stabilisability is a condition one can computationally get a handle on. However, Blondel and Tsitsiklis [1997] essentially show that the problem of determining whether a system is stabilisable by static output feedback is NP-hard.1 Thus there is no easily computable check

1Let us recall, for our own amusement, roughly the idea behind this NP-business. The class of P problems are those for which there is a solution algorithm whose computational complexity satisfies a polynomial bound. The class of problems NP are those with the property that every solution can be verified as actually being a solution with an algorithm whose computational complexity satisfies a polynomial bound. A famous open problem is, “Does P=NP?” This problem was posed by Cook [1971] and listed by Smale [1998] as one of the most important problems in mathematics. A problem is NP-hard if every problem in NP can be reduced to it. An NP-hard problem may not be in NP, and all known NP-hard problems are not solvable by an algorithm whose complexity satisfies a polynomial bound. A problem is NP-complete if it is NP-hard, and further is in NP. These are, in essence, the “hardest” of the problems in NP. All known NP-complete problems are not solvable by an algorithm whose complexity satisfies a polynomial bound.

22/10/2004 10.2 Methods for constructing stabilising control laws 409

to see when it is even possible for a system to be stabilisable under static output feedback, never mind an algorithm to compute a static output feedback that actually stabilises.

We shall therefore have to be satisfied with a discussion of static output feedback that is not as complete as the corresponding discussion surrounding static state feedback. To motivate what we do say, recall from Theorem 6.54 that one may express the form of the closed-loop transfer functions available via static output feedback. We wish to determine conditions to test whether the poles of the closed-loop transfer function are those of a given polynomial.

Our first result gives a state space test, and is extracted from [van der Woude 1988]. For a SISO linear system Σ = (A, b, c, D), for k {1, . . . , n} define a n × k matrix by

Ck(A, b) = b

Ab

· · ·

 

Ak−1b

and define a k × n matrix by

 

 

 

 

 

 

 

 

 

ct

 

 

 

 

ctA

 

 

 

..

 

 

Ok(A, c) =

 

 

.

 

 

.

 

 

ctAk−1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Thus Ck(A, b) is comprised of the first k columns of C(A, b) and Ok(A, c) is comprised of the first k rows of O(A, c). With this notation, we have the following result.

10.18 Theorem Let Σ = (A, b, c, D) be a complete SISO linear system, and let P R[s] be a degree n monic polynomial. The following statements are equivalent:

(i)it is possible to choose an output feedback constant F so that the poles of the closed-loop system ΣF are the roots of P ;

(iii)

for all k

 

1, . . . , n 1

we have P (A)

 

k

 

 

 

n k

 

 

(ii)

for some k {1, . . . , n −

1} we have P (A) ker(Ok(A, c))

image(Cn−k(A, b)).

 

 

 

{

− }

 

ker(O (A, c))

 

image(C

(A, b)).

 

 

First recall from Theorem 6.54 that the poles of the

closed-loop transfer function Σ

 

Proof

 

 

 

 

 

F

are the roots of

det(sIn − (A − F bct)).

First let us show that (i) is equivalent to (ii) with k = 1. First suppose that (i) holds.

Note that if x ker(ct) then

(A − F bct)x = Ax.

Therefore,

(A − F bct)2x = A2x − F bctAx.

Thus (A − F bct)2x = A2x + y2 where y2 span {b}. An easy induction now shows that

for j {2, . . . , n} we have

(A − F bct)jx = Ajx + yj,

where yj span b, Ab, . . . , Aj−2b . By the Cayley-Hamilton theorem we have

P (A − F bct) = 0n.

Combined with our above calculations this shows that for x ker(ct) we have

0 = P (A − F bct)x = P (A)x + y

410

10 Stabilisation and state estimation

22/10/2004

where y span b, Ab, . . . , An−2b . Thus we conclude that

P (A) ker(O1(A, c)) image(Cn−1(A, b)),

and, therefore, that (ii) holds with k = 1.

Now suppose that (ii) holds with k = 1. We first claim that

 

 

image(Cn−1(A, b))n= ker ent (C(A, b))−1 ,

 

(10.6)

if en is the nth standard basis vector for

R .

Indeed, if x

 

image(C

n−1

(A, b)) if and only

n

1

 

 

 

if the components of x in the basis {b, Ab, . . . , A

b} are of the form (x1, . . . , xn−1, 0).

However, these components are exactly (C(A, b))−1x:

 

 

 

 

 

..

 

 

 

 

1

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

xn−1

= (C(A, b))x.

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The relation (10.6) now follows immediately, and by our current hypothesis, so does the relation

P (A) ker(ct) ker etn(C(A, b))−1ker(ct) ker etn(C(A, b))−1P (A)F ct = etn(C(A, b))−1P (A),

for some F R. Now, since (A, b) is controllable, by Proposition 10.13, if we define f Rn

by

ft = et(C(A, b))−1P (A),

then det(sIn − (A − bft)) = P (s). This completes the proof of our assertion that (i) is equivalent to (ii) with k = 1.

Next let us show that (ii) holds with k = 1 if and only if it holds with k = n − 1. The

equivalence of (i) and (ii) with k = 1 tells us that there exists F R so that

 

P (s) = det(sIn − (Atcbt))

(10.7)

if and only if

P (At) ker(O1(At, b)) image(Cn−1(At, c)).

Now we note that O1(At, b) = C1(A, b)t and Cn−1(At, c) = On−1(A, c)t. Thus there exists an F so that (10.7) is satisfied if and only if

P (At) ker(C1(A, b)t) image(On−1(A, c)t)

Let us make use of a lemma.

1 Lemma Let T Rn×n, M Rn×k, and L R(n−k)×n. Then the following statements are equivalent:

(i)T t(ker(Mt)) image(Lt);

(ii)T (ker(L)) image(M).

22/10/2004

10.2 Methods for constructing stabilising control laws

411

Proof Assume that (i) holds. Statement (i) asserts that T t maps ker(Mt) to image(Lt). We claim that this implies that T maps the orthogonal complement of image(Lt) to the orthogonal complement of ker(Mt). Indeed, if x is in the orthogonal complement to image(Lt) and if y ker(Mt) then we have

hT x, yi = hx, T yi .

Since (i) holds, it follows that T y image(Lt), showing that hT x, yi = 0 if x is in the orthogonal complement to image(Lt) and if y ker(Mt). That is, T maps the orthogonal complement of image(Lt) to the orthogonal complement of ker(Mt). However, the orthogonal complement of image(Lt) is exactly ker(L) and the orthogonal complement of ker(Mt) is exactly image(M). Thus we have shown that

T (ker(L)) image(M),

thus (ii) holds. Clearly this proof is symmetric, so the converse holds trivially.

H

Applying the lemma to the case when T = P (A), u = C1(A, b), and L = On−1(A, c) we complete the proof of the fact that (ii) with k = 1 implies (ii) with k = n − 1. The converse implication is a matter of reversing the above computations.

To this point we have shown that the following three statements are equivalent:

1. it is possible to choose an output feedback constant F so that the poles of the closedloop system ΣF are the roots of P ;

2.P (A) ker(O1(A, c)) image(Cn−1(A, b));

3.P (A) ker(On−1(A, c)) image(C1(A, b)).

We complete the proof by showing that if (ii) holds with k = ` then it also holds with k = ` − 1.

Without loss of generality, suppose that (A, c) are in observer canonical form so that

 

1 0 0

· · ·

0

p1

 

 

 

 

b0

 

 

 

 

 

0

 

 

0 0 0

· · ·

0

 

p0

 

 

 

 

 

1

 

 

 

 

 

 

0 1 0

0

p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

0

.

 

· · ·

 

2

 

 

 

b2

 

 

 

0

A =

0 0 1

 

0

 

p3

 

,

b =

.

 

,

c =

.

 

. . .

·.· · .

.

 

 

 

..

 

 

 

 

 

..

 

 

.. .. ..

.. ..

 

..

 

 

 

 

 

 

 

 

 

 

0

 

pn 2

 

 

 

bn

2

 

 

 

0

 

0 0 0

· · ·

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

bn

1

 

 

 

1

 

0 0 0

· · ·

pn 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A direct computation than shows that

ker(O`(A, c)) = span {e1, . . . , en−`}

and A`−1e1 = e` for ` {1, . . . , n − 1}. If we let y = P (A)e1 it therefore follows that

P (A) ker(O`(A, c)) = span y, Ay, . . . , An−`−1y .

Now assume that

P (A) ker(O`(A, c)) image(Cn−`(A, b)).

412

10 Stabilisation and state estimation

 

 

22/10/2004

We then compute

 

 

 

 

 

 

 

 

 

 

 

 

 

P (A) ker(O`−1(A, c))

= span

y, Ay, . . . , An−`y

 

 

 

 

= span y, Ay, . . . , An−`−1y

+ A span y, Ay, . . . , An−`−1y

 

 

 

 

 

n

`

`

 

+ A

 

n `

`

 

 

 

 

 

 

 

 

 

 

 

 

 

= P (A) ker(O (A, c))

P (A) ker(O (A, c))

 

 

 

image(C

 

 

 

 

 

(A, b))

 

 

 

 

 

 

(A, b)) + A image(C

 

 

 

 

= image(Cn−`+1(A, b)).

 

 

 

 

 

This completes the proof.

 

 

 

 

 

 

 

 

 

 

 

 

The theorem gives an insight into the di cultly in determining which closed-loop poles are available to us. Unlike its static state feedback counterpart Proposition 10.13, the conditions given by Theorem 10.18 for determining whether the closed-loop poles are the roots of a polynomial P involve the polynomial P itself . This is what makes the problem a computationally di cult one. Let us illustrate Theorem 10.18 on an example.

10.19 Example (Example 6.55 cont’d) We take

A =

−1

0

,

b =

1

,

c =

4

, D = 01,

 

0

1

 

 

0

 

 

3

 

noting that A and b are as in Example 10.15. For F R we determine that

det(sI2 − (A − F bct)) = s2 + 4F s + 1 + 3F.

Thus, if we let PF (s) = s2 + 4F s + 1 + 3F , we see that the only places we may assign poles under static output feedback are at the roots of PF for some F . Let us see how this checks in with Theorem 10.18. A simple computation gives

3F 4F PF (A) = −4F 3F .

Because n = 2, the only cases that are applicable for statements (ii) and (iii) of Theorem 10.18 are when k = 1. We then have O1(A, c) = ct and C1(A, b) = b. Therefore

ker(O1(A, c)) = span {(4, −3)} , image(C1(A, b)) = span {(0, 1)} .

We compute

PF (A) 43 =

−25F .

 

0

Therefore PF (A) ker(O1(A, c)) image(C1(A, b)), just as stated in Theorem 10.18. Conversely, let P (s) = s2 + as + b and compute

P (A) =

b − 1

a

,

 

 

−a

b − 1

 

and

4

= 4b − 3a − 4 .

P (A)

 

−3 3 − 4a − 3b

22/10/2004

10.2 Methods for constructing stabilising control laws

413

Thus we have

4b − 3a − 4

 

image(C1(A, b))

3

4a

3b

 

 

 

 

if and only if 4b − 3a − 4 = 0. The linear equation

−3 4

b

= 4

 

a

 

does not have a unique solution, of course. One may check that (a, b) = (0, 1) is a solution. All solutions are then of the form

(0, 1) + x, x ker((−3, 4)t) = span {(4, 3)} .

That is to say, if the poles of the closed-loop system are to roots of P (s) = s2 + as + b, then we must have (a, b) = (0, 1) + F (4, 3). Thus P (s) = s2 + 4F s + (1 + 3F ), just as we noticed initially.

Note that Theorem 10.18 does not tell us when we may choose an output feedback constant F with the property that the closed-loop system ΣF is stable. The following result of Kuˇcera and de Souza [1995] gives a characterisation of stabilisability in terms of the Liapunov ideas of Section 5.4 and the Riccati equations ideas that will come up in Section 14.3.2.

10.20 Theorem For a SISO linear system Σ = (A, b, ct, 01), the following two statements are equivalent:

(i)So(Σ) 6= ;

(ii)the following two conditions hold:

(a)Σ is stabilisable and detectable;

(b)there exists F R and g Rn so that

F ct + btP = gt,

(10.8 )

where P is the unique positive-semidefinite solution of the equation

 

AtP + P A − P bbtP = −cct − ggt.

(10.9 )

Proof (i) = (ii) Let F R have the property that A − F bct is Hurwitz. Then clearly (A, b) is stabilisable and (A, c) is detectable. Since A − F bct is Hurwitz, by part (ii) of Theorem 5.32 there exists a unique positive-semidefinite matrix P that satisfies

(A − F bct)tP + P (A − F bct) = −(1 + F 2)cct.

Straightforward manipulation of this expression gives

AtP + P A − P bbtP = −cct − (btP − F ct)t(btP − F ct).

This part of the proof now follows by taking g = P bP − F c.

(ii) = (i) Let F and g be as in the statement of the theorem. One then directly verifies using the properties of F and g that

(A − F bct)tP + P (A − F bct) = −(1 + F 2)cct.

414

10 Stabilisation and state estimation

 

 

22/10/2004

Let ` R have the property that A − `ct is Hurwitz. We then note that

 

 

A − `ct = (A − F bct) + ` −b Fcct t .

 

 

˜

˜

t

, b, C, 01) where

 

This means that the two output system Σ = (A = A − F bc

 

 

C = Fcct t

 

 

 

is detectable since (A − F bct) − LC is Hurwitz if

 

 

 

 

L = `

−b .

 

 

 

From the MIMO version of Exercise E10.4, the result now follows.

10.21 Remark In Section 14.3.2 we will see that the equation (10.9) comes up naturally in an optimisation problem. This equation is called an algebraic Riccati equation, and there are well-developed numerical schemes for obtaining solutions; it is a “nice” equation numerically. However, in the statement of Theorem 10.20 we see that not only must the algebraic Riccati equation be satisfied, but the subsidiary condition (10.8) must also be met. This, it turns out, takes the numerical problem out of the “nice” category in which the algebraic Riccati equations sits. Again, with static output feedback, things are never easy.

Now let us adopt a di erent, more constructive approach. While the approach is more constructive, it is not a sharp construction, as we shall see. First, the following result gives a crude necessary condition for an output feedback constant to stabilise.

10.22 Proposition Let Σ, P , and Q be as in Theorem 10.23 and write

P (s) = sn + pn−1sn−1 + · · · + p1s + p0

Q(s) = qmsm + · · · + q1s + q0.

Define

 

 

 

 

 

 

= − min

 

pj

 

 

 

 

 

 

 

 

 

 

 

upper

 

 

qj < 0, j = 0, . . . ,

 

 

 

 

 

 

Flower

 

qj

 

qj > 0, j = 0, . . . , m

 

 

 

 

 

 

 

 

 

 

 

 

qj

 

 

 

 

 

 

 

 

 

F

 

 

=

 

max

pj

 

 

 

m .

 

 

 

If qj

0 for all j

{

0, 1, . . . , m

}

then take Flower =

−∞

and if qj

0 for all j

 

 

 

 

 

 

 

 

{0, 1, . . . , m} then take Fupper = ∞. If the closed-loop system ΣF is internally asymptotically stable for some F R, then it must be the case that F (Flower, Fupper).

Proof

By Theorem 6.54, the poles of the closed-loop transfer function ΣF are the roots of

the polynomial

 

 

PF (s) = P (s) + F Q(s).

 

If PF

is Hurwitz then all coe cients of PF be positive (see Exercise E5.18). In particular,

we should have

 

 

pj + F qj > 0, j = 1, . . . , m.

 

This relation will be satisfied in F (Flower, Fupper).