Assegnazione degli Autovalori

24
Capitolo 4 Assegnazione degli autovalori 4.1 Assegnazione degli autovalori mediante retroazione dallo stato U n requisito fondamentale della controreazione ` e la stabilit` a del siste- ma complessivo. Spesso lo scopo della controreazione ` e solo quello di stabilizzare il sistema controllato o quantomeno di aumentarne i margini di stabilit` a. Infatti un requisito importante ` e che la stabilit` a sia garantita anche in presenza di variazioni dei parametri del sistema. Per proteggere il siste- ma dal rischio di instabilit` a a causa di variazioni parametriche ` e ragionevole imporre che gli autovalori della matrice dinamica del sistema controreazio- nato siano interni ad un opportuno cerchio di raggio r< 1, con r tanto pi` u piccolo quanto pi` u si vuole robustezza. ` E quindi naturale chiedersi quale sia l’influenza che la controreazione possa avere sugli autovalori del sistema complessivo. Il seguente teorema risponde alla precedente domanda. Teorema dell’assegnazione degli autovalori mediante retroazione dallo stato Se la coppia (A, B) ` e raggiungibile, cio` e se rango ( B AB ... A n-1 B ) = n allora comunque si scelga un polinomio di grado n p(λ)= λ n + a n-1 λ n-1 + ··· + a 1 λ + a 0 esiste una matrice K di dimensioni m × n tale che p A+BK (λ) = det (λI - A - BK )= p(λ) 75

description

Teorema dell'Assegnazione degli Autovalori (Controlli Automatici)

Transcript of Assegnazione degli Autovalori

Page 1: Assegnazione degli Autovalori

Capitolo 4

Assegnazione degli autovalori

4.1 Assegnazione degli autovalori mediante

retroazione dallo stato

Un requisito fondamentale della controreazione e la stabilita del siste-ma complessivo. Spesso lo scopo della controreazione e solo quello di

stabilizzare il sistema controllato o quantomeno di aumentarne i margini distabilita. Infatti un requisito importante e che la stabilita sia garantita anchein presenza di variazioni dei parametri del sistema. Per proteggere il siste-ma dal rischio di instabilita a causa di variazioni parametriche e ragionevoleimporre che gli autovalori della matrice dinamica del sistema controreazio-nato siano interni ad un opportuno cerchio di raggio r < 1, con r tanto piupiccolo quanto piu si vuole robustezza. E quindi naturale chiedersi qualesia l’influenza che la controreazione possa avere sugli autovalori del sistemacomplessivo.

Il seguente teorema risponde alla precedente domanda.

Teorema dell’assegnazione degli autovalori mediante retroazionedallo stato Se la coppia (A,B) e raggiungibile, cioe se

rango(

B AB . . . An−1B)

= n

allora comunque si scelga un polinomio di grado n

p(λ) = λn + an−1λn−1 + · · · + a1λ + a0

esiste una matrice K di dimensioni m × n tale che

pA+BK(λ) = det (λI − A − BK) = p(λ)

75

Page 2: Assegnazione degli Autovalori

76 CAPITOLO 4. ASSEGNAZIONE DEGLI AUTOVALORI

Proviamo il teorema solo per il caso di un sistema con un solo ingresso,cioe consideriamo il caso m = 1. Allora la matrice B si riduce ad un vettorecolonna di dimensioni n× 1 e la matrice K ad un vettore riga di dimensioni1×n. Poiche la coppia (A,B) e raggiungibile, allora esiste una trasformazionedi coordinate1 T che, nel nuovo spazio di stato x′ = Tx, porta il sistema nellaforma canonica di raggiungibilita:

TAT−1 =

0 1 0 . . . 00 0 1 . . . 0...

.... . .

0 0 0 . . . 1−α0 −α1 −α2 . . . −αn−1

TB =

00...01

PostoKT−1 =

(

k1 k2 . . . kn

)

si ha

T (A + BK) T−1 =

0 1 0 . . . 00 0 1 . . . 0...

.... . .

0 0 0 . . . 1−α0 + k1 −α1 + k2 −α2 + k3 . . . −αn−1 + kn

Di conseguenza, poiche2 det (λI − T (A + BK) T−1) = det (λI − (A + BK))si ha

det(λI − A − BK) = λn + (αn−1 − kn)λn−1 + . . . + (α1 − k2)λ + α0 − k1

1SiapA(λ) = λn + αn−1λ

n−1 + · · · + α1λ + α0

il polinomio caratteristico della matrice A. Allora la trasformazione che porta il sistemanella forma canonica di raggiungibilita e:

T =

α1 α2 . . . αn−1 1α2 α3 . . . 1 0...

......

...αn−1 . . . 0 0

1 0 . . . 0 0

−1

·(

B AB . . . An−1B)

−1

2Infatti

det(

λI − T (A + BK) T−1)

= det[

T (λI − (A + BK)) T−1]

=

= det(T ) · det (λI − (A + BK)) · det(T−1) = det (λI − (A + BK))

Page 3: Assegnazione degli Autovalori

4.1. ASSEGNAZIONE DEGLI AUTOVALORI 77

Tale polinomio puo essere sempre reso uguale al polinomio desiderato p(λ)ponendo ki = αi−1 − ai−1 per i = 1, . . . , n. In conclusione, scegliendo

K =(

α0 − a0 α1 − a1 . . . αn−1 − an−1

)

T (4.1)

si ha che pA+BK(λ) = p(λ).Il precedente risultato mostra che se un sistema e raggiungibile e tutte

le sue variabili di stato sono disponibili come uscite del sistema, cioe sonomisurabili, allora e possibile trovare una controreazione statica dallo stato,cioe un controllore non dinamico

u(k) = K y(k) = K x(k) K ∈ IRm×n (4.2)

tale che gli autovalori della matrice dinamica del sistema a ciclo chiuso coin-cidano con n numeri prefissati qualsiasi. Infatti, se il sistema controllatoe

x(k + 1) = Ax(k) + B u(k)

y(k) = x(k)

ed il controllore e quello dato dall’equazione (4.2), il sitema a ciclo chiusodiventa

x(k + 1) = Ax(k) + B Kx(k) = (A + BK) x(k)

y(k) = x(k)

e, per il teorema precedente, la matrice K puo essere scelta in modo tale cheil polinomio caratteristico pA+BK(λ) coincida con un qualsivoglia polinomiop(λ).

Lo schema di controllo considerato e quello mostrato in figura 4.1:

y(k)Sistema dacontrollare

u(k)K

x(k)

Figura 4.1: Schema di controllo con retroazione statica dallo stato.

E inoltre possibile dimostrare che tale controllore esiste solo se il sistemae raggiungibile, cioe che la raggiungibilita e condizione necessaria e sufficien-te affinche si possano assegnare ad arbitrio gli autovalori del sistema a ciclo

Page 4: Assegnazione degli Autovalori

78 CAPITOLO 4. ASSEGNAZIONE DEGLI AUTOVALORI

chiuso mediante una retroazione statica dallo stato. Per dimostrare questosi assuma che la coppia (A,B) non sia raggiungibile. Allora esiste una tra-sformazione di coordinate T tale che, nelle nuove coordinate, le matrici delsistema assumono la seguente forma:

TAT−1 =

(

A11 A12

0 A22

)

TB =

(

B1

0

)

Posto quindiKT−1 =

(

K1 K2

)

si ha

T (A + BK) T−1 =

(

A11 + B1K1 A12 + B1K2

0 A22

)

Di conseguenza il polinomio caratteristico del sistema a ciclo chiuso e

det(λI − A − BK) = det(λI − A11 − B1K1) · det(λI − A22)

e non puo essere assegnato arbitrariamente in quanto ha un fattore fissoindipendente dalla scelta di K.

Inoltre, nel caso di sistemi con un solo ingresso e se la coppia (A,B) eraggiungibile, la matrice K che assegna un dato polinomio caratteristico p(λ)e unica. Infatti, in tale caso, si puo scrivere3

det (λI − A − BK) = det (λI − A) · det(

I − (λI − A)−1 BK)

= det (λI − A) · det(

1 − K (λI − A)−1 B)

(4.3)

e di conseguenza, se esistessero due diversi vettori riga K1 e K2 tali che

det (λI − A − BK1) = det (λI − A − BK2) = p(λ)

allora dalla (4.3) si avrebbe necessariamente

(K1 − K2) (λI − A)−1 B = 0

3Per dimostrare i passaggi seguenti si ricordi che date due matrici A,B ∈ IRn×n siha det(AB) = det(A) · det(B). Inoltre date due matrici A ∈ IRn×m e B ∈ IRm×n si hadet(I + AB) = det(I + BA). Infatti

det(I + AB) = det

(

I 0A I + AB

)

= det

[(

I −BA I

) (

I B0 I

)]

=

= det

[(

I −BA I

)(

I 0−A I

)]

= det

(

I + BA −B0 I

)

= det(I + BA)

Page 5: Assegnazione degli Autovalori

4.1. ASSEGNAZIONE DEGLI AUTOVALORI 79

o equivalentemente, antitrasformando,

(K1 − K2) Ak−1B = 0 ∀k > 0

Quindi dovrebbe essere

(K1 − K2)(

B AB . . . An−1B)

= 0

Poiche il sistema e raggiungibile, allora necessariamente K1 = K2.

Esempio 14 Si consideri il modello di Samuelson di un sistema economiconazionale ( si veda il sistema (A.4)) e si ponga α = 0.3 e µ = 0.4. Il modellodel sistema diventa quindi

x(k + 1) =

(

0.3 0.3−0.28 0.12

)

x(k) +

(

0.30.12

)

u(k) = Ax(k) + B u(k)

(4.4)

y(k) =(

1 1)

x(k) + u(k)

dove le componenti dello stato sono, nell’ordine, i consumi C(k) e gli inve-stimenti I(k), l’ingresso u(k) e la spesa totale dello stato S(k) e l’uscita y(k)e il prodotto interno P (k). Supponendo di conoscere in ogni periodo lo statodel sistema, si vuole trovare una legge di controllo statica a retroazione dallostato, cioe

u(k) = S(k) = k1C(k) + k2I(k) = Kx(k)

tale che il prodotto interno nazionale P (k) cresca linearmente al passare deltempo. Per fare questo dobbiamo imporre che la matrice dinamica del sistemaa ciclo chiuso abbia un autovalore di molteplicita 2 in λ = 1, o equivalen-temente che pA+BK(λ) = p(λ) = (λ − 1)2 = λ2 − 2λ + 1 = λ2 + a1λ +a0.

Prima di tutto verifichiamo che la coppia (A,B) sia raggiungibile:

det(

B AB)

= det

(

0.3 0.12600.12 −0.0696

)

= −0.0360 6= 0

Siccome il polinomio caratteristico della matrice A e

pA(λ) = λ2 + α1λ + α0 = λ2 − 0.42λ + 0.12

allora la matrice T di cambio di coordinate che porta il sistema nella formacanonica di raggiungibilita e:

T =

(

−0.42 11 0

)−1

·(

0.3 0.12600.12 −0.0696

)−1

=1

3

(

10 −2510 0

)

Page 6: Assegnazione degli Autovalori

80 CAPITOLO 4. ASSEGNAZIONE DEGLI AUTOVALORI

per cui, usando la formula (4.1), si ha

K =(

0.12 − 1 2 − 0.42)

· 1

3

(

10 −2510 0

)

=

(

7

3

22

3

)

Calcolando A + BK si ha infatti

A + BK =

(

1 2.50 1

)

Quindi

x(k) = (A + BK)k x(0) =

(

1 2.5 k0 1

)

x(0)

e di conseguenza

u(k) =

(

7

3

22

3

)

x(k) =

(

7

3

35k + 44

6

)

x(0)

Si ha dunque

P (k) =(

1 1)

x(k) + u(k) =10

3C(0) +

25

3I(0)(1 + k)

che come voluto cresce linearmente con k.Un altro metodo per calcolare il vettore riga K =

(

k1 k2

)

e quello diimporre pA+BK(λ) = p(λ). In questo caso si ha:

A + BK =

(

0.3 0.3−0.28 0.12

)

+

(

0.30.12

)

(

k1 k2

)

=

=

(

0.3 · (1 + k1) 0.3 · (1 + k2)−0.28 + 0.12 · k1 0.12 · (1 + k2)

)

Quindi

pA+BK(λ) = λ2 − λ [0.3 · (1 + k1) + 0.12 · (1 + k2)] + 0.12 · (1 + k2)

da cui imponendo

0.3 · (1 + k1) + 0.12 · (1 + k2) = 2 0.12 · (1 + k2) = 1

si ottiene

K =

(

7

3

22

3

)

Page 7: Assegnazione degli Autovalori

4.1. ASSEGNAZIONE DEGLI AUTOVALORI 81

4.1.1 La formula di Ackermann

Come mostrato precedentemente, data una coppia (A,B) raggiungibile, lamatrice K tale che pA+BK(λ) sia uguale ad un polinomio assegnato

p(λ) = λn + an−1λn−1 + · · · + a1λ + a0

eK =

(

α0 − a0 α1 − a1 . . . αn−1 − an−1

)

· Tcon

T =

α1 α2 . . . αn−1 1α2 α3 . . . 1 0...

......

...αn−1 . . . 0 0

1 0 . . . 0 0

−1

·(

B AB . . . An−1B)−1

e dove i coefficienti αi sono i coefficienti del polinomio caratteristico

pA(λ) = λn + αn−1λn−1 + · · · + α1λ + α0

della matrice A.Se l’ordine del sistema e piccolo (n ≤ 3) allora, come visto nel precedente

esempio, la matrice K puo essere calcolata ponendo4

K =(

k1 k2 k3

)

ed imponendo che i coefficienti del polinomio pA+BK(λ), che sono funzionidi k1, k2 e k3, siano uguali ai coefficienti del polinomio p(λ) che si vuoleassegnare.

Un altro metodo per calcolare la matrice K e quello di utilizzare laseguente formula, detta formula di Ackermann:

K = −(

0 0 . . . 0 1)

·(

B AB . . . An−1B)−1 · p(A)

Dimostriamo questa formula assumendo per semplicita n = 3. Possiamoquindi scrivere

p(A + BK) = (A + BK)3 + a2(A + BK)2 + a1(A + BK) + a0I (4.5)

e

(A + BK)2 = A2 + ABK + BK(A + BK)(A + BK)3 = A3 + A2BK + ABK(A + BK) + BK(A + BK)2 (4.6)

4Assumiamo per esempio n = 3.

Page 8: Assegnazione degli Autovalori

82 CAPITOLO 4. ASSEGNAZIONE DEGLI AUTOVALORI

Sostituendo le (4.6) nella (4.5) si ha

p(A + BK) = p(A) + a1BK + a2BK(A + BK) + BK(A + BK)2

+ a2ABK + ABK(A + BK) + A2BK

Poiche pA+BK(λ) = p(λ), allora p(A + BK) = 0 cosicche dalla precedenteequazione si ricava

p(A) = −B(

a1K + a2K(A + BK) + K(A + BK)2)

− AB (a2K + K(A − BK)) − A2BK

che in forma matriciale puo essere scritta come

p(A) = −(

B AB A2B)

·

a1K + a2K(A − BK) + K(A − BK)2

a2K + K(A − BK)K

Poiche la coppia (A,B) e raggiungibile allora la matrice di raggiungibilitae invertibile per cui, moltiplicando ambo i membri della precedente equazioneper

(

0 0 1)

·(

B AB A2B)−1

si ottiene(

0 0 1)

·(

B AB A2B)−1 · p(A) = −K

che e proprio la formula di Ackermann che si voleva dimostrare essere esatta.

Esempio 15 Utilizziamo la formula di Ackermann per calcolare il vettore Kconsiderato nel precedente esempio:

K = −(

0 1)

·(

0.3 0.12600.12 −0.0696

)−1

· p(A)

dove

p(A) = A2 − 2A + I =

(

0.4060 −0.47400.4424 0.6904

)

Si ha quindi

K = −(

0 1)

·(

0.3 0.12600.12 −0.0696

)−1

·(

0.4060 −0.47400.4424 0.6904

)

=

(

7

3

22

3

)

Page 9: Assegnazione degli Autovalori

4.2. OSSERVATORI 83

Sistema dacontrollare

y(k)u(k)

Osservatore

x(k)^

Figura 4.2: Schema di un osservatore dello stato di un sistema.

4.2 Osservatori asintotici dello stato

In questo paragrafo si mostrera come sia possibile costruire dei dispositivicapaci di fornire una stima x(k) dell’evoluzione dello stato x(k) di un sistemaassegnato a partire dalle misure delle sequenze di ingresso u(k) e di uscitay(k) del sistema stesso. Lo schema di tali dispositivi e riportato in figura 4.2:

4.2.1 Un semplice osservatore

Si consideri il sistema

x(k + 1) = Ax(k) + Bu(k) (4.7)

y(k) = Cx(k)

Si assuma che il sistema abbia dimensione n, che il vettore di uscita abbiadimensione p e che il sistema sia osservabile. Una semplice soluzione alproblema di stimare lo stato x(k) del sistema e quella di costruire una copiadel sistema, cioe

z(k + 1) = Az(k) + Bu(k) (4.8)

Gli ingressi u(k) del sistema sono noti in quanto sono i controlli che vengonoforniti al sistema originale. Inoltre, poiche il sistema (4.8) e un modello da noicostruito, il suo stato z(k) puo essere misurato. Se z(0) = x(0), allora lo statodel modello sara identico allo stato del sistema originale per qualunque valoredi k. Se z(0) 6= x(0) allora il modello produrra un errore e(k) = z(k) − x(k)tale che

e(k + 1) = Ae(k)

Page 10: Assegnazione degli Autovalori

84 CAPITOLO 4. ASSEGNAZIONE DEGLI AUTOVALORI

Tale errore tendera a zero al passare del tempo solo se il sistema origina-rio e asintoticamente stabile e comunque, anche in tale caso, la velocita diconvergenza a zero e determinata dall’autovalore dominante della matrice A.Questa limitazione puo essere superata dal seguente approccio.

4.2.2 L’osservatore di Luenberger

Si consideri il seguente osservatore

z(k + 1) = Az(k) + Bu(k) + G (y(k) − Cz(k)) (4.9)

dove la matrice G e una matrice n × p ancora da specificare. L’osservatoree un sistema di dimensione n il cui vettore di stato e z(k). Gli ingressidell’osservatore sono di due tipi. Il primo tipo sono le uscite y(k) del sistemaoriginario, il secondo sono una copia degli ingressi u(k) del sistema originario.Si noti che tale osservatore e una generalizzazione del semplice osservatoreintrodotto precedentemente. Infatti, se z(k) = x(k), allora y(k) = Cx(k) =Cz(k) e l’osservatore (4.9) si riduce ad essere una copia del sistema originario.Posto y(k) = Cx(k) e sottraendo la (4.7) dalla (4.9) si ha che

e(k + 1) = (A − GC) e(k) (4.10)

Se z(0) = x(0) allora z(k) = x(k) per qualunque valore di k. Lo statodell’osservatore e quindi identico allo stato del sistema. Se z(0) 6= x(0) alloral’errore e(k) = z(k) − x(k) tende a zero al passare del tempo se il sistema(4.10) e asintoticamente stabile e, in tale caso, la velocita di convergenzaa zero e determinata dall’autovalore dominante della matrice A − GC. Gliautovalori della matrice A−GC dipendono dalla scelta della matrice G e inproposito vale il seguente teorema:

Teorema 2 Dato il sistema osservabile (4.7), un osservatore identita deltipo (4.9) puo essere costruito e i coefficienti del polinomio caratteristicodell’osservatore possono essere scelti arbitrariamente.

L’osservatore qui introdotto, proposto da Luenberger, viene anche detto os-servatore identita in quanto il suo stato z(k) tende all’intero stato x(k) delsistema originario. La stima dello stato x(k) e quindi

x(k) = z(k) (4.11)

Esempio 16 Si consideri il problema di stimare la popolazione di bovini diuna nazione a partire dalla sola misura annuale del numero di mucche con

Page 11: Assegnazione degli Autovalori

4.2. OSSERVATORI 85

piu di tre anni di eta. Si consideri per ora la sola popolazione femminile lacui evoluzione puo essere descritta dal seguente modello:

x(k + 1) =

0 0 α3 α4

β 0 0 00 β 0 00 0 β β

x(k) +

u1(k)u2(k)u3(k)u4(k)

= Ax(k) + Bu(k)

y(k) =(

0 0 0 1)

x(k) = c x(k)

dove l’ingresso e un vettore a quattro componenti e rappresenta il bilanciotra le macellazioni, le esportazioni e le importazioni per ogni classe di eta(supposte note) e B = I. La popolazione femminile di bovini e stata divisain quattro classi di eta: x1(k) denota il numero di individui con meno diun anno di eta (vitelle) all’inizio dell’anno k-esimo, x2(k) denota il numerodi individui con eta compresa fra 1 e 2 anni (giovenche) all’inizio dell’annok-esimo, x3(k) denota il numero di individui con eta compresa fra 2 e 3 anni(giovenche e mucche) all’inizio dell’anno k-esimo e x4(k) denota il numerodi individui con eta maggiore ai 3 anni (mucche) all’inizio dell’anno k-esimo.Il modello tiene conto del fatto che gli individui sotto i due anni non sono ingrado di riprodursi mentre durante il terzo anno di vita solo alcune giovenchesono in grado di riprodursi. I coefficienti del sistema sono i seguenti: s =47, 18%, σ3 = 0.3482, σ4 = 0.9850, β0 = 0.9477 (e quindi α3 = 0.1557 eα4 = 0.4404) e β = 0.9834.

Si noti per prima cosa che il sistema e osservabile. Infatti, si ha:

|O| =

ccAcA2

cA3

=

0 0 0 10 0 β β0 β2 β2 β2

β3 β3 β3 β3

= β6 6= 0

Un osservatore identita puo quindi essere facilmente implementato scegliendo

opportunamente la matrice G =(

g1 g2 g3 g4

)T. Ad esempio, si puo

trovare G tale che det (zI − A + Gc) = z4.A tal fine, imponendo

|zI − A + Gc| =

z 0 −α3 g1 − α4

−β z 0 g2

0 −β z g3

0 0 −β z + g4 − β

=

z

z 0 g2

−β z g3

0 −β z + g4 − β

+ β

0 −α3 g1 − α4

−β z g3

0 −β z + g4 − β

=

Page 12: Assegnazione degli Autovalori

86 CAPITOLO 4. ASSEGNAZIONE DEGLI AUTOVALORI

z2 [z (z + g4 − β) + βg3] + β2g2z + β2 [β (g1 − α4) − α3 (z + g4 − β)] =

z4 + (g4 − β) z3 + βg3z2 + β2 (g2 − α3) z + β3 (g1 − α4) − β2α3 (g4 − β) = z4

si ottieneGT =

(

α4 α3 0 β)

L’osservatore che si ottiene e il seguente:

z(k + 1) =

0 0 α3 0β 0 0 −α3

0 β 0 00 0 β 0

z(k) + u(k) +

α4

α3

y(k)

e la stima x(k) = z(k) converge allo stato del sistema in quattro anni. La figu-ra 4.3 mostra l’andamento dello stato del sistema (dove l’unita di misura delle

ordinate sono un migliaio di capi) quando x(0) =(

1700 1880 900 5690)T

e gli ingressi sono costanti e pari a u1(k) = −160, u2(k) = −610, u3(k) =−820 e u4(k) = −730.

1700

3000

1000

2300

200

1500

0 1 2 3 4 5

5300

6300

6 7 8 9

Figura 4.3: Stato del sitema: x1(k) (alto), x2(k), x3(k), x4(k) (basso).

La figura 4.4 mostra invece l’errore di osservazione x(k) − x(k) quando

x(0) =(

2000 2000 1000 5690)T

.

Page 13: Assegnazione degli Autovalori

4.2. OSSERVATORI 87

0

400

0

400

0

400

0

400

0 1 2 3 4 5

Figura 4.4: Errore di osservazione: l’errore e graficato in rosso quando enullo.

4.2.3 Osservatori di ordine ridotto

L’osservatore identita precedentemente illustrato ricostruisce tutte le n varia-bili di stato del sistema originario anche se p di queste variabili possono essereesattamente calcolate direttamente dalle p uscite del sistema (ammesso chele uscite siano indipendenti). Ad esempio, come mostrato in figura 4.4, l’os-servatore identita produce una stima x4(k) della variabile x4(k), convergentea x4(k) in quattro passi, pur essendo questa variabile nota con esattezza inquanto x4(k) = y(k).

E quindi plausibile supporre che si possa in genere costruire un osservatoredi dimensione n − p invece che n e che lo stato x(k) del sistema originariopossa quindi essere stimato tramite le n−p variabili di stato dell’osservatoree le p uscite del sistema. In effetti questo e vero e si mostrera ora come cioe possibile.

Si consideri quindi un sistema osservabile del tipo (4.7) e si assuma chela matrice C di dimensione p × n abbia rango p. Questo corrisponde adassumere che le p uscite del sistema siano linearmente indipendenti. Sia V

Page 14: Assegnazione degli Autovalori

88 CAPITOLO 4. ASSEGNAZIONE DEGLI AUTOVALORI

una qualsiasi matrice (n − p) × n tale che la matrice

T =

(

VC

)

sia nonsingolare e possa quindi essere usata come matrice di cambio di coor-dinate. Tale matrice esiste sempre in quanto la matrice C ha rango p. Siconsideri quindi il cambio di coordinate

x(k) = Tx(k)

e si partizioni il nuovo vettore di stato x(k) nel seguente modo

x(k) =

(

w(k)y(k)

)

dove, grazie alla scelta di T , le ultime p componenti dello stato x(k) sonouguali alle p uscite del sistema e w(k) e un vettore di dimensione n−p. Nellenuove variabili di stato il sistema (4.7) puo essere scritto nel seguente modo

(

w(k + 1)y(k + 1)

)

=

(

A11 A12

A21 A22

)(

w(k)y(k)

)

+

(

B1

B2

)

u(k)

dove(

A11 A12

A21 A22

)

= TAT−1;

(

B1

B2

)

= TB

Sottraendo dalle prime n− p equazioni le ultime p equazioni premoltiplicateper una matrice E di dimensioni (n − p) × p e ancora da definire, si ottiene:

w(k + 1) − Ey(k + 1) = (A11 − EA21) w(k)+

(A12 − EA22) y(k) + (B1 − EB2) u(k)

La precedente equazione alle differenze puo essere riscritta come

w(k + 1) − Ey(k + 1) = (A11 − EA21) (w(k) − Ey(k)) +

(A11E − EA21E + A12 − EA22) y(k)+

(B1 − EB2) u(k)

e posto v(k) = w(k) − Ey(k) si ha

v(k + 1) = (A11 − EA21) v(k)+

(A11E − EA21E + A12 − EA22) y(k)+

(B1 − EB2) u(k) (4.12)

Page 15: Assegnazione degli Autovalori

4.2. OSSERVATORI 89

In queste equazioni, v(k) non e noto mentre y(k) e u(k) sono noti e sono gliingressi al sistema (4.12). Un semplice osservatore delle n − p variabili inv(k) puo quindi essere costruito facendo una copia del sistema (4.12), e cioe

z(k + 1) = (A11 − EA21) z(k)+

(A11E − EA21E + A12 − EA22) y(k)+

(B1 − EB2) u(k) (4.13)

La dinamica dell’errore di osservazione e(k) = z(k)−v(k) si ottiene sottraen-do la (4.12) dalla (4.13) e si ha che

e(k + 1) = (A11 − EA21) e(k) (4.14)

Quindi lo stato z(k) dell’osservatore tende a v(k) al passare del tempo seil sistema (4.14) e asintoticamente stabile e, in tale caso, la velocita diconvergenza e determinata dall’autovalore dominante della matrice A11 −EA21.

Lo stato w(k) del sistema puo quindi essere stimato ricordando che v(k) =w(k) − Ey(k):

w(k) = z(k) + Ey(k)

Una stima x(k) dello stato originario x(k) sara dunque data da

x(k) = T−1

(

z(k) + Ey(k)y(k)

)

Si noti infine che gli autovalori della matrice A11 − EA21 dipendono dallascelta della matrice E e in proposito vale il seguente teorema:

Teorema 3 Dato il sistema osservabile (4.7) di dimensione n e con p uscitelinearmente indipendenti, un osservatore di dimensione n − p puo esserecostruito e i coefficienti del polinomio caratteristico dell’osservatore possonoessere scelti arbitrariamente.

L’osservatore cosı ottenuto viene detto osservatore ridotto ed ha quindi laseguente forma:

z(k + 1) = (A11 − EA21) z(k)+

(A11E − EA21E + A12 − EA22) y(k)+

(B1 − EB2) u(k)

x(k) =T−1

(

z(k) + Ey(k)y(k)

)

Page 16: Assegnazione degli Autovalori

90 CAPITOLO 4. ASSEGNAZIONE DEGLI AUTOVALORI

Esempio 17 Si voglia costruire un osservatore ridotto per il sistema consi-derato nell’esempio precedente. In questo caso si puo scegliere la matrice Vin modo tale che T = I e quindi

(

A11 A12

A21 A22

)

=

0 0 α3 α4

β 0 0 00 β 0 00 0 β β

;

(

B1

B2

)

=

1 0 0 00 1 0 00 0 1 00 0 0 1

Un osservatore ridotto puo quindi essere facilmente implementato scegliendo

opportunamente la matrice E =(

e1 e2 e3

)T. Ad esempio, si puo trovare

E tale che det (zI − A11 + EA21) = z3.A tal fine, imponendo

|zI − A11 + EA21| =

z 0 βe1 − α3

−β z βe2

0 −β z + βe3

=

z[

z (z + βe3) + β2e2

]

+ β2 [βe1 − α3] =

z3 + βe3z2 + β2e2z + β2 [βe1 − α3] = z3

si ottieneET =

(

α3/β 0 0)

L’osservatore che si ottiene e il seguente:

z(k + 1) =

0 0 0β 0 00 β 0

z(k) +

1 0 0 −α3

β

0 1 0 00 0 1 0

u(k) +

α4 − α3

α3

0

y(k)

x(k) =

z1(k) + α3

βy(k)

z2(k)z3(k)y(k)

e permette di ricostruire esattamente lo stato del sistema in tre anni.La figura 4.5 mostra l’errore di osservazione x(k)−x(k) nelle stesse con-

dizioni e per le stesse triettorie dell’esempio 16. L’errore x4(k) − x4(k) = 0∀k non viene ovviamente graficato.

Esempio 18 Consideriamo ancora il sistema descritto precedentemente esupponiamo di avere come ulteriore uscita del sistema la misura del latteprodotto durante una intera annata; cioe

y(k) = Cx(k) =

(

0 0 ξ3 ξ4

0 0 0 1

)

x(k)

Page 17: Assegnazione degli Autovalori

4.2. OSSERVATORI 91

0

400

0

400

0

400

0 1 2 3 4 5

Figura 4.5: Errore di osservazione: l’errore e graficato in rosso quando enullo.

dove i coefficienti ξ3 = 0.0546 e ξ4 = 0.1567 denotano la produzione annua-le media di un bovino della classe 3 e 4 rispettivamente. In questo caso epossibile implementare un osservatore ridotto del secondo ordine. A tal finesi noti che dalle uscite e possibile direttamente avere una misura di x3(k) ex4(k). Infatti si ha:

x3(k) =1

ξ3

y1(k) − ξ4

ξ3

y2(k)

x4(k) = y2(k)

Rimane quindi da ricostruire l’andamento nel tempo di x1(k) e x2(k). Inquesto caso si ha

T =

1 0 0 00 1 0 00 0 ξ3 ξ4

0 0 0 1

; TB =

(

B1

B2

)

=

1 0 0 00 1 0 00 0 ξ3 ξ4

0 0 0 1

e

TAT−1 =

(

A11 A12

A21 A22

)

=

0 0 α3

ξ3α4 − α3ξ4

ξ3

β 0 0 0

0 βξ3βξ4ξ3

βξ4 − βξ24

ξ3

0 0 β

ξ3β − βξ4

ξ3

Page 18: Assegnazione degli Autovalori

92 CAPITOLO 4. ASSEGNAZIONE DEGLI AUTOVALORI

Poiche la matrice A11 ha gia tutti gli autovalori nell’origine, allora un osser-vatore ridotto puo essere facilmente implementato scegliendo E = 0. L’os-servatore che si ottiene e il seguente:

z(k + 1) = A11z(k) + B1u(k) + A12y(k)

x(k) = T−1

(

z(k)y(k)

)

cioe

z(k + 1) =

(

0 0β 0

)

z(k) +

(

1 0 0 00 1 0 0

)

u(k) +

(

α3

ξ3α4 − α3ξ4

ξ3

0 0

)

y(k)

x(k) =

z1(k)z2(k)

1ξ3

y1(k) − ξ4ξ3

y2(k)

y2(k)

e permette di ricostruire esattamente lo stato del sistema in due anni.

La figura 4.6 mostra l’errore di osservazione x(k)−x(k) nelle stesse con-dizioni e per le stesse triettorie dell’esempio 16. Gli errori x3(k) − x3(k) =x4(k) − x4(k) = 0 ∀k non vengono ovviamente graficati.

0

400

0

400

0 1 2 3 4 5

Figura 4.6: Errore di osservazione: l’errore e graficato in rosso quando enullo.

Page 19: Assegnazione degli Autovalori

4.3. ASSEGNAZIONE DEGLI AUTOVALORI 93

4.3 Assegnazione degli autovalori

mediante retroazione dall’uscita

L’uso principale di un osservatore e quello di stimare lo stato x(k) di unsistema per poi poterlo utilizzare nel controllare il sistema stesso. In partico-lare, in un sistema controllato (assumendo sia possibile effettuare retroazionestatica dallo stato) con legge di controllo

u(k) = K x(k)

se lo stato x(k) non e misurabile, allora la stima x(k) dello stato puo essereusata al posto di x(k) nella legge di controllo.

Lo schema di controllo e allora quello riportato in figura 4.7:

Sistema dacontrollare

y(k)u(k)

Osservatore

x(k)^

K

Figura 4.7: Schema di controllo composto da un osservatore dello stato eduna retroazione statica.

Supponiamo di utilizzare un osservatore identita; allora il controllore di-venta un controllore dinamico le cui equazioni si possono facilmente ricavaredalle equazioni (4.9) e (4.11):

z(k + 1) = (A + BK − GC) z(k) + Gy(k)

u(k) = K z(k) (4.15)

Le equazioni dinamiche del sistema a ciclo chiuso sono date allora dalleequazioni dinamiche del sistema controllato

x(k + 1) = Ax(k) + Bu(k) = Ax(k) + BKz(k)

e dalle equazioni dinamiche del controllore

z(k + 1) = (A + BK − GC) z(k) + GCx(k)

Page 20: Assegnazione degli Autovalori

94 CAPITOLO 4. ASSEGNAZIONE DEGLI AUTOVALORI

Le precedenti equazioni possono essere scritte in forma matriciale come

(

x(k + 1)z(k + 1)

)

=

(

A BKGC A + BK − GC

)

=

(

x(k)z(k)

)

Ricordando che e(k) = z(k) − x(k) si puo fare il seguente cambio dicoordinate

(

x(k)e(k)

)

=

(

1 0−1 1

)(

x(k)z(k)

)

= T

(

x(k)z(k)

)

cosicche le equazioni della dinamica del sistema a ciclo chiuso diventano

(

x(k + 1)e(k + 1)

)

= T

(

A BKGC A + BK − GC

)

T−1

(

x(k)e(k)

)

=

=

(

A + BK BK0 A − GC

)(

x(k)e(k)

)

La precedente espressione della matrice dinamica del sistema a ciclo chiu-so evidenzia che gli autovalori del sistema a ciclo chiuso sono l’unione degliautovalori della matrice A + BK e degli autovalori della matrice A−GC. Sinoti che gli autovalori della matrice A+BK sono gli autovalori della matricedinamica del sistema a ciclo chiuso che si ottiene, assumendo lo stato misu-rabile, con un controllore a retroazione statica dallo stato, e gli autovaloridella matrice A − GC sono quelli della matrice dinamica dell’osservatore.

Questo e quello che si chiama principio di separazione: grazie a que-sto principio e possibile progettare in maniera indipendente l’osservatore ed ilcontrollore a reatroazione statica dallo stato essendo sicuri che gli autovaloridel sistema a ciclo chiuso ottenuto utilizzando il controllore (4.15) sarannoesattamente l’unione degli autovalori scelti nella progettazione dell’osserva-tore e della controreazione.

Il principio di separazione vale anche se si utilizza un osservatore di ordineridotto. In questo caso le equazioni dinamiche del sistema a ciclo chiuso sono:

(

x(k + 1)e(k + 1)

)

=

(

A + BK ∗0 A11 − EA21

)

=

(

x(k)e(k)

)

per cui, anche in questo caso, e possibile progettare in maniera indipendentel’osservatore ridotto ed il controllore a reatroazione statica dallo stato.

Si noti infine come il controllo (4.15) possa essere ricondotto ad uno sche-ma del tipo considerato in figura 1.9. A tale scopo si introduca l’ingresso di

Page 21: Assegnazione degli Autovalori

4.3. ASSEGNAZIONE DEGLI AUTOVALORI 95

riferimento yd(k) nelle equazioni del controllore:

z(k + 1) = (A + BK − GC) z(k) + Gy(k) − Gyd(k) =

= (A + BK − GC) z(k) − G(yd(k) − y(k))

u(k) = K z(k)

La funzione di trasferimento G(z) del controllore e quindi

G(z) = −K (zI − A − BK + GC)−1 G

e lo schema di controllo e quello riportato in figura 4.8. Ridisegnando lo

yd(k)

+

{

Sistema dacontrollare

y(k)u(k)

Osservatore

x(k)^

K

Figura 4.8: Schema di controllo composto da un osservatore dello stato eduna retroazione statica.

schema come in figura 4.9 si nota immediatamente che ci si e riportati aduno schema del tipo considerato in figura 1.9.

P(z)y(k)yd(k)+

{

Osservatore K

u(k)

Figura 4.9: Schema di controllo composto da un osservatore dello stato eduna retroazione statica.

Possiamo allora verificare il principio di separazione, per semplicita lofacciamo nel caso scalare, calcolando i poli della funzione di trasferimento

Page 22: Assegnazione degli Autovalori

96 CAPITOLO 4. ASSEGNAZIONE DEGLI AUTOVALORI

del sistema a ciclo chiuso. Si ha allora

G(z) = −k (z − a − bk + gc)−1 g = − kg

z − a − bk + gc

Ricordando che

P (z) = c (z − a)−1 b =cb

z − a

si ha

W (z) =

− cbkg

(z − a)(z − a − bk + gc)

1 − cbkg

(z − a)(z − a − bk + gc)

= − cbkg

(z − a + gc)(z − a − bk)

Il principio di separazione e quindi verificato immediatamente guardandoil denominatore di W (z).

Il caso vettoriale viene considerato nel prossimo esempio.

Esempio 19 Si consideri il modello di interazione domanda offerta multi-dimensionale descritto nell’esempio 6 la cui funzione di trasferimento e

P (z) =0.1 z

z2 + z + 0.2

Se si vuole progettare un controllore che produca errore costante in tempofinito per un qualsiasi riferimento costante, allora bisogna imporre che tuttii poli del sistema a ciclo chiuso siano in z = 0. Infatti, in tale modo, ilsistema si comporta come una serie di quattro ritardi e, quando il riferimentoe costante, l’uscita diventa costante esattamente dopo quattro passi.

Per progettare il controllore bisogna quindi calcolare i vettori K e G. Siha

K =(

6 1)

=⇒ A + BK =

(

0 02 0

)

e

G =(

−1 −2)T

=⇒ A − GC =

(

0.4 −0.11.6 −0.4

)

ed e facile verificare che le matrici A + BK e A − GC hanno entrambe unautovalore in z = 0 con molteplicita 2.

La funzione di trasferimento del controllore e quindi:

G(z) = −K (zI − A − BK + GC)−1 G =

= −(

6 1)

(

z − 1 0−4 z

)−1 (

−1−2

)

=8 z + 2

z(z − 1)

Page 23: Assegnazione degli Autovalori

4.3. ASSEGNAZIONE DEGLI AUTOVALORI 97

e la funzione di trasferimento del sistema a ciclo chiuso diventa

W (z) =P (z)G(z)

1 + P (z)G(z)=

8 z + 2

z4

Si noti che il controllore ha un polo in z = 1 e quindi rende il sistemacomplessivo di tipo 1.

Allo stesso risultato si poteva arrivare mediante un procedimento di sintesidiretta come mostrato nell’esempio 7.

Page 24: Assegnazione degli Autovalori

98 CAPITOLO 4. ASSEGNAZIONE DEGLI AUTOVALORI