Assegnazione degli autovalori mediante retroazione

Transcript

Assegnazione degli autovalori mediante retroazione
Assegnazione degli autovalori mediante retroazione
In questa nota si espongono alcuni esercizi svolti sullo spostamento di autovalori utilizzando l’algoritmo
visto a lezione. Per le notazioni utilizzate ed i dettagli del procedimento, si fa riferimento agli appunti presi a
lezione e alle note disponibili in libreria (dal titolo “Retroazione dallo stato, stabilizzazione e assegnazione degli
autovalori ”).
Si noti che
• le matrici A degli esempi hanno struttura triangolare a blocchi che rende immediato il computo degli
autovalori;
• anche se non sempre indicato, è possibile (come verifica dell’efficacia del metodo e -soprattutto- della
correttezza dei conti svolti) calcolare gli autovalori del sistema a ciclo chiuso;
• anche se tutti gli esempi seguenti sono a tempo continuo, il metodo si applica invariato anche a problemi
riguardanti sistemi a tempo discreto;
• in tutti gli esempi, almeno uno dei due elementi di fa può essere scelto arbitrariamente (l’equazione
γa = λa + (va0 B)fa per la scelta di fa è una sola equazione lineare in due incognite [fa1 , fa2 ]);
• in tutti gli esempi, il sistema di partenza è instabile avendo un autovalore nella regione di instabilità;
tuttavia, dopo lo spostamento di tale autovalore all’interno della regione di stabilità, il sistema a ciclo
chiuso che si ottiene ha tutti gli autovalori all’interno della regione di stabilità ed è asintoticamente stabile.
Esempio 1 Per il sistema a tempo continuo ẋ(t) = Ax(t) + Bu(t)



1
−2 0 1
A =  2 −1 1 , B = 0
1
0
0 4
avente:

0
1 ,
0
si utilizzi una retroazione dallo stato del tipo u = F x per spostare, se possibile, l’autovalore λ = 4 (nella regione
di instabilità) al valore λ = −2 (nella regione di stabilità).
Soluzione
Il sistema è raggiungibile, quindi sicuramente l’autovalore può essere spostato tramite retroazione.
Il testo fornisce l’indicazione che λa = 4, γa = −2.
Occorre trovare l’autovettore sinistro va0 , ovvero un vettore tale che:
va0 (A − λa I) = 0

−6 0 1



va0 
 2 −5 1  = 0
0
0 0

⇒
va0 = [0 0 1]
h
i
Si ha quindi che va0 B = [1 0] e l’equazione λa + va0 Bfa = γa diventa (essendo fa = ffa1
): 4 + fa1 = −2
a2
ovvero fa1 = −6. (Si noti che, in questo esempio, fa2 è completamente arbitrario e può essere fissato ad esempio
uguale a zero.)
La matrice di retroazione cercata è quindi data da:
−6 0 0 −6
0 0 1 =
Fa =
0
0 0 0
e il sistema a ciclo chiuso è caratterizzato dalla seguente dinamica:


−2 0 −5
A + BFa =  2 −1 1  .
0
0 −2
1
Esempio 2 Per il sistema a tempo continuo

1
A = 2
3
ẋ(t) = Ax(t) + Bu(t)


0
0
0
−3 2  , B = 0
0 −4
1
avente:

1
0 ,
0
si utilizzi una retroazione dallo stato del tipo u = F x per spostare, se possibile, l’autovalore λ = 1 (nella regione
di instabilità) al valore λ = −3 (nella regione di stabilità).
Soluzione
Il sistema è raggiungibile, quindi sicuramente l’autovalore può essere spostato tramite retroazione.
Il testo fornisce l’indicazione che λa = 1, γa = −3.
Occorre trovare l’autovettore sinistro va0 , ovvero un vettore tale che:
va0 (A − λa I) = 0

0 0
0



va0 
 2 −4 2  = 0
3 0 −5

⇒
va0 = [1 0 0]
h
i
Si ha quindi che va0 B = [0 1] e l’equazione λa + va0 Bfa = γa diventa (essendo fa = ffa1
): 1 + fa2 = −3
a2
ovvero fa2 = −4. (Si noti che, in questo esempio, fa1 è completamente arbitrario e può essere fissato ad esempio
uguale a zero.)
La matrice di retroazione cercata è quindi data da:
0 0 0 0
0 0 1 =
Fa =
−4
−4 0 0
e il sistema a ciclo chiuso è caratterizzato dalla seguente dinamica:


−3 0
0
A + BFa =  2 −3 2  .
3
0 −4
Esempio 3 Per il sistema a tempo continuo ẋ(t) = Ax(t) + Bu(t)



2 −2 0
0
A = 0 −3 0 , B = 1
0
1 2 1
avente:

1
0 ,
0
si utilizzi una retroazione dallo stato del tipo u = F x per spostare, se possibile, l’autovalore λ = 1 (nella regione
di instabilità) al valore λ = −1 (nella regione di stabilità).
Soluzione
Il sistema è raggiungibile, quindi sicuramente l’autovalore può essere spostato tramite retroazione.
Il testo fornisce l’indicazione che λa = 1, γa = −1.
Occorre trovare l’autovettore sinistro va0 , ovvero un vettore tale che:
va0 (A − λa I) = 0

−3 −2 0



va0 
 0 −4 0  = 0
1
2 0

2
⇒
va0 = [1 1 3]
Si ha quindi che va0 B = [1 1] e l’equazione λa +va0 Bfa = γa diventa (essendo fa =
ovvero fa1 + fa2 = −2. Una scelta possibile è dunque fa1 = fa2 = −1.
La matrice di retroazione cercata è quindi data da:
−1 −1 −1 −3
1 1 3 =
Fa =
−1
−1 −1 −3
h
fa1
fa2
i
): 1+fa1 +fa2 = −1
e il sistema a ciclo chiuso è caratterizzato dalla seguente dinamica:


−3 −3 −3
A + BFa = −1 −4 −3
1
2
1
avente autovalori Λ(A + BFa ) = {−1, −2, −3}.
Esempio 4 Per il sistema a tempo continuo ẋ(t) = Ax(t) + Bu(t)



−3 1 1
0
A =  0 −2 0 , B = 0
0
1 3
1
avente:

0
1 ,
0
si utilizzi una retroazione dallo stato del tipo u = F x per spostare, se possibile, l’autovalore λ = 3 (nella regione
di instabilità) al valore λ = −1 (nella regione di stabilità).
Soluzione
Il sistema è raggiungibile, quindi sicuramente l’autovalore può essere spostato tramite retroazione.
Il testo fornisce l’indicazione che λa = 3, γa = −1.
Occorre trovare l’autovettore sinistro va0 , ovvero un vettore tale che:
va0 (A − λa I) = 0

−6 1 1



va0 
 0 −5 0  = 0
0
1 0

⇒
va0 = [0 1 5]
Si ha quindi che va0 B = [5 1] e l’equazione λa +va0 Bfa = γa diventa (essendo fa =
ovvero 5fa1 + fa2 = −4.
Scegliendo fa1 = −1, fa2 = 1 si ha:
−1 0 −1 −5
0 1 5 =
Fa =
1
0 1
5
h
fa1
fa2
i
): 3+5fa1 +fa2 = −1
e il sistema a ciclo chiuso è caratterizzato dalla seguente dinamica:


−3 1
1
A + BFa =  0 −1 5  .
0
0 −2
Si noti che, dalla teoria, si sa che gli autovalori destri corrispondenti agli autovalori non modificati devono
rimanere invariati. Verifichiamo la proprietà ricordata per l’autovettore destro relativo a λ = −2:




−1 1 1
−4







(A + 2I)v = 0 ⇔ 
 0 0 0  v = 0 ⇒ v =  −5 
0 1 5
1
3
mentre per la dinamica a ciclo chiuso:

(A + BFa + 2I)w = 0
⇔
−1

 0

0
1 1
1
0



5 
v
0
=0
Esempio 5 Per il sistema a tempo continuo ẋ(t) = Ax(t) + Bu(t)



−1 0 0
1
A =  1 2 −1 , B = 0
1 0 −2
0
⇒
−4




w=
 −5  = v
1
avente:

0
1 ,
0
si utilizzi una retroazione dallo stato del tipo u = F x per spostare, se possibile, l’autovalore λ = 2 (nella regione
di instabilità) al valore λ = −4 (nella regione di stabilità).
Soluzione
Il sistema è raggiungibile, quindi sicuramente l’autovalore può essere spostato tramite retroazione.
Il testo fornisce l’indicazione che λa = 2, γa = −4.
Occorre trovare l’autovettore sinistro va0 , ovvero un vettore tale che:
va0 (A − λa I) = 0

−3 0 0



va0 
 1 0 −1  = 0
1 0 −4

⇒
va0 = [1 4 − 1]
Si ha quindi che va0 B = [1 4] e l’equazione λa +va0 Bfa = γa diventa (essendo fa =
e quindi una scelta ammissibile è data da fa1 = −2, fa2 = −1.
La matrice di retroazione cercata è quindi data da:
−2 −2 −8 2
1 4 −1 =
Fa =
−1
−1 −4 1
h
fa1
fa2
i
): 2+fa1 +4fa2 = −4,
e il sistema a ciclo chiuso è caratterizzato dalla seguente dinamica:


−3 −8 2
A + BFa =  0 −2 0  .
1
0 −2
Esempio 6 Per il sistema a tempo continuo ẋ(t) = Ax(t) + Bu(t) avente:




−1 0 −1
1 0
A =  2 −2 1  , B = 0 0 ,
0
0
2
0 1
si utilizzi una retroazione dallo stato del tipo u = F x per spostare, se possibile, l’autovalore λ = 2 (nella regione
di instabilità) al valore λ = −3 (nella regione di stabilità).
Soluzione
Il sistema è raggiungibile, quindi sicuramente l’autovalore può essere spostato tramite retroazione.
4
Il testo fornisce l’indicazione che λa = 2, γa = −3.
Occorre trovare l’autovettore sinistro va0 , ovvero un vettore tale che:
va0 (A − λa I) = 0

3 0 1


=0
−2
2
−1
va0 


0 0 0

⇒
va0 = [0 0 1]
h
i
Si ha quindi che va0 B = [0 1] e l’equazione λa + va0 Bfa = γa diventa (essendo fa = ffa1
): 2 + fa2 = −3
a2
ovvero fa2 = −5. (Si noti che, in questo esempio, fa1 è completamente arbitrario e può essere fissato ad esempio
uguale a zero.)
La matrice di retroazione cercata è quindi data da:
0 0 0 0
0 0 1 =
Fa =
−5
0 0 −5
e il sistema a ciclo chiuso è caratterizzato dalla seguente dinamica:


−1 0 −1
A + BFa =  2 −2 1  .
0
0 −3
Esempio 7 Per il sistema a tempo continuo ẋ(t) = Ax(t) + Bu(t)



1 4
0
1
A = 0 −1 0  , B = 0
2 −1 −3
0
avente:

0
−1 ,
0
si utilizzi una retroazione dallo stato del tipo u = F x per spostare, se possibile, l’autovalore λ = 1 (nella regione
di instabilità) al valore λ = −2 (nella regione di stabilità).
Soluzione
Il sistema è raggiungibile, quindi sicuramente l’autovalore può essere spostato tramite retroazione.
Il testo fornisce l’indicazione che λa = 1, γa = −.
Occorre trovare l’autovettore sinistro va0 , ovvero un vettore tale che:
va0 (A − λa I) = 0

0 4
0



va0 
 0 −2 0  = 0
2 −1 −4

⇒
va0 = [1 2 0]
Si ha quindi che va0 B = [1 − 2] e l’equazione λa + va0 Bfa = γa diventa (essendo fa =
−2 ovvero fa1 − 2fa2 = −3: è pertanto possibile scegliere ad esempio fa1 = 1, fa2 = 2.
La matrice di retroazione cercata è quindi data da:
1 1 2 0
1 2 0 =
Fa =
2
2 4 0
e il sistema a ciclo chiuso è caratterizzato dalla seguente dinamica:


2
6
0
A + BFa = −2 −5 0  .
2 −1 −3
5
h
fa1
fa2
i
): 1 + fa1 − 2fa2 =