Sei sulla pagina 1di 31

Sistemi meccatronici 1

Indice degli argomenti della lezione

• Introduzione al controllo robusto

• Approccio alla Kharitonov


 Controllo basato sull’approccio alla Kharitonov

• Approccio H2 - H∞
 Controllo H2
 Controllo H∞
Introduzione

A cosa serve il controllo robusto?


Spesso risulta difficile realizzare un modello matematico accurato
del sistema. Per quanto il modello sia dettagliato, non sarà mai una
rappresentazione esatta della realtà.

Questo aspetto è detto INCERTEZZA del sistema.

Tale incertezza può pregiudicare le prestazioni/stabilità di un


controllo tarato sui parametri nominali del sistema (ad es. un
controllo ottimo non è più ottimo se cambia il sistema su cui viene
applicato).
Incertezza

Ci sono varie cause che determinano l’incertezza. Le principali sono:

• Le condizioni iniziali possono non essere note in modo esatto


• I disturbi dall’ambiente esterno, che tipicamente non sono noti a
priori
• Incertezza sull’accuratezza del modello stesso del sistema
Definizione del controllo robusto

Lo scopo principale di tale famiglia di controllori è minimizzare l’effetto


delle condizioni iniziali incognite e dei disturbi esterni, sapendo che non
abbiamo a disposizione un modello esatto della realtà

Il controllo robusto è collegato alla modellazione e alle incertezze del


modello. Il controllo robusto lavora correttamente anche in presenza di
tali incertezze/errori di modellazione.
Controllo robusto

Vediamo due approcci attraverso i quali è possibile realizzare un


controllo robusto:

Kharitonov Approach: la stabilità robusta di un sistema lineare tempo


invariante può essere ottenuta considerando il suo polinomio
caratteristico. L’incertezza del sistema è vista tramite l’incertezza sui
parametri del polinomio caratteristico.

H͚ /H2 Norm Approach: questo approccio ha lo scopo di trovare un


controllore che minimizzi la norma H͚ /H2 del sistema controllato, in
modo che il range di incertezza accettabile possa essere massimizzato
Approccio alla Kharitonov

Questo approccio studia la stabilità robusta di un sistema


quando i suoi parametri presentano un’incertezza e variano in un
certo range

Bisogna considerare:
1. se il parametro varia in un range, è necessario verificare la
stabilità del sistema per tutti i possibili valori del parametro
2. è necessario capire quante verifiche sono necessarie per fare ciò

Si consideri il generico polinomio


ϕ ( s, p ) = p0 + p1s + K + pn −1s n −1 + pn s n

dove pi∈[pi-,pi+], i = 0, 1,=, n-1, n sono i coefficienti i cui valori


sono incerti
Approccio alla Kharitonov

Ovviamente, se i parametri hanno un’incertezza, il numero di set


possibili diventa infinito.
Il teorema di Kharitonov definisce 4 set di polinomi, chiamati polinomi
di Kharitonov, che rappresentano la condizione necessaria e
sufficiente per la stabilità del sistema

K1 ( s ) = p0 − + p1− s + p2 + s 2 + p3 + s 3 + p4 − s 4 + p5 − s 5 + K
K 2 ( s ) = p0 − + p1+ s + p2 + s 2 + p3 − s 3 + p4 − s 4 + p5 + s 5 + K
K 3 ( s ) = p0 + + p1+ s + p2 − s 2 + p3 − s 3 + p4 + s 4 + p5 + s 5 + K
K 4 ( s ) = p0 + + p1− s + p2 − s 2 + p3 + s 3 + p4 + s 4 + p5 − s 5 + K
Logica di controllo basata sull’approccio
alla Kharitonov

Il teorema di Kharitonov è uno strumento che, dato un sistema in anello


chiuso, permette di verificare se il sistema è stabile in modo robusto.
Supponiamo che il sistema da controllare sia rappresentato dalla
funzione di trasferimento

b0 + b1s + K + bn −1s n −1
G ( s, p ) =
p0 + p1s + K + pn −1s n −1 + pn s n

L’equazione caratteristica del sistema in anello aperto è data da

ϕ ( s, p ) = p0 + p1s + K + pn −1s n −1 + pn s n

dove pi∈[pi-,pi+], i = 0, 1,=, n-1, n


Logica di controllo basata sull’approccio
alla Kharitonov

Se il sistema in anello aperto non è stabile in modo robusto, vogliamo


realizzare un controllo in feedback che lo renda stabile in modo
robusto
u = − Lx = − [l0 l1 K ln −1 ] x
in modo che il sistema in anello chiuso sia stabile in modo robusto
per ogni p. L’equazione caratteristica del sistema in anello chiuso è
data da:

ϕ ( s, p + l ) = ( p0 + l0 ) + ( p1 + l1 ) s + K + ( pn −1 + ln −1 ) s n−1 + s n
I polinomi di Kharitonov sono definiti come

( ) ( ) ( ) ( ) (
K1 ( s ) = p0 − + l0 + p1− + l1 s + p2 + + l2 s 2 + p3 + + l3 s 3 + p4 − + l4 s 4 + p5 − + l5 s 5 + K) ( )
K2 (s) = ( p
0

+l )+(p
0 1
+
+ l )s + ( p
1 2
+
+ l )s
2
2
+(p
3

+ l )s
3
3
+(p
4

+l )s
4
4
+(p
5
+
+l )s
5
5
+K
K3 (s) = ( p
0
+
+l )+(p
0 1
+
+l )s +( p
1 2

+l )s
2
2
+(p
3

+l )s
3
3
+(p
4
+
+ l )s
4
4
+(p
5
+
+l )s
5
5
+K
K4 (s) = ( p
0
+
+l )+(p
0 1

+ l )s + ( p
1 2

+ l )s
2
2
+(p
3
+
+ l )s
3
3
+(p
4
+
+ l )s
4
4
+(p
5

+ l )s
5
5
+K
Logica di controllo basata sull’approccio
alla Kharitonov

Se esiste L = [l0 l1 l2=. ln-1] tale che I polinomi di Kharitonov sono stabili,
allora per il teorema di Kharitonov il sistema in anello chiuso è stabile in
modo robusto.

Tale feedback L esiste sempre. Infatti, intuitivamente, se scegliamo L


sufficientemente grande, in modo che i parametri p sono relativamente
piccoli, l’incertezza su p risulta essere trascurabile ai fini della stabilità.

Un L eccessivamente grande, tuttavia, significa guadagni grandi e in


alcuni casi ciò può creare problemi. Quindi, idealmente, vogliamo L
sufficientemente grande da assicurare la stabilità robusta ma
sufficientemente piccolo da non creare problemi.
Approccio H2 - H∞

Questo approccio utilizza le norme H͚ /H2. Lo scopo è minimizzare tali


norme per una funzione di trasferimento.
Prendiamo una generica G(s) trasformata di Laplace di g(t) i.e

L  g ( t )  = G ( s )

La norma H2 (norma euclidea) di G(s) è pari a

G ( s ) 2 = g (t ) 2 = ∫ −∞

( )
tr g * ( t ) g ( t ) dt
T

NB: trace = somma degli elementi sulla diagonale principale


n
tr ( A ) = a11 + a22 + K + ann = ∑ aii
i =1
Approccio H2 - H∞

Se si considera il generico sistema

x& = Ax + Bu
y = Cx + Du

allora G(s) è la funzione di trasferimento fra u e y:

G ( s ) = C ( sI − A ) B + D
−1
Approccio H2 - H∞

La norma H2 di G(s) può essere calcolata come

(
G ( s ) 2 = tr CLcC T = tr BT Lo B ) ( )
dove Lc rappresenta il gramiano della controllabilità (A, B)
t t
A( t −τ ) AT ( t −τ )
Lc ( t ) = ∫ e BB e
Aτ T AT τ
dτ = ∫ e BB e T

0 0
e L0 rappresenta il gramiano di osservabilità (A, C)
t t
A( t −τ ) AT ( t −τ )
L0 ( t ) = ∫ e CC e
Aτ T AT τ
dτ = ∫ e CC e T

0 0

La norma H2 può quindi essere calcolata direttamente senza iterazioni


Gramiano

In algebra lineare la matrice gramiana (o gramiano o matrice di Gram in


onore di Jørgen Pedersen Gram) di un set di vettori v1, =, vn è la matrice
dei prodotti interni
n
Gij = vi , v j = ∑ vik v jk
k =1

Un’importante applicazione della matrice gramiana è per il calcolo


dell’indipendenza lineare: un set di vettori è lineramente indipendente se
e soltanto se il determinante graminano (della matrice gramiana) è
diverso da zero.
Nella teoria del controllo la matrice gramiana viene utilizzata per la
verifica della controllabilità e dell’osservabilità (in Matlab dgram o gram).
Se la matrice gramiana Lc è non singolare, ossia Lc ha rango massimo
per ogni valore di t > 0, allora il sistema è controllabile.
Se la matrice gramiana L0 è non singolare, ossia L0 ha rango massimo
per ogni valore di t > 0, allora il sistema è osservabile.
Gramiano

Il gramiano Lc viene ricavato risolvendo l’equazione di Lyapunov


ALc + Lc AT + BBT = 0

per tempo continuo o

ALc AT − Lc + BBT = 0

per tempo discreto. Analogamente, il gramiano L0 viene ricavato risolvendo


l’equazione di Lyapunov

AT L0 + L0 A + C T C = 0
per tempo continuo o

AT L0 A − L0 + C T C = 0
per tempo discreto.
Approccio H2 - H∞

La norma H͚ di G(s) è definita come

G (s) ∞
= sup ( G ( s ) )
ω

dove “sup” rappresenta il massimo valore di G(s) valutato per tutti i


valori di ω
Consideriamo una funzione di trasferimento G ( s ) = C ( sI − A ) B + D
−1

con A stabile. Allora ||G||∞ = gmin con g > 0, ||G||∞ < g se e solo se la
matrice Hamiltoniana H

 1 T
 A BB 
H= γ2
 T 
 −C C − A 
T

non ha autovalori con parte immaginaria


Approccio H2 - H∞

Una matrice Hamiltoniana H è una matrice reale 2n × 2n che soddisfa la


condizione che KH è simmetrica, dove K è una matrice emisimmetrica
(KT = -K)
 0 In 
K = 

 nI 0 
essendo In la matrice identità n × n. In altre parole, la matrice H è una
matrice hamiltoniana se e solo se

KH − H T K T = KH + H T K = 0
Approccio H2 - H∞

Quindi, per trovare il valore di gmin si sceglie un g > 0 e si esegue il test


su H. Se H ha autovalori con parte immaginaria, allora si aumenta g.
Altrimenti, si diminuisce g e si ricalcolano gli autovalori di H. Si continua
finché g viene trovato con la tolleranza voluta.

Il calcolo della norma H͚ è quindi iterativo e può essere effettuato


tramite metodi come, ad esempio, la bisezione su g.
Control Design

Per risolvere il problema del controllo robusto con approccio H͚ /H2,


dobbiamo prima di tutto isolare le incertezze del sistema

Consideriamo un sistema con funzione di trasferimento G(s) e


incertezza ∆(s). V e Z sono l’input e l’output del sistema complessivo.
W è l’input del sistema nominale.
Control Design

Consideriamo un sistema con la seguente funzione di trasferimento

b0 + b1s + K + bn −1s n −1
G ( s, p ) =
p0 + p1s + K + pn −1s n −1 + pn s n

dove l’incertezza è descritta da

pi ∈  pi− , pi+  , i = 0,1,K, n − 1

Possiamo rappresentare il sistema in forma canonica:


 0 1 L 0 0 
 M M M M
&x =   x +  v
 0 0 L 1 0 
   
 − p0 − p1 L − pn −1   1
z = [b0 b1 L bn −1 ] x
Control Design

Chiamiamo pi = pi0 + Dpi dove

+ −  pi+ − pi− pi+ − pi− 


p +p ∆pi =  − , 
p i0 = i i
2 2
2  

Possiamo riscrivere le equazioni in forma di stato canonica come


 0 1 L 0  0 
 M M M  M
x& =   x +  v
 0 0 L 1  0 
 0   
 − p0 − ∆p0 − p10 − ∆p1 L − pn0−1 − ∆pn −1   1
 0 1 L 0  0   0 1 L 0 
 M M M  M  M M M 
=  x +  v +  x
 0 0 L 1  0   0 0 L 1 
 0     

 0 p − p 0
1 L − pn0−1  1
   −∆p0 −∆ p1 L −∆p n −1 
Control Design

Chiamiamo
 0 1 L 0  0 
 M M M  M
A= B=  ∆ = [ −∆p0 −∆p1 L −∆pn −1 ]
 0 0 L 1  0 
 0 0   
 − p0 − p1 L − pn −1 
0
 1
Definiamo e = ∆x. Allora l’equazione di stato diventa
x& = Ax + Bu + B∆x = Ax + Bu + Be = Ax + B ( u + e )
z=x

Abbiamo così
separato l’incertezza
dal sistema
Control Design

I valore limite della funzione ∆(s) che garantiscono la stabilità del


sistema perturbato è dato dal teorema “small gain theorem”:

Si consideri un sistema con incertezza e sia G(s) una funzione di


trasferimento stabile. Si assuma che ||G||͚< ɤ per un certo ɤ>0. Allora il
sistema perturbato è stabile per tutte le funzioni reali, razionali e stabili
∆(s) tali che ||∆||͚<=1/ɤ.
Control Design

Vediamo ora come realizzare un controllore usando l’approccio H͚ /H2.


Consideriamo una funzione di trasferimento G(s) e introduciamo un
controllore K(s)

F(s) è la funzione di trasferimento del sistema modificato (quello senza


l’incertezza). K(s) è la funzione di trasferimento del controllore da
determinare. u è l’input e y è l’output del sistema che viene mandato al
controllore.
Control Design

Le equazioni che governano il sistema precedente sono:

x& = Ax + B1w + B2u


z = C1 + D11w + D12u
y = C2 + D21w + D22u

E’ quindi possibile introdurre la matrice F(s)

A B1 B2 
 F11 ( s ) F12 ( s ) 
F ( s ) =  C1 D11 
D12  =  
F ( s ) F ( s )
C2 D21 D22   21 22 
Control Design

F11 ( s ) = C1 ( sI − A ) B1 + D11
−1
dove è la FdT da w a z
F12 ( s ) = C1 ( sI − A ) B2 + D12
−1
è la FdT da u a z
F21 ( s ) = C2 ( sI − A ) B1 + D21
−1
è la FdT da w a y
F22 ( s ) = C2 ( sI − A ) B2 + D22
−1
è la FdT da u a y.

Quindi
Z ( s ) = F11 ( s ) W ( s ) + F12 ( s )U ( s )
Y ( s ) = F21 ( s )W ( s ) + F22 ( s ) U ( s )

ossia

 Z ( s )   F11 ( s ) F12 ( s )  W ( s ) 
 =  
 ( )   21 ( ) 22 ( )   ( ) 
Y s F s F s U s
Controllo H2

Si fanno le seguenti ipotesi:


(1) Il sistema (A,B2) è controllabile e il sistema (A,C2) è osservabile.
(2) D11=0, D22=0, D12TD12 > 0 e D21TD21 > 0.
(3) Per ogni ω,

  A − iω I B2  
rank     = numero di colonne
  C1 D12  

  A − iω I B1  
rank     = numero di righe
  C2 D21  
Controllo H2

Allora la funzione di trasferimento K(s) che stabilizza il sistema


controllato e minimizza la norma H2 risulta pari a
K ( s ) = − L1 ( sI − A − B2 L1 − L2C2 ) L2
−1

dove
( D ) (B S + D C )
−1
L1 = − D 12
T
12 2
T
1 12
T
1

= − ( S C + B D )( D D )
−1
T T T T
L2 2 2 1 21 21 21

e S1 e S2 sono le soluzioni delle due equazioni algebriche di Riccati

( ) S + S ( A − B (D D ) D C )
T

( )
−1 −1
A − B2 D12T D12 D12T C1 1 1 2 12
T
12 12
T
1

( ) S + C ( I − D ( D D ) D )C = 0
−1 −1
− S1B2 D12T D12 B2T 1 1
T
12 12
T
12 12
T
1
Eq (1)

(A− B D ) ( )
T

(D ) (D )
−1 −1
1 21
T
21
T
D21 C2 S2 + S2 A − B1D 21
T
21
T
D21 C2 Eq (2)

(
− S2C2T D21T D21 )
−1
(
C2 S2 + B2 I − D21T D21T D21 ( )
−1
)
D21 B1T = 0
Controllo H∞

Si fanno le seguenti ipotesi:


(1) Il sistema (A,B1) è controllabile e il sistema (A,C1) è osservabile.
(2) Il sistema (A,B2) è controllabile e il sistema (A,C2) è osservabile.
(3) D11=0, D22=0

(4) D12T [C1 D12 ] = [0 I ]

 B1  T 0 
(5)   D21 =  
 D21  I 
Controllo H2

Allora la funzione di trasferimento K(s) che stabilizza il sistema


controllato e minimizza la norma H∞ risulta pari a

K ( s ) = M 11 + M 12Q ( I − M 22Q ) M 21
−1

dove Q(s) è una qualsiasi funzione di trasferimento reale, razionale e


tale che Q(s) ∈ H͚ (||Q||͚< g) e Mij è dato da
 1  1 
−1

 A + 2 B1B1T S1 + B2 L1 + L2C2 − L2  I − 2 S2 S1  B2 
 γ  γ  
 M 11 ( s ) M 12 ( s )   
 = L1 0 I
 M 21 ( s ) M 22 ( s )  
 −C2 I 0 
 
 

con L1 = − B2T S1
−1
 1 
L2 = −  I − 2 S2 S1  S2C2T
 γ 
Controllo H2

e S1 e S2 sono le soluzioni delle due equazioni algebriche di Riccati

 1 T 
A S1 + S1 A + S1  2 B1B1 − B2 B2  S1 + C1T C1 = 0
T T Eq (1)
γ 

 1  Eq (2)
AS1 + S1 AT + S1  2 C1T C1 − C2T C2  S1 + B1B1T = 0
γ 

L1 e L2 sono tali per cui A+B2L1 e A+L2C2 sono stabili.