Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TOR VERGATA
FACOLTÀ DI INGEGNERIA
RELATORE CANDIDATO
CORRELATORI
Ringraziamenti 1
Introduzione 2
1.2.1 Il windup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
INDICE I
INDICE
2.4.1 Implicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.1 Implicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.1 Compensatori Λg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.2 Compensatori Λα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.3 Osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.1 Compensatori Λg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2 Compensatori Λα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.3 Osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
INDICE II
INDICE
6 Simulazioni 66
6.1 Simulazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
INDICE III
INDICE
Bibliografia 126
INDICE IV
Ringraziamenti
Ringrazio tutti.
Introduzione 1
Introduzione
Nel problema di sintesi di controlli automatici per sistemi dinamici lineari si è soliti
trascurare gli effetti nonlineari degli attuatori che inducono prestazioni non sempre
coincidenti con quelle nominali e il cui degradamento, in alcuni casi fortuiti, può persi-
no rendere il sistema instabile: tale fenomeno è detto windup. Ciò accade perché ogni
dagli anni ’50 con la costruzione dei cosiddetti compensatori anti-windup, dispositivi
ta introdotta durante gli anni ’50 per necessità industriali e prevede l’installazione
di un apposito filtro, pilotato dalla discordanza tra uscita del controllore e ingresso
Introduzione 2
Introduzione
di anti-windup con prestazione garantita proposti in [4] e [5], la classe dei compen-
generiche.
so/uscita:
Introduzione 3
Introduzione
sintetizzato con una politica che minimizza la distanza tra minimo guadagno
tinuo e a tempo discreto dei due nuovi algoritmi, detti algoritmi α, per la sintesi
Introduzione 4
Introduzione
in ambiente Matlab e Simulink e fa uso massivo dei toolbox per LMI Yalmip e
Se.Du.Mi.
Introduzione 5
Capitolo 1
La saturazione è una funzione nonlineare (figura 1.1) che descrive una delle più comuni
co saturatore di figura 1.1a. Esso ammette anche ingressi vettoriali e in tal caso il
blocco si comporta come parallelo (disaccoppiato) di saturatori scalari del tipo definito
6
Cap. 1 Definizione del problema §1.1 Le funzioni di saturazione e di deadzone
da equazione (1.1.1):
−ū ∀u : u ≤ −ū
satū (u) , u ∀u : −ū < u < ū (1.1.1)
ū ∀u : u ≥ ū
Occorre notare che la saturazione impone un range stretto di valori che il controllo
u può assumere, per l’appunto all’interno dell’intervallo [−ū, ū]. All’infuori dell’in-
tervallo il segnale di controllo entra in zona nonlineare cioè si satura su uno dei due
limiti.
(b) Segnale non saturato u, ingresso del (c) Segnale saturato sat(u), uscita del
saturatore. saturatore.
Altra tipica nonlinearità che compare spesso nei modelli di sistemi dinamici, simile
alla saturazione, è la deadzone: tale funzione è pari allo scostamento che vi è tra un
7
Cap. 1 Definizione del problema §1.2 Stabilizzazione con saturazione
ẋ = Ax + Bsat(u) (1.2.1)
Dove u è una certa funzione di controllo in retroazione dallo stato. È lecito chiedersi
dall’equazione (1.2.1).
Esempio:
ẋ = −x + sat(u), se u = 0 ⇒ ẋ = −x
A a parte reale positiva, allora esistono delle condizioni iniziali x(0) abbastanza
grandi tale che il sistema dinamico descritto dall’equazione (1.2.1) diverge ∀u.
Esempio:
Per questo tipo di sistema è possibile garantire solo RAS1 ≡RES2 con regione
8
Cap. 1 Definizione del problema §1.2 Stabilizzazione con saturazione
In altre parole:
caso (A Hurwitz) il controllo u(·) serve solo per migliorare le prestazioni del processo
saturato. Ció non toglie la validitá generale, anche per sistemi non asintoticamente
stabili, degli algoritmi sviluppati. In tal caso, come ovvio presumere, non sarà possibile
A questo punto viene naturale chiedersi cosa succeda al sistema di controllo quando
windup.
3
La ANCBI, acronimo di Asymptotically Null-Controllable with Bounded-Inputs, è la proprietà
per cui un sistema dinamico nonlineare risulta globalmente (per ogni x0 ) e asintoticamente stabile
con ingressi saturati.
4
Per i sistemi LTI vale sempre GAS⇒GES, per i sistemi nonlineari ciò potrebbe non accadere; in
questo caso specifico è possibile dimostrare che il sistema ANCBI è GAS ma soltanto RES. Infatti,
poiché la GES è una proprietà robusta allora garantisce GES anche per ẋ = (A + εI) x + sat(u), il
che è impossibile se A è ANCBI perché il sistema diverrebbe instabile e, come mostrato nel punto
A esponenzialmente instabile, sarebbe possibile garantire solo RAS.
9
Cap. 1 Definizione del problema §1.2 Stabilizzazione con saturazione
1.2.1 Il windup
saturazioni del controllo u(t) che può causare l’insorgenza di fenomeni oscillatori,
Il nome windup trae origine dal comportamento delle variabili di stato che salgono
in alto verso valori troppo elevati causando la perdita di prestazione del sistema
è evidente quando il controllore non è asintoticamente stabile cioè ogni volta che
contenga un’azione integrale 5 . Quando il ciclo di feedback è rotto, cioè quando entra
asintoticamente stabili del regolatore possono portare le variabili interne del sistema
10
Cap. 1 Definizione del problema §1.3 Obiettivi della compensazione anti-windup
Come visto nel paragrafo 1.2 per sistemi ad ingressi saturati accade che per piccoli
segnali d’ingresso il sistema risulti lineare mentre per grandi segnali il sistema si
zioni (dovuto al windup) via via che il controllo cresce. A causa di questa nonlinearità
non è possibile analizzare le prestazioni del sistema in termini di poli e zeri in quanto
esistono (ed hanno senso) solo per sistemi lineari. Un’alternativa logica all’uso di poli
e zeri, come metro di giudizio delle prestazioni del sistema, è lo studio dell’energia
del segnale di uscita, strumento generale valido sia per sistemi lineari che per sistemi
sistema (vedasi paragrafo A.3), cioè la massima amplificazione di energia del segnale
di ingresso.
performance raggiungibili.
è sfruttare lo scarto tra uscita del controllore e ingresso (saturato) al processo come
informazione aggiuntiva alla misura delle uscite del processo per pilotare il controllore,
sistema saturato quanto più vicina a quella del sistema nominale quando esce dalla
zona lineare.
11
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup
controllore (lineare o nonlineare) che per piccoli segnali si comporti esattamente come
Ap , Bpu , Bpw , Cpy , Dpyu , Dpyw , Cpz , Dpzu , Dpzw sono matrici di dimensioni appropriate
ciclo aperto.
12
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup
dati, come descritto nel paragrafo 1.4.4, dal compensatore anti-windup nel sistema
aumentato per attenuare gli effetti del windup) e Ac , Bcy , Bcw , Cc , Dcy sono matrici di
Tale controllore è progettato in modo tale che l’interconnessione con l’impianto at-
interna del sistema a ciclo chiuso non saturato W (equazione (1.4.4), figura 1.2):
u = yc v1 = 0 v2 = 0 (1.4.3)
½
ẋ = ACL x + BCL w
W : (1.4.4)
z = CCL x + DCL w
Definizione 1.4.1. Si definisce sistema a ciclo chiuso non saturato (equazione (1.4.4),
figura 1.2), l’interconnessione del processo (equazione (1.4.1)) e del controllore (equa-
zione (1.4.2)) attraverso l’equazione (1.4.3). Il sistema a ciclo chiuso non saturato ha
stato xCL ∈ RnCL =np +nc ottenuto come aggregato degli stati8 di processo e controllore
7
L’uscita del controllore è il segnale di controllo che pilota il processo.
8
La buona connessione tra sistemi garantisce che lo stato del sistema interconnesso coincida con
lo stato aggregato.
13
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup
Si consideri il caso in cui gli attuatori presentino una saturazione9 del controllo allora
(a) Sistema di controllo a ciclo chiuso con saturazione degli (b) Schema equivalente H:
ingressi controllanti. modello con deadzone.
Si dimostra (si rimanda a [5] e ai paragrafi 2.5 e 3.3 per i dettagli) che per i sistemi
14
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup
(a) Sistema di controllo a ciclo chiuso con compensatore anti-windup (b) Schema equivalente H:
statico. modello con deadzone.
windup H (equazione (1.4.8), figura 1.4) con origine asintoticamente stabile, ben-
figura 1.4), l’interconnessione del processo (equazione (1.4.1)) e del controllore (equa-
stato xCL ∈ RnCL =np +nc ottenuto come aggregato degli stati di processo e controllore,
15
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup
Calcolo di y:
(I − Dpyu Dcy )y = Cpy xp + Dpyu Cc xc + (Dpyu Dcw + Dpyw )w + Dpyu (Λ2 q − qI)
Posto:
Calcolo di yc :
yc = Cc xc + Dcy y + Dcw w + Λ2 q
(I − Dcy Dpyu )yc = Cc xc + Dcy Cpy xp + (Λ2 − Dcy Dpyu )q + (Dcw + Dcy Dpyw )w
Posto:
16
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup
Calcolo di ẋp :
Calcolo di ẋc :
x˙c = [Bcy ∆y Cpy ] xp + [Ac + Bcy ∆y Dpyu Cc ] xc + [Bcy ∆y (Dpyu Dcw + Dpyw ) + Bcw ] w +
17
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup
Calcolo di z:
Alla luce dei conti di cui sopra, le matrici di sistema di H (equazione (2.5.1)) sono
cosı̀ definite:
18
Capitolo 2
minare una stima del guadagno L2 nonlineare da w a z, cioè una funzione γ(·) non
19
Cap. 2 Analisi e sintesi a tempo continuo §2.1 Disequazioni di Lyapunov
ẋ = Ax (2.1.1)
valori reali positivi definita sullo spazio di stato (equazione (2.1.2)) per la quale sono
Essa verifica sia l’equazione (2.1.2) che l’equazione (2.1.3), ed è quindi una buona
candidata come funzione di Lyapunov. Affinché lo sia deve essere rispettata anche la
20
Cap. 2 Analisi e sintesi a tempo continuo §2.2 Funzioni di Lyapunov
zioni di Lyapunov che formalizza, oltre al concetto di stabilità visto nel paragrafo 2.1,
il concetto di prestazione misurata attraverso la stima del guadagno L2 del sistema (si
veda [3]). Un sistema dinamico con guadagno L2 piccolo (tra uscita di prestazione z e
disturbo w), possiede una buona prestazione in quanto capace di attenuare fortemente
una funzione V (·) di Lyapunov per l’attenuazione dei disturbi, a valori reali positivi
definita sullo spazio di stato (equazione (2.2.2)) per la quale sono verificate le dise-
21
Cap. 2 Analisi e sintesi a tempo continuo §2.2 Funzioni di Lyapunov
(2.2.4)):
1. Stabilità.
1 T
Se w = 0, h∇V (x),ẋi < h∇V (x),ẋi + z z<0⇒
γ2
⇒ h∇V (x),ẋi < 0 ⇒ GES (2.2.5)
2. Prestazione.
Per dimostrare che la equazione (2.2.4) fornisce una misura di prestazione pari
alla stima del guadagno L2 del sistema occorre integrare le traiettorie di V (x):
Z t Z tµ ¶
dV (x(τ )) 1 T T
dτ + z(τ ) z(τ ) − w(τ ) w(τ ) dτ < 0
0 dτ 0 γ2
1
⇒ V (t) − V (0) + 2 kz(·)t k22 − kw(·)t k22 < 0 (2.2.6)
γ
1
−V (0) + kz(·)k22 − kw(·)k22 < 0
γ2
¡ ¢
⇒ kz(·)k22 < γ 2 V (0) + kw(·)k22
22
Cap. 2 Analisi e sintesi a tempo continuo §2.2 Funzioni di Lyapunov
kzk2
kP k2 , sup <γ (2.2.8)
kwk2 6=0 kwk2
1 T
h∇V (x),ẋi + z z − wT w < 0 ⇔
γ2
1 ¡ ¢
⇔ xTP (Ax+Bw)+(Ax+Bw)TP x + 2 xTC T +wTDT (Cx+Dw)−wTw < 0
γ
µ· ¸ · T ¸ ¶· ¸
£ T T
¤ T
PA + A P PB C 1 £ ¤ x
⇔ x w + C D <0
BT P −I DT γ 2 w
| {z }
M
⇔M <0
M < 0 si ottiene:
P A + AT P P B C T
M < 0, γ 2 > 0 ⇔ BT P −I DT < 0 (2.2.9)
C D −γ 2 I
La LMI mostrata nell’equazione (2.2.9) permette di ricavare una misura di prestazione
23
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprietà di settore
se e solo se:
min γ
P,γ
PA PB 0
s.t. He 0 − I2 0 <0
C D −γ 2 I2
P >0
grafo 1.4.3) ottenuto come ciclo chiuso dell’impianto saturato P e del suo controllore
non saturato C 6 :
ẋ = Ax + Bq q + Bw w
H: z = Cz x + Dzq q + Dzw w (2.3.1)
yc = Cy x + Dyq q + Dyw w
q = dz(yc ) = yc − sat(yc ) (2.3.2)
figura 2.1) è logico chiedersi sotto quali condizioni è mantenuta la stabilità e la buona
connessione (in senso nonlineare) del sistema. Infatti l’introduzione della nonlinearità
5
La norma H∞ di una matrice di trasferimento corrisponde al picco del diagramma dei moduli
di Bode.
6
Controllore che garantisce certe specifiche sintetizzato per il sistema P non saturato.
24
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprietà di settore
Figura 2.1: Schema equivalente H di sistema a tempo continuo saturato: modello con
deadzone.
può causare la perdita della buona connessione ovverosia potrebbe non esistere più
yc − Dyq q = Cy x + Dyw w
Figura 2.2: Proprietà di settore globale, sector[0, K]; per nonlinearità tipo saturazione
e deadzone la proprietà di settore globale vale con K= I.
sono tipologie di nonlinearità appartenenti alla classe sector[0, I] (figura 2.2). Questo
25
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprietà di settore
La condizione di settore descritta dall’equazione (2.3.3) può essere usata per ricavare
1 T
V̇ + 2
z z − wT w < 0, ∀(x, w) tale che q T M (yc − q) ≥ 0 (2.3.4)
γ
1 T
z z − wT w + 2q T M (yc − q) < 0, ∀x, w, ξ, q ⇔
V̇ +
γ2
T
x P A P Bw 0 P Bq x
w 0 −2I
0 0
⇔ He w < 0, ∀x, w, ξ, q ⇔
ξ Cz γ
Dzw − 2 I
2
Dzq ξ
q M Cy M Dyw 0 M Dyq − M q
PA P Bw 0 P Bq
0 − I
0 0
⇔ He Cz
2
γ 2 <0
(2.3.5)
Dzw − 2 I Dzq
M Cy M Dyw 0 M Dyq − M
1. Buona connessione: è sufficiente che esista una matrice diagonale definita posi-
He (M Dyq − M ) < 0
26
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprietà di settore
3. Prestazione (kP k2 < γ):8 è sufficiente che esistano uno scalare γ positivo mi-
Lemma 2.3.1. Se dzu (v) = 0, allora dzu (yc )T M (yc − dzu (yc ) + v) ≥ 0
Definizione 2.3.1. Sia U = diag{ui } allora per una certa matrice K ∈ Rnu ×n si
definisce:
n o
L(K) , x ∈ Rn : |U −1 Kx|∞ ≤ 1
Sia K ∈ Rnu ×n una matrice data. Allora per ogni matrice diagonale M > 0, M ∈
Ricordando che:
7
E buona connessione.
8
Con stabilità e buona connessione.
27
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprietà di settore
1. dzu (yc ) = q
avanti.
© ª
EP s , x : xT P x ≤ s2
Affinché EP s goda della proprietà GS, EP s deve essere contenuto nell’insieme di x che
© ª
EP s , x : xT P x ≤ s2 ⊆ {x : |Ki x| ≤ ui } ∀i = 1, ..., nu
Questo significa che ogni x di EP s deve essere contemporaneamente anche una x tale
|Ki x| ≤ ui , ∀i = 1, ..., nu
∀x : xT P x ≤ s2 ⇒ xT KiT Ki x ≤ ui 2 , ∀i = 1, ..., nu
1 T P
xT KiT
2 Ki x ≤ x x
ui s2
· 2
¸
T T s
x P − Ki 2 Ki x ≥ 0 (2.3.8)
ui
28
Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilità e prestazione
dei disturbi (equazione (2.2.4)), con dei passaggi del tutto analoghi a quanto visto
nell’equazione (2.3.4):
1 T
V̇ + z z − wT w < 0,
γ2
∀x ∈ EP s , ∃M = diag{mi } > 0 : q T M (yc − q + Kx) ≥ 0 (2.4.1)
29
Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilità e prestazione
1 T
V̇ + z z − wT w + 2q T M (yc − q + Kx) ≤ 0 ⇔ (2.4.2)
γ2
PA P Bw 0 P Bq
0 − I2 0 0
⇔ He
γ2
≤0
(2.4.3)
Cz Dzw − 2 I Dzq
M (Cy + K) M Dyw 0 M Dyq − M
Per rendere lineare l’equazione (2.4.3) è necessario imporre una trasformazione del-
¡ ¢
lo spazio x, w, ξ, q moltiplicando per una opportuna matrice di cambiamento di
trasposta):
· ¸ · ¸
0 I 0 I
T2 = =
Q 0 P −1 0
10
M (Cy + K) = M Cy + M K con M e K incognite.
30
Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilità e prestazione
Per il sistema di controllo anti-windup descritto dall’equazione (2.3.1), per ogni s > 0
si definisce:
il problema 2.1.
γ(·) ≤ γG
ui 2
Inoltre, dalla disuguaglianza (2.4.7) e dalla Hi Q−1 HiT ≤ s2
, se s → ∞ allora H → 0.
¤
X
Per tracciare il diagramma del guadagno L2 nonlineare γ(s) del sistema di controllo
31
Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilità e prestazione
2.4.1 Implicazioni
con dominio di attrazione stimato EP s (nel caso di RES11 ). Infatti, sotto queste
2q TM (yc −q+Kx) ≥ 0
Che, come visto nel paragrafo 2.1 e nel paragrafo 2.2, garantisce la stabilità
32
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico
diventa:
1 T
V̇ + z z − wT w < 0 ⇒ h∇V (x),ẋi − wT w < 0
γ2
⇒ h∇V (x),ẋi < wT w
Z t Z t
dV (x(τ ))
⇒ dτ < |w(τ )|2 dτ = kwk22 < s2
0 dτ 0
dell’invarianza con disturbi limitati si ha x(t) ∈ EP s , ∀t, e quindi vale GS, ∀t.
1 T
V̇ + z z − wT w < 0 ∀t (2.4.10)
γ2
Problema 2.2. [5] Siano le matrici del processo P e del controllore C fissate, sin-
33
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico
ẋ = Ax + Bw w + (Bq + BL Λ)q
H: yc = Cy x + Dyw w + (Dyq + DyL Λ)q (2.5.1)
z = Cz x + Dzw w + (Dzq + DzL Λ)q
q = dz(yc )
1. Buona connessione.
2. Stabilità.
34
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico
ne (2.5.1)):
1 T
V̇ + 2
z z−wTw < 0 ∀x ∈ EP s ∃M = diag{mi } :q TM (yc − q + Kx) ≥ 0
γ
1 T
V̇ + z z − wT w + 2q T M (yc − q + Kx) < 0 (2.5.2)
γ2
I V̇
V̇ = xT P ẋ + ẋT P x
1 T
I γ2
z z
1 T 1
2
z z = (Cz x+Dzw w+(Dzq +DzL Λ)q)T 2 (Cz x+Dzw w+(Dzq +DzL Λ)q)
γ γ
T T
x CzT CzT x
= w T
Dzw 1 D T
zw
w
γ2
q (Dzq + DzL Λ)T (Dzq + DzL Λ)T q
35
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico
I 2q T M (yc − q + Kx)
1. P e Λ in P (Bq + BL Λ)
2. M e K in M (Cy + K)
3. M e Λ in M (Dyq + DyL Λ − I)
15
Nello specifico la formulazione dello Schur Complement riportata nell’equazione (1.4.6) in [2].
16
L’operatore He(·) è descritto nel paragrafo A.1.
36
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico
Per rendere lineare l’equazione (2.5.6) occorre in primo luogo applicare una trasfor-
¡ ¢
diag (Q, I, U, I) = diag P −1, I, M −1, I
(2.5.6) diventa:
AQ Bw (Bq + BL Λ)U 0
0 − I2w 0 0
He
(Cy + K)Q Dyw (Dyq + DyL Λ − I)U
<0
0
2
Cz Q Dzw (Dzq + DzL Λ)U − γ2 Iz
che corrisponde a:
AQ Bw Bq U + BL X 0
0 − I2w 0 0
He
Cy Q + H Dyw Dyq U + DyL X − U
<0 (2.5.7)
0
2
Cz Q Dzw Dzq U + DzL X − γ2 Iz
Per quel che riguarda il vincolo di inclusione per la condizione di settore genera-
lizzata, con i passaggi visti nel paragrafo 2.3 si perviene all’equazione (2.3.9). Infine
con una trasformazione dello spazio analoga a quella vista nell’equazione (2.5.7) e
continuo.
37
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico
γ(·) ≤ γG
¤
X
L2 : kwk2 ≤ s̄.
18
Buona connessione, Stabilità, Prestazione.
38
Cap. 2 Analisi e sintesi a tempo continuo §2.6 Minimo guadagno L2 nonlineare
nonlineare γ(s) del sistema di controllo anti-windup con Λ = Λ(s̄) come in osserva-
zione 2.4.2 giustapponendo in luogo delle matrici Bq , Dyq , Dzq nel teorema 2.4.1, le
matrici (ora completamente note) del sistema di controllo anti-windup definite nel
paragrafo 1.4.4: (Bq + BL Λ), (Dyq + DyL Λ), (Dzq + DzL Λ), cioè è possibile tracciare il
diagramma del guadagno L2 nonlineare γ(s) del sistema di controllo anti-windup ap-
l’stabilità asintotica e garantisce perdita di prestazione limitata del ciclo chiuso, ovvero
γG < ∞.
Il minimo guadagno L2 nonlineare γmin (s) è un lower bound sul guadagno L2 nonli-
neare γ(s) (equazione (2.5.9)) ed è utile per definire il limite di migliore prestazione
39
Cap. 2 Analisi e sintesi a tempo continuo §2.6 Minimo guadagno L2 nonlineare
L2 nonlineare γmin (s) occorre risolvere ∀sk ∈ Is l’equazione (2.5.9) nelle variabili
ne delle coppie (sk , γ(sk )). In figura 2.4 è riportato, a titolo di esempio, il diagramma
del minimo guadagno L2 nonlineare per il sistema “massa molla smorzatore” la cui
19
Per ogni bound s si vuole che le proprietà garantite valgano per ogni w ∈ L2 : kwk2 < s.
40
Cap. 2 Analisi e sintesi a tempo continuo §2.6 Minimo guadagno L2 nonlineare
2
10
1
10
Figura 2.4: Esempio di minimo guadagno L2 nonlineare per un sistema “massa molla
smorzatore”.
41
Capitolo 3
che:
42
Cap. 3 Analisi e sintesi a tempo discreto §3.1 Disequazioni di Lyapunov
x+ = Ax (3.1.1)
valori reali positivi definita sullo spazio di stato (equazione (3.1.2)) per la quale sono
Essa verifica l’equazione (3.1.2) e l’equazione (3.1.3), ed è quindi una buona candidata
come funzione di Lyapunov. Affinché lo sia deve essere rispettata anche la seconda
T
4V < 0 ⇒ 4V = V + −V = x+ P x+ −xTP x = xT(ATP A−P )x < 0 (3.1.6)
Quindi una funzione quadratica che verifica l’equazione (3.1.5) e equazione (3.1.6) è
43
Cap. 3 Analisi e sintesi a tempo discreto §3.2 Stabilità e prestazione
zione (3.2.1)) ottenuto come ciclo chiuso dell’impianto saturato e del suo controllore
non saturato1 :
+
x = Ax + Bq q + Bw w
H: z = Cz x + Dzq q + Dzw w (3.2.1)
yc = Cy x + Dyq q + Dyw w
q = dz(yc ) = yc − sat(yc ) (3.2.2)
Alla luce di quanto visto in paragrafo 3.1, operando in modo analogo a quanto visto
Figura 3.1: Schema equivalente H di sistema a tempo discreto saturato: modello con
deadzone.
in paragrafo 2.2 è possibile introdurre una funzione di Lyapunov per l’attenuazione dei
prestazione). Seguendo i passi sviluppati nel precedente capitolo si può inserire un’ul-
che garantisce il mantenimento della buona connessione in senso nonlineare. Con dei
passaggi del tutto analoghi a quanto visto nell’equazione (2.3.4) e quindi applicando
44
Cap. 3 Analisi e sintesi a tempo discreto §3.2 Stabilità e prestazione
1 T
z z − wT w + 2q T M (yc − q + Kx) ≤ 0, ∀x, w, q ⇔
4V (x) + (3.2.3)
γ2
T −P −1 A Bw Bq 0
ξ T T T ξ
x A −P 0 (Cy + K) M Cz
BT 0 −I · Dyw T
M ¸ Dzw T x
⇔ w
w w ≤ 0, ∀ξ, x, w, q, l
q B T M (Cy+K) M Dyw M Dyq+ T
q T D zq q
+Dyq M −2M
l l
0 Cz Dzw Dzq −γ 2 I
(3.2.4)
Per rendere lineare l’equazione (3.2.4) è necessario imporre una trasformazione del-
£ ¤
lo spazio ξ, x, w, q, l moltiplicando per una opportuna matrice di cambiamento di
solo se:
− 21 Q AQ Bw Bq U 0
0 1
−2Q 0 0 0
He
0 0 − 21 Iw 0 0 ≤0
0 (Cy + K) Q Dyw (Dyq − I) U 0
γ2
0 Cz Q Dzw Dzq U − 2 Iz
se e solo se:
− 12 Q AQ Bw Bq U 0
0 − 12 Q 0 0 0
He
0 0 − 21 Iw 0 0 ≤0
(3.2.5)
0 Cy Q + H Dyw (Dyq − I) U 0
γ2
0 Cz Q Dzw Dzq U − 2 Iz
Per quel che riguarda il vincolo di inclusione per la condizione di settore genera-
lizzata, con i passaggi visti nel paragrafo 2.4 si perviene all’equazione (2.3.9). Infine
con una trasformazione dello spazio analoga a quella di equazione (3.2.5) e ponendo
45
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico
Per il sistema di controllo anti-windup equazione (3.2.1), per ogni s > 0 si definisce:
il problema 3.1.
Come per il caso a tempo continuo, valgono le osservazioni 2.4.1 e 2.4.2 particola-
3.2.1 Implicazioni
Le implicazioni del teorema del guadagno L2 nonlineare per sistemi a tempo discreto
sono le medesime della versione per sistemi a tempo continuo (paragrafo 2.4.1).
Problema 3.2. [5] Siano le matrici del processo P e del controllore C fissate, sin-
46
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico
+
x = Ax + Bw w + (Bq + BL Λ)q
H: y = Cy x + Dyw w + (Dyq + DyL Λ)q (3.3.1)
z = Cz x + Dzw w + (Dzq + DzL Λ)q
q = dz(yc )
sca per il ciclo chiuso ottenuto dall’interconnessione del processo3 e del controllore4
1. Buona connessione.
2. Stabilità.
47
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico
zione (3.3.1)):
1 T
4V (x)+ 2
z z−wTw < 0 ∀x ∈ EP s ∃M = diag{mi } :q TM (yc −q+Kx) ≥ 0
γ
1 T
4V (x) + z z − wT w + 2q T M (yc − q + Kx) < 0 (3.3.2)
γ2
I 4V
T
4V = x+ P x + − xT P x
48
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico
1 T
I γ2
z z
1 T T 1
z z = (Cz x+D zw w+(D zq +D zL Λ)q) (Cz x+Dzw w+(Dzq +DzL Λ)q)
γ2 γ2
T T
x CzT CzT x
1
w
T T
= w Dzw Dzw
T γ2 T
q (Dzq + DzL Λ) (Dzq + DzL Λ) q
I 2q T M (yc − q + Kx)
T 0 0 (Cy +K)TM
x T x
w 0 0 · DywM ¸ w
(3.3.5)
M (Dyq +DyL Λ−I)+
q M (Cy +K) M Dyw q
+(Dyq +DyL Λ−I)T M
Sostituendo le equazioni (3.3.3), (3.3.4) e (3.3.5) nell’equazione (3.3.2) si ottiene:
T −P −1 A Bw Bq +BL Λ 0
ξ A T
−P 0 (C y +K) T
M C T
z
ξ
x BwT 0 −Iw DywT
M T
Dzw x
w M (D +D Λ)+ w
yq yL
q (Bq +BL Λ) M (Cy +K) MDyw +(Dyq +Λ DyL )M (Dzq +DzL Λ) q
T T T T T
l −2M l
0 Cz Dzw Dzq +DzL Λ −γ 2 Iz
7
Nello specifico la formulazione dello Schur Complement riportata nell’equazione (1.4.6) in [2].
49
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico
−P −1 A Bw
Bq +BL Λ 0
AT −P (Cy +K)TM
0 CzT
BwT 0 T
−Iw
DywM T
Dzw
M (D +D Λ)+ < 0 (3.3.6)
yq yL
(Bq +BL Λ) M (Cy +K) MDyw +(Dyq +Λ DyL )M (Dzq +DzL Λ)
T T T T T
−2M
0 Cz Dzw Dzq +DzL Λ −γ 2 Iz
L’equazione (3.3.6) è una disequazione matriciale nonlineare, in quanto presenta
T
1. M e Λ in M (Dyq + DyL Λ) + (Dyq + ΛT DyL
T
)M − 2M
2. M e K in M (Cy + K)
Per rendere lineare l’equazione (3.3.6) è necessario imporre una trasformazione di coor-
£ ¤
dinate ξ, x, w, q, l moltiplicando per una opportuna matrice8 T1 = diag (I, Q, I, U, I) =
− 12 Q AQ Bw (Bq + BL Λ)U 0
0 1
−2Q 0 0 0
He
0 0 − 12 Iw 0 0 <0
0 (Cy + K) Q Dyw (Dyq + DyL Λ − I)U 0
γ2
0 Cz Q Dzw (Dzq + DzL Λ)U − 2 Iz
ed infine:
− 12 Q AQ Bw Bq U + BL X 0
0 − 21 Q 0 0 0
He
0 0 − 12 Iw 0 0 <0
(3.3.7)
0 Cy Q + H Dyw Dyq U + DyL X − U 0
γ2
0 Cz Q Dzw Dzq U + DzL X − 2 Iz
8
M è una matrice diagonale definita positiva, perciò U = M −1 è anche essa diagonale definita
positiva.
50
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico
Per quel che riguarda il vincolo di inclusione per la condizione di settore genera-
lizzata, con i passaggi visti in paragrafo 2.3 si perviene all’equazione (2.3.9). Infine
con una trasformazione dello spazio analoga a quella dell’equazione (2.5.7) e ponendo
discreto.
Sia H (equazione (3.3.1)) il sistema di controllo anti-windup statico, per ogni s > 0
si definisce:
osservazioni del teorema9 2.5.1: osservazioni 2.5.1, 2.5.2, 2.5.3 e 2.5.4 particolarizzate
51
Cap. 3 Analisi e sintesi a tempo discreto §3.4 Minimo guadagno L2 nonlineare
Analogamente a quanto visto nel paragrafo 2.6 per i sistemi a tempo continuo, è
possibile definire il minimo guadagno L2 nonlineare γmin (s) per sistemi anti-windup
a ciclo chiuso a tempo discreto, come il lower bound sul guadagno L2 nonlineare γ(s)
calcolato nel medesimo modo descritto nel paragrafo 2.6 ma sostituendo all’equazione
52
Capitolo 4
53
Cap. 4 Sintesi di anti-windup statico a tempo continuo §4.2 Compensatori Λα
in quanto sintetizzato con una politica che minimizza la distanza tra minimo
nonlineare (paragrafo 2.6) e nella fattispecie associano ad ogni sua coppia di valori1
(sk , γmin (sk )) un set di LMI specifico, simile a quello presentato nel teorema 2.5.1,
La differenza che caratterizza i due diversi algoritmi risiede nella funzione obiettivo
I Il primo minimizza una variabile scalare α comune a tutti i set di LMI, vincoli
dell’ottimizzazione.
I Il secondo minimizza una funzione obiettivo pari alla somma pesata rispet-
54
Cap. 4 Sintesi di anti-windup statico a tempo continuo §4.2 Compensatori Λα
valori (sk , γmin (sk )) del minimo guadagno L2 nonlineare (paragrafo 2.6). La minimiz-
zazione di α implica una prestazione a ciclo chiuso dovuta a Λα1 quanto più vicina a
Operativamente:
le coppie di valori (sk , γmin (sk )) del minimo guadagno L2 nonlineare γmin (s) (vedasi
55
Cap. 4 Sintesi di anti-windup statico a tempo continuo §4.2 Compensatori Λα
analisi sarà approfondita nel capitolo 6. Come lecito aspettarsi nell’intervallo di inte-
1.4
10
1.3
10
0 1 2 3 4
10 10 10 10 10
Figura 4.1: Esempio di confronto tra prestazioni per un sistema “aereo F8 ”: come
lecito aspettarsi nell’intervallo di interesse γmin (s) ≤ γα1 (s) ≤ γG (s).
dati, le coppie di valori (sk , γmin (sk )) del minimo guadagno L2 nonlineare (vedasi
56
Cap. 4 Sintesi di anti-windup statico a tempo continuo §4.2 Compensatori Λα
PNα 2
paragrafo 2.6). La minimizzazione di k=1 γmin (sk )αk implica una prestazione a ciclo
chiuso dovuta a Λα2 quanto più vicina a quella del minimo guadagno L2 nonlineare.
Operativamente:
PNα 2
3. Si minimizza la funzione obiettivo k=1 γmin (sk )αk (equazione (4.2.4)) nelle
le coppie di valori (sk , γmin (sk )) del minimo guadagno L2 nonlineare, si definisce il
vettore:
Nα
X
2
αmin , argmin γmin (sk )αk s.t. (4.2.4)
αk ,Qk ,Hk ,X,U
k=1
AQk Bw Bq U +BL X 0
0 − I2 0 0
0 > He Cy Qk +Hk Dyw Dyq U +DyL X − U 0
(4.2.5)
2
γmin (sk )
Cz Qk Dzw Dzq U +DzL X −(1 + αk ) 2 I
" 2 #
ui
2 Hki
0 ≤ skT , ∀i = 1, ..., nu k = 1, ..., Nα (4.2.6)
Hki Qk
57
Cap. 4 Sintesi di anti-windup statico a tempo continuo §4.2 Compensatori Λα
analisi sarà approfondita nel capitolo 6. Come lecito aspettarsi nell’intervallo di inte-
1.5
10
1.4
10
1.3
10
0 1 2 3 4
10 10 10 10 10
Figura 4.2: Esempio di confronto tra prestazioni per un sistema “aereo F8 ”: come
lecito aspettarsi nell’intervallo di interesse γmin (s) ≤ γα2 (s) ≤ γG (s).
4.2.3 Osservazioni
ciò non avvenisse allora si avrebbe una stima del guadagno L2 del sistema di controllo
anti-windup che compete al compensatore Λα minore dal lower bound dato del minimo
guadagno L2 nonlineare. ¤
X
1. Il numero Nα di coppie di valori (sk , γmin (sk )) scelte per effettuare la sintesi.
58
Cap. 4 Sintesi di anti-windup statico a tempo continuo §4.2 Compensatori Λα
¤
X
Osservazione 4.2.3. La sintesi di Λ tramite gli algoritmi di cui sopra non previene
i problemi collegati alla massima derivata della soluzione esplicita del loop algebrico4
detto vincolo di Lipschitz 5 , definito in dettaglio in [9], sufficiente per ridurre tale
4
v2 = Λq = Λ(yc − u) = Λ(Cc xc + Dcy y + Dcw w + v2 − u)
5
Per dettagli relativi al vincolo di Lipschitz strettamente attinenti a questi algoritmi vedasi
paragrafo A.6.
59
Capitolo 5
In virtù dell’osservazione 2.5.1 la seconda LMI (equazione (3.3.11)) non è mai attiva,
60
Cap. 5 Sintesi di anti-windup statico a tempo discreto §5.2 Compensatori Λα
in quanto sintetizzato con una politica che minimizza la distanza tra minimo
nonlineare (paragrafo 3.4) e nella fattispecie associano ad ogni sua coppia di valori1
(sk , γmin (sk )) un set di LMI specifico, simile a quello presentato nel teorema 3.3.1,
La differenza che caratterizza i due diversi algoritmi risiede nella funzione obiettivo
I Il primo minimizza una variabile scalare α comune a tutti i set di LMI, vincoli
dell’ottimizzazione.
I Il secondo minimizza una funzione obiettivo pari alla somma pesata rispet-
61
Cap. 5 Sintesi di anti-windup statico a tempo discreto §5.2 Compensatori Λα
valori (sk , γmin (sk )) del minimo guadagno L2 nonlineare (paragrafo 3.4). La minimiz-
zazione di α implica una prestazione a ciclo chiuso dovuta a Λα1 quanto più vicina a
Operativamente:
le coppie di valori (sk , γmin (sk )) del minimo guadagno L2 nonlineare γmin (s) (vedasi
62
Cap. 5 Sintesi di anti-windup statico a tempo discreto §5.2 Compensatori Λα
dati, le coppie di valori (sk , γmin (sk )) del minimo guadagno L2 nonlineare (paragra-
P α 2
fo 3.4). La minimizzazione di N k=1 γmin (sk )αk implica una prestazione a ciclo chiuso
dovuta a Λα2 quanto più vicina a quella del minimo guadagno L2 nonlineare.
Operativamente:
PNα 2
3. Si minimizza la funzione obiettivo k=1 γmin (sk )αk (equazione (5.2.4)) nelle
le coppie di valori (sk , γmin (sk )) del minimo guadagno L2 nonlineare, si definisce il
vettore:
3
Annettere un punto s all’infinito è necessario per garantire la prestazione globale.
63
Cap. 5 Sintesi di anti-windup statico a tempo discreto §5.2 Compensatori Λα
Nα
X
2
αmin , argmin γmin (sk )αk s.t. (5.2.4)
αk ,Qk ,Hk ,X,U
k=1
− 21 Qk AQk Bw Bq U +BL X 0
0 − 12 Qk 0 0 0
0 > He 0 0 − 1
I
2 w
0 0 (5.2.5)
0 Cy Qk +Hk Dyw Dyq U +DyL X −U 0
2 (s )
γmin
0 C z Qk Dzw Dzq U +DzL X −(1+αk ) 2 Izk
" 2 #
ui
2 H ki
0 ≤ skT , ∀i = 1, ..., nu k = 1, ..., Nα (5.2.6)
Hki Qk
5.2.3 Osservazioni
Per gli algoritmi a tempo discreto valgono alcune delle considerazioni a tempo conti-
nuo viste nel precedente capitolo, nello specifico valgono sia l’osservazione 4.2.1 che
1. Il numero Nα di coppie di valori (sk , γmin (sk )) scelte per effettuare la sintesi.
¤
X
64
Cap. 5 Sintesi di anti-windup statico a tempo discreto §5.2 Compensatori Λα
per i sistemi a tempo discreto, sostituendo l’equazione (2.5.9) con l’equazione (3.3.9)).
¤
X
65
Capitolo 6
Simulazioni
In questo capitolo vengono mostrati i risultati degli algoritmi pre-
cedentemente presentati su due sistemi dinamici soggetti a satura-
zione. Verrà mostrato come l’introduzione del compensatore anti-
windup recuperi la prestazione persa a causa del windup, garan-
tendo proprietà globali, e che i compensatori Λα hanno prestazioni
migliori rispetto al compensatore Λg .
6.1 Simulazioni
Validare una teoria con degli esempi è quanto di più utile per mostrare in modo chiaro
Gli algoritmi dei capitolo 4 e capitolo 5 sono stati implementati in ambiente Mat-
Lab con l’ausilio di tool specifici per LMI: tool di interfaccia e definizione (Yalmip)
ware che sintetizza compensatori anti-windup statici. A questa prima parte, di sin-
66
Cap. 6 Simulazioni §6.1 Simulazioni
Figura 6.1: Schema Simulink per il confronto tra risposte dei sistemi di controllo.
sintetizzati1 segue direttamente dal teorema2 2.4.1 per sistemi a tempo continuo e dal
modello Simulink di figura 6.1: nello specifico in blocchi la cui struttura è mostra-
ta in figura 6.2a. Come visto nella definizione di controllore non saturato (equazione
(1.4.2)), a fianco all’ingresso uc = y si trovano due ulteriori ingressi (v1 , v2 , definiti nel-
67
Cap. 6 Simulazioni §6.1 Simulazioni
1 y −r yc u
y _controllore
r v1 plant 1
Controller v2 y
Saturation plant
Lambda _2
K*u
v1
K*u
q
Lambda _1 Dead Zone
Il modello Simulink di figura 6.1, inoltre, simula le traiettorie del sistema non
saturato (figura 1.2) e del sistema saturato (figura 1.3): in questo modo si hanno a
rie per una valutazione qualitativa della bontà dei compensatori sintetizzati ottenuta
Gli esempi di seguito riportati, comparsi già in [3], [8], [4] e [7], sono stati testati
sia con gli algoritmi tempo-continuo che con quelli tempo-discreto (previa discretizza-
zione del modello utilizzato), ottenendo i risultati globali aspettati: ovvero ottenendo
1. per il sistema massa molla smorzatore ([4], [8]) si vuole garantire il tracking della
68
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
2. per il sistema aereo F8 ([3], [7]) si vuole ridurre il degrado di prestazione dovuto
Queste uscite sono utili in fase di sintesi del compensatore, meno in fase simulativa,
ragion per cui di seguito vengono riportate solo le risposte nel tempo relative alle uscite
£ ¤T
Dove xp , q q̇ rappresenta la posizione e la velocità della massa m connessa alla
F esercitato sulla massa. A questo sistema fisico si associa il sistema dinamico, la cui
69
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
Figura 6.4: Segnale di riferimento che si vuole far inseguire al sistema massa molla
smorzatore.
Il controllore che soddisfa le specifiche non saturato a ciclo chiuso è descritto dalle
matrici:
· ¸ −2.5 0 0 0 1.5811
Ac Bcu Bcw 193.65 −80 19.365 122.47 0
=
50
Cc Dcu Dcw 0 0 31.623 0
316.23 −122.47 31.623 200 0
70
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
0.80889
Per quel che riguarda il calcolo dei compensatori Λα l’algoritmo è più comples-
2.6). Questo è l’ingrediente base per il calcolo dei compensatori Λα , i quali sono ot-
e nell’equazione (4.2.4):
−0.44339 −0.63647
0.45321 0.7269
Λα1 =
6.2553
Λα2 =
9.166
0.81083 0.80042
Guadagno L2 nonlineare
71
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
2
10
1
10
Figura 6.5: Sistema massa molla smorzatore. Diagramma del minimo guadagno L2
nonlineare (celeste), del guadagno L2 nonlineare relativo a Λg (rosso), a Λα1 (verde)
e a Λα2 (blu): i due compensatori Λα hanno una prestazione garantita globale non
peggiore (non più grande) di Λg nella zona di interesse. Nello specifico Λα2 (blu)
ha guadagno L2 praticamente identico al Λg (rosso); Λα1 (verde) è leggermente più
piccolo nell’intervallo di interesse.
7
Linea orizzontale tratteggiata, pari al guadagno L2 dei compensatori Λ, ottenuto per s = ∞.
8
Non più grande.
72
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
nonlineare.
Nello specifico, per la coppia (Nα , Is ) = (20, [10−3 ; 103 ]) scelta i valori minimi
Il sistema di controllo non saturato è progettato per soddisfare certe specifiche richie-
ste, che verranno deteriorate dal windup. La simulazione del sistema non saturato su
sistema, che come mostrato in figura 6.7 genera un’evidente fenomeno oscillatorio che
73
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
0.5
Output
0
−0.5
y1 unconstrained
−1
0 5 10 15 20 25
10
5
Input
−5
u1 unconstrained
−10
0 5 10 15 20 25
Time (s)
Figura 6.6: Traiettorie non saturate del sistema massa molla smorzatore a ciclo chiuso.
Livelli di saturazione sull’ingresso (puntinato) non attivi.
[TC] Traiettorie saturate VS unconstrained del sistema
30
20
Output
10
−10
−20
y1 constrained
−30
0 5 10 15 20 25
10
5
Input
−5
u1 constrained
−10
0 5 10 15 20 25
Time (s)
Figura 6.7: Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistema
massa molla smorzatore a ciclo chiuso. Livelli di saturazione sull’ingresso (puntinato)
attivi.
Il sistema di controllo anti-windup a ciclo chiuso deve recuperare parte della pre-
della saturazione.
74
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
In figura 6.8 è riportato il confronto tra risposta in uscita per il sistema non satura-
Λg , Λα1 , Λα2 , per una simulazione del sistema figura 6.1 di periodo T=25 sec.
In figura 6.9 è riportato il confronto tra segnale di controllo per il sistema non satu-
rato e segnale di controllo (saturato) per i sistemi anti-windup nelle diverse modalità:
compensatore Λg , Λα1 , Λα2 per una simulazione del sistema figura 6.1 di periodo T=25
sec.
praticamente identico.
75
Confronto tra risposte in uscita [TC]
1
0.8
Cap. 6 Simulazioni
0.6
0.4
0.2
−0.2
−0.4
−0.6 y globale
1
y α
1 1
−0.8 y1 α2
y1 unconstrained
−1
0 5 10 15 20 25
Figura 6.8: Risposta in uscita per il sistema non saturato (celeste) e per i sistemi di controllo anti-windup con compensatore
Λg (rosso), Λα1 (verde), Λα2 (blu) del sistema massa molla smorzatore a ciclo chiuso. Riferimento (puntinato). Λα1 e Λα2
sono sintetizzati su Nα = 20 punti, Is = [10−3 ; 103 ].
§6.2 Esempio 1: sistema massa molla smorzatore (TC)
76
Confronto tra segnali di controllo [TC]
10
8
Cap. 6 Simulazioni
−2
−4
−6 u1 globale
u1 α1
−8 u1 α2
u1 unconstrained
−10
0 5 10 15 20 25
Figura 6.9: Segnale di controllo per il sistema non saturato (celeste) e per i sistemi di controllo anti-windup con com-
pensatore Λg (rosso), Λα1 (verde), Λα2 (blu) del sistema massa molla smorzatore a ciclo chiuso. Livelli di saturazione
(puntinato). Λα1 e Λα2 sono sintetizzati su Nα = 20 punti, Is = [10−3 ; 103 ].
§6.2 Esempio 1: sistema massa molla smorzatore (TC)
77
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
0.5
Output
−0.5
y1
AWg
−1
0 5 10 15 20 25
10
5
Input
−5
u1
AWg
−10
0 5 10 15 20 25
Time (s)
Figura 6.10: Traiettorie del sistema di controllo anti-windup globale (continuo) e non
saturato (tratteggiato) del sistema massa molla smorzatore a ciclo chiuso. Il com-
pensatore anti-windup globale è stato sintetizzato risolvendo l’equazione (4.1.1) e ga-
rantisce stabilità e prestazione globale. Livelli di saturazione sull’ingresso (puntinato)
attivi.
figura 6.11. Le traiettorie del compensatore anti-windup globale Λα2 sono riportate
in figura 6.12.
è α: per la coppia (Nα , Is ) = (20, [10−3 ; 103 ]) scelta i valori minimi calcolati sono
rispettivamente:
Inoltre lo stesso Λα1 produce una risposta in uscita che converge più velocemente
per l’esempio di cui sopra, in cui viene applicato il riferimento sopra definito con
78
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
0.5
Output
0
−0.5
y1
AW a1
−1
0 5 10 15 20 25
10
5
Input
−5
u1
AW a1
−10
0 5 10 15 20 25
Time (s)
Figura 6.11: Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non
saturato (tratteggiato) del sistema massa molla smorzatore a ciclo chiuso. Il com-
pensatore anti-windup Λα1 è stato sintetizzato risolvendo l’equazione (4.2.1) e garan-
tisce stabilità e prestazione globale. Λα1 è leggermente più veloce di Λg . Livelli di
saturazione sull’ingresso (puntinato) attivi.
[TC] Traiettorie AW alfa2 VS unconstrained del sistema con Nα = 20
1
0.5
Output
−0.5
y1
AW a2
−1
0 5 10 15 20 25
10
5
Input
−5
u
1
AW a2
−10
0 5 10 15 20 25
Time (s)
Figura 6.12: Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e non
saturato (tratteggiato) del sistema massa molla smorzatore a ciclo chiuso. Il compen-
satore anti-windup Λα2 è stato sintetizzato risolvendo l’equazione (4.2.4) e garantisce
stabilità e prestazione globale. Livelli di saturazione sull’ingresso (puntinato) attivi.
79
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
dinamico:
−0.8 −0.0006 −12 0 −19 −3
0 −0.014 −16.64 −32.2 −0.66 −0.5
A=
1
Bpu =
−0.0001 −1.5 0 −0.16 −0.5
1 0 0 0 0 0
· ¸ · ¸
0 0 0 1 0 0
Cpy = Dpyu =
0 0 −1 1 0 0
[−25, 25] gradi. L’uscita misurata yp ∈ R2 è l’angolo di pitch e l’angolo di flight path,
che per gli esempi che seguono è stato fissato a [10; 10] gradi. Il sistema di controllo
non saturato a ciclo chiuso, ottenuto con tecnica LQG/LTR, è descritto dalle matrici:
· ¸ · ¸
Aa + Ba G − HCa 0 H
Ac = Bcy = −Bcw =
G 0 0
£ ¤
Cc = 0 I Dcy = Dcw = 02x2
80
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
· ¸ · ¸
0 0 I2 £ ¤
Aa = Ba = Ca = 02x2 Cpyu
Bpu Ap 04x2
Questo è l’ingrediente base per il calcolo dei compensatori Λα , i quali sono otte-
nell’equazione (4.2.4):
9
Significa scegliere Nα − 1 valori di s logaritmicamente equispaziati su un intervallo Is , e per
ognuno associare il vincolo di prestazione garantita ∀w : kwk2 < s.
10
La necessità di introdurre questo punto è giustificata nel paragrafo 4.2.3.
81
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
−86.22 15.01 −30.58 1.43
133.87 −125.22 79.92 −17.22
6.71 −1.39 4.83 0.19
105.43 19.37 18.72 1.04
−0.96 −0.13 0.02 0.04
Λα1 =
−4.96
Λα2 =
−0.20
−1.44 −0.07
−86.64 14.88 −30.71 1.42
133.42 −125.97 78.73 −17.39
−0.12 0.23 0.75 0.02
3.49 −0.07 −0.35 0.75
Guadagno L2 nonlineare
zona di interesse.
nonlineare.
Nello specifico, per la coppia (Nα , Is ) = (20, [100 ; 104 ]) scelta i valori minimi
82
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
1.5
10
1.4
10
1.3
10
Compensatore ottimo TC globale
Compensatore ottimo TC per alfa 1
Compensatore ottimo TC per alfa 2
Minimo guadagno L nonlineare TC
2
0 1 2 3 4
10 10 10 10 10
Figura 6.13: Sistema aereo F8 a tempo continuo. Diagramma del minimo guadagno
L2 nonlineare (celeste), del guadagno L2 nonlineare relativo a Λg (rosso), a Λα1 (verde)
e a Λα2 (blu): i due compensatori Λα hanno una prestazione garantita globale migliore
(più piccola) di Λg nella zona di interesse.
0.86873
0.94717
1.0922
1.2827
1.4943
1.7271
2.0116
1.9822
1.6257
1.4701
α1 = 0.4719 α2 =
1.4227
1.4052
1.3752
1.3414
1.316
1.293
1.2778
1.26
1.2489
1.2355
83
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
Il sistema di controllo non saturato è progettato per soddisfare certe specifiche richie-
ste, che verranno deteriorate dal windup. La simulazione del sistema non saturato su
10
8
Output
2
y1 unconstrained
0 y2 unconstrained
−2
−1 0 1 2 3 4 5
80
60
40
Input
20
0
u1 unconstrained
−20
u2 unconstrained
−40
−1 0 1 2 3 4 5
Time (s)
Figura 6.14: Traiettorie non saturate del sistema aereo F8 a ciclo chiuso. Livelli di
saturazione sull’ingresso (puntinato) non attivi.
sistema, che come mostrato in figura 6.15 produce overshoot inaccettabili, ovvero-
In figura 6.16 è riportato il confronto tra risposta in uscita per il sistema non
saturato e risposta in uscita per i sistemi anti-windup nelle diverse modalità: com-
84
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
10
Output
5
0 y1 constrained
y2 constrained
−5
−1 0 1 2 3 4 5
80
60
40
Input
20
0
u1 constrained
−20
u2 constrained
−40
−1 0 1 2 3 4 5
Time (s)
Figura 6.15: Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistema
aereo F8 a ciclo chiuso. Livelli di saturazione sull’ingresso (puntinato) attivi.
pensatore Λg , Λα1 , Λα2 , per una simulazione del sistema figura 6.1 di periodo T=5
sec.
guadagno L2 da w a z (un upper bound sul vero guadagno L2 del sistema) cioè
gono alla risposta non saturato più velocemente di Λg pur garantendo la stessa
85
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
prestazione globale di Λg .
I Il compensatore Λα2 produce una risposta in uscita che converge più veloce-
In figura 6.17 è riportato il confronto tra segnale di controllo per il sistema non
saturato e segnale di controllo (saturato) per i sistemi anti-windup nelle diverse moda-
lità: compensatore Λg , Λα1 , Λα2 per una simulazione del sistema figura 6.1 di periodo
T=5 sec.
86
Confronto tra risposte in uscita [TC]
12
10
6
Cap. 6 Simulazioni
y globale
4 1
y1 α1
2
y1 α2
0 y unconstrained
1
−2
−1 0 1 2 3 4 5
12
10
6
y2 globale
4
y α
2 1
2
y α
2 2
0 y unconstrained
2
−2
−1 0 1 2 3 4 5
Figura 6.16: Risposte in uscita per il sistema non saturato (celeste) e per i sistemi di controllo anti-windup con compen-
satore Λg (rosso), Λα1 (verde), Λα2 (blu) del sistema aereo F8 a ciclo chiuso. Riferimento (puntinato). Λα1 e Λα2 sono
sintetizzati su Nα = 20 punti, Is = [100 ; 104 ].
§6.3 Esempio 2: sistema aereo F8 (TC)
87
Confronto tra segnali di controllo [TC]
30
20
10
Cap. 6 Simulazioni
0
u1 globale
−10
u1 α1
−20
u1 α2
−30 u1 unconstrained
−40
−1 0 1 2 3 4 5
80
60
40
20 u2 globale
0 u α
2 1
u2 α2
−20
u2 unconstrained
−40
−1 0 1 2 3 4 5
Figura 6.17: Segnali di controllo per il sistema non saturato (celeste) e per i sistemi di controllo anti-windup con com-
pensatore Λg (rosso), Λα1 (verde), Λα2 (blu) del sistema aereo F8 a ciclo chiuso. Livelli di saturazione (puntinato). Λα1 e
Λα2 sono sintetizzati su Nα = 20 punti, Is = [100 ; 104 ].
§6.3 Esempio 2: sistema aereo F8 (TC)
88
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
10
8
Output
2 y1
AWg
0 y2
AWg
−2
−1 0 1 2 3 4 5
80
60
40
Input
20
0
u1
AWg
−20 u2
AWg
−40
−1 0 1 2 3 4 5
Time (s)
figura 6.19. Le traiettorie del compensatore anti-windup globale Λα2 sono riportate
in figura 6.20.
è α: per la coppia (Nα , Is ) = (20, [100 ; 104 ]) scelta i valori minimi calcolati sono
rispettivamente:
89
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
10
Output
6
2 y1
AW a1
0 y2
AW a1
−2
−1 0 1 2 3 4 5
80
60
40
Input
20
0
u1
AW a1
−20 u2
AW a1
−40
−1 0 1 2 3 4 5
Time (s)
Figura 6.19: Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non
saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-
windup Λα1 è stato sintetizzato risolvendo l’equazione (4.2.1) e garantisce stabilità e
prestazione globale, inoltre fornisce una dinamica migliore rispetto a Λg . Livelli di
saturazione sull’ingresso (puntinato) attivi.
Ciò mostra (y˜1 α2 = 0.1301 e y˜2 α2 = 0.11329) che per questo riferimento specifico
14
L’errore di inseguimento viene indicato con ỹ(t) = y(t) − w(t).
90
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
10
8
Output
2 y1
AW a2
0 y2
AW a2
−2
−1 0 1 2 3 4 5
80
60
40
Input
20
0
u1
AW a2
−20 u2
AW a2
−40
−1 0 1 2 3 4 5
Time (s)
Figura 6.20: Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e non
saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-
windup Λα2 è stato sintetizzato risolvendo l’equazione (4.2.4) e garantisce stabilità e
prestazione globale. Λα2 è, inoltre, nettamente il miglior compensatore per velocità
di convergenza e per errore di inseguimento dopo 5 sec. rispetto Λα1 e Λg . Livelli di
saturazione sull’ingresso (puntinato) attivi.
91
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
Si consideri la dinamica longitudinale del sistema aereo F8 descritta nel paragrafo 6.3
nella sua versione discretizzata da ZOH con T c = 0.01 sec. L’ingresso di controllo
esogeno w ∈ R2 è il riferimento che per gli esempi che seguono è stato fissato a [10; 10]
gradi.
è l’ingrediente base per il calcolo dei compensatori Λα , i quali sono ottenuti risolvendo
92
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
−0.52875 0.080337 −0.5247 0.076291
1.0201 −0.59791 1.0009 −0.57733
0.071419 −0.0031798 0.077147 −0.0046825
0.97843 0.09477 1.0546 0.15103
−0.0034853 0.0010226 −0.0070692 0.0015498
Λα1 =
−0.022482 −0.0004093 Λα2 =
−0.023472 −0.00025436
−0.53167 0.079687 −0.52815 0.075486
1.0379 −0.60284 1.015 −0.57996
0.24602 0.15471 0.12441 0.17578
2.2459 0.24192 2.924 0.1218
Guadagno L2 nonlineare
zona di interesse.
nonlineare.
Nello specifico, per la coppia (Nα , Is ) = (10, [101.5 ; 103 ]) scelta i valori minimi
93
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
1.5
10
1.4
10
1.3
10
1.2
10
2 3
10 10
Figura 6.21: Sistema aereo F8 a tempo discreto. Diagramma del minimo guadagno L2
nonlineare (celeste), del guadagno L2 nonlineare relativo a Λg (rosso), a Λα1 (verde)
e a Λα2 (blu): i due compensatori Λα hanno una prestazione garantita migliore (più
piccola) di Λg nell’intervallo di interesse.
0.0055855
0.019374
0.10551
0.18183
0.27288
α1 = 0.32433 α2 =
0.33518
0.20266
0.14857
0.14326
0.29612
Il sistema di controllo non saturato è progettato per soddisfare certe specifiche richie-
ste, che verranno deteriorate dal windup. La simulazione del sistema non saturato
razione sull’ingresso di controllo causa il windup del sistema, che come mostrato in
94
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
10
Output
8
4
y1 unconstrained
2
y2 unconstrained
0
−1 0 1 2 3 4 5
80
60
40
Input
20
0
u1 unconstrained
−20
u2 unconstrained
−40
−1 0 1 2 3 4 5
Time (s)
Figura 6.22: Traiettorie non saturate del sistema aereo F8 a ciclo chiuso. Livelli di
saturazione sull’ingresso (puntinato) non attivi.
figura 6.23 produce overshoot inaccettabili, ovverosia una perdita di prestazione che
non saturato.
[TD] Traiettorie saturate VS unconstrained del sistema
14
12
10
Output
4
y1 constrained
2 y2 constrained
0
−1 0 1 2 3 4 5
80
60
40
Input
20
0
u constrained
1
−20
u2 constrained
−40
−1 0 1 2 3 4 5
Time (s)
Figura 6.23: Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistema
aereo F8 a ciclo chiuso. Livelli di saturazione sull’ingresso (puntinato) attivi.
95
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
In figura 6.24 è riportato il confronto tra risposta in uscita per il sistema non
saturato e risposta in uscita per i sistemi anti-windup nelle diverse modalità: com-
pensatore Λg , Λα1 , Λα2 , per una simulazione del sistema figura 6.1 di periodo T=5
sec.
l’intervallo di simulazione.
lenta di Λα1 .
prestazione globale.
In figura 6.25 è riportato il confronto tra segnale di controllo per il sistema non satu-
rato e segnale di controllo (saturato) per i sistemi anti-windup nelle diverse modalità:
compensatore Λg , Λα1 , Λα2 per una simulazione del sistema figura 6.1 di periodo T=5
sec.
96
Confronto tra risposte in uscita [TD]
12
10
8
Cap. 6 Simulazioni
6 y globale
1
4 y1 α1
y1 α2
2
y unconstrained
1
0
−1 0 1 2 3 4 5
12
10
6 y2 globale
4 y α
2 1
y α
2 2
2
y unconstrained
2
0
−1 0 1 2 3 4 5
Figura 6.24: Risposte in uscita per il sistema non saturato (celeste) e per i sistemi di controllo anti-windup con compen-
satore Λg (rosso), Λα1 (verde), Λα2 (blu) del sistema aereo F8 a ciclo chiuso. Riferimento (puntinato). Λα1 e Λα2 sono
sintetizzati su Nα = 10 punti, Is = [101.5 ; 103 ].
§6.4 Esempio 3: sistema aereo F8 (TD)
97
Confronto tra segnali di controllo [TD]
30
20
10
Cap. 6 Simulazioni
0
u1 globale
−10
u1 α1
−20
u1 α2
−30 u1 unconstrained
−40
−1 0 1 2 3 4 5
80
60
40
20 u2 globale
0 u α
2 1
u2 α2
−20
u2 unconstrained
−40
−1 0 1 2 3 4 5
Figura 6.25: Segnale di controllo per il sistema non saturato (celeste) e per i sistemi di controllo anti-windup con com-
pensatore Λg (rosso), Λα1 (verde), Λα2 (blu) del sistema aereo F8 a ciclo chiuso. Riferimento (puntinato). Λα1 e Λα2 sono
sintetizzati su Nα = 10 punti, Is = [101.5 ; 103 ].
§6.4 Esempio 3: sistema aereo F8 (TD)
98
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
10
Output
4
y1
AWg
2 y2
AWg
0
−1 0 1 2 3 4 5
80
60
40
Input
20
0
u1
AWg
−20 u2
AWg
−40
−1 0 1 2 3 4 5
Time (s)
figura 6.27. Le traiettorie del compensatore anti-windup globale Λα2 sono riportate
in figura 6.28.
è α: per la coppia (Nα , Is ) = (10, [101.5 ; 103 ]) scelta i valori minimi calcolati sono
rispettivamente:
Λα1 . Ciò è avvalorato dalla simulazione, infatti applicando il riferimento sopra definito
99
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
10
Output
8
4
y1
AW a1
2 y2
AW a1
0
−1 0 1 2 3 4 5
80
60
40
Input
20
0
u1
AW a1
−20 u2
AW a1
−40
−1 0 1 2 3 4 5
Time (s)
Figura 6.27: Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non
saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-
windup Λα1 è stato sintetizzato risolvendo l’equazione (5.2.1) e garantisce stabilità
e prestazione globale. È il migliore tra i compensatori anti-windup sintetizzati sep-
pur mantenga un errore di inseguimento dopo 5 sec. non trascurabile. Livelli di
saturazione sull’ingresso (puntinato) attivi.
è:
Ciò mostra (y˜1 α1 = 0.3209 e y˜2 α1 = 0.28088) che per questo riferimento specifico
100
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
10
Output
4
y1
AW a2
2 y2
AW a2
0
−1 0 1 2 3 4 5
80
60
40
Input
20
0
u1
AW a2
−20 u2
AW a2
−40
−1 0 1 2 3 4 5
Time (s)
Figura 6.28: Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e non
saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-
windup Λα2 è stato sintetizzato risolvendo l’equazione (5.2.4) e garantisce stabilità e
prestazione globale. Livelli di saturazione sull’ingresso (puntinato) attivi.
101
Capitolo 7
In questo lavoro di tesi sono state presentate varie soluzioni (algoritmi α) al problema
dell’anti-windup statico con prestazione nonlineare garantita, sia per sistemi a tempo
continuo che per sistemi a tempo discreto, con lo scopo di migliorare le performance
ottenute con algoritmi per la sintesi di anti-windup statico globale Λg già esistenti in
letteratura.
globale finito; ed è questo l’aspetto originale e rilevante della tesi: compensatori statici
Tutti gli algoritmi presentati sono stati sottoposti a verifiche simulative che hanno
avuto esito positivo; un ulteriore passo in avanti in questo lavoro potrebbe essere la
102
Cap. 7 Conclusioni e sviluppi futuri
103
Appendice A
Strumenti Matematici
Sia y(t) ∈ Rn un segnale definito t ≥ 0, allora l’energia ky(·)k2 di y(t), detta norma
Affiché ky(·)k2 < ∞, è necessario che y(t) sia una funzione convergente: quindi
zione al contrario); inoltre a segnali con una energia minore (ovvero con una ky(·)k2
più piccola) corrisponde una maggiore la velocità di convergenza del segnale a zero.
1
Questo è vero sotto alcune lievi ipotesi di regolarità su y(·).
104
Cap. A Strumenti Matematici §A.3 Guadagno L2 ingresso/uscita
Si definisce Spazio L2 lo spazio di tutti i segnali y(t) con norma L2 finita, ovvero
ad energia finita.
sZ
∞
y(t) ∈ L2 ⇔ ky(·)k2 = y(t)T y(t)dt < ∞
0
z(·) a partire dallo stato iniziale nullo x(0) = 0 del sistema P (equazione (A.3.1))
appartiene anch’essa allo spazio L2 (Per maggiori dettagli si veda lemma III.2 in [6]).
L’estremo superiore dell’insieme dei valori assunti da tale rapporto al variare dell’in-
condizione:
105
Cap. A Strumenti Matematici §A.4 Ottimizzazione Convessa
col guadagno L2 di P è dimostrato anche dal Bounded Real Lemma (teorema 2.4.1).
v = tx + (1 − t) y ∈ Ω
I Se f ∈ C 1 allora:
I Se f ∈ C 2 allora:
∇2 f (x) ≥ 0, ∀x ∈ Ω̊
106
Cap. A Strumenti Matematici §A.5 LMI
che:
∀y ∈ Ω, ∇f (x∗ )(y − x∗ ) ≥ 0
A.5 LMI
2. Una volta espresso in termini di LMI, un problema può essere risolto esattamente
107
Cap. A Strumenti Matematici §A.5 LMI
3. Un problema con molti vincoli o obiettivi potrebbe non avere una soluzione
dove:
2. F0 , ..., Fm sono matrici simmetriche reali, ovvero del tipo Fi = FiT ∈ Rn×n .
F (x) < 0
dove F è una funzione affine che associa uno spazio vettoriale V di dimensioni finite
© ª
F : V → Sn , M |M = M T ∈ Rn×n
108
Cap. A Strumenti Matematici §A.5 LMI
l’insieme Ω , {x|F (x) < 0} delle soluzioni di F (x) < 0 è convesso, quindi ∀x, y ∈
con F funzione affine ad x, e dove la disuguaglianza segue dal fatto che t > 0 e
1 − t > 0. ¤
X
Poiché una LMI definisce un insieme convesso Ω nella variabile x, problemi di otti-
su LMI:
zione x ∈ V di F (x) < 0. Si dice che una LMI ammette soluzione (feasible) se
tale soluzione esiste, altrimenti la LMI non ha una soluzione ammissibile (not
feasible o infeasible).
una funzione del tipo f : Ω → R del tipo f = cT x, con Ω , {x|F (x) < 0} e si
109
Cap. A Strumenti Matematici §A.5 LMI
F (x) > 0
H(x) > 0
Sistemi di LMI
La potenza delle LMI risiede nella loro capacità di esprimere diversi tipi di insiemi
convessi con proprietà più attraenti rispetto a quelle degli insieme convessi generici.
Qualsiasi sistema di LMI può essere espresso come una singola LMI, infatti l’e-
con F (x) simmetrica per ogni x, e dato che l’insieme degli autovalori di F (x) è dato
dall’unione degli autovalori di F1 (x), F2 (x), ..., Fn (x), tutti i valori di x che soddisfano
Lo Schur Complement (per una trattazione nel dettaglio si vedano [1], [2]) è forse lo
strumento più importante legato alle LMI: esso infatti permette di trasformare una
110
Cap. A Strumenti Matematici §A.6 Vincolo di Lipschitz
se:
½
R(x) > 0
(A.5.4)
Q(x) − S(x)R−1 (x)S T (x) > 0
in termini di LMI, cioè passare da forme del tipo definito dall’equazione (A.5.4) a
Informazioni più dettagliate sulle LMI si trovano in particolar modo in [1], [2] e
[11].
usato per garantire un bound finito sulla costante di Lipschitz (la massima deriva-
ta del membro destro) del sistema anti-windup a ciclo chiuso, ottenuta attenuando
ν ∈ [0; 1)
3
Il vincolo di Lipschitz va aggiunto rispettivamente per i tre algoritmi di sintesi nell’equa-
zione (4.1.1), nell’equazione (4.2.1) e nell’equazione (4.2.4) per la sintesi a tempo continuo e
nell’equazione (5.1.1), nell’equazione (5.2.1) e nell’equazione (5.2.4) per la sintesi a tempo discreto.
111
Cap. A Strumenti Matematici §A.6 Vincolo di Lipschitz
Se 0 < ν < 1 allora l’equazione (A.6.1) diventa quanto più vincolante tanto più ν→1.
112
Appendice B
1. Yalmip
2. Se.Du.Mi.
B.1 Yalmip
Yalmip, acronimo di Yet Another LMI Parser, è un tool free specifico per Matlab, in
principio sviluppato come semplice parser di LMI, ora vera e propria interfaccia di
di ottimizzazione su LMI.
B.1.1 Generalità
di ottimizzazione avanzata.
113
Cap. B Tools per LMI in ambiente Matlab §B.1 Yalmip
codice: il linguaggio che usa Yalmip è congruente con la sintassi standard di Mat-
lab che quindi ne caratterizza la semplicità di utilizzo per chiunque abbia familiarità
con Matlab.
lazione d’alto livello, mentre Yalmip si interessa della modellazione di basso livello,
possibile.
ritmi di alto livello, contando su risolutori (solver) esterni per il calcolo. Cionono-
robusta.
Per questo lavoro di tesi è stata utilizzata la versione R20080415 di YALMIP. Si noti
114
Cap. B Tools per LMI in ambiente Matlab §B.1 Yalmip
/yalmip
/yalmip/extras
/yalmip/demos
/yalmip/solvers
/yalmip/modules
/yalmip/modules/parametric
/yalmip/modules/moment
/yalmip/modules/global
/yalmip/modules/sos
/yalmip/operators
I solver esterni vanno installati come riportato nel relativo manuale: assicurarsi di
per una presentazione del tool (e per apprendere velocemente i comandi principali)
online[13].
del software scritto per risolvere i problemi di ottimizzazione oggetto di questa tesi,
corredati di esempi.
sdpsettings è usato per impostare le opzioni di Yalmip e del solver che si desidera
utilizzare.
115
Cap. B Tools per LMI in ambiente Matlab §B.1 Yalmip
option=sdpsettings(’shift’,0,’verbose’,2,’solver’,’sedumi’);
vincoli di disuguaglianza F (x) > 0 sono definiti come F (x) > shif tI. Si noti
I solver: in questo campo è possibile inserire uno qualsiasi dei solver installati.
Per lasciare libera la scelta a Yalmip del solver da utilizzare è sufficiente porre
Q = sdpvar(Dim.ncl,Dim.ncl,’symmetric’);
I Matrice diagonale:
U = diag(sdpvar(Dim.nu,1))
I Matrice rettangolare:
H = sdpvar(Dim.nu,Dim.ncl);
I Variabile scalare:
116
Cap. B Tools per LMI in ambiente Matlab §B.1 Yalmip
gamma_2 = sdpvar(1,1);
PHI=(...);
I Creazione del set di vincoli vuoto e inclusione al set del vincolo di Lyapunov:
Constraints = set(He(PHI)<=0);
LIP=He( (1-nu)*U-SysCL.Dyq*U-SysCL.Dyl*X )
Constraints=Constraints+set(LIP>0);
solvesdp minimizza la funzione obiettivo, soggetta ai vincoli definiti via set con
solvesdp(Constraints,gamma_2, option);
diventa negativo e molto piccolo; se invece perde di ammissibilità allora prim diventa
fortemente negativo
[prim,dual] = checkset(Constraints);
117
Cap. B Tools per LMI in ambiente Matlab §B.2 Se.Du.Mi.
Gamma_2=double(gamma_2)
B.2 Se.Du.Mi.
B.2.1 Generalità
Per questo lavoro di tesi è stato utilizzato SeDuMi 1.1, la cui installazione in ambiente
La GNU General Public License è una licenza per software libero. È comunemente
indicata con l’acronimo GNU GPL o semplicemente GPL.[. . .]Contrapponendosi alle
licenze per software proprietario, la GNU GPL assicura all’utente libertà di utilizzo,
copia, modifica e distribuzione. (http://it.wikipedia.org/wiki/GNU GPL)
Una copia di GNU GPL è consultabile al sito:
http://sedumi.ie.lehigh.edu/component/option,com docman/task,doc download/gid,25/Itemid,76/
118
Cap. B Tools per LMI in ambiente Matlab §B.2 Se.Du.Mi.
[14].
4
Per coerenza si consiglia di estrarre i file nella cartella /toolbox di Matlab.
119
Elenco delle figure
con deadzone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Proprietà di settore globale, sector[0, K]; per nonlinearità tipo satura-
anti-windup statico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
molla smorzatore”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
con deadzone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
anti-windup statico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
120
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
6.1 Schema Simulink per il confronto tra risposte dei sistemi di controllo. 67
6.4 Segnale di riferimento che si vuole far inseguire al sistema massa molla
smorzatore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
di interesse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.6 Traiettorie non saturate del sistema massa molla smorzatore a ciclo
121
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
6.8 Risposta in uscita per il sistema non saturato (celeste) e per i siste-
Λα2 (blu) del sistema massa molla smorzatore a ciclo chiuso. Rife-
Is = [10−3 ; 103 ]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.9 Segnale di controllo per il sistema non saturato (celeste) e per i sistemi
Λα2 (blu) del sistema massa molla smorzatore a ciclo chiuso. Livelli di
Is = [10−3 ; 103 ]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.11 Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non sa-
attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
122
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
interesse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.14 Traiettorie non saturate del sistema aereo F8 a ciclo chiuso. Livelli di
attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.16 Risposte in uscita per il sistema non saturato (celeste) e per i sistemi
6.17 Segnali di controllo per il sistema non saturato (celeste) e per i sistemi
123
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
(puntinato) attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
interesse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.22 Traiettorie non saturate del sistema aereo F8 a ciclo chiuso. Livelli di
124
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.24 Risposte in uscita per il sistema non saturato (celeste) e per i sistemi
6.25 Segnale di controllo per il sistema non saturato (celeste) e per i sistemi
125
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
126
Bibliografia
http://www.stanford.edu/~boyd/lmibook/lmibook.pdf
[2] Carsten Scherer and Siep Weiland, “Linear Matrix Inequalities in Control”,
http://www.dcsc.tudelft.nl/~cscherer/2416/lmi05.pdf
[3] Gene Grimm, Jay Hatfield, Ian Postlethwaite, Adrew R. Teel, Matthew C. Turner
and Luca Zaccarian, “Antiwindup for Stable Linear Systems With Input Satura-
[4] Tingshu Hu, Andrew R. Teel and Luca Zaccarian, “Nonlinear L2 gain and regio-
nal analysis for linear systems with anti-winup compensation”, American Control
Conference, 2005.
[5] Eric F. Mulder, Mayuresh V. Kothare and Manfred Morari, “Multivariable anti-
no.9pp.1407-1416, Sept.2001.
127
BIBLIOGRAFIA BIBLIOGRAFIA
[7] P. Kapasouris, M. Athans, G. Stein, “Design of feedback control systems for stable
[8] Luca Zaccarian and Andrew R. Teel, “A common framework for anti-windup,
[9] G. Grimm, A.R. Teel, and L. Zaccarian, “Establishing Lipschitz properties of mul-
[10] K.J. Astrom and L. Rundqwist, “Integrator Windup and How to Avoid It”, In
[11] Pascal Gahinet, Arkadi Nemirovski, Alan J. Laub and Mahmoud Chilali,
“LMI Control Toolbox User’s Guide”, copyright 1995 by The MathWorks, Inc.
http://www.mathworks.com/access/helpdesk_r13/help/pdf_doc/lmi/lmi.pdf
[12] Xiaoxin Liao, Pei Yu, Reinhard Laubenbacher, Angela Stevens, “Absolute
http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php
http://sedumi.ie.lehigh.edu/component/option,com_frontpage/Itemid,1/
128