Post on 27-Jun-2015
description
UNIVERSITA DEGLI STUDI DI ROMA
TOR VERGATA
FACOLTA DI INGEGNERIA
CORSO DI LAUREA IN INGEGNERIA
DELL’AUTOMAZIONE
A.A. 2007/2008
Tesi di Laurea Specialistica
SINTESI DI ANTIWINDUP STATICO
CON PRESTAZIONE NONLINEARE OTTIMIZZATA
RELATORE CANDIDATO
Prof. Luca Zaccarian Roberto de Simone0085690
CORRELATORI
Prof. Sergio Galeani
Dedico questo lavoro alla mia famiglia e ai miei amici
Indice
Ringraziamenti 1
Introduzione 2
1 Definizione del problema 6
1.1 Le funzioni di saturazione e di deadzone . . . . . . . . . . . . . . . . 6
1.2 Stabilizzazione con saturazione . . . . . . . . . . . . . . . . . . . . . 8
1.2.1 Il windup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Obiettivi della compensazione anti-windup . . . . . . . . . . . . . . . 11
1.4 Ciclo chiuso con anti-windup . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.1 Ciclo aperto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.2 Ciclo chiuso non saturato . . . . . . . . . . . . . . . . . . . . 12
1.4.3 Ciclo chiuso saturato . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.4 Ciclo chiuso anti-windup . . . . . . . . . . . . . . . . . . . . . 14
2 Analisi e sintesi a tempo continuo 19
2.1 Disequazioni di Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Funzioni di Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Proprieta di settore . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.1 Proprieta di settore generalizzata . . . . . . . . . . . . . . . . 27
INDICE I
INDICE
2.4 Stabilita e prestazione . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.1 Implicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5 Sintesi di anti-windup statico . . . . . . . . . . . . . . . . . . . . . . 33
2.6 Minimo guadagno L2 nonlineare . . . . . . . . . . . . . . . . . . . . . 39
3 Analisi e sintesi a tempo discreto 42
3.1 Disequazioni di Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2 Stabilita e prestazione . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.1 Implicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3 Sintesi di anti-windup statico . . . . . . . . . . . . . . . . . . . . . . 46
3.4 Minimo guadagno L2 nonlineare . . . . . . . . . . . . . . . . . . . . . 52
4 Sintesi di anti-windup statico a tempo continuo 53
4.1 Compensatori Λg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.2 Compensatori Λα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.1 Sintesi di anti-windup con algoritmo α1 . . . . . . . . . . . . . 55
4.2.2 Sintesi di anti-windup con algoritmo α2 . . . . . . . . . . . . . 56
4.2.3 Osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5 Sintesi di anti-windup statico a tempo discreto 60
5.1 Compensatori Λg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2 Compensatori Λα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.1 Sintesi di anti-windup con algoritmo α1 . . . . . . . . . . . . . 62
5.2.2 Sintesi di anti-windup con algoritmo α2 . . . . . . . . . . . . . 63
5.2.3 Osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
INDICE II
INDICE
6 Simulazioni 66
6.1 Simulazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.2 Esempio 1: sistema massa molla smorzatore (TC) . . . . . . . . . . . 69
6.2.1 Guadagno L2 nonlineare e risposta nel tempo . . . . . . . . . 71
6.3 Esempio 2: sistema aereo F8 (TC) . . . . . . . . . . . . . . . . . . . 80
6.3.1 Guadagno L2 nonlineare e risposta nel tempo . . . . . . . . . 81
6.4 Esempio 3: sistema aereo F8 (TD) . . . . . . . . . . . . . . . . . . . 92
6.4.1 Guadagno L2 nonlineare e risposta nel tempo . . . . . . . . . 92
7 Conclusioni e sviluppi futuri 102
A Strumenti Matematici 104
A.1 Nomenclatura generale . . . . . . . . . . . . . . . . . . . . . . . . . . 104
A.2 Norma L2 e Spazio L2 . . . . . . . . . . . . . . . . . . . . . . . . . . 104
A.3 Guadagno L2 ingresso/uscita . . . . . . . . . . . . . . . . . . . . . . . 105
A.4 Ottimizzazione Convessa . . . . . . . . . . . . . . . . . . . . . . . . . 106
A.5 LMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
A.5.1 Schur Complement . . . . . . . . . . . . . . . . . . . . . . . . 110
A.6 Vincolo di Lipschitz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
B Tools per LMI in ambiente Matlab 113
B.1 Yalmip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
B.1.1 Generalita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
B.1.2 Guida all’installazione . . . . . . . . . . . . . . . . . . . . . . 114
B.1.3 Comandi principali . . . . . . . . . . . . . . . . . . . . . . . . 115
B.2 Se.Du.Mi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
INDICE III
INDICE
B.2.1 Generalita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
B.2.2 Guida all’installazione . . . . . . . . . . . . . . . . . . . . . . 118
B.2.3 Comandi principali . . . . . . . . . . . . . . . . . . . . . . . . 119
Elenco delle figure 120
Bibliografia 126
INDICE IV
Ringraziamenti
Ringrazio tutti.
Introduzione 1
Introduzione
Nel problema di sintesi di controlli automatici per sistemi dinamici lineari si e soliti
trascurare gli effetti nonlineari degli attuatori che inducono prestazioni non sempre
coincidenti con quelle nominali e il cui degradamento, in alcuni casi fortuiti, puo persi-
no rendere il sistema instabile: tale fenomeno e detto windup. Cio accade perche ogni
attuatore e intrinsecamente un saturatore di ampiezze, e quindi i segnali in ingresso al
processo sono sempre soggetti a limitazioni. Il windup e stato affrontato a cominciare
dagli anni ’50 con la costruzione dei cosiddetti compensatori anti-windup, dispositivi
che introducono un’azione di controllo solo quando il sistema entra in saturazione,
prevenendo l’instabilita e attenuando la perdita di prestazione. La compensazione
anti-windup rappresenta un allargamento dello schema di controllo1 in grado di re-
cuperare parte del comportamento nominale in presenza di saturazione degli ingressi
del processo. La struttura di controllo anti-windup utilizzata in questa tesi e sta-
ta introdotta durante gli anni ’50 per necessita industriali e prevede l’installazione
di un apposito filtro, pilotato dalla discordanza tra uscita del controllore e ingresso
all’impianto, che agisce direttamente sul controllore preesistente.
E interessante caratterizzare le proprieta desiderate per il compensatore anti-
windup che si vuole sintetizzare:
I Deve essere un compensatore statico, ovvero un guadagno, inserito tra discor-
1Performante per l’impianto non saturato.
Introduzione 2
Introduzione
danza dovuta alla saturazione ed ingresso al controllore. Siffatto compensatore
e semplice da realizzare ed impiantare nel sistema di controllo nel caso in cui
esso sia gia operativo.
I Deve garantire prestazioni globali, ovvero mantenere buona connessione, stabi-
lita e guadagno L2 ingresso/uscita limitato per ogni segnale di ingresso.
In questa tesi viene sviluppata, con una formulazione basata su disuguaglianze
matriciali lineari (LMI) che estende i concetti di guadagno L2 nonlineare e di sintesi
di anti-windup con prestazione garantita proposti in [4] e [5], la classe dei compen-
satori anti-windup statici con prestazione nonlineare garantita per sistemi
di controllo a tempo continuo e a tempo discreto asintoticamente stabili, soggetti
a saturazione d’ampiezza dell’ingresso di controllo. Una formulazione basata su
LMI e di semplice costruzione e appartiene alla classe dei problemi numericamente
trattabili; nello specifico ammissibilita e ottimizzazione su LMI sono problemi con-
vessi, e, conseguentemente, la ricerca di un compensatore che soddisfi le prestazioni
nonlineari richieste si traduce in un problema di minimizzazione su insieme convesso.
La potenza degli algoritmi di risoluzione su LMI2 e, infine, la caratteristica vincente
rispetto ad un approccio classico di ottimizzazione convessa di equazioni matriciali
generiche.
In particolare i compensatori statici anti-windup con prestazione globale3 Λα, og-
getto e novita introdotta da questo lavoro di tesi, garantiscono guadagno L2 ingres-
so/uscita:
I Limitato per ogni riferimento (o disturbo) w.
2Interior-point methods, fine anni ’80.3Buona connessione, stabilita e guadagno L2 del sistema di controllo anti-windup a ciclo chiuso
finito.
Introduzione 3
Introduzione
I Migliore rispetto al guadagno L2 del compensatore globale Λg ([4] e [5]) in quanto
sintetizzato con una politica che minimizza la distanza tra minimo guadagno
L2 nonlineare e guadagno L2 nonlineare che compete al sistema di controllo
anti-windup con compensatore Λα.
La tesi e strutturata come segue:
I Nel Capitolo 1 viene presentato il problema del windup inquadrandolo all’interno
della teoria dei sistemi lineari.
I Nei Capitoli 2 e 3 vengono discussi e dimostrati, rispettivamente per sistemi di-
namici lineari a tempo continuo e a tempo discreto ad ingressi saturati, il teore-
ma Guadagno L2 nonlineare [4] e il teorema Guadagno L2 nonlineare per la sin-
tesi di anti-windup statico [5] che generalizza il precedente teorema introducendo
la sintesi del compensatore anti-windup statico Λg globale.
I Nei Capitoli 4 e 5 vengono, rispettivamente, presentate le versioni a tempo con-
tinuo e a tempo discreto dei due nuovi algoritmi, detti algoritmi α, per la sintesi
di anti-windup statico, Λα1 e Λα2 , con prestazione nonlineare piu performan-
te rispetto all’anti-windup statico con prestazione globale Λg ottenuto con il
teorema Guadagno L2 nonlineare per la sintesi di anti-windup statico.
I Nel Capitolo 6 vengono esposti i risultati delle simulazioni degli algoritmi α su 3
esempi di sistemi soggetti a saturazione (sistema massa molla smorzatore (TC),
sistema aereo F8 (TC) e sistema aereo F8 (TD)) mostrando come l’introdu-
zione del compensatore anti-windup recuperi la prestazione persa dal windup
garantendo proprieta globali, e che i compensatori Λα hanno prestazioni migliori
rispetto al compensatore Λg. Il software per le simulazioni e stato sviluppato
Introduzione 4
Introduzione
in ambiente Matlab e Simulink e fa uso massivo dei toolbox per LMI Yalmip e
Se.Du.Mi.
I Nelle Appendici A e B sono riportati, rispettivamente, gli strumenti matematici
fondamentali utilizzati nelle dimostrazioni dei teoremi e i dettagli sui software
per LMI utilizzati nel listato MatLab per le simulazioni.
Introduzione 5
Capitolo 1
Definizione del problema
In questo capitolo viene presentato il problema del windup inqua-drandolo all’interno della teoria dei sistemi. Nei paragrafi 1.1 e 1.2vengono focalizzate le cause e gli effetti del windup e nel paragrafo1.3 le modalita di compensazione e gli obiettivi della compensazioneanti-windup. Infine, nel paragrafo 1.4 vengono presentati i siste-mi di controllo cui si fara riferimento nel prosieguo del lavoro ditesi: ciclo aperto, ciclo chiuso non saturato, ciclo chiuso satura-to e ciclo chiuso anti-windup. Per quest’ultimo, descritto in mododettagliato nel paragrafo 1.4.4, sono state esplicitate le matrici di si-stema a ciclo chiuso, necessarie, poi, per la sintesi di compensatorianti-windup nei capitoli 2, 3, 4 e 5.
1.1 Le funzioni di saturazione e di deadzone
La saturazione e una funzione nonlineare (figura 1.1) che descrive una delle piu comuni
nonlinearita dei sistemi fisici reali in generale, di quelli dinamici in particolare: la
limitatezza delle grandezze applicabili in ingresso, ovvero l’impossibilita di avere un
incremento dell’effetto risultante a seguito di un incremento sufficientemente grande
di una grandezza forzante causale.
La funzione di saturazione descritta nell’equazione (1.1.1) e implementata dal bloc-
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):
satu(u) ,
−u ∀u : u ≤ −u
u ∀u : −u < u < uu ∀u : u ≥ u
(1.1.1)
Occorre notare che la saturazione impone un range stretto di valori che il controllo
u puo assumere, per l’appunto all’interno dell’intervallo [−u, u]. All’infuori dell’in-
tervallo il segnale di controllo entra in zona nonlineare cioe si satura su uno dei due
limiti.
(a) Saturatore: blocco che implementa la saturazione.
(b) Segnale non saturato u, ingresso delsaturatore.
(c) Segnale saturato sat(u), uscita delsaturatore.
Figura 1.1: Funzione di Saturazione.
Altra tipica nonlinearita che compare spesso nei modelli di sistemi dinamici, simile
alla saturazione, e la deadzone: tale funzione e pari allo scostamento che vi e tra un
generico segnale u (figura 1.1b) in ingresso al blocco saturatore (figura 1.1a) e la
corrispondente uscita sat(u) (figura 1.1c).
La funzione di deadzone e definita dall’equazione (1.1.2):
dz(u) , u− sat(u) (1.1.2)
7
Cap. 1 Definizione del problema §1.2 Stabilizzazione con saturazione
1.2 Stabilizzazione con saturazione
Sia dato un sistema lineare ad ingressi saturati nella forma:
x = Ax + Bsat(u) (1.2.1)
Dove u e una certa funzione di controllo in retroazione dallo stato. E lecito chiedersi
sotto quali condizioni esista un controllo stabilizzante in presenza di saturazione e di
quali proprieta goda (regione attrattiva, velocita di convergenza. . . ):
I Se A e Hurwitz, cioe se tutti gli autovalori di A sono a parte reale nega-
tiva, il controllo u = 0 stabilizza globalmente il sistema dinamico descritto
dall’equazione (1.2.1).
Esempio:
x = −x + sat(u), se u = 0 ⇒ x = −x
I Se A e instabile esponenzialmente, cioe se esiste almeno un autovalore di
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:
x = x + sat(u), se x(0) > u ⇒ x > 0,∀u
Per questo tipo di sistema e possibile garantire solo RAS1≡RES2 con regione
garantita. La regione controllabile a zero e limitata solo nelle direzioni degli
autospazi esponenzialmente instabili.
1La RAS, acronimo di Stabilita Asintotica Regionale, e la proprieta per cui un certo sistemadinamico nonlineare converge a 0 solo per alcune condizioni iniziali.
2La RES, acronimo di Stabilita Esponenziale Regionale, e la proprieta per cui un certo siste-ma dinamico nonlineare converge a 0 esponenzialmente solo per alcune condizioni iniziali. Vale laproprieta generale RES ⊆ RAS.
8
Cap. 1 Definizione del problema §1.2 Stabilizzazione con saturazione
I Se A e non Hurwitz e non esponenzialmente instabile, cioe se il sistema
descritto dall’equazione (1.2.1) e ANCBI3, allora ∃u(·) che stabilizza globalmen-
te asintoticamente ma non esponenzialmente4(a causa della saturazione).
In altre parole:
@K, λ : ∀x0 |x(t)| ≤ K|x0|e−λt ∀t (1.2.2)
Nel prosieguo si fara riferimento soltanto a processi asintoticamente stabili, in tal
caso (A Hurwitz) il controllo u(·) serve solo per migliorare le prestazioni del processo
saturato. Cio non toglie la validita generale, anche per sistemi non asintoticamente
stabili, degli algoritmi sviluppati. In tal caso, come ovvio presumere, non sara possibile
richiedere garantite proprieta globali, ma solo locali.
A questo punto viene naturale chiedersi cosa succeda al sistema di controllo quando
si trovi in zona nonlineare:
I E sempre garantita la stabilita del sistema di controllo progettato ipotizzando
l’assenza della saturazione?
I E sempre mantenuta la prestazione del sistema di controllo progettato ipotiz-
zando l’assenza della saturazione?
I E sempre possibile imporre nuove specifiche di prestazione?
La risposta e no, ed il fenomeno che causa questo comportamento e denominato
windup.
3La ANCBI, acronimo di Asymptotically Null-Controllable with Bounded-Inputs, e la proprietaper cui un sistema dinamico nonlineare risulta globalmente (per ogni x0) e asintoticamente stabilecon ingressi saturati.
4Per i sistemi LTI vale sempre GAS⇒GES, per i sistemi nonlineari cio potrebbe non accadere; inquesto caso specifico e possibile dimostrare che il sistema ANCBI e GAS ma soltanto RES. Infatti,poiche la GES e una proprieta robusta allora garantisce GES anche per x = (A + εI) x + sat(u), ilche e impossibile se A e ANCBI perche il sistema diverrebbe instabile e, come mostrato nel puntoA esponenzialmente instabile, sarebbe possibile garantire solo RAS.
9
Cap. 1 Definizione del problema §1.2 Stabilizzazione con saturazione
1.2.1 Il windup
Definizione 1.2.1. Il windup e un fenomeno nonlineare dovuto alla presenza di
saturazioni del controllo u(t) che puo causare l’insorgenza di fenomeni oscillatori,
risposte in uscita che convergono lentamente, instabilita ed in generale degradamento
delle prestazioni del sistema di controllo.
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
di controllo. L’effetto della saturazione degli attuatori, presente in tutti i sistemi,
e evidente quando il controllore non e asintoticamente stabile cioe ogni volta che
contenga un’azione integrale5. Quando il ciclo di feedback e rotto, cioe quando entra
in gioco la saturazione, il tipo di controllo diventa un feed forward (u = u) e i modi non
asintoticamente stabili del regolatore possono portare le variabili interne del sistema
a valori indesiderati, conseguentemente il sistema di controllo puo impiegare molto
tempo per raggiungere l’equilibrio, o non raggiungerlo mai.
5Si supponga di applicare un gradino (positivo) come riferimento ad un sistema GAS: si ottieneall’istante iniziale un errore di riferimento e(t) non nullo. Se il controllore e dotato di azione integra-tiva allora l’integrale
∫e(t)dt dell’errore crescera, andando a pilotare l’uscita del sistema che crescera
conseguentemente, finche l’errore e(t) non sara nullo, cioe finche uscita e riferimento non si eguaglie-ranno. Se l’integrale dell’errore entra in saturazione allora il segnale di controllo u(t) = sat
(∫e(t)dt
)rimarra costante (u(t) = u, azione di tipo feed forward) non solo finche l’errore di riferimento nonsi annullera, ma anche finche l’integrale dell’errore non si sara scaricato. In altre parole affincheil segnale di controllo torni in zona lineare (
∫e(t)dt < u) e necessario che l’uscita cresca sufficien-
temente (cioe che raggiunga il riferimento e si allontani nella direzione opposta) da far diventaresufficientemente negativo l’errore e(t), in tal modo l’integrale dell’errore diminuira e quando sarainferiore alla soglia di saturazione il feedback sara ristabilito. Nel momento in cui il sistema torna inzona lineare, l’uscita e nuovamente distante dal riferimento a causa della sovraelongazione provocatadalla saturazione, questo errore non nullo (questa volta negativo) pilotera il processo che oscillando siavvicinera al valore di riferimento lentamente se la sovraelongazione e sufficiente piccola, altrimentidivergera.
10
Cap. 1 Definizione del problema §1.3 Obiettivi della compensazione anti-windup
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
comporti in modo nonlineare (saturato) con conseguente deterioramento delle presta-
zioni (dovuto al windup) via via che il controllo cresce. A causa di questa nonlinearita
non e 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, e lo studio dell’energia
del segnale di uscita, strumento generale valido sia per sistemi lineari che per sistemi
nonlineari. Diventa, quindi, necessario introdurre il guadagno L2 ingresso-uscita del
sistema (vedasi paragrafo A.3), cioe la massima amplificazione di energia del segnale
di ingresso.
Controllore sotto-dimensionato. Un modo pratico per risolvere il problema e
scalare il segnale di controllo, garantendo che al valore massimo in uscita al controllore,
corrisponda il valore massimo di attuazione. Questo approccio limita fortemente le
performance raggiungibili.
Compensatore anti-windup. Un modo alternativo per risolvere il problema
e 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,
tramite un opportuno compensatore anti-windup (vedasi paragrafo 1.4.4), che entra
in funzione solo in zona nonlineare e ha lo scopo di mantenere la prestazione del
sistema saturato quanto piu vicina a quella del sistema nominale quando esce dalla
zona lineare.
In generale, il problema anti-windup si riassume nell’obiettivo di sintetizzare un
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
un controllore prefissato, sintetizzato ignorando la saturazione in ingresso (vincolo di
piccoli segnali) e per grandi segnali garantisca stabilita e prestazioni accettabili. Il
lavoro di questa tesi si focalizza su compensatori lineari anti-windup statici, ovvero
guadagni statici denominati Λ.
1.4 Ciclo chiuso con anti-windup: modello con dead-
zone
1.4.1 Ciclo aperto
Si consideri l’impianto P asintoticamente stabile dato da:
P :
xp = Apxp + Bpuu + Bpwwy = Cpyxp + Dpyuu + Dpywwz = Cpzxp + Dpzuu + Dpzww
(1.4.1)
Dove xp ∈ Rnp e lo stato dell’impianto, u ∈ Rnu e l’ingresso di controllo, w ∈Rnw e l’ingresso esogeno (disturbi o riferimenti), y ∈ Rny e l’uscita misurabile del-
l’impianto, z ∈ Rnz e l’uscita di prestazione (in genere l’errore di inseguimento) e
Ap, Bpu, Bpw, Cpy, Dpyu, Dpyw, Cpz, Dpzu, Dpzw sono matrici di dimensioni appropriate
che caratterizzano l’impianto. L’impianto in cui u = 0 viene chiamato impianto a
ciclo aperto.
1.4.2 Ciclo chiuso non saturato
Si consideri il controllore non saturato6, di seguito chiamato semplicemente control-
lore, cosı definito:
C :
xc = Acxc + Bcyy + Bcww + v1
yc = Ccxc + Dcyy + Dcww + v2(1.4.2)
6Il controllore non saturato e quel controllore (eventualmente ottimo) sintetizzato per ottenerecerte prestazioni dall’impianto a ciclo chiuso non soggetto a saturazioni.
12
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup
Dove xc ∈ Rnc e lo stato del controllore, yc ∈ Rnu e l’uscita del controllore7, v1 e
v2 sono ingressi addizionali momentaneamente disconnessi (che saranno poi coman-
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
dimensioni appropriate che caratterizzano il controllore non saturato.
Tale controllore e progettato in modo tale che l’interconnessione con l’impianto at-
traverso le equazioni (1.4.3) garantisca la buona connessione e la stabilita asintotica
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)
W :
x = ACLx + BCLwz = CCLx + DCLw
(1.4.4)
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
ed e globalmente asintoticamente stabile.
Figura 1.2: Sistema di controllo a ciclo chiuso non saturato.
7L’uscita del controllore e il segnale di controllo che pilota il processo.8La 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
1.4.3 Ciclo chiuso saturato
Si consideri il caso in cui gli attuatori presentino una saturazione9 del controllo allora
l’interconnessione del processo (equazione (1.4.1)) e del controllore (equazione (1.4.2))
attraverso equazione (1.4.5) da’ luogo ad un sistema di controllo saturato H
(equazione (1.4.6), figura 1.3) che puo essere soggetto al windup10.
u = sat(yc) q = dz(yc) v = 0 (1.4.5)
H :
x = Ax + Bqq + Bwwz = Czx + Dzqq + Dzwwyc = Cyx + Dyqq + Dyww
(1.4.6)
Quindi e possibile che sia persa la buona connessione e la stabilita. Inoltre, e probabile
che sia persa la prestazione non saturato.
(a) Sistema di controllo a ciclo chiuso con saturazione degliingressi controllanti.
(b) Schema equivalente H:modello con deadzone.
Figura 1.3: Ciclo chiuso saturato.
1.4.4 Ciclo chiuso anti-windup
Si dimostra (si rimanda a [5] e ai paragrafi 2.5 e 3.3 per i dettagli) che per i sistemi
asintoticamente stabili soggetti a nonlinearita tipo deadzone e saturazione e possibile
mantenere limitata la perdita di performance e continuare a garantire stabilita asin-
totica, sintetizzando un compensatore statico anti-windup Λ atto a pilotare il sistema
9La nonlinearita saturazione e definita nel paragrafo 1.1.10Il windup, e i suoi effetti, sono definiti nel paragrafo 1.2.1.
14
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup
di controllo in zona nonlineare. Esso e ottenuto minimizzando il guadagno L2 tra w
e z del sistema di controllo anti-windup, e prende come input la discordanza q tra
ingresso di controllo al processo u e uscita del controllore yc.
(a) Sistema di controllo a ciclo chiuso con compensatore anti-windupstatico.
(b) Schema equivalente H:modello con deadzone.
Figura 1.4: Ciclo chiuso anti-windup.
L’interconnessione del processo (equazione (1.4.1)) e del controllore (equazione
(1.4.2)) attraverso l’equazione (1.4.7) da’ luogo ad un sistema di controllo anti-
windup H (equazione (1.4.8), figura 1.4) con origine asintoticamente stabile, ben-
connesso e con prestazione ottimizzata.
u = sat(yc) q = dz(yc) v = Λq (1.4.7)
H :
x = Ax + Bww + (Bq + BLΛ)qyc = Cyx + Dyww + (Dyq + DyLΛ)qz = Czx + Dzww + (Dzq + DzLΛ)q
(1.4.8)
Definizione 1.4.2. Si definisce sistema di controllo anti-windup H (equazione (1.4.8),
figura 1.4), l’interconnessione del processo (equazione (1.4.1)) e del controllore (equa-
zione (1.4.2)) attraverso l’equazione (1.4.7). Il sistema di controllo anti-windup ha
stato xCL ∈ RnCL=np+nc ottenuto come aggregato degli stati di processo e controllore,
ha guadagno L2 limitato11 ed e asintoticamente stabile.
11Garantire guadagno L2 limitato per il sistema di controllo anti-windup significa garantire ilparziale recupero della prestazione persa dal windup.
15
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup
Di seguito verranno calcolate in forma esplicita le matrici di sistema H (equazione
(2.5.1)) in funzione delle matrici di processo (equazione (1.4.1)), controllore (equazio-
ne (1.4.2)), Λ =
[Λ1
Λ2
]e dell’equazione (1.4.7).
Calcolo di y:
y = Cpyxp + Dpyusat(yc) + Dpyww
y = Cpyxp + Dpyu(yc − q) + Dpyww
y = Cpyxp + Dpyu(Ccxc + Dcyy + Dcww + Λ2q − qI) + Dpyww
(I −DpyuDcy)y = Cpyxp + DpyuCcxc + (DpyuDcw + Dpyw)w + Dpyu(Λ2q − qI)
Posto:
∆y = (I −DpyuDcy)−1
E possibile scrivere y in modo piu compatto:
y = ∆yCpyxp + ∆yDpyuCcxc + ∆y(DpyuDcw + Dpyw)w + ∆yDpyu(Λ2q − qI)
Calcolo di yc:
yc = Ccxc + Dcyy + Dcww + Λ2q
yc = Ccxc + Dcy(Cpyxp + Dpyu(yc − q) + Dpyww) + Dcww + Λ2q
(I −DcyDpyu)yc = Ccxc + DcyCpyxp + (Λ2 −DcyDpyu)q + (Dcw + DcyDpyw)w
Posto:
∆u = (I −DcyDpyu)−1
16
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup
E possibile scrivere yc in modo piu compatto:
yc = ∆uCcxc + ∆uDcyCpyxp + ∆u(Λ2 −DcyDpyu)q + ∆u(Dcw + DcyDpyw)w
yc = ∆uCcxc + ∆uDcyCpyxp + (∆uΛ2 + I −∆u)q + ∆u(Dcw + DcyDpyw)w
Calcolo di xp:
xp = Apxp + Bpuu + Bpww
xp = Apxp + Bpuyc −Bpuq + Bpww
xp = [Ap + Bpu∆uDcyCpy] xp + [Bpu∆uCc] xc + [Bpu∆uΛ2 −Bpu∆u] q +
+ [Bpw + Bpu∆u (Dcw + DcyDpyw)] w
Calcolo di xc:
xc = Acxc + Bcyy + Bcww + Λ1q
xc = Acxc + Bcy∆yCpyxp + Bcy∆yDpyuCcxc + Bcy∆y(DpyuDcw + Dpyw)w +
+Bcy∆yDpyuΛ2q −Bcy∆yDpyuq + Bcww + Λ1q
xc = [Bcy∆yCpy] xp + [Ac + Bcy∆yDpyuCc] xc + [Bcy∆y(DpyuDcw + Dpyw) + Bcw] w +
+ [Bcy∆yDpyuΛ2 −Bcy∆yDpyu + Λ1] q
17
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup
Calcolo di z:
z = Cpzxp + Dpzuu + Dpzww
z = Cpzxp + Dpzu(yc − q) + Dpzww
z = Cpzxp + Dpzu(∆uCcxc + ∆uDcyCpyxp + (∆uΛ2 + I −∆u)q +
+∆u(Dcw + DcyDpyw)w − qI) + Dpzww
z = Cpzxp + Dpzu∆uCcxc + Dpzu∆uDcyCpyxp + Dpzu(∆uΛ2 + I −∆u)q +
+Dpzu∆u(Dcw + DcyDpyw)w −Dpzuq + Dpzww
z = [Cpz + Dpzu∆uDcyCpy] xp + [Dpzu∆uCc] xc + [Dpzu∆u(Λ2 − I)] q +
+ [Dpzu∆u(Dcw + DcyDpyw) + Dpzw] w
Alla luce dei conti di cui sopra, le matrici di sistema di H (equazione (2.5.1)) sono
cosı definite:
∆y = (I −DpyuDcy)−1 ∆u = (I −DcyDpyu)
−1
A =
[Ap + Bpu∆uDcyCpy Bpu∆uCc
Bcy∆yCpy Ac + Bcy∆yDpyuCc
]Bw =
[Bpw + Bpu∆u (Dcw + DcyDpyw)Bcw + Bcy∆y(DpyuDcw + Dpyw)
]
Bq =
[ −Bpu∆u
−Bcy∆yDpyu
]BL =
[0 Bpu∆u
I Bcy∆yDpyu
]
Cy =[∆uDcyCpy ∆uCc
]Dyw =
[∆u(Dcw + DcyDpyw)
]
Dyq =[I −∆u
]DyL =
[0 ∆u
]
Cz =[Cpz + Dpzu∆uDcyCpy Dpzu∆uCc
]Dzw =
[Dpzw + Dpzu∆u(Dcw + DcyDpyw)
]
Dzq =[−Dpzu∆u
]DzL =
[0 Dpzu∆u
]
Λ =
[Λ1
Λ2
]
18
Capitolo 2
Analisi e sintesi di stabilita eprestazione per sistemi linearisaturati a tempo continuo
In questo capitolo viene discusso e dimostrato il teorema GuadagnoL2 nonlineare per sistemi dinamici lineari a tempo continuo coningressi saturati. Questo teorema e fondamentale per la sintesi delcompensatore anti-windup statico da applicare al sistema dinamicoper il recupero della prestazione degradata dal windup. La dimo-strazione del teorema si sviluppa su un percorso logico i cui passisono descritti nei paragrafi 2.1, 2.2, 2.3, 2.4. Nel paragrafo 2.5 vie-ne discusso e dimostrato il teorema Guadagno L2 nonlineare per lasintesi di anti-windup statico per sistemi dinamici lineari a tem-po continuo, che generalizza il precedente teorema introducendola sintesi del compensatore anti-windup statico Λ.
Problema 2.1. Dato un sistema di controllo anti-windup a tempo continuo, deter-
minare una stima del guadagno L2 nonlineare da w a z, cioe una funzione γ(·) non
decrescente tale che:
‖z‖2 ≤ γ (‖w‖2) ‖w‖2 (2.0.1)
19
Cap. 2 Analisi e sintesi a tempo continuo §2.1 Disequazioni di Lyapunov
2.1 Disequazioni di Lyapunov
Le disequazioni di Lyapunov permettono di determinare se un sistema dinamico tempo
contiuno e asintoticamente stabile.
Si consideri il sistema dinamico lineare a tempo continuo:
x = Ax (2.1.1)
esso e globalmente asintoticamente stabile1 se esiste una funzione V (·) di Lyapunov a
valori reali positivi definita sullo spazio di stato (equazione (2.1.2)) per la quale sono
verificate le disequazioni di Lyapunov (equazione (2.1.3), equazione (2.1.4)):
x = Ax e GES ⇐ ∃V (·) : X → R≥0 (2.1.2)
V ∈ C1, tale che V (x) > 0,∀x ∈ X \ 0 (2.1.3)
V = 〈∇V (x),x〉 =dV (x)
dxAx < ε|x|2,∀x (2.1.4)
Si consideri, ora, una funzione quadratica in x cosı definita:
V (x) = xT Px con P = P T > 0 (2.1.5)
Essa verifica sia l’equazione (2.1.2) che l’equazione (2.1.3), ed e quindi una buona
candidata come funzione di Lyapunov. Affinche lo sia deve essere rispettata anche la
seconda disequazione di Lyapunov (equazione (2.1.4)):
V < 0 ⇔ V = xT Px + xT Px = xT (AT P + PA)x < 0 (2.1.6)
Una funzione quadratica che verifica l’equazione (2.1.5) e l’equazione (2.1.6) e di
Lyapunov per sistemi a tempo continuo.
1Per un sistema lineare la globale stabilita asintotica coincide con la globale stabilita esponenziale.
20
Cap. 2 Analisi e sintesi a tempo continuo §2.2 Funzioni di Lyapunov
Queste condizioni sono riscrivibili come sistema di disequazioni matriciali lineari
(LMI), facilmente risolvibili2, come mostrato nell’equazione (2.1.7):
x = Ax e GES ⇐
V > 0 ⇐ P = P T > 0
V < 0 ⇐ He(PA) , PA + AT P < 0(2.1.7)
2.2 Funzione di Lyapunov per l’attenuazione dei
disturbi
La funzione di Lyapunov per l’attenuazione dei disturbi e un’estensione delle disequa-
zioni di Lyapunov che formalizza, oltre al concetto di stabilita 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
i disturbi. Si vogliono, quindi, analizzare gli effetti sull’uscita z dovuti al disturbo w
per l’impianto P (equazione (2.2.1)):
P :
x = Ax + Bwz = Cx + Dw
(2.2.1)
P e globalmente asintoticamente stabile con misura di prestazione garantita3 se esiste
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-
quazioni di Lyapunov per l’attenuazione dei disturbi (equazione (2.2.3), equazione
2Sulle caratteristiche principale delle LMI e sulla facilita di risoluzione in problemi diottimizzazione o di ammissibilita si rimanda al paragrafo A.5.
3In questo contesto la misura di prestazione e garantita se esiste una costante γ positiva e finitatale che il guadagno L2 del sistema sia minore di γ.
21
Cap. 2 Analisi e sintesi a tempo continuo §2.2 Funzioni di Lyapunov
(2.2.4)):
se ∃V (·) : X → R≥0 (2.2.2)
V ∈ C1, tale che V (x) > 0,∀x ∈ X \ 0 (2.2.3)
〈∇V (x),x〉+1
γ2zT z − wT w < 0 (2.2.4)
1. Stabilita.
Per dimostrare che l’equazione (2.2.4) implica la globale stabilita esponenziale4,
si studia l’impianto P (equazione (2.2.1)) in assenza di disturbi esterni (w = 0).
Se il disturbo e nullo allora la equazione (2.2.4) garantisce la stabilita in quanto
maggiora l’equazione (2.1.4), infatti:
Se w = 0, 〈∇V (x),x〉 < 〈∇V (x),x〉+1
γ2zT z < 0 ⇒
⇒ 〈∇V (x),x〉 < 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):
∫ t
0
dV (x(τ))
dτdτ +
∫ t
0
(1
γ2z(τ)T z(τ)− w(τ)T w(τ)
)dτ < 0
⇒ V (t)− V (0) +1
γ2‖z(·)t‖2
2 − ‖w(·)t‖22 < 0 (2.2.6)
Poiche V (t) > 0,∀t, si ha per t → +∞ che l’equazione (2.2.6) diventa:
−V (0) +1
γ2‖z(·)‖2
2 − ‖w(·)‖22 < 0
⇒ ‖z(·)‖22 < γ2
(V (0) + ‖w(·)‖2
2
)
⇒ ‖z(·)‖22 < γ2 (V (0) + ‖w(·)‖2)
2
⇒ ‖z(·)‖2 < γV (0) + γ‖w(·)‖2 (2.2.7)
4GES ≡ GAS se P e LTI.
22
Cap. 2 Analisi e sintesi a tempo continuo §2.2 Funzioni di Lyapunov
Dove γ e la stima quadratica di ‖P‖2, guadagno L2 del sistema (vedasi paragrafo
A.3) da w a z, ed e una misura di prestazione di P poiche quantifica la massima
amplificazione del segnale in ingresso sull’uscita di prestazione:
‖P‖2 , sup‖w‖2 6=0
‖z‖2
‖w‖2
< γ (2.2.8)
Maggiori dettagli sono riportati in [3].
Scegliendo come V (·) di Lyapunov la funzione quadratica descritta in equazione
(2.1.5), allora l’equazione (2.2.4) si particolarizza in:
〈∇V (x),x〉+1
γ2zT z − wT w < 0 ⇔
⇔ xTP (Ax+Bw)+(Ax+Bw)TPx +1
γ2
(xTCT +wTDT
)(Cx+Dw)−wTw< 0
⇔ [xT wT
] ([PA + AT P PB
BT P −I
]+
[CT
DT
]1
γ2
[C D
])
︸ ︷︷ ︸M
[xw
]< 0
⇔ M < 0
Applicando lo Schur complement (vedasi paragrafo A.5.1) alla disequazione matriciale
M < 0 si ottiene:
M < 0, γ2 > 0 ⇔
PA + AT P PB CT
BT P −I DT
C D −γ2I
< 0 (2.2.9)
La LMI mostrata nell’equazione (2.2.9) permette di ricavare una misura di prestazione
tramite guadagno L2 di P : tale risultato prende il nome di Bounded Real Lemma ed
e ampiamente sviluppato in [1] e [2].
Teorema 2.2.1. Bounded Real Lemma.
Sia A di Hurwitz, allora:
He
PA PB 00 − I
20
C D −γ2 I2
< 0
P > 0
23
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprieta di settore
se e solo se:
‖C (sI − A)−1 B + D‖∞ < γ
cioe il guadagno L2 di P e minore di γ.
Inoltre, la norma5 H∞ di P coincide col guadagno L2 di P (come descritto in [6]
e [2]) ed e data da:
minP,γ
γ
s.t. He
PA PB 00 − I
20
C D −γ2 I2
< 0
P > 0
2.3 Sistemi con saturazione: proprieta di settore
Si consideri il sistema di controllo a ciclo chiuso saturato a tempo continuo H (para-
grafo 1.4.3) ottenuto come ciclo chiuso dell’impianto saturato P e del suo controllore
non saturato C6:
H :
x = Ax + Bqq + Bwwz = Czx + Dzqq + Dzwwyc = Cyx + Dyqq + Dyww
(2.3.1)
q = dz(yc) = yc − sat(yc) (2.3.2)
Chiudendo il sistema lineare H con la deadzone (equazione (2.3.1), equazione (2.3.2),
figura 2.1) e logico chiedersi sotto quali condizioni e mantenuta la stabilita e la buona
connessione (in senso nonlineare) del sistema. Infatti l’introduzione della nonlinearita
5La norma H∞ di una matrice di trasferimento corrisponde al picco del diagramma dei modulidi Bode.
6Controllore che garantisce certe specifiche sintetizzato per il sistema P non saturato.
24
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprieta di settore
Figura 2.1: Schema equivalente H di sistema a tempo continuo saturato: modello condeadzone.
puo causare la perdita della buona connessione ovverosia potrebbe non esistere piu
una soluzione unica all’equazione implicita corrispondente al loop algebrico:
yc −Dyqq = Cyx + Dyww
Per studiare stabilita e buona connessione e necessario introdurre una caratterizzazio-
Figura 2.2: Proprieta di settore globale, sector[0, K]; per nonlinearita tipo saturazionee deadzone la proprieta di settore globale vale conK=I.
ne della nonlinearita in termini di proprieta di settore. La saturazione e la deadzone
sono tipologie di nonlinearita appartenenti alla classe sector[0, I] (figura 2.2). Questo
25
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprieta di settore
significa che per tali nonlinearita vale la proprieta di settore globale:
midz(yci) (yci − dz(yci)) ≥ 0 ∀mi ≥ 0
⇔ qT M(yc − q) ≥ 0 ∀M ≥ 0 tale che M = diag (mi) (2.3.3)
La condizione di settore descritta dall’equazione (2.3.3) puo essere usata per ricavare
condizioni risolvibili delle forme (2.2.4) come segue:
V +1
γ2zT z − wT w < 0, ∀(x,w) tale che qT M(yc − q) ≥ 0 (2.3.4)
Tramite la S-Procedure (la cui trattazione si rimanda a [1]) e possibile inserire il
vincolo nella disequazione di Lyapunov. Si dimostra che l’equazione (2.3.4) e vera se
e solo se e vera la equazione (2.3.5)
V +1
γ2zT z − wT w + 2qT M(yc − q)<0,∀x,w, ξ, q ⇔
⇔
xwξq
THe
PA PBw 0 PBq
0 − I2
0 0
Cz Dzw −γ2
2I Dzq
MCy MDyw 0 MDyq −M
xwξq
<0,∀x,w, ξ, q ⇔
⇔ He
PA PBw 0 PBq
0 − I2
0 0
Cz Dzw −γ2
2I Dzq
MCy MDyw 0 MDyq −M
<0 (2.3.5)
La LMI descritta nell’equazione (2.3.5) risolve contemporaneamente:
1. Buona connessione: e sufficiente che esista una matrice diagonale definita posi-
tiva M > 0 tale che:
He (MDyq −M) < 0
Per i dettagli della dimostrazione si veda [4].
26
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprieta di settore
2. Stabilita:7 e sufficiente che esistano una matrice definita positiva P = P T > 0 e
una matrice diagonale definita positiva M > 0 tale che:
He
[PA PBq
MCy MDyq −M
]< 0
3. Prestazione (‖P‖2 < γ):8 e sufficiente che esistano uno scalare γ positivo mi-
nimizzato, una matrice definita positiva P = P T > 0 e una matrice diagonale
definita positiva M > 0 tale che:
He
PA PBw 0 PBq
0 − I2
0 0
Cz Dzw −γ2
2I Dzq
MCy MDyw 0 MDyq −M
< 0
2.3.1 Proprieta di settore generalizzata
Lemma 2.3.1. Se dzu(v) = 0, allora dzu(yc)T M (yc − dzu(yc) + v) ≥ 0
Definizione 2.3.1. Sia U = diagui allora per una certa matrice K ∈ Rnu×n si
definisce:
L(K) ,
x ∈ Rn : |U−1Kx|∞ ≤ 1
Lemma 2.3.2. GS: Proprieta di settore generalizzata.
Sia K ∈ Rnu×n una matrice data. Allora per ogni matrice diagonale M > 0, M ∈Rnu×nu vale la proprieta di settore generalizzata:
dzu(yc)T M (yc − dzu(yc) + Kx) ≥ 0 ∀x ∈ L(K) (2.3.6)
Una trattazione piu dettagliata e riportata in [4].
Ricordando che:
7E buona connessione.8Con stabilita e buona connessione.
27
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprieta di settore
1. dzu(yc) = q
2. |U−1Kx|∞ ≤ 1 ⇒ |Kix| ≤ ui, ∀i = 1, ..., nu
La GS (equazione (2.3.6)) puo essere riscritta come:
qT M (yc − q + Kix) ≥ 0 ∀x ∈ x : |Kix| ≤ ui ∀i = 1, ..., nu (2.3.7)
A questo punto si cerca un insieme di livello EPs in cui valga la proprieta GS,
secondo la nuova formulazione riportata nell’equazione (2.3.7), che sia invariante in
avanti.
Sia EPs l’insieme di livello limitato da s:
EPs ,x : xT Px ≤ s2
Affinche EPs goda della proprieta GS, EPs deve essere contenuto nell’insieme di x che
rende vera la GS, cioe:
EPs ,x : xT Px ≤ s2
⊆ x : |Kix| ≤ ui ∀i = 1, ..., nu
Questo significa che ogni x di EPs deve essere contemporaneamente anche una x tale
che valga il vincolo:
|Kix| ≤ ui, ∀i = 1, ..., nu
In altre parole deve valere l’implicazione:
∀x : xT Px ≤ s2 ⇒ xT KTi Kix ≤ ui
2, ∀i = 1, ..., nu
che puo essere impostata tramite:
xT KTi
1
ui2Kix ≤ xT P
s2x
xT
[P −KT
i
s2
ui2Ki
]x ≥ 0 (2.3.8)
28
Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilita e prestazione
Ovviamente questa disuguaglianza e vera solo se la matrice tra parentesi nell’equa-
zione (2.3.8) e semidefinita positiva. Applicando lo Schur Complement e possibile
semplificare questa disuguaglianza ottenendo una forma piu compatta e maneggevole9:
[P KT
i
Kiui
2
s2
]≥ 0 ∀i = 1, ..., nu (2.3.9)
Lemma 2.3.3. Condizione di inclusione.
Sia K ∈ Rnu×n, P ∈ Rn×n, P = P T > 0 , allora EPs ⊆ L(K) se e solo se:
[P KT
i
Kiui
2
s2
]≥ 0 ∀i = 1, ..., nu
Una trattazione piu dettagliata e riportata in [4].
2.4 Sistemi con saturazione: stabilita e prestazio-
ne
In sostituzione della troppo conservativa proprieta di settore globale, e possibile inseri-
re la proprieta di settore generalizzata nella funzione di Lyapunov per l’attenuazione
dei disturbi (equazione (2.2.4)), con dei passaggi del tutto analoghi a quanto visto
nell’equazione (2.3.4):
V +1
γ2zT z − wT w < 0,
∀x ∈ EPs, ∃M = diagmi > 0 : qT M(yc − q + Kx) ≥ 0 (2.4.1)
Tramite S-Procedure (la cui trattazione e ampiamente discussa in [1]), rimandando
ad un passo successivo la formalizzazione del vincolo di inclusione in EPs, si ottiene
9Le LMI sono disuguaglianze matriciali lineari dalle proprieta convesse, e quindi, molto utili esemplici da risolvere in problemi di minimizzazione (come descritto dal teorema A.4.1).
29
Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilita e prestazione
la disuguaglianza matriciale nonlineare10 descritta dall’equazione (2.4.3):
V +1
γ2zT z − wT w + 2qT M(yc − q + Kx) ≤ 0 ⇔ (2.4.2)
⇔ He
PA PBw 0 PBq
0 − I2
0 0
Cz Dzw −γ2
2I Dzq
M (Cy + K) MDyw 0 MDyq −M
≤ 0 (2.4.3)
Per rendere lineare l’equazione (2.4.3) e necessario imporre una trasformazione del-
lo spazio(
x,w, ξ, q)
moltiplicando per una opportuna matrice di cambiamento di
coordinate T1 = diag (Q, I, I, U) = diag (P−1, I, I, M−1), a destra e sinistra ed infine
porre H = KQ. In questo modo l’equazione (2.4.3) diventa:
He
AQ Bw 0 BqU0 − I
20 0
CzQ Dzw −γ2
2I DzqU
CyQ + KQ Dyw 0 DyqU − U
≤ 0
⇔ He
AQ Bw 0 BqU0 − I
20 0
CzQ Dzw −γ2
2I DzqU
CyQ + H Dyw 0 DyqU − U
≤ 0 (2.4.4)
LMI lineare in Q,H, U, γ2 [4].
Anche per il vincolo di inclusione e necessario trasformare lo spazio delle varia-
bili, in quanto presenta ancora la variabile K, scomparsa dall’equazione (2.4.4) per
eliminare la nonlinearita e sostituita dalla nuova variabile H. Si opera in modo con-
gruo a quanto precedentemente fatto, moltiplicando per una opportuna matrice di
cambiamento di coordinate T2, a sinistra e a destra (usando la stessa matrice ma
trasposta):
T2 =
[0 IQ 0
]=
[0 I
P−1 0
]
10M (Cy + K) = MCy + MK con M e K incognite.
30
Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilita e prestazione
In questo modo l’equazione (2.3.9) diventa:
[0 IQ 0
] [P KT
i
Kiui
2
s2
] [0 QI 0
]=
[ui
2
s2 KiQQKT
i QPQ
]=
[ui
2
s2 Hi
HTi Q
]≥ 0 ∀i = 1, ..., nu
(2.4.5)
LMI lineare in Q,H,ui2
s2 [4].
Teorema 2.4.1. Guadagno L2 nonlineare a tempo continuo.
Per il sistema di controllo anti-windup descritto dall’equazione (2.3.1), per ogni s > 0
si definisce:
γ(s) = minQ,U,H,γ
γ s.t.
He
AQ Bw 0 BqU0 − I
20 0
CzQ Dzw −γ2
2I DzqU
CyQ + H Dyw 0 DyqU − U
≤ 0 (2.4.6)
[ui
2
s2 Hi
HTi Q
]≥ 0 ∀i = 1, ..., nu (2.4.7)
Dove U > 0 diagonale, Q = QT > 0. Allora γ : R+ → R+ e non decrescente e risolve
il problema 2.1.
Osservazione 2.4.1. Se H = 0 allora la equazione (2.4.7) svanisce (infatti applicando
lo Schur Complement si ottiene il vincolo mai attivo: HiQ−1HT
i ≤ ui2
s2 ⇒ ui2
s2 ≥ 0) e
di conseguenza la equazione (2.4.6) caratterizza il guadagno L2 globale γG del sistema
di controllo anti-windup. γG e un upper bound per la funzione γ(·), cioe:
γ(·) ≤ γG
Inoltre, dalla disuguaglianza (2.4.7) e dalla HiQ−1HT
i ≤ ui2
s2 , se s →∞ allora H → 0.
¤X
Osservazione 2.4.2. Diagramma guadagno L2 nonlineare.
Per tracciare il diagramma del guadagno L2 nonlineare γ(s) del sistema di controllo
31
Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilita e prestazione
anti-windup (equazione (1.4.6)) su un certo intervallo Is di valori s e sufficiente ap-
plicare il teorema 2.4.1 ∀sk ∈ Is , [skmin, skMAX
], ottenendo i corrispondenti γ(sk).
Il diagramma del guadagno L2 nonlineare e dato dall’interpolazione delle coppie di
valori (sk, γ(sk)). ¤X
2.4.1 Implicazioni
1. Stabilita: se w = 0 e x(0) ∈ EPs, allora e garantita la stabilita del sistema
con dominio di attrazione stimato EPs (nel caso di RES11). Infatti, sotto queste
ipotesi, l’equazione (2.4.1) diventa:
〈∇V (x),x〉+ 2qT M (yc − q + Kx) < 0 (2.4.8)
Poiche x(0) ∈ EPs allora vale la proprieta GS (equazione (2.3.7)) e si ha:
2qTM(yc−q+Kx)≥0
Quindi l’equazione (2.4.8) diventa:
〈∇V (x), x〉 < 0 (2.4.9)
Che, come visto nel paragrafo 2.1 e nel paragrafo 2.2, garantisce la stabilita
esponenziale (in questo caso garantita solo ∀x ∈ EPs). Inoltre, x(0) ∈ EPs e
l’equazione (2.4.9) implica che EPs e un insieme invariante in avanti.
2. Invarianza con disturbi limitati : se x(0) = 0 e ‖w‖2 < s l’equazione (2.4.1)
11Stabilita Esponenziale Regionale.
32
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico
diventa:
V +1
γ2zT z − wT w < 0 ⇒ 〈∇V (x),x〉 − wT w < 0
⇒ 〈∇V (x),x〉 < wT w
⇒∫ t
0
dV (x(τ))
dτdτ <
∫ t
0
|w(τ)|2dτ =‖w‖22 <s2
⇒ V (t)− V (0) = V (t) < s2 ∀t
3. Guadagno L2 nonlineare: se x(0) = 0 e ‖w‖2 < s, in virtu della stabilita e
dell’invarianza con disturbi limitati si ha x(t) ∈ EPs, ∀t, e quindi vale GS, ∀t.Questo implica che l’equazione (2.4.1) si particolarizza in:
V +1
γ2zT z − wT w < 0 ∀t (2.4.10)
Poiche x(0) = 0 allora V (0) = 0, sicche integrando l’equazione (2.4.10) si ottiene:
∫ t
0
(V (x(τ)) +
1
γ2z(τ)T z(τ)− w(τ)T w(τ)
)dτ <0 ∀w :‖w‖2 <s
V (t) +1
γ2
∫ t
0
z(τ)T z(τ)−∫ t
0
w(τ)T w(τ)<0 ∀w :‖w‖2 <s
0 < V (t) < ‖w‖22−
1
γ2‖z‖2
2 ∀w :‖w‖2 <s
‖z‖2 < γ(‖w‖2)‖w‖2 ∀w :‖w‖2 <s (2.4.11)
L’equazione (2.4.11) definisce una curva di guadagno L2 nonlineare tra w e z.
2.5 Sintesi di anti-windup statico a tempo conti-
nuo con prestazione regionale o globale
Problema 2.2. [5] Siano le matrici del processo P e del controllore C fissate, sin-
tetizzare le matrici del compensatore anti-windup statico Λ che garantiscono buona
connessione, stabilita interna e prestazione ottimizzata (problema 2.1) per il sistema
di controllo anti-windup a tempo continuo (equazione (2.5.1), figura 2.3).
33
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico
Figura 2.3: Sistema di controllo anti-windup a tempo continuo con compensatoreanti-windup statico.
H :
x = Ax + Bww + (Bq + BLΛ)qyc = Cyx + Dyww + (Dyq + DyLΛ)qz = Czx + Dzww + (Dzq + DzLΛ)q
(2.5.1)
q = dz(yc)
In altre parole si cerca un compensatore anti-windup statico Λ ottimo, che garantisca
per il ciclo chiuso ottenuto dall’interconnessione del processo12 e del controllore13
attraverso saturazione e compensatore anti-windup14 Λ, le proprieta:
1. Buona connessione.
2. Stabilita.
3. Prestazione garantita ottimizzata.
Si consideri come funzione di Lyapunov, la funzione quadratica in x definita positiva:
V (x) = xT Px con P = P T > 0
12Il processo a tempo continuo e descritto dall’equazione (1.4.1).13Il controllore a tempo continuo e descritto dall’equazione (1.4.2).14Il compensatore anti-windup e il legame uscita del controllore - saturazione - ingresso al processo
e descritto dall’equazione (1.4.7).
34
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico
Per garantire stabilita e prestazione occorre impostare la seconda disequazione di
Lyapunov inserendo la proprieta di settore generalizzata (equazione (2.3.6)), come in
equazione (2.4.1), particolarizzata per il sistema di controllo anti-windup H (equazio-
ne (2.5.1)):
V +1
γ2zTz−wTw<0 ∀x∈EPs ∃M =diagmi :qTM(yc − q + Kx)≥0
Applicando S-Procedure (la cui trattazione si rimanda a [1]) viene annessa la GS
(equazione (2.3.6)) nella disequazione di Lyapunov:
V +1
γ2zT z − wT w + 2qT M(yc − q + Kx) < 0 (2.5.2)
Esplicitando x, z e yc, si ottiene una disequazione matriciale nonlineare piuttosto
complicata. Per chiarezza si esplicita una variabile alla volta:
I V
V = xT Px + xT Px
= xTP (Ax+Bww+(Bq+BLΛ)q)+(Ax+Bww+(Bq+BLΛ)q)TPx
=
xwq
T
PA + AT P PBw PBq + PBLΛBT
wP 0 0(PBq + PBLΛ)T 0 0
xwq
(2.5.3)
I 1γ2 z
T z
1
γ2zT z = (Czx+Dzww+(Dzq+DzLΛ)q)T 1
γ2(Czx+Dzww+(Dzq+DzLΛ)q)
=
xwq
T
CTz
DTzw
(Dzq + DzLΛ)T
1
γ2
CTz
DTzw
(Dzq + DzLΛ)T
T
xwq
35
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico
Applicando lo Schur Complement15 si ottiene:
xwqξ
T
0 0 0 CTz
0 0 0 DTzw
0 0 0 (Dzq + DzLΛ)T
Cz Dzw (Dzq + DzLΛ) −γ2Iz
xwqξ
(2.5.4)
I 2qT M(yc − q + Kx)
2qTM(yc−q+Kxk) = 2qTM((Cy+K)xk+Dyww+(Dyq+DyLΛ−I) q)
= qTM((Cy+K)xk+Dyww+(Dyq+DyLΛ−I) q)+
+((Cy+K)xk+Dyww+(Dyq+DyLΛ−I) q)TMq
Che espresse in forma di LMI diventa:
xwq
T
0 0 (Cy + K)TM0 0 DT
ywM
M(Cy + K) MDyw
[M (Dyq+DyLΛ−I)+
+(Dyq+DyLΛ−I)T M
]
xwq
(2.5.5)
Sostituendo l’equazione (2.5.3), l’equazione (2.5.4) e l’equazione (2.5.5) nell’equazione
(2.5.2) e applicando16 l’operatore He(·) si giunge a:
He
PA PBw P (Bq+BLΛ) 00 − Iw
20 0
M(Cy+K) MDyw M(Dyq+DyLΛ−I) 0
Cz Dzw Dzq+DzLΛ −γ2
2Iz
< 0 (2.5.6)
L’equazione (2.5.6) e una disequazione matriciale nonlineare, in quanto presenta
prodotti tra matrici incognite:
1. P e Λ in P (Bq + BLΛ)
2. M e K in M(Cy + K)
3. M e Λ in M(Dyq + DyLΛ− I)
15Nello specifico la formulazione dello Schur Complement riportata nell’equazione (1.4.6) in [2].16L’operatore He(·) e 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-
mazione dello spazio delle variabili,17 moltiplicando a destra e sinistra per:
diag (Q, I, U, I)=diag(P−1, I,M−1, I
)
Ed infine cancellare le nonlinearita sostituendo i prodotti di variabili decisionali con
nuove variabili, ovvero ponendo H = KQ e X = ΛU . In questo modo l’equazione
(2.5.6) diventa:
He
AQ Bw (Bq + BLΛ)U 00 − Iw
20 0
(Cy + K)Q Dyw (Dyq + DyLΛ− I)U 0
CzQ Dzw (Dzq + DzLΛ)U −γ2
2Iz
< 0
che corrisponde a:
He
AQ Bw BqU + BLX 00 − Iw
20 0
CyQ + H Dyw DyqU + DyLX − U 0
CzQ Dzw DzqU + DzLX −γ2
2Iz
< 0 (2.5.7)
LMI lineare in Q,H, U,X, γ2 [4].
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
ponendo H = KQ, si ottiene la LMI riportata nell’equazione (2.5.8):
[0 IQ 0
] [P KT
i
Kiui
2
s2
] [0 QI 0
]=
[ui
2
s2 Hi
HTi Q
]≥ 0 ∀i = 1, ..., nu (2.5.8)
Teorema 2.5.1. Guadagno L2 nonlineare per anti-windup statico a tempo
continuo.
Sia H il sistema di controllo anti-windup statico definito nell’equazione (2.5.1), per
17Si noti che M e una matrice diagonale definita positiva, percio U = M−1 e anche essa diagonaledefinita positiva.
37
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico
ogni s > 0 si definisce:
γ(s) , minQ,U,H,X,γ
γ s.t. (2.5.9)
He
AQ Bw BqU + BLX 00 − I
20 0
CyQ + H Dyw DyqU + DyLX − U 0
CzQ Dzw DzqU + DzLX −γ2
2I
< 0 (2.5.10)
[ui
2
s2 Hi
HTi Q
]≥ 0 ∀i = 1, ..., nu (2.5.11)
LMI lineare in Q = QT > 0, U > 0 diagonale, H, X e γ2. Allora γ : R+ → R+
e non decrescente e risolve il problema 2.1 e Λ = XU−1 e il compensatore ottimo
anti-windup statico che risolve il problema 2.2.
Il teorema 2.5.1 generalizza il teorema 2.4.1 (introducendo la sintesi di Λ) e percio
ha anche le stesse implicazioni (vedasi paragrafo 2.4.1).
Osservazione 2.5.1. Se H = 0 allora l’equazione (2.5.11) svanisce (infatti applicando
lo Schur Complement si ottiene un vincolo mai attivo: HiQ−1HT
i ≤ ui2
s2 ⇒ ui2
s2 ≥ 0) e
di conseguenza l’equazione (2.5.10) caratterizza il guadagno L2 globale γG del sistema
di controllo anti-windup statico. γG e un upperbound per la funzione γ(·), cioe:
γ(·) ≤ γG
¤X
Osservazione 2.5.2. Guadagno L2 locale.
Fissato s = s, l’ottimizzazione dell’equazione (2.5.9) fornisce:
1. La stima γ(s) del guadagno L2 locale tra w e z, ∀w ∈ L2 : ‖w‖2 ≤ s.
2. Il compensatore anti-windup statico Λ(s) che garantisce le tre proprieta18, ∀w ∈L2 : ‖w‖2 ≤ s.
18Buona connessione, Stabilita, Prestazione.
38
Cap. 2 Analisi e sintesi a tempo continuo §2.6 Minimo guadagno L2 nonlineare
Se w : ‖w‖2 > s allora non e piu garantita la stabilita. ¤X
Osservazione 2.5.3. Diagramma guadagno L2 nonlineare.
Una volta sintetizzato Λ(s) e possibile tracciare il diagramma del guadagno L2
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Λ), cioe e possibile tracciare il
diagramma del guadagno L2 nonlineare γ(s) del sistema di controllo anti-windup ap-
plicando il teorema 2.4.1 ∀sk ∈ Is , [skmin, skMAX
], ottenendo i corrispondenti γ(sk),
e interpolando le coppie di valori (sk, γ(sk)). ¤X
Definizione 2.5.1. anti-windup statico globale.
Un compensatore anti-windup statico, cioe un guadagno Λg, e detto con prestazione
globale se per ogni riferimento (o disturbo) w ∈ L2 mantiene la buona connessione,
l’stabilita asintotica e garantisce perdita di prestazione limitata del ciclo chiuso, ovvero
γG < ∞.
Osservazione 2.5.4. Guadagno L2 globale. Un compensatore anti-windup statico
Λg con prestazione globale e ottenuto, se esiste, risolvendo l’equazione (2.5.9) con
s=∞: tale compensatore garantisce γ(s=∞)=γG <∞. ¤X
2.6 Minimo guadagno L2 nonlineare
Il minimo guadagno L2 nonlineare γmin(s) e un lower bound sul guadagno L2 nonli-
neare γ(s) (equazione (2.5.9)) ed e utile per definire il limite di migliore prestazione
ottenibile. Quindi, tutti i compensatori anti-windup sintetizzabili (con le diverse
39
Cap. 2 Analisi e sintesi a tempo continuo §2.6 Minimo guadagno L2 nonlineare
tecniche in letteratura) presentano una prestazione γ non migliore, cioe:
∀s γmin(s) ≤ γ(s)
Sia Is , [skmin, skMAX
] l’intervallo di bound19 s su cui si vuole tracciare il diagramma
del minimo guadagno L2 nonlineare. Come mostrato in osservazione 2.5.2, ad ogni
valore di sk corrisponde, come risultato dell’ottimizzazione dell’equazione (2.5.9), un
solo valore di γk e di Λk. Quindi per tracciare il diagramma del minimo guadagno
L2 nonlineare γmin(s) occorre risolvere ∀sk ∈ Is l’equazione (2.5.9) nelle variabili
Q = QT > 0, U > 0 diagonale, H, X e γ2(sk). Il diagramma e, quindi, l’interpolazio-
ne delle coppie (sk, γ(sk)). In figura 2.4 e riportato, a titolo di esempio, il diagramma
del minimo guadagno L2 nonlineare per il sistema “massa molla smorzatore” la cui
analisi sara approfondita nel capitolo 6.
19Per ogni bound s si vuole che le proprieta garantite valgano per ogni w ∈ L2 : ‖w‖2 < s.
40
Cap. 2 Analisi e sintesi a tempo continuo §2.6 Minimo guadagno L2 nonlineare
10−3
10−2
10−1
100
101
102
103
100
101
102
103
Minimo Guadagno L2 nonlineare su intervallo: [−3 3] (valori s) e N
alfa = 20
Minimo guadagno L2 nonlineare TC
Guadagno globale (ottenuto per s=Inf)
Figura 2.4: Esempio di minimo guadagno L2 nonlineare per un sistema “massa mollasmorzatore”.
41
Capitolo 3
Analisi e sintesi di stabilita eprestazione per sistemi linearisaturati a tempo discreto
In questo capitolo viene discusso e dimostrato il teorema GuadagnoL2 nonlineare per sistemi dinamici lineari a tempo discreto adingressi saturati. Questo teorema e fondamentale per la sintesi delcompensatore anti-windup statico da applicare al sistema dinamicoper il recupero della prestazione degradata dal windup. La dimo-strazione del teorema si sviluppa su un percorso logico analogo aquello del capitolo 2 e i cui step salienti sono descritti nei paragrafi3.1 e 3.2. Nel paragrafo 3.3 viene discusso e dimostrato il teoremaGuadagno L2 nonlineare per la sintesi di anti-windup statico per si-stemi dinamici lineari a tempo discreto, che generalizza il prece-dente teorema introducendo la sintesi del compensatore anti-windupstatico Λ per sistemi a tempo discreto.
Problema 3.1. Dato un sistema di controllo anti-windup a tempo discreto, deter-
minare il guadagno L2 nonlineare da w a z, una funzione γ(·) non decrescente tale
che:
‖z‖2 ≤ γ (‖w‖2) ‖w‖2 (3.0.1)
42
Cap. 3 Analisi e sintesi a tempo discreto §3.1 Disequazioni di Lyapunov
3.1 Disequazioni di Lyapunov
Le disequazioni di Lyapunov permettono di determinare se un sistema dinamico a
tempo discreto e asintoticamente stabile.
Si consideri il sistema dinamico lineare a tempo discreto:
x+ = Ax (3.1.1)
esso e globalmente asintoticamente stabile se esiste una funzione V (·) di Lyapunov a
valori reali positivi definita sullo spazio di stato (equazione (3.1.2)) per la quale sono
verificate le disequazioni di Lyapunov (equazione (3.1.3), equazione (3.1.4)):
x+ = Ax e GES ⇐ ∃V (·) : X → R≥0 (3.1.2)
V ∈ C1, tale che V (x) > 0,∀x ∈ X \ 0 (3.1.3)
4V (x) = V (x+)− V (x) < 0,∀x (3.1.4)
Si consideri, ora, una funzione quadratica in x cosı definita:
V = xT Px con P = P T > 0 (3.1.5)
Essa verifica l’equazione (3.1.2) e l’equazione (3.1.3), ed e quindi una buona candidata
come funzione di Lyapunov. Affinche lo sia deve essere rispettata anche la seconda
disequazione di Lyapunov (equazione (3.1.4)):
4V < 0 ⇒4V =V +−V =x+TPx+−xTPx=xT(ATPA−P )x<0 (3.1.6)
Quindi una funzione quadratica che verifica l’equazione (3.1.5) e equazione (3.1.6) e
di Lyapunov per sistemi a tempo discreto.
Queste condizioni sono riscrivibili come sistema di disequazioni matriciali lineari
(equazione 3.1.7) facilmente risolvibili:
x+ = Ax e GES ⇐
V > 0 ⇐ P = P T > 04V < 0 ⇐ AT PA− P < 0
(3.1.7)
43
Cap. 3 Analisi e sintesi a tempo discreto §3.2 Stabilita e prestazione
3.2 Sistemi con saturazione: stabilita e prestazio-
ne
Si consideri il sistema di controllo a ciclo chiuso saturato a tempo discreto H (equa-
zione (3.2.1)) ottenuto come ciclo chiuso dell’impianto saturato e del suo controllore
non saturato1:
H :
x+= Ax + Bqq + Bwwz = Czx + Dzqq + Dzwwyc = Cyx + Dyqq + Dyww
(3.2.1)
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 condeadzone.
in paragrafo 2.2 e possibile introdurre una funzione di Lyapunov per l’attenuazione dei
disturbi con medesime caratteristiche e proprieta anche a tempo discreto (stabilita e
prestazione). Seguendo i passi sviluppati nel precedente capitolo si puo inserire un’ul-
teriore specifica, ovvero il soddisfacimento della proprieta di settore generalizzata,
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
la S-Procedure, rimandando ad un passo successivo la formalizzazione del vincolo di
1Controllore che garantisce certe specifiche sintetizzato per il processo non saturato.
44
Cap. 3 Analisi e sintesi a tempo discreto §3.2 Stabilita e prestazione
inclusione in EPs, si ottiene la disuguaglianza matriciale nonlineare2 equazione (3.2.4):
4V (x) +1
γ2zT z − wT w + 2qT M(yc − q + Kx) ≤ 0, ∀x, w, q ⇔ (3.2.3)
⇔
ξxwql
T
−P−1 A Bw Bq 0
AT −P 0 (Cy + K)TM CTz
BTw 0 −I DT
ywM DTzw
BTq M (Cy+K) MDyw
[MDyq+
+DTyqM−2M
]DT
zq
0 Cz Dzw Dzq −γ2I
ξxwql
≤0, ∀ξ, x, w, q, l
(3.2.4)
Per rendere lineare l’equazione (3.2.4) e necessario imporre una trasformazione del-
lo spazio[ξ, x, w, q, l
]moltiplicando per una opportuna matrice di cambiamento di
coordinate T1 = diag (I,Q, I, U, I) = diag (I, P−1, I,M−1, I), a destra e sinistra ed
infine porre H = KQ. In questo modo l’equazione (3.2.4) diventa e soddisfatta se e
solo se:
He
−12Q AQ Bw BqU 0
0 −12Q 0 0 0
0 0 −12Iw 0 0
0 (Cy + K) Q Dyw (Dyq − I) U 0
0 CzQ Dzw DzqU −γ2
2Iz
≤ 0
se e solo se:
He
−12Q AQ Bw BqU 0
0 −12Q 0 0 0
0 0 −12Iw 0 0
0 CyQ + H Dyw (Dyq − I) U 0
0 CzQ Dzw DzqU −γ2
2Iz
≤ 0 (3.2.5)
LMI lineare in Q,H,U,γ2 [4].
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
H = KQ, si ottiene la LMI descritta dall’equazione (2.4.5).
2La nonlinearita dell’equazione (3.2.4) risiede nei fattori M (Cy + K) = MCy + MK in cui M eK sono matrici incognite.
45
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico
Teorema 3.2.1. Guadagno L2 nonlineare a tempo discreto.
Per il sistema di controllo anti-windup equazione (3.2.1), per ogni s > 0 si definisce:
γ(s) = minQ,U,H,γ
γ s.t.
He
−12Q AQ Bw BqU 0
0 −12Q 0 0 0
0 0 −12Iw 0 0
0 (CyQ + H) Dyw (Dyq − I) U 0
0 CzQ Dzw DzqU −γ2
2Iz
≤ 0 (3.2.6)
[ui
2
s2 Hi
HTi Q
]≥ 0 ∀i = 1, ..., nu (3.2.7)
Dove U > 0 diagonale, Q = QT > 0. Allora γ : R+ → R+ e non decrescente e risolve
il problema 3.1.
Come per il caso a tempo continuo, valgono le osservazioni 2.4.1 e 2.4.2 particola-
rizzate per il teorema 3.2.1.
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).
3.3 Sintesi di anti-windup statico a tempo discreto
con prestazione regionale o globale
Problema 3.2. [5] Siano le matrici del processo P e del controllore C fissate, sin-
tetizzare le matrici del compensatore anti-windup statico Λ che garantiscono buona
connessione, stabilita interna e prestazione ottimizzata (problema 3.1) per il sistema
di controllo anti-windup a tempo discreto (equazione (3.3.1), figura 3.2).
46
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico
Figura 3.2: Sistema di controllo anti-windup a tempo discreto con compensatoreanti-windup statico.
H :
x+= Ax + Bww + (Bq + BLΛ)qy = Cyx + Dyww + (Dyq + DyLΛ)qz = Czx + Dzww + (Dzq + DzLΛ)q
(3.3.1)
q = dz(yc)
In altre parole si cerca un compensatore anti-windup statico Λ ottimo, che garanti-
sca per il ciclo chiuso ottenuto dall’interconnessione del processo3 e del controllore4
attraverso saturazione e compensatore anti-windup5 Λ, le proprieta:
1. Buona connessione.
2. Stabilita.
3. Prestazione garantita ottimizzata.
Si consideri come funzione di Lyapunov, la funzione quadratica in x definita positiva:
V (x) = xT Px con P = P T > 0
3Il processo a tempo discreto e descritto dalla versione a tempo discreto dell’equazione (1.4.1).4Il controllore a tempo discreto e descritto dalla versione a tempo discreto dell’equazione (1.4.2).5Il compensatore anti-windup e il legame uscita del controllore - saturazione - ingresso al processo
e descritto dall’equazione (1.4.7).
47
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico
Per garantire stabilita e prestazione occorre impostare la seconda disequazione di
Lyapunov inserendo la proprieta di settore generalizzata (equazione (2.3.6)), come
nell’equazione (3.2.3), particolarizzata per il sistema di controllo anti-windup H (equa-
zione (3.3.1)):
4V (x)+1
γ2zTz−wTw<0 ∀x ∈ EPs ∃M =diagmi :qTM(yc−q+Kx)≥0
Applicando la S-Procedure (la cui trattazione si rimanda a [1]) viene annessa la GS
(equazione (2.3.6)) nella disequazione di Lyapunov:
4V (x) +1
γ2zT z − wT w + 2qT M(yc − q + Kx) < 0 (3.3.2)
Esplicitando x+, z e yc, si ottiene una disequazione matriciale nonlineare piuttosto
complicata. Per chiarezza si esplicita una variabile alla volta:
I 4V
4V = x+TPx+ − xT Px
= (Ax+Bww+(Bq+BLΛ) q)T P (Ax+Bww+(Bq+BLΛ) q)−xT Px
=
xwq
T
AT
BTw
(Bq+BLΛ)T
P
AT
BTw
(Bq+BLΛ)T
T
−
P 0 00 0 00 0 0
xwq
Applicando lo Schur Complement6 si ottiene:
ξxwq
T
−P−1 A Bw (Bq + BLΛ)AT −P 0 0BT
w 0 0 0
(Bq + BLΛ)T 0 0 0
ξxwq
(3.3.3)
6Nello specifico la formulazione dello Schur Complement riportata nell’equazione (1.4.5) in [2].
48
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico
I 1γ2 z
T z
1
γ2zTz = (Czx+Dzww+(Dzq+DzLΛ)q)T 1
γ2(Czx+Dzww+(Dzq+DzLΛ)q)
=
xwq
T
CTz
DTzw
(Dzq + DzLΛ)T
1
γ2
CTz
DTzw
(Dzq + DzLΛ)T
T
xwq
Applicando lo Schur Complement7 si ottiene:
xwql
T
0 0 0 CTz
0 0 0 DTzw
0 0 0 (Dzq + DzLΛ)T
Cz Dzw (Dzq + DzLΛ) −γ2Iz
xwql
(3.3.4)
I 2qT M(yc − q + Kx)
2qTM(yc−q+Kx) = 2qTM((Cy+K)x+Dyww+(Dyq+DyLΛ−I) q)
= qTM((Cy+K)x+Dyww+(Dyq+DyLΛ−I) q)+
+((Cy+K)x+Dyww+(Dyq+DyLΛ−I) q)TMq
Che espresse in forma di LMI diventa:
xwq
T
0 0 (Cy+K)TM0 0 DT
ywM
M(Cy+K) MDyw
[M (Dyq+DyLΛ−I)+
+(Dyq+DyLΛ−I)T M
]
xwq
(3.3.5)
Sostituendo le equazioni (3.3.3), (3.3.4) e (3.3.5) nell’equazione (3.3.2) si ottiene:
ξxwql
T
−P−1 A Bw Bq+BLΛ 0AT −P 0 (Cy+K)TM CT
z
BTw 0 −Iw DT
ywM DTzw
(Bq+BLΛ)T M(Cy+K) MDyw
M(Dyq+DyLΛ)++(DT
yq+ΛTDTyL)M
−2M
(Dzq+DzLΛ)T
0 Cz Dzw Dzq+DzLΛ −γ2Iz
ξxwql
7Nello 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
Che e negativa per ogni ξ, x, w, q, l 6= 0 se e solo se:
−P−1 A Bw Bq+BLΛ 0AT −P 0 (Cy+K)TM CT
z
BTw 0 −Iw DT
ywM DTzw
(Bq+BLΛ)T M(Cy+K) MDyw
M(Dyq+DyLΛ)++(DT
yq+ΛTDTyL)M
−2M
(Dzq+DzLΛ)T
0 Cz Dzw Dzq+DzLΛ −γ2Iz
< 0 (3.3.6)
L’equazione (3.3.6) e una disequazione matriciale nonlineare, in quanto presenta
prodotti tra matrici incognite:
1. M e Λ in M(Dyq + DyLΛ) + (DTyq + ΛT DT
yL)M − 2M
2. M e K in M(Cy + K)
Per rendere lineare l’equazione (3.3.6) e necessario imporre una trasformazione di coor-
dinate[
ξ, x, w, q, l]moltiplicando per una opportuna matrice8 T1 = diag (I, Q, I, U, I) =
diag (I, P−1, I,M−1, I) a destra e sinistra e cancellare le nonlinearita sostituendo i pro-
dotti di variabili decisionali con nuove variabili, ovvero ponendo H = KQ e X = ΛU .
In questo modo l’equazione (3.3.6) diventa:
He
−12Q AQ Bw (Bq + BLΛ)U 0
0 −12Q 0 0 0
0 0 −12Iw 0 0
0 (Cy + K) Q Dyw (Dyq + DyLΛ− I)U 0
0 CzQ Dzw (Dzq + DzLΛ)U −γ2
2Iz
< 0
ed infine:
He
−12Q AQ Bw BqU + BLX 0
0 −12Q 0 0 0
0 0 −12Iw 0 0
0 CyQ + H Dyw DyqU + DyLX − U 0
0 CzQ Dzw DzqU + DzLX −γ2
2Iz
< 0 (3.3.7)
8M e una matrice diagonale definita positiva, percio U = M−1 e anche essa diagonale definitapositiva.
50
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico
LMI lineare in Q,H, U,X, γ2 [4].
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
H = KQ, si ottiene la LMI (3.3.8):
[0 IQ 0
] [P KT
i
Kiui
2
s2
] [0 QI 0
]=
[ui
2
s2 Hi
HTi Q
]≥ 0 ∀i = 1, ..., nu (3.3.8)
Teorema 3.3.1. Guadagno L2 nonlineare per anti-windup statico a tempo
discreto.
Sia H (equazione (3.3.1)) il sistema di controllo anti-windup statico, per ogni s > 0
si definisce:
γ(s) , minQ,U,H,X,γ
γ s.t. (3.3.9)
He
−12Q AQ Bw BqU + BLX 0
0 −12Q 0 0 0
0 0 −12Iw 0 0
0 CyQ + H Dyw DyqU + DyLX − U 0
0 CzQ Dzw DzqU + DzLX −γ2
2Iz
< 0 (3.3.10)
[ui
2
s2 Hi
HTi Q
]≥ 0 ∀i = 1, ..., nu (3.3.11)
LMI lineare in Q = QT > 0, U > 0 diagonale, H, X e γ2. Allora γ : R+ → R+
e non decrescente e risolve il problema 3.1 e Λ = XU−1 e il compensatore ottimo
anti-windup statico che risolve il problema 3.2.
Il teorema 3.3.1 generalizza il teorema 3.2.1 (introducendo la sintesi di Λ) e percio
ha anche le stesse implicazioni (vedasi paragrafo 3.2.1). Inoltre valgono le stesse
osservazioni del teorema9 2.5.1: osservazioni 2.5.1, 2.5.2, 2.5.3 e 2.5.4 particolarizzate
per il teorema 3.2.1.
9Versione per sistemi a tempo continuo del teorema 3.3.1.
51
Cap. 3 Analisi e sintesi a tempo discreto §3.4 Minimo guadagno L2 nonlineare
3.4 Minimo guadagno L2 nonlineare
Analogamente a quanto visto nel paragrafo 2.6 per i sistemi a tempo continuo, e
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)
(equazione (3.3.9)). γmin(s) definisce il limite di migliore prestazione ottenibile, ed e
calcolato nel medesimo modo descritto nel paragrafo 2.6 ma sostituendo all’equazione
(2.5.9) l’equazione (3.3.9).
52
Capitolo 4
Sintesi di anti-windup statico atempo continuo con prestazionenonlineare ottimizzata
In questo capitolo vengono presentati due algoritmi per la sintesidi anti-windup statico, Λα1 e Λα2, a tempo continuo con prestazio-ne nonlineare piu performante rispetto al anti-windup statico conprestazione globale Λ (definizione 2.5.1).
4.1 Compensatori Λg (a tempo continuo)
Il compensatore anti-windup statico con prestazione globale Λg (definizione 2.5.1),
garantisce un guadagno L2 del sistema limitato per ogni riferimento (disturbo) w ∈ L2.
Λg e ottenuto dalle matrici X e U ottime, minimizzando l’equazione (2.5.9) con s = ∞.
In virtu dell’osservazione 2.5.1 la seconda LMI (disequazione (2.5.11)) non e mai
attiva, quindi inutile come vincolo nell’ottimizzazione, che risulta essere:
γ(s)s=∞ , minQ,U,H,X,γ
γ s.t. (4.1.1)
0 > He
AQ Bw BqU + BLX 00 − I
20 0
CyQ + H Dyw DyqU + DyLX − U 0
CzQ Dzw DzqU + DzLX −γ2
2I
53
Cap. 4 Sintesi di anti-windup statico a tempo continuo §4.2 Compensatori Λα
4.2 Compensatori Λα (a tempo continuo)
I compensatori statici anti-windup con prestazione globale Λα garantiscono un gua-
dagno L2 del sistema di controllo anti-windup a ciclo chiuso:
I Limitato per ogni riferimento (o disturbo) w.
I Migliore rispetto al guadagno L2 del compensatore globale Λg (equazione (4.1.1))
in quanto sintetizzato con una politica che minimizza la distanza tra minimo
guadagno L2 nonlineare (vedasi paragrafo 2.6) e guadagno L2 nonlineare che
compete al sistema di controllo anti-windup con compensatore Λα.
I metodi di sintesi presentati sfruttano come lower bound il minimo guadagno L2
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,
dipendente dalla variabile decisionale α.
La differenza che caratterizza i due diversi algoritmi risiede nella funzione obiettivo
che ottimizzano e nell’utilizzo della variabile decisionale α.
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-
to al guadagno L2 nonlineare, di variabili decisionali αk di cui ogni variabile
caratterizza un solo set di LMI, vincoli dell’ottimizzazione.
1γmin(sk) e il minimo guadagno L2 nonlineare definito nel paragrafo 2.6, per segnali esogeni anorma L2 minore di sk.
54
Cap. 4 Sintesi di anti-windup statico a tempo continuo §4.2 Compensatori Λα
4.2.1 Sintesi di anti-windup con algoritmo α1
Per sintetizzare il compensatore anti-windup statico con prestazione globale Λα1 si
minimizza la variabile scalare α dell’equazione (4.2.1) soggetta ai vincoli definiti nel-
l’equazione (4.2.2) e nell’equazione (4.2.3) i quali contengono, come dati, le coppie di
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 piu vicina a
quella del minimo guadagno L2 nonlineare.
Operativamente:
1. Si scelgano Nα punti sk sull’intervallo Is, di cui uno2 in sk = ∞.
2. Si calcoli il minimo guadagno L2 nonlineare γmin(sk), ∀sk ∈ Is.
3. Si minimizzi α (equazione (4.2.1)) nelle variabili α,Qk,Hk,X e U
Teorema 4.2.1. Sintesi Λα1.
Sia H il sistema di controllo anti-windup statico definito nell’equazione (2.5.1), note
le coppie di valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare γmin(s) (vedasi
paragrafo 2.6), si definisce:
αmin , minα,Qk,Hk,X,U
α s.t. (4.2.1)
0 > He
AQk Bw BqU + BLX 00 − I
20 0
CyQk + Hk Dyw DyqU + DyLX − U 0
CzQk Dzw DzqU + DzLX −(1 + α)γ2
min(sk)
2I
(4.2.2)
0 ≤[
ui2
s2k
Hki
HTki
Qk
], ∀i = 1, ..., nu k = 1, ..., Nα (4.2.3)
LMI lineare in α, Qk = QTk > 0, Hk, X e U > 0 diagonale. Allora αmin ≥ 0 e
Λα1 = XU−1 e un compensatore anti-windup statico che risolve il problema 2.2.
2La scelta di sk = +∞ e necessaria per garantire la prestazione globale.
55
Cap. 4 Sintesi di anti-windup statico a tempo continuo §4.2 Compensatori Λα
In figura 4.1 e riportato, a titolo di esempio, il confronto tra il diagramma del
guadagno L2 nonlineare relativo al compensatore Λα1 , il diagramma relativo al com-
pensatore Λg e il minimo guadagno L2 nonlineare per il sistema “aereo F8” la cui
analisi sara approfondita nel capitolo 6. Come lecito aspettarsi nell’intervallo di inte-
resse γmin(s) ≤ γα1(s) ≤ γG(s):
100
101
102
103
104
101.3
101.4
Guadagno L2 nonlineare su intervallo: [0 4] (valori s) e N
alfa = 20
Compensatore ottimo TC globaleCompensatore ottimo TC per alfa 1Minimo guadagno L
2 nonlineare TC
Figura 4.1: Esempio di confronto tra prestazioni per un sistema “aereo F8”: comelecito aspettarsi nell’intervallo di interesse γmin(s) ≤ γα1(s) ≤ γG(s).
4.2.2 Sintesi di anti-windup con algoritmo α2
Per sintetizzare il compensatore anti-windup statico con prestazione globale Λα2 si
minimizza la funzione obiettivo∑Nα
k=1 γ2min(sk)αk dell’equazione (4.2.4) soggetta ai
vincoli definiti nell’equazione (4.2.5) e nell’equazione (4.2.6) i quali contengono, come
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 Λα
paragrafo 2.6). La minimizzazione di∑Nα
k=1 γ2min(sk)αk implica una prestazione a ciclo
chiuso dovuta a Λα2 quanto piu vicina a quella del minimo guadagno L2 nonlineare.
Operativamente:
1. Si scelgono Nα punti sk sull’intervallo Is, di cui uno3 in sk = ∞.
2. Si calcola il minimo guadagno L2 nonlineare γmin(sk), ∀sk ∈ Is.
3. Si minimizza la funzione obiettivo∑Nα
k=1 γ2min(sk)αk (equazione (4.2.4)) nelle
variabili αk,Qk,Hk,X e U
Teorema 4.2.2. Sintesi Λα2.
Sia H il sistema di controllo anti-windup statico definito nell’equazione (2.5.1), note
le coppie di valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare, si definisce il
vettore:
αmin , argminαk,Qk,Hk,X,U
Nα∑
k=1
γ2min(sk)αk s.t. (4.2.4)
0 > He
AQk Bw BqU+BLX 00 − I
20 0
CyQk+Hk Dyw DyqU+DyLX − U 0
CzQk Dzw DzqU+DzLX −(1 + αk)γ2
min(sk)
2I
(4.2.5)
0 ≤[
ui2
s2k
Hki
HTki
Qk
], ∀i = 1, ..., nu k = 1, ..., Nα (4.2.6)
LMI lineare in αk, Qk = QTk > 0, Hk, X e U > 0 diagonale. Allora αmin ≥ 0 e
Λα2 = XU−1 e un compensatore anti-windup statico che risolve il problema 2.2.
In figura 4.2 e riportato, a titolo di esempio, il confronto tra il diagramma del
guadagno L2 nonlineare relativo al compensatore Λα2 , il diagramma relativo al com-
pensatore Λg e il minimo guadagno L2 nonlineare per il sistema “aereo F8” la cui
3La scelta di sk = +∞ e necessaria per garantire la prestazione globale.
57
Cap. 4 Sintesi di anti-windup statico a tempo continuo §4.2 Compensatori Λα
analisi sara approfondita nel capitolo 6. Come lecito aspettarsi nell’intervallo di inte-
resse γmin(s) ≤ γα2(s) ≤ γG(s):
100
101
102
103
104
101.3
101.4
101.5
Guadagno L2 nonlineare su intervallo: [0 4] (valori s) e N
alfa = 20
Compensatore ottimo TC globaleCompensatore ottimo TC per alfa 2Minimo guadagno L
2 nonlineare TC
Figura 4.2: Esempio di confronto tra prestazioni per un sistema “aereo F8”: comelecito aspettarsi nell’intervallo di interesse γmin(s) ≤ γα2(s) ≤ γG(s).
4.2.3 Osservazioni
Osservazione 4.2.1. La variabile decisionale α e sempre maggiore o uguale a 0. Se
cio 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
Osservazione 4.2.2. La prestazione ottenuta dai Λα e fortemente influenzata da:
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 Λα
2. La larghezza dell’intervallo Is su cui si prelevano le coppie di valori (sk, γmin(sk))
scelte per effettuare la sintesi.
¤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
indotto da v2. Per ridurre questa derivata e necessario introdurre un ulteriore vincolo,
detto vincolo di Lipschitz 5, definito in dettaglio in [9], sufficiente per ridurre tale
derivata massima (costante di Lipschitz). ¤X
Osservazione 4.2.4. In fase di sintesi e necessario annettere all’insieme Is, un punto
in s = ∞. Infatti ad s = ∞ corrisponde una LMI nella formulazione del problema di
ottimizzazione (equazione (4.2.2), equazione (4.2.5)) che vincola la prestazione di Λα
ad essere globale (si vedano la definizione 2.5.1 e l’osservazione 2.5.4). ¤X
4v2 = Λq = Λ(yc − u) = Λ(Ccxc + Dcyy + Dcww + v2 − u)5Per dettagli relativi al vincolo di Lipschitz strettamente attinenti a questi algoritmi vedasi
paragrafo A.6.
59
Capitolo 5
Sintesi di anti-windup statico atempo discreto con prestazionenonlineare ottimizzata
In questo capitolo vengono presentati due algoritmi per la sintesidi anti-windup statico, Λα1 e Λα2, a tempo discreto con presta-zione globale piu performante rispetto al anti-windup statico conprestazione globale Λ (definizione 2.5.1).
5.1 Compensatori Λg (a tempo discreto)
Il compensatore anti-windup statico con prestazione globale Λg (definizione 2.5.1),
garantisce un guadagno L2 del sistema limitato per ogni riferimento (disturbo) w ∈ L2.
Λg e ottenuto dalle matrici X e U ottime, minimizzando l’equazione (3.3.9) con s = ∞.
In virtu dell’osservazione 2.5.1 la seconda LMI (equazione (3.3.11)) non e mai attiva,
quindi inutile come vincolo nell’ottimizzazione, che risulta essere:
γ(s)s=∞ , minQ,U,H,X,γ
γ s.t. (5.1.1)
0 > He
−12Q AQ Bw BqU + BLX 0
0 −12Q 0 0 0
0 0 −12Iw 0 0
0 CyQ + H Dyw DyqU + DyLX − U 0
0 CzQ Dzw DzqU + DzLX −γ2
2Iz
< 0
60
Cap. 5 Sintesi di anti-windup statico a tempo discreto §5.2 Compensatori Λα
5.2 Compensatori Λα (a tempo discreto)
I compensatori statici anti-windup con prestazione globale Λα garantiscono un gua-
dagno L2 del sistema di controllo anti-windup a ciclo chiuso:
I Limitato per ogni riferimento (o disturbo) w.
I Migliore rispetto al guadagno L2 del compensatore globale Λg (equazione (5.1.1))
in quanto sintetizzato con una politica che minimizza la distanza tra minimo
guadagno L2 nonlineare (vedasi paragrafo 3.4) e guadagno L2 nonlineare che
compete al sistema di controllo anti-windup con compensatore Λα.
I metodi di sintesi presentati sfruttano come lower bound il minimo guadagno L2
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,
dipendente dalla variabile decisionale α.
La differenza che caratterizza i due diversi algoritmi risiede nella funzione obiettivo
che ottimizzano e nell’utilizzo della variabile decisionale α.
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-
to al guadagno L2 nonlineare, di variabili decisionali αk di cui ogni variabile
caratterizza un solo set di LMI, vincoli dell’ottimizzazione.
1γmin(sk) e il minimo guadagno L2 nonlineare definito nel paragrafo 3.4, per segnali esogeni anorma L2 minore di sk.
61
Cap. 5 Sintesi di anti-windup statico a tempo discreto §5.2 Compensatori Λα
5.2.1 Sintesi di anti-windup con algoritmo α1
Per sintetizzare il compensatore anti-windup statico con prestazione globale Λα1 si
minimizza la variabile scalare α dell’equazione (5.2.1) soggetta ai vincoli definiti nel-
l’equazione (5.2.2) e nell’equazione (5.2.3) i quali contengono, come dati, le coppie di
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 piu vicina a
quella del minimo guadagno L2 nonlineare.
Operativamente:
1. Si scelgano Nα punti sk sull’intervallo Is, di cui uno2 in sk = ∞.
2. Si calcoli il minimo guadagno L2 nonlineare γmin(sk), ∀sk ∈ Is.
3. Si minimizzi α (equazione (5.2.1)) nelle variabili α,Qk,Hk,X e U
Teorema 5.2.1. Sintesi Λα1.
Sia H il sistema di controllo anti-windup statico definito nell’equazione (3.3.1), note
le coppie di valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare γmin(s) (vedasi
paragrafo 3.4), si definisce:
αmin , minα,Qk,Hk,X,U
α s.t. (5.2.1)
0 > He
−12Qk AQk Bw BqU+BLX 00 −1
2Qk 0 0 0
0 0 −12Iw 0 0
0 CyQk+Hk Dyw DyqU+DyLX−U 0
0 CzQk Dzw DzqU+DzLX −(1+α)γ2
min(sk)
2Iz
(5.2.2)
0 ≤[
ui2
s2k
Hki
HTki
Qk
], ∀i = 1, ..., nu k = 1, ..., Nα (5.2.3)
LMI lineare in α, Qk = QTk > 0, Hk, X e U > 0 diagonale. Allora αmin ≥ 0 e
Λα1 = XU−1 e un compensatore anti-windup statico che risolve il problema 3.2.
2Annettere un punto s all’infinito e necessario per garantire la prestazione globale.
62
Cap. 5 Sintesi di anti-windup statico a tempo discreto §5.2 Compensatori Λα
5.2.2 Sintesi di anti-windup con algoritmo α2
Per sintetizzare il compensatore anti-windup statico con prestazione globale Λα2 si
minimizza la funzione obiettivo∑Nα
k=1 γ2min(sk)αk dell’equazione (5.2.4) soggetta ai
vincoli definiti nell’equazione (5.2.5) e nell’equazione (5.2.6) i quali contengono, come
dati, le coppie di valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare (paragra-
fo 3.4). La minimizzazione di∑Nα
k=1 γ2min(sk)αk implica una prestazione a ciclo chiuso
dovuta a Λα2 quanto piu vicina a quella del minimo guadagno L2 nonlineare.
Operativamente:
1. Si scelgono Nα punti sk sull’intervallo Is, di cui uno3 in sk = ∞.
2. Si calcola il minimo guadagno L2 nonlineare γmin(sk), ∀sk ∈ Is.
3. Si minimizza la funzione obiettivo∑Nα
k=1 γ2min(sk)αk (equazione (5.2.4)) nelle
variabili αk,Qk,Hk,X e U
Teorema 5.2.2. Sintesi Λα2.
Sia H il sistema di controllo anti-windup statico definito nell’equazione (3.3.1), note
le coppie di valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare, si definisce il
vettore:
3Annettere un punto s all’infinito e necessario per garantire la prestazione globale.
63
Cap. 5 Sintesi di anti-windup statico a tempo discreto §5.2 Compensatori Λα
αmin , argminαk,Qk,Hk,X,U
Nα∑
k=1
γ2min(sk)αk s.t. (5.2.4)
0 > He
−12Qk AQk Bw BqU+BLX 00 −1
2Qk 0 0 0
0 0 −12Iw 0 0
0 CyQk+Hk Dyw DyqU+DyLX−U 0
0 CzQk Dzw DzqU+DzLX −(1+αk)γ2
min(sk)
2Iz
(5.2.5)
0 ≤[
ui2
s2k
Hki
HTki
Qk
], ∀i = 1, ..., nu k = 1, ..., Nα (5.2.6)
LMI lineare in αk, Qk = QTk > 0, Hk, X e U > 0 diagonale. Allora αmin ≥ 0 e
Λα2 = XU−1 e un compensatore anti-windup statico che risolve il problema 3.2.
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
l’osservazione 4.2.3, inoltre si osserva che:
Osservazione 5.2.1. La prestazione ottenuta dai Λα e fortemente influenzata da:
1. Il numero Nα di coppie di valori (sk, γmin(sk)) scelte per effettuare la sintesi.
2. La larghezza dell’intervallo Is su cui si prelevano le coppie di valori (sk, γmin(sk))
scelte per effettuare la sintesi.
3. Il tempo di campionamento del sistema di controllo.
¤X
Osservazione 5.2.2. In fase di sintesi e necessario annettere all’insieme Is, un punto
in s = ∞. Infatti ad s = ∞ corrisponde una LMI nella formulazione del problema di
64
Cap. 5 Sintesi di anti-windup statico a tempo discreto §5.2 Compensatori Λα
ottimizzazione (equazione (5.2.2), equazione (5.2.5)) che vincola la prestazione di Λα
ad essere globale (si vedano la definizione 2.5.1 e l’osservazione 2.5.4 particolarizzata
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. Verra mostrato come l’introduzione del compensatore anti-windup recuperi la prestazione persa a causa del windup, garan-tendo proprieta globali, e che i compensatori Λα hanno prestazionimigliori rispetto al compensatore Λg.
6.1 Simulazioni
Validare una teoria con degli esempi e quanto di piu utile per mostrare in modo chiaro
potenzialita e limiti della teoria sviluppata.
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)
e tool di risoluzione di problemi di minimizzazione (Se.Du.Mi.), ottenendo un soft-
ware che sintetizza compensatori anti-windup statici. A questa prima parte, di sin-
tesi, si affianca la seconda parte, strettamente simulativa, nella quale il compensato-
re anti-windup statico appena sintetizzato viene inserito in un sistema di controllo
anti-windup e processato in ambiente Simulink (figura 6.1 e figura 6.2).
Il calcolo del guadagno L2 nonlineare dei sistemi di controllo anti-windup
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
teorema3 3.2.1 per sistemi a tempo discreto.
Le traiettorie dei sistemi di controllo anti-windup sintetizzati sono simulate dal
modello Simulink di figura 6.1: nello specifico in blocchi la cui struttura e 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-
l’equazione (1.4.7) in generale e nell’equazione (6.1.1) in particolare), provenienti dal
compensatore anti-windup e atti a pilotare il sistema di controllo in zona nonlineare.
v = Λq =
v1 = Λ1q : Λ1 ∈ Rnc×nu
v2 = Λ2q : Λ2 ∈ Rnu×nu(6.1.1)
1Schema di controllo in figura 1.4 e figura 6.2, in cui il blocco Λ =[Λ1
Λ2
]e sostituito rispettivamente
da Λg, Λα1 e Λα2 .2Nello specifico dall’osservazione 2.5.3 e dall’osservazione 2.4.2.3Nello specifico dall’osservazione 2.5.3 e dall’osservazione 2.4.2 particolarizzate per sistemi a
tempo discreto.
67
Cap. 6 Simulazioni §6.1 Simulazioni
q
u
v2
v1
yc
y
1
plant
plant
Saturation
Lambda _2K*u
Lambda _1
K*u
Dead Zone
Controller
y −r
v 1y _controllore
r
1
(a) Sistema di controllo anti-windup con compensatore Λα2 .
(b) Schema equivalente H: modello con deadzone.
Figura 6.2: Schema Simulink di ciclo chiuso con anti-windup.
Ovviamente in assenza di anti-windup, v1 e v2 sono nulli.
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
disposizione le traiettorie del sistema (uscite misurate e ingresso di controllo) necessa-
rie per una valutazione qualitativa della bonta dei compensatori sintetizzati ottenuta
confrontando il recupero di prestazione di ognuna rispetto al caso nominale.
Gli esempi di seguito riportati, comparsi gia 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
un recupero, seppur parziale, della prestazione persa a causa del windup.
I modelli utilizzati fanno uso di uscite di prestazione progettate ad hoc:
1. per il sistema massa molla smorzatore ([4], [8]) si vuole garantire il tracking della
massa, percio viene implementata come uscita di prestazione da minimizzare,
l’errore tra la traiettoria di riferimento e la posizione della massa;
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
all’overshoot e al settling time dell’angolo di pitch, percio viene implementata co-
me uscita di prestazione da minimizzare, l’errore sull’angolo e sull’accelerazione
angolare del pitch.
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
misurate y (e non quelle relative alle uscite di prestazione z).
6.2 Esempio 1: sistema massa molla smorzatore
(TC)
Figura 6.3: Sistema massa molla smorzatore.
Si consideri l’equazione del moto di un sistema massa-molla smorzatore (figura 6.3)
descritta dal sistema dinamico:
xp =
[0 1
− km
− fm
]xp +
[01m
]up (6.2.1)
yp =[1 0
]xp (6.2.2)
Dove xp ,[q q
]Trappresenta la posizione e la velocita della massa m connessa alla
molla di costante elastica k, f il coefficiente di smorzamento e up il forzamento esterno
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)
struttura e formalizzata nell’equazione (1.4.1), descritto dalle matrici:
Ap Bpu Bpw
Cpy Dpyu Dpyw
Cpz Dpzu Dpzw
=
0 1 0 0−6.667 −0.007 8.333 0−1 0 0 0−1 0 0 1
L’ingresso di controllo up ∈ R e la forza F applicata alla massa ed e vincolato
ad appartenere all’intervallo di saturazione [−1, 1]. L’uscita misurata yp ∈ R e la
posizione q della massa. Lo stato del sistema massa-molla smorzatore e xp ∈ R2.
L’ingresso esogeno w ∈ R e il riferimento che per l’esempio riportato e pari alla
funzione a gradini figura 6.4.
Figura 6.4: Segnale di riferimento che si vuole far inseguire al sistema massa mollasmorzatore.
Il controllore che soddisfa le specifiche non saturato a ciclo chiuso e descritto dalle
matrici:
[Ac Bcu Bcw
Cc Dcu Dcw
]=
−2.5 0 0 0 1.5811193.65 −80 19.365 122.47 0
50 0 0 31.623 0316.23 −122.47 31.623 200 0
70
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
6.2.1 Guadagno L2 nonlineare e risposta nel tempo
Sintesi di Λ
Il calcolo delle matrici del compensatore Λg e ottenuto semplicemente risolvendo il
problema di ottimizzazione dato dell’equazione (4.1.1):
Λg =
−0.620410.711998.94420.80889
Per quel che riguarda il calcolo dei compensatori Λα l’algoritmo e piu comples-
so. Scelti Nα = 20 valori di s, di cui Nα − 1 nell’intervallo4 Is = [10−3; 103] e
uno5 in s = ∞, si calcola il relativo minimo guadagno L2 nonlineare (paragrafo
2.6). Questo e l’ingrediente base per il calcolo dei compensatori Λα, i quali sono ot-
tenuti risolvendo rispettivamente i problemi di minimo definiti nell’equazione (4.2.1)
e nell’equazione (4.2.4):
Λα1 =
−0.443390.453216.25530.81083
Λα2 =
−0.636470.72699.166
0.80042
Guadagno L2 nonlineare
In figura 6.5 e riportato il diagramma dei guadagni nonlineari (Minimo e relativo ai
sistemi anti-windup con Λg, Λα1 e Λα2) su un intervallo Is ragionevole, che mostra,
come ci si aspettava, che:
1. Il minimo guadagno L2 nonlineare sottende i guadagni nonlineari di tutti i
sistemi di controllo anti-windup sintetizzati6.
4Significa scegliere Nα − 1 valori di s logaritmicamente equispaziati su un intervallo Is, e perognuno associare il vincolo di prestazione garantita ∀w : ‖w‖2 < s.
5La necessita di introdurre un punto in s = ∞ e giustificata nel paragrafo 4.2.3.6γmin(·) e il Lower bound.
71
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
2. I tre compensatori sintetizzati hanno prestazione globale garantita7.
3. I due compensatori Λα hanno una prestazione garantita non peggiore8 di Λg
nella zona di interesse.
10−3
10−2
10−1
100
101
102
103
100
101
102
103
Guadagno L2 nonlineare su intervallo: [−3 3] (valori s) e N
alfa = 20
Minimo guadagno L2 nonlineare TC
Compensatore ottimo TC per alfa 1Compensatore ottimo TC per alfa 2Compensatore ottimo TC globale
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 nonpeggiore (non piu grande) di Λg nella zona di interesse. Nello specifico Λα2 (blu)ha guadagno L2 praticamente identico al Λg (rosso); Λα1 (verde) e leggermente piupiccolo nell’intervallo di interesse.
7Linea orizzontale tratteggiata, pari al guadagno L2 dei compensatori Λ, ottenuto per s = ∞.8Non piu grande.
72
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
Il parametro che giudica la bonta dei compensatori anti-windup statici sintetizzati
e α: infatti, essendo variabile di minimizzazione, tanto piu e piccola α, tanto piu
i guadagni L2 nonlineari relativi a Λα1 e a Λα2 sono vicini al minimo guadagno L2
nonlineare.
Nello specifico, per la coppia (Nα, Is) = (20, [10−3; 103]) scelta i valori minimi
calcolati sono rispettivamente:
α1 = 6.891 α2 =
0.0559690.0970030.839344.88269.37286.8013.59161.85140.959590.48750.23190.097590.0334160.00800410.000884280.000185450.000834720.00140560.00171560.0021667
Risposta nel tempo
Il sistema di controllo non saturato e progettato per soddisfare certe specifiche richie-
ste, che verranno deteriorate dal windup. La simulazione del sistema non saturato su
25 sec. fornisce le traiettorie rappresentate in figura 6.6.
L’introduzione della saturazione sull’ingresso di controllo provoca il windup del
sistema, che come mostrato in figura 6.7 genera un’evidente fenomeno oscillatorio che
causa la perdita di stabilita.
73
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
0 5 10 15 20 25−1
−0.5
0
0.5
1
Ou
tpu
t
[TC] Traiettorie unconstrained del sistema
y1 unconstrained
0 5 10 15 20 25−10
−5
0
5
10
Time (s)
Inp
ut
u1 unconstrained
Figura 6.6: Traiettorie non saturate del sistema massa molla smorzatore a ciclo chiuso.Livelli di saturazione sull’ingresso (puntinato) non attivi.
0 5 10 15 20 25−30
−20
−10
0
10
20
30
Ou
tpu
t
[TC] Traiettorie saturate VS unconstrained del sistema
y1 constrained
0 5 10 15 20 25−10
−5
0
5
10
Time (s)
Inp
ut
u1 constrained
Figura 6.7: Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistemamassa 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-
stazione persa e soprattutto garantire la stabilita asintotica persa nell’introduzione
della saturazione.
74
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
In figura 6.8 e riportato il confronto tra risposta in uscita per il sistema non satura-
to e risposta in uscita per i sistemi anti-windup nelle diverse modalita: compensatore
Λg, Λα1 , Λα2 , per una simulazione del sistema figura 6.1 di periodo T=25 sec.
I Il compensatore Λα1 produce la risposta in uscita che converge piu veloce-
mente, tra i sistemi anti-windup.
I Il compensatore Λα2 produce una risposta in uscita che converge velocemente,
seppur piu lentamente di Λα1 .
I Entrambi i compensatori Λα producono una risposta in uscita che converge
piu velocemente del non saturato.
I Il compensatore Λα2 produce una risposta in uscita praticamente identica a
quella del compensatore Λg.
In figura 6.9 e 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 modalita:
compensatore Λg, Λα1 , Λα2 per una simulazione del sistema figura 6.1 di periodo T=25
sec.
I Il controllore compensato da Λα2 e Λg genera un segnale di controllo
praticamente identico.
75
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
05
1015
2025
−1
−0.
8
−0.
6
−0.
4
−0.
20
0.2
0.4
0.6
0.81
Con
fron
to tr
a ris
post
e in
usc
ita [T
C]
y 1 glo
bale
y 1 α1
y 1 α2
y 1 unc
onst
rain
ed
Fig
ura
6.8:
Ris
pos
tain
usc
ita
per
ilsi
stem
anon
satu
rato
(cel
este
)e
per
isi
stem
idico
ntr
ollo
anti
-win
dup
con
com
pen
sato
reΛ
g(r
osso
),Λ
α1
(ver
de)
,Λ
α2
(blu
)del
sist
ema
mas
sam
olla
smor
zato
rea
cicl
och
iuso
.R
ifer
imen
to(p
unti
nat
o).
Λα
1e
Λα
2
sono
sinte
tizz
atisu
Nα
=20
punti
,I s
=[1
0−3;1
03].
76
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
05
1015
2025
−10−
8
−6
−4
−20246810
Con
fron
to tr
a se
gnal
i di c
ontr
ollo
[TC
]
u 1 glo
bale
u 1 α1
u 1 α2
u 1 unc
onst
rain
ed
Fig
ura
6.9:
Seg
nal
edi
contr
ollo
per
ilsi
stem
anon
satu
rato
(cel
este
)e
per
isi
stem
idi
contr
ollo
anti
-win
dup
con
com
-pen
sato
reΛ
g(r
osso
),Λ
α1
(ver
de)
,Λ
α2
(blu
)del
sist
ema
mas
sam
olla
smor
zato
rea
cicl
och
iuso
.Liv
elli
di
satu
razi
one
(punti
nat
o).
Λα
1e
Λα
2so
no
sinte
tizz
atisu
Nα
=20
punti
,I s
=[1
0−3;1
03].
77
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
Le traiettorie del compensatore anti-windup globale Λg sono riportate in figu-
ra 6.10. Le traiettorie del compensatore anti-windup globale Λα1 sono riportate in
0 5 10 15 20 25−1
−0.5
0
0.5
1O
utp
ut
[TC] Traiettorie AW globale VS unconstrained del sistema
y1
AWg
0 5 10 15 20 25−10
−5
0
5
10
Time (s)
Inp
ut
u1
AWg
Figura 6.10: Traiettorie del sistema di controllo anti-windup globale (continuo) e nonsaturato (tratteggiato) del sistema massa molla smorzatore a ciclo chiuso. Il com-pensatore anti-windup globale e stato sintetizzato risolvendo l’equazione (4.1.1) e ga-rantisce stabilita 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.
Il parametro che giudica la bonta dei compensatori anti-windup statici sintetizzati
e α: per la coppia (Nα, Is) = (20, [10−3; 103]) scelta i valori minimi calcolati sono
rispettivamente:
α1 = 6.891 sup α2 = 9.3728
Quindi il compensatore che nell’intervallo Is ha migliore prestazione nonlineare e Λα1 .
Inoltre lo stesso Λα1 produce una risposta in uscita che converge piu velocemente
per l’esempio di cui sopra, in cui viene applicato il riferimento sopra definito con
|w| = 3.873 al sistema di controllo anti-windup (figura 6.1) per T = 25 secondi.
78
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)
0 5 10 15 20 25−1
−0.5
0
0.5
1
Ou
tpu
t
[TC] Traiettorie AW alfa1 VS unconstrained del sistema con Nα = 20
y1
AW a1
0 5 10 15 20 25−10
−5
0
5
10
Time (s)
Inp
ut
u1
AW a1
Figura 6.11: Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e nonsaturato (tratteggiato) del sistema massa molla smorzatore a ciclo chiuso. Il com-pensatore anti-windup Λα1 e stato sintetizzato risolvendo l’equazione (4.2.1) e garan-tisce stabilita e prestazione globale. Λα1 e leggermente piu veloce di Λg. Livelli disaturazione sull’ingresso (puntinato) attivi.
0 5 10 15 20 25−1
−0.5
0
0.5
1
Ou
tpu
t
[TC] Traiettorie AW alfa2 VS unconstrained del sistema con Nα = 20
y1
AW a2
0 5 10 15 20 25−10
−5
0
5
10
Time (s)
Inp
ut
u1
AW a2
Figura 6.12: Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e nonsaturato (tratteggiato) del sistema massa molla smorzatore a ciclo chiuso. Il compen-satore anti-windup Λα2 e stato sintetizzato risolvendo l’equazione (4.2.4) e garantiscestabilita e prestazione globale. Livelli di saturazione sull’ingresso (puntinato) attivi.
79
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
6.3 Esempio 2: sistema aereo F8 (TC)
Si consideri la dinamica longitudinale del sistema aereo F8 descritta dal sistema
dinamico:
A =
−0.8 −0.0006 −12 00 −0.014 −16.64 −32.21 −0.0001 −1.5 01 0 0 0
Bpu =
−19 −3−0.66 −0.5−0.16 −0.5
0 0
Cpy =
[0 0 0 10 0 −1 1
]Dpyu =
[0 00 0
]
Bpw = 04x2 Dpzu = Dpyw = 02x2
Cpz =
[0 0 0 3
4
−0.8 −0.0006 −12 0
]Dpzw =
[−34
00 0
]
L’ingresso di controllo all’aereo up ∈ R2 e vincolato ad appartenere all’intervallo di
[−25, 25] gradi. L’uscita misurata yp ∈ R2 e l’angolo di pitch e l’angolo di flight path,
in radianti. Lo stato dell’aereo e xp ∈ R4. L’ingresso esogeno w ∈ R2 e il riferimento
che per gli esempi che seguono e stato fissato a [10; 10] gradi. Il sistema di controllo
non saturato a ciclo chiuso, ottenuto con tecnica LQG/LTR, e descritto dalle matrici:
Ac =
[Aa + BaG−HCa 0
G 0
]Bcy = −Bcw =
[H0
]
Cc =[0 I
]Dcy = Dcw = 02x2
Dove H, G, Aa, Ba, Ca sono cosı definite:
HT =
[−0.844 −11.54 −0.86 −47.4 4.68 4.820.819 13.47 0.25 15 −4.8 0.14
]
G =
[−52.23 −3.36 73.1 −0.0006 −94.3 1072−3.36 −29.7 −2.19 −0.006 908.9 −921
]
80
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
Aa =
[0 0
Bpu Ap
]Ba =
[I2
04x2
]Ca =
[02x2 Cpyu
]
6.3.1 Guadagno L2 nonlineare e risposta nel tempo
Sintesi di Λ
Il calcolo delle matrici del compensatore Λg e ottenuto semplicemente risolvendo il
problema di ottimizzazione dato dell’equazione (4.1.1):
Λg =
−3826.09 2412.3714817.27 −16488.92
26.15 −72.96−55138.10 −106842.72−3.17 −16.86−79.13 −21.80−3843.96 2403.2714782.24 −16468.96−5.37 3.963.53 −5.71
Per quel che riguarda il calcolo dei compensatori Λα l’algoritmo e piu complesso.
Scelti Nα = 20 valori di s, di cui Nα − 1 nell’intervallo9 Is = [100; 104] e uno10
in s = ∞, si calcola il relativo minimo guadagno L2 nonlineare (paragrafo 2.6).
Questo e l’ingrediente base per il calcolo dei compensatori Λα, i quali sono otte-
nuti risolvendo rispettivamente i problemi di minimo definiti nell’equazione (4.2.1) e
nell’equazione (4.2.4):
9Significa scegliere Nα − 1 valori di s logaritmicamente equispaziati su un intervallo Is, e perognuno associare il vincolo di prestazione garantita ∀w : ‖w‖2 < s.
10La necessita di introdurre questo punto e giustificata nel paragrafo 4.2.3.
81
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
Λα1 =
−86.22 15.01133.87 −125.226.71 −1.39
105.43 19.37−0.96 −0.13−4.96 −0.20−86.64 14.88133.42 −125.97−0.12 0.233.49 −0.07
Λα2 =
−30.58 1.4379.92 −17.224.83 0.1918.72 1.040.02 0.04−1.44 −0.07−30.71 1.4278.73 −17.390.75 0.02−0.35 0.75
Guadagno L2 nonlineare
In figura 6.13 e riportato il diagramma dei guadagni nonlineari (Minimo e relativo ai
sistemi anti-windup con Λg, Λα1 e Λα2 .) su un intervallo Is ragionevole, che mostra,
come ci si aspettava, che:
1. Il minimo guadagno L2 nonlineare sottende i guadagni nonlineari di tutti i
sistemi di controllo anti-windup sintetizzati11.
2. I tre compensatori sintetizzati hanno prestazione globale garantita12.
3. I due compensatori Λα hanno una prestazione garantita migliore13 di Λg nella
zona di interesse.
Il parametro che giudica la bonta dei compensatori anti-windup statici sintetizzati
e α: infatti, essendo variabile di minimizzazione, tanto piu e piccola α, tanto piu
i guadagni L2 nonlineari relativi a Λα1 e a Λα2 sono vicini al minimo guadagno L2
nonlineare.
Nello specifico, per la coppia (Nα, Is) = (20, [100; 104]) scelta i valori minimi
calcolati sono rispettivamente:
11γmin(·) e il Lower bound.12Linea orizzontale tratteggiata, pari al guadagno L2 dei compensatori Λ, ottenuto per s = ∞.13Per prestazione garantita migliore si intende un guadagno L2 piu piccolo.
82
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
100
101
102
103
104
101.3
101.4
101.5
Guadagno L2 nonlineare su intervallo: [0 4] (valori s) e N
alfa = 20
Compensatore ottimo TC globaleCompensatore ottimo TC per alfa 1Compensatore ottimo TC per alfa 2Minimo guadagno L
2 nonlineare TC
Figura 6.13: Sistema aereo F8 a tempo continuo. Diagramma del minimo guadagnoL2 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(piu piccola) di Λg nella zona di interesse.
α1 = 0.4719 α2 =
0.868730.947171.09221.28271.49431.72712.01161.98221.62571.47011.42271.40521.37521.34141.3161.2931.27781.26
1.24891.2355
83
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
Risposta nel tempo
Il sistema di controllo non saturato e progettato per soddisfare certe specifiche richie-
ste, che verranno deteriorate dal windup. La simulazione del sistema non saturato su
5 sec. fornisce le traiettorie rappresentate in figura 6.14.
−1 0 1 2 3 4 5−2
0
2
4
6
8
10
12
Ou
tpu
t
[TC] Traiettorie unconstrained del sistema
y1 unconstrained
y2 unconstrained
−1 0 1 2 3 4 5−40
−20
0
20
40
60
80
Time (s)
Inp
ut
u1 unconstrained
u2 unconstrained
Figura 6.14: Traiettorie non saturate del sistema aereo F8 a ciclo chiuso. Livelli disaturazione sull’ingresso (puntinato) non attivi.
L’introduzione della saturazione sull’ingresso di controllo provoca il windup del
sistema, che come mostrato in figura 6.15 produce overshoot inaccettabili, ovvero-
sia una perdita di prestazione che impedisce il soddisfacimento di tutte le specifiche
richieste nel sistema di controllo non saturato.
Il sistema di controllo anti-windup a ciclo chiuso deve recuperare parte della
prestazione persa nell’introduzione della saturazione limitando overshoot e fenomeni
oscillatori che rallentano l’uscita.
In figura 6.16 e riportato il confronto tra risposta in uscita per il sistema non
saturato e risposta in uscita per i sistemi anti-windup nelle diverse modalita: com-
84
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
−1 0 1 2 3 4 5−5
0
5
10
15
Ou
tpu
t
[TC] Traiettorie saturate VS unconstrained del sistema
y1 constrained
y2 constrained
−1 0 1 2 3 4 5−40
−20
0
20
40
60
80
Time (s)
Inp
ut
u1 constrained
u2 constrained
Figura 6.15: Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistemaaereo 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.
I Il compensatore Λα2 produce la risposta in uscita che converge piu veloce-
mente, tra i sistemi anti-windup, e in generale si comporta meglio durante tutto
l’intervallo di simulazione nonostante il diagramma dei guadagni L2 di figu-
ra 6.13 promuova Λα1 come migliore compensatore. Questa incongruenza e solo
apparente, infatti il diagramma di figura 6.13 identifica la stima minima del
guadagno L2 da w a z (un upper bound sul vero guadagno L2 del sistema) cioe
rappresenta una misura conservativa di prestazione, una sovrastima.
I Il compensatore Λα1 produce una risposta in uscita che converge velocemente,
seppur piu lentamente di Λα2 .
I I compensatori Λα1 e Λα2 producono un overshoot piu piccolo di Λg e conver-
gono alla risposta non saturato piu 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 piu veloce-
mente del non saturato.
In figura 6.17 e 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-
lita: compensatore Λg, Λα1 , Λα2 per una simulazione del sistema figura 6.1 di periodo
T=5 sec.
86
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
−1
01
23
45
−2024681012
Con
fron
to tr
a ris
post
e in
usc
ita [T
C]
y 1 glo
bale
y 1 α1
y 1 α2
y 1 unc
onst
rain
ed
−1
01
23
45
−2024681012
y 2 glo
bale
y 2 α1
y 2 α2
y 2 unc
onst
rain
ed
Fig
ura
6.16
:R
ispos
tein
usc
ita
per
ilsi
stem
anon
satu
rato
(cel
este
)e
per
isi
stem
idico
ntr
ollo
anti
-win
dup
con
com
pen
-sa
tore
Λg
(ros
so),
Λα
1(v
erde)
,Λ
α2
(blu
)del
sist
ema
aere
oF8
aci
clo
chiu
so.
Rifer
imen
to(p
unti
nat
o).
Λα
1e
Λα
2so
no
sinte
tizz
atisu
Nα
=20
punti
,I s
=[1
00;1
04].
87
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
−1
01
23
45
−40
−30
−20
−100102030
Con
fron
to tr
a se
gnal
i di c
ontr
ollo
[TC
]
u 1 glo
bale
u 1 α1
u 1 α2
u 1 unc
onst
rain
ed
−1
01
23
45
−40
−20020406080
u 2 glo
bale
u 2 α1
u 2 α2
u 2 unc
onst
rain
ed
Fig
ura
6.17
:Seg
nal
idico
ntr
ollo
per
ilsi
stem
anon
satu
rato
(cel
este
)e
per
isi
stem
idico
ntr
ollo
anti
-win
dup
con
com
-pen
sato
reΛ
g(r
osso
),Λ
α1
(ver
de)
,Λ
α2
(blu
)del
sist
ema
aere
oF8
aci
clo
chiu
so.
Liv
elli
disa
tura
zion
e(p
unti
nat
o).
Λα
1e
Λα
2so
no
sinte
tizz
atisu
Nα
=20
punti
,I s
=[1
00;1
04].
88
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
Le traiettorie del compensatore anti-windup globale Λg sono riportate in figu-
ra 6.18. Le traiettorie del compensatore anti-windup globale Λα1 sono riportate in
−1 0 1 2 3 4 5−2
0
2
4
6
8
10
12O
utp
ut
[TC] Traiettorie AW globale VS unconstrained del sistema
y1
AWg
y2
AWg
−1 0 1 2 3 4 5−40
−20
0
20
40
60
80
Time (s)
Inp
ut
u1
AWg
u2
AWg
Figura 6.18: Traiettorie del sistema di controllo anti-windup globale (continuo) enon saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-windup globale e stato sintetizzato risolvendo l’equazione (4.1.1) e garantisce stabilitae prestazione globale. Livelli di saturazione sull’ingresso (puntinato) attivi.
figura 6.19. Le traiettorie del compensatore anti-windup globale Λα2 sono riportate
in figura 6.20.
Il parametro che giudica la bonta dei compensatori anti-windup statici sintetizzati
e α: per la coppia (Nα, Is) = (20, [100; 104]) scelta i valori minimi calcolati sono
rispettivamente:
α1 = 0.4719 sup α2 = 2.0116
Quindi il compensatore che nell’intervallo Is ha migliore prestazione nonlineare e Λα1 .
Ciononostante applicando il riferimento sopra definito con |w| = 31.6228 e simulando
89
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
−1 0 1 2 3 4 5−2
0
2
4
6
8
10
12
Ou
tpu
t
[TC] Traiettorie AW alfa1 VS unconstrained del sistema con Nα = 20
y1
AW a1
y2
AW a1
−1 0 1 2 3 4 5−40
−20
0
20
40
60
80
Time (s)
Inp
ut
u1
AW a1
u2
AW a1
Figura 6.19: Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e nonsaturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-windup Λα1 e stato sintetizzato risolvendo l’equazione (4.2.1) e garantisce stabilita eprestazione globale, inoltre fornisce una dinamica migliore rispetto a Λg. Livelli disaturazione sull’ingresso (puntinato) attivi.
il sistema di controllo anti-windup (figura 6.1), il valore dell’errore di inseguimento14
all’istante T = 5 secondi e:
Tipo di Sistema di controllo y1(T ) y2(T )non saturato 0.13897 0.11792
Saturato 0.14034 0.17139anti-windup Globale 0.61925 0.54214
anti-windup α1 0.37337 0.32777anti-windup α2 0.1301 0.11329
Cio mostra (y1α2= 0.1301 e y2α2
= 0.11329) che per questo riferimento specifico
il compensatore che si comporta meglio e Λα2 .
14L’errore di inseguimento viene indicato con y(t) = y(t)− w(t).
90
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)
−1 0 1 2 3 4 5−2
0
2
4
6
8
10
12
Ou
tpu
t
[TC] Traiettorie AW alfa2 VS unconstrained del sistema con Nα = 20
y1
AW a2
y2
AW a2
−1 0 1 2 3 4 5−40
−20
0
20
40
60
80
Time (s)
Inp
ut
u1
AW a2
u2
AW a2
Figura 6.20: Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e nonsaturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-windup Λα2 e stato sintetizzato risolvendo l’equazione (4.2.4) e garantisce stabilita eprestazione globale. Λα2 e, inoltre, nettamente il miglior compensatore per velocitadi convergenza e per errore di inseguimento dopo 5 sec. rispetto Λα1 e Λg. Livelli disaturazione sull’ingresso (puntinato) attivi.
91
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
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 Tc = 0.01 sec. L’ingresso di controllo
all’aereo up ∈ R2 e vincolato ad appartenere all’intervallo di [−25, 25] gradi. L’ingresso
esogeno w ∈ R2 e il riferimento che per gli esempi che seguono e stato fissato a [10; 10]
gradi.
6.4.1 Guadagno L2 nonlineare e risposta nel tempo
Sintesi di Λ
Il calcolo delle matrici del compensatore Λg e ottenuto semplicemente risolvendo il
problema di ottimizzazione dato dall’equazione (5.1.1):
Λg =
−0.76192 0.123582.7703 −0.92341
0.071102 −0.0019517−11.445 −7.1932−0.012692 0.0032274−0.018129 −0.001616−0.76624 0.122782.7662 −0.922330.40489 0.106411.7191 0.40486
Per quel che riguarda il calcolo dei compensatori Λα l’algoritmo e piu complesso.
Scelti Nα = 10 valori di s, di cui Nα − 1 nell’intervallo15 Is = [101.5; 103] e uno16 in
s = ∞, si calcola il relativo minimo guadagno L2 nonlineare (paragrafo 3.4). Questo
e l’ingrediente base per il calcolo dei compensatori Λα, i quali sono ottenuti risolvendo
rispettivamente i problemi di minimo equazione (5.2.1) ed equazione (5.2.4):
15Significa scegliere Nα − 1 valori di s logaritmicamente equispaziati su un intervallo Is, e perognuno associare il vincolo di prestazione garantita ∀w : ‖w‖2 < s.
16La necessita di introdurre questo punto e giustificata nel paragrafo 5.2.3.
92
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
Λα1 =
−0.52875 0.0803371.0201 −0.59791
0.071419 −0.00317980.97843 0.09477
−0.0034853 0.0010226−0.022482 −0.0004093−0.53167 0.0796871.0379 −0.602840.24602 0.154712.2459 0.24192
Λα2 =
−0.5247 0.0762911.0009 −0.57733
0.077147 −0.00468251.0546 0.15103
−0.0070692 0.0015498−0.023472 −0.00025436−0.52815 0.075486
1.015 −0.579960.12441 0.175782.924 0.1218
Guadagno L2 nonlineare
In figura 6.21 e riportato il diagramma dei guadagni nonlineari (Minimo e relativo ai
sistemi anti-windup con Λg, Λα1 e Λα2) su un intervallo Is ragionevole, che mostra,
come ci si aspettava, che:
1. Il minimo guadagno L2 nonlineare sottende i guadagni nonlineari di tutti i
sistemi di controllo anti-windup sintetizzati17.
2. I tre compensatori sintetizzati hanno prestazione globale garantita18.
3. I due compensatori Λα hanno una prestazione garantita migliore di Λg nella
zona di interesse.
Il parametro che giudica la bonta dei compensatori anti-windup statici sintetizzati
e α: infatti, essendo variabile di minimizzazione, tanto piu e piccola α, tanto piu
i guadagni L2 nonlineari relativi a Λα1 e a Λα2 sono vicini al minimo guadagno L2
nonlineare.
Nello specifico, per la coppia (Nα, Is) = (10, [101.5; 103]) scelta i valori minimi
calcolati sono rispettivamente:
17γmin(·) e il Lower bound.18Linea orizzontale tratteggiata, pari al guadagno L2 dei compensatori Λ, ottenuto per s = ∞.
93
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
102
103
101.2
101.3
101.4
101.5
101.6
Guadagno L2 nonlineare su intervallo: [1.5 3] (valori s) e N
alfa = 10
Compensatore ottimo TD globaleCompensatore ottimo TD per alfa 1Compensatore ottimo TD per alfa 2Minimo guadagno L
2 nonlineare TD
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 (piupiccola) di Λg nell’intervallo di interesse.
α1 = 0.32433 α2 =
0.00558550.0193740.105510.181830.272880.335180.202660.148570.143260.29612
Risposta nel tempo
Il sistema di controllo non saturato e progettato per soddisfare certe specifiche richie-
ste, che verranno deteriorate dal windup. La simulazione del sistema non saturato
su 5 sec fornisce le traiettorie rappresentate in figura 6.22. L’introduzione della satu-
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)
−1 0 1 2 3 4 50
2
4
6
8
10
12
Ou
tpu
t
[TD] Traiettorie unconstrained del sistema
y1 unconstrained
y2 unconstrained
−1 0 1 2 3 4 5−40
−20
0
20
40
60
80
Time (s)
Inp
ut
u1 unconstrained
u2 unconstrained
Figura 6.22: Traiettorie non saturate del sistema aereo F8 a ciclo chiuso. Livelli disaturazione sull’ingresso (puntinato) non attivi.
figura 6.23 produce overshoot inaccettabili, ovverosia una perdita di prestazione che
impedisce il soddisfacimento di tutte le specifiche richieste nel sistema di controllo
non saturato.
−1 0 1 2 3 4 50
2
4
6
8
10
12
14
Ou
tpu
t
[TD] Traiettorie saturate VS unconstrained del sistema
y1 constrained
y2 constrained
−1 0 1 2 3 4 5−40
−20
0
20
40
60
80
Time (s)
Inp
ut
u1 constrained
u2 constrained
Figura 6.23: Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistemaaereo F8 a ciclo chiuso. Livelli di saturazione sull’ingresso (puntinato) attivi.
95
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
Il sistema di controllo anti-windup a ciclo chiuso deve recuperare parte della
prestazione persa nell’introduzione della saturazione limitando overshoot e fenomeni
oscillatori che rallentano l’uscita.
In figura 6.24 e riportato il confronto tra risposta in uscita per il sistema non
saturato e risposta in uscita per i sistemi anti-windup nelle diverse modalita: com-
pensatore Λg, Λα1 , Λα2 , per una simulazione del sistema figura 6.1 di periodo T=5
sec.
I Il compensatore Λα1 produce la risposta in uscita che converge piu veloce-
mente, tra i sistemi anti-windup, e in generale si comporta meglio durante tutto
l’intervallo di simulazione.
I Il compensatore Λα2 produce una risposta in uscita migliore di Λg, seppur piu
lenta di Λα1 .
I I compensatori Λα1 e Λα2 producono un overshoot leggermente piu picco-
lo di Λg e convergono alla risposta non saturato piu velocemente garantendo
prestazione globale.
In figura 6.25 e 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 modalita:
compensatore Λg, Λα1 , Λα2 per una simulazione del sistema figura 6.1 di periodo T=5
sec.
96
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
−1
01
23
45
024681012C
onfr
onto
tra
rispo
ste
in u
scita
[TD
]
y 1 glo
bale
y 1 α1
y 1 α2
y 1 unc
onst
rain
ed
−1
01
23
45
024681012
y 2 glo
bale
y 2 α1
y 2 α2
y 2 unc
onst
rain
ed
Fig
ura
6.24
:R
ispos
tein
usc
ita
per
ilsi
stem
anon
satu
rato
(cel
este
)e
per
isi
stem
idico
ntr
ollo
anti
-win
dup
con
com
pen
-sa
tore
Λg
(ros
so),
Λα
1(v
erde)
,Λ
α2
(blu
)del
sist
ema
aere
oF8
aci
clo
chiu
so.
Rifer
imen
to(p
unti
nat
o).
Λα
1e
Λα
2so
no
sinte
tizz
atisu
Nα
=10
punti
,I s
=[1
01.5;1
03].
97
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
−1
01
23
45
−40
−30
−20
−100102030
Con
fron
to tr
a se
gnal
i di c
ontr
ollo
[TD
]
u 1 glo
bale
u 1 α1
u 1 α2
u 1 unc
onst
rain
ed
−1
01
23
45
−40
−20020406080
u 2 glo
bale
u 2 α1
u 2 α2
u 2 unc
onst
rain
ed
Fig
ura
6.25
:Seg
nal
edico
ntr
ollo
per
ilsi
stem
anon
satu
rato
(cel
este
)e
per
isi
stem
idico
ntr
ollo
anti
-win
dup
con
com
-pen
sato
reΛ
g(r
osso
),Λ
α1
(ver
de)
,Λ
α2
(blu
)del
sist
ema
aere
oF8
aci
clo
chiu
so.
Rifer
imen
to(p
unti
nat
o).
Λα
1e
Λα
2so
no
sinte
tizz
atisu
Nα
=10
punti
,I s
=[1
01.5;1
03].
98
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
Le traiettorie del compensatore anti-windup globale Λg sono riportate in figu-
ra 6.26. Le traiettorie del compensatore anti-windup globale Λα1 sono riportate in
−1 0 1 2 3 4 50
2
4
6
8
10
12O
utp
ut
[TD] Traiettorie AW globale VS unconstrained del sistema
y1
AWg
y2
AWg
−1 0 1 2 3 4 5−40
−20
0
20
40
60
80
Time (s)
Inp
ut
u1
AWg
u2
AWg
Figura 6.26: Traiettorie del sistema di controllo anti-windup globale (continuo) enon saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-windup globale e stato sintetizzato risolvendo l’equazione (5.1.1) e garantisce stabilitae prestazione globale. Livelli di saturazione sull’ingresso (puntinato) attivi.
figura 6.27. Le traiettorie del compensatore anti-windup globale Λα2 sono riportate
in figura 6.28.
Il parametro che giudica la bonta dei compensatori anti-windup statici sintetizzati
e α: per la coppia (Nα, Is) = (10, [101.5; 103]) scelta i valori minimi calcolati sono
rispettivamente:
α1 = 0.32433 sup α2 = 0.33518
Quindi il compensatore che nell’intervallo Is ha migliore prestazione nonlineare e
Λα1 . Cio e avvalorato dalla simulazione, infatti applicando il riferimento sopra definito
con |w| = 31.6228 e processando il sistema di controllo anti-windup (figura 6.1), il
99
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
−1 0 1 2 3 4 50
2
4
6
8
10
12
Ou
tpu
t
[TD] Traiettorie AW alfa1 VS unconstrained del sistema con Nα = 10
y1
AW a1
y2
AW a1
−1 0 1 2 3 4 5−40
−20
0
20
40
60
80
Time (s)
Inp
ut
u1
AW a1
u2
AW a1
Figura 6.27: Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e nonsaturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-windup Λα1 e stato sintetizzato risolvendo l’equazione (5.2.1) e garantisce stabilitae prestazione globale. E il migliore tra i compensatori anti-windup sintetizzati sep-pur mantenga un errore di inseguimento dopo 5 sec. non trascurabile. Livelli disaturazione sull’ingresso (puntinato) attivi.
valore dell’errore di inseguimento, indicato y(t) = y(t)−w(t), all’istante T = 5 secondi
e:
Tipo di Sistema di controllo y1(T ) y2(T )non saturato 0.13874 0.11771
Saturato 0.14107 0.17396anti-windup Globale 0.65542 0.57444
anti-windup α1 0.3209 0.28088anti-windup α2 0.47753 0.42032
Cio mostra (y1α1= 0.3209 e y2α1
= 0.28088) che per questo riferimento specifico
il compensatore che si comporta meglio e Λα1 .
100
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)
−1 0 1 2 3 4 50
2
4
6
8
10
12
Ou
tpu
t
[TD] Traiettorie AW alfa2 VS unconstrained del sistema con Nα = 10
y1
AW a2
y2
AW a2
−1 0 1 2 3 4 5−40
−20
0
20
40
60
80
Time (s)
Inp
ut
u1
AW a2
u2
AW a2
Figura 6.28: Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e nonsaturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-windup Λα2 e stato sintetizzato risolvendo l’equazione (5.2.4) e garantisce stabilita eprestazione globale. Livelli di saturazione sull’ingresso (puntinato) attivi.
101
Capitolo 7
Conclusioni e sviluppi futuri
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 gia esistenti in
letteratura.
Gli algoritmi α sono stati implementati in un software in ambiente Matlab specifico
per la progettazione automatica di anti-windup statico con prestazione nonlineare,
che sintetizza il compensatore Λα a partire dalle matrici di sistema di processo e
controllore, e dai parametri progettuali (Nα, Is).
I compensatori Λα1 e Λα2 sintetizzati hanno sempre comportamento migliore
rispetto a Λg nell’intervallo di interesse e assicurano guadagno L2 ingresso/uscita
globale finito; ed e questo l’aspetto originale e rilevante della tesi: compensatori statici
di semplice progettazione, realizzazione fisica e impianto nel sistema di controllo pre-
esistente, con prestazioni migliori rispetto allo stato dell’arte.
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
verifica sperimentale della validita dei risultati ottenuti su impianti sotto-dimensionati
102
Cap. 7 Conclusioni e sviluppi futuri
esistenti e l’ampliamento delle tecniche α anche per compensatori anti-windup lineari
dinamici con prestazione nonlineare garantita.
103
Appendice A
Strumenti Matematici
A.1 Nomenclatura generale
Definizione A.1.1. Una matrice quadrata simmetrica M = MT ∈ Rn×n e definita
positiva, indicata con M > 0, se ∀x ∈ Rn, x 6= 0 vale xT Mx > 0
Definizione A.1.2. He(A) = A + AT
A.2 Norma L2 e Spazio L2
Sia y(t) ∈ Rn un segnale definito t ≥ 0, allora l’energia ‖y(·)‖2 di y(t), detta norma
L2 di y(t), e data da:
‖y(·)‖2 =
√∫ ∞
0
y(t)T y(t)dt. (A.2.1)
quandunque l’integrale converga (cioe ‖y(·)‖2 < ∞).
Affiche ‖y(·)‖2 < ∞, e necessario che y(t) sia una funzione convergente: quindi
ogni segnale ad energia finita si annulla asintoticamente1 (non vale l’implica-
zione al contrario); inoltre a segnali con una energia minore (ovvero con una ‖y(·)‖2
piu piccola) corrisponde una maggiore la velocita di convergenza del segnale a zero.
1Questo e vero sotto alcune lievi ipotesi di regolarita 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.
y(t) ∈ L2 ⇔ ‖y(·)‖2 =
√∫ ∞
0
y(t)T y(t)dt < ∞
A.3 Guadagno L2 ingresso/uscita
Sia P un sistema lineare stabile asintoticamente:
P :
x = Ax + Bwz = Cx + Dw
(A.3.1)
Se l’ingresso w(·) e una funzione appartenente allo spazio L2 allora la risposta in uscita
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]).
Quindi ha senso, poiche e limitato, considerare il rapporto:√∫∞0
z(t)T z(t)dt√∫∞
0w(t)T w(t)dt
=‖z(·)‖2
‖w(·)‖2
(A.3.2)
L’estremo superiore dell’insieme dei valori assunti da tale rapporto al variare dell’in-
gresso w(·) ∈ L2 prende nome di guadagno L2 ingresso/uscita del sistema da w a z,
denominato piu brevemente ‖P‖2, ed e dato da:
‖P‖2 , sup‖w(·)‖2=1
‖z(·)‖2 < γ (A.3.3)
Il guadagno L2 ingresso/uscita e un indice di prestazione del sistema P poiche quan-
tifica la massima amplificazione di energia possibile del segnale in ingresso w ∈ L2
sull’uscita di prestazione z. In generale, data una costante positiva γ, il sistema P
ha guadagno L2 ingresso/uscita finito e minore di γ se per ogni funzione d’ingres-
so w(·) ∈ L2 la risposta del sistema a partire da condizioni iniziali nulle soddisfa la
condizione:
‖z(·)‖2 ≤ γ‖w(·)‖2 (A.3.4)
105
Cap. A Strumenti Matematici §A.4 Ottimizzazione Convessa
Teorema A.3.1. Sia il sistema lineare definito nell’equazione (A.3.1) asintoticamen-
te stabile e la sua matrice di trasferimento sia cosı definita:
W (s)=C(sI−A)−1B +D
Allora risulta ‖W‖∞=‖P‖2 (Dimostrazione in [6]).
Lo stesso risultato, cioe che per un sistema lineare la norma2 H∞ di W coincide
col guadagno L2 di P e dimostrato anche dal Bounded Real Lemma (teorema 2.4.1).
A.4 Ottimizzazione Convessa
Un insieme Ω e detto insieme convesso, se ∀x, y ∈ Ω, t ∈ [0, 1] l’elemento:
v = tx + (1− t) y ∈ Ω
Un funzione f e detta funzione convessa se e definita su un insieme convesso Ω e se:
I ∀x, y ∈ Ω, t ∈ [0, 1] vale sempre:
f (tx + (1− t) y) ≤ tf(x) + (1− t) f(y)
I Se f ∈ C1 allora:
f(y) ≥ f(x) +∇f(x)(y − x), ∀x, y ∈ Ω
I Se f ∈ C2 allora:
∇2f(x) ≥ 0, ∀x ∈ Ω
Teorema A.4.1. Se f e convessa su un insieme Ω convesso, allora un minimo locale
e anche un minimo globale.
2La norma H∞ di una matrice di trasferimento corrisponde al picco del diagramma dei modulidi Bode.
106
Cap. A Strumenti Matematici §A.5 LMI
Figura A.1: Grafico di una funzione convessa.
Teorema A.4.2. Se f e convessa su un insieme Ω convesso e f ∈ C1, se x∗ e tale
che:
∀y ∈ Ω, ∇f(x∗)(y − x∗) ≥ 0
allora x∗ e un minimo globale.
A.5 LMI
Le Linear Matrix Inequalities (LMI) e le tecniche LMI sono un potente strumento
di progettazione nell’ambito dei controlli automatici, fortemente sviluppate essenzial-
mente per tre fattori:
1. La varieta di specifiche e vincoli che possono essere descritti tramite LMI.
2. Una volta espresso in termini di LMI, un problema puo essere risolto esattamente
da un algoritmi efficienti di ottimizzazione convessa (detti LMI solvers).
107
Cap. A Strumenti Matematici §A.5 LMI
3. Un problema con molti vincoli o obiettivi potrebbe non avere una soluzione
analitica espressa in termini di equazioni matriciali. Lo stesso problema, espresso
in termini di LMI, potrebbe ammettere una soluzione trattabile.
Una LMI e un espressione del tipo:
F (x) , F0 + x1F1 + ... + xmFm < 0
dove:
1. x = (x1, ..., xm) e un vettore di n elementi, reali, chiamati variabili decisionali.
2. F0, ..., Fm sono matrici simmetriche reali, ovvero del tipo Fi = F Ti ∈ Rn×n.
3. La disuguaglianza < 0 significa (matrice) definita negativa.
Definizione A.5.1. Una LMI e una disuguaglianza matriciale
F (x) < 0
dove F e una funzione affine che associa uno spazio vettoriale V di dimensioni finite
all’insieme delle matrici reali simmetriche n× n chiamato Sn:
F : V→ Sn ,M |M = MT ∈ Rn×n
Tramite un semplice cambiamento di base (da V a Sm) e facile notare che le
caratteristiche delle LMI definite F : V → Sn valgono anche per F : Sm → Sn,
ovvero a seguito di una trasformazione del vettore di variabili decisionali in matrici
(simmetriche) di variabili decisionali.
F (X) = F
(m∑
j=1
xjEj
)= F0 +
m∑j=1
xjF (Ej) = F0 +m∑
j=1
xjFj
108
Cap. A Strumenti Matematici §A.5 LMI
Osservazione A.5.1. Convessita. Una LMI definisce un vincolo convesso su x, cioe
l’insieme Ω , x|F (x) < 0 delle soluzioni di F (x) < 0 e convesso, quindi ∀x, y ∈Ω, t ∈ [0, 1] vale sempre:
F (tx + (1− t) y) = tF (x) + (1− t) F (y) < 0
con F funzione affine ad x, e dove la disuguaglianza segue dal fatto che t > 0 e
1− t > 0. ¤X
I tre problemi generici basati su LMI
Poiche una LMI definisce un insieme convesso Ω nella variabile x, problemi di otti-
mizzazione di una funzione di costo f : Ω → R con Ω , x|F (x) < 0 appartengono
alla classe dei problemi di ottimizzazione convessa.
Date le funzioni affini F, G,H : V→ S esistono tre tipi di problemi generici basati
su LMI:
I Esistenza di una soluzione ammissibile. Si verifica l’esistenza della solu-
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).
I Problema di minimizzazione di funzione obiettivo lineare. Si considera
una funzione del tipo f : Ω → R del tipo f = cT x, con Ω , x|F (x) < 0 e si
determina il valore ottimo
Vopt = infx∈S
f(x)
In particolare il problema di ottimizzazione con un vincolo LMI ha la forma:
min cT x, s.t. F (x) < 0
109
Cap. A Strumenti Matematici §A.5 LMI
I Problema generalizzato di minimizzazione dell’autovalore Si minimizza
uno scalare λ ∈ R soggetto ai vincoli
λF (x)−G(x) > 0
F (x) > 0
H(x) > 0
Sistemi di LMI
La potenza delle LMI risiede nella loro capacita di esprimere diversi tipi di insiemi
convessi con proprieta piu attraenti rispetto a quelle degli insieme convessi generici.
Un sistema di LMI e un insieme finito di LMI:
F1(x) < 0F2(x) < 0
...Fn(x) < 0
(A.5.1)
Qualsiasi sistema di LMI puo essere espresso come una singola LMI, infatti l’e-
quazione (A.5.1 ammette le stesse soluzioni della LMI
F (x) =
F1(x) 0 0 00 F2(x) 0 0
0 0. . . 0
0 0 0 Fn(x)
< 0 (A.5.2)
con F (x) simmetrica per ogni x, e dato che l’insieme degli autovalori di F (x) e dato
dall’unione degli autovalori di F1(x), F2(x), ..., Fn(x), tutti i valori di x che soddisfano
F (x) < 0 soddisfano anche anche l’equazione (A.5.2) e viceversa.
A.5.1 Schur Complement
Lo Schur Complement (per una trattazione nel dettaglio si vedano [1], [2]) e forse lo
strumento piu importante legato alle LMI: esso infatti permette di trasformare una
110
Cap. A Strumenti Matematici §A.6 Vincolo di Lipschitz
certa classe di disuguaglianze nonlineari in disuguaglianze matriciali lineari. Infatti
impostando la seguente LMI:
[Q(x) S(x)ST (x) R(x)
]> 0 (A.5.3)
Dove Q = QT , R = RT ed S sono affini ad x. Allora l’equazione (A.5.3) vale se e solo
se: R(x) > 0Q(x)− S(x)R−1(x)ST (x) > 0
(A.5.4)
Il sistema di disequazioni definito dall’equazione (A.5.4) e nonlineare: ripercorrendo lo
stesso procedimento a ritroso e possibile descrivere sistemi di disequazioni nonlineari
in termini di LMI, cioe passare da forme del tipo definito dall’equazione (A.5.4) a
forme del tipo definito dall’equazione (A.5.3).
Informazioni piu dettagliate sulle LMI si trovano in particolar modo in [1], [2] e
[11].
A.6 Vincolo di Lipschitz
Il vincolo di Lipschitz e un vincolo aggiuntivo inserito nella formulazione, non riporta-
to esplicitamente negli algoritmi di sintesi3 di Λg, Λα1 e Λα2 (paragrafo 4 e paragrafo 5),
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
l’effetto del loop algebrico. Esso e definito in [9] come LMI:
He [(1− ν)U −DyqU −DylX] > 0 (A.6.1)
ν ∈ [0; 1)
3Il 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 enell’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 allora l’equazione (A.6.1) diventa superflua.
Se 0 < ν < 1 allora l’equazione (A.6.1) diventa quanto piu vincolante tanto piu ν→1.
In questo modo forza l’algoritmo di sintesi a produrre compensatori con membro
destro a bassa costante di Lipschitz.
112
Appendice B
Tools per LMI in ambiente Matlab
Le simulazioni di capitolo 6 sono state ottenute tramite un software scritto in am-
biente Matlab/Simulink. Nello specifico la parte simulativa e prettamente delegata
a Simulink mentre la parte di sintesi e delegata a Matlab e fa uso massivo di 2 tool
specifici per problemi di ottimo basati su LMI:
1. Yalmip
2. Se.Du.Mi.
B.1 Yalmip
Yalmip, acronimo di Yet Another LMI Parser, e un tool free specifico per Matlab, in
principio sviluppato come semplice parser di LMI, ora vera e propria interfaccia di
alto livello comprensiva di solver interni, per la definizione e la risoluzione di problemi
di ottimizzazione su LMI.
B.1.1 Generalita
YALMIP e un linguaggio di modellazione per la definizione e la risoluzione di problemi
di ottimizzazione avanzata.
113
Cap. B Tools per LMI in ambiente Matlab §B.1 Yalmip
La principale caratteristica di Yalmip, che ne motiva l’uso, e lo sviluppo rapido di
codice: il linguaggio che usa Yalmip e congruente con la sintassi standard di Mat-
lab che quindi ne caratterizza la semplicita di utilizzo per chiunque abbia familiarita
con Matlab.
Altra caratteristica fondamentale di Yalmip e l’implementazione automatica di
trucchetti nella modellazione, che permettono all’utente di concentrarsi sulla model-
lazione d’alto livello, mentre Yalmip si interessa della modellazione di basso livello,
ottenendo la massima efficienza e un modello numericamente quanto piu trattabile
possibile.
Il linguaggio di modellazione supporta un gran numero di classi di ottimizzazione,
come: lineare, quadratica, coni del secondo ordine...
L’idea centrale di Yalmip e il concentrarsi squisitamente sul linguaggio e su algo-
ritmi di alto livello, contando su risolutori (solver) esterni per il calcolo. Cionono-
stante, Yalmip implementa algoritmi nativi per l’ottimizzazione globale, programma-
zione intera, programmazione multiparametrica, somma di quadrati e ottimizzazione
robusta.
B.1.2 Guida all’installazione
Per questo lavoro di tesi e stata utilizzata la versione R20080415 di YALMIP. Si noti
che esso e interamente basato su m-codice, ed e quindi semplicissimo da installare1.
1. Rimuovere ogni vecchia versione di YALMIP.
2. Estrarre il contenuto del file yalmip.zip in una cartella a scelta2 e aggiungere
le seguenti subdirectory al path di Matlab:
1Requisiti minimi Windows Xp, MATLAB 7.3 (2006b).2Per coerenza si consiglia di estrarre i file nella cartella /toolbox di Matlab.
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
aver aggiunto la directory del solver nel path di Matlab.
Per testare il buon fine dell’installazione, eseguire il comando yalmiptest. Infine,
per una presentazione del tool (e per apprendere velocemente i comandi principali)
tramite esempi, eseguire la dimostrazione yalmipdemo.
Per la soluzione di eventuali problemi si rimanda alla FAQ online e al manuale
online[13].
B.1.3 Comandi principali
Di seguito si presentano i principali comandi Yalmip utilizzati all’interno del codice
del software scritto per risolvere i problemi di ottimizzazione oggetto di questa tesi,
corredati di esempi.
sdpsettings e 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’);
Le opzioni principali sono:
I shift: impostabile a 0 o 1, permette di inserire vincoli stretti. In Yalmip i
vincoli di disuguaglianza F (x) > 0 sono definiti come F (x) > shiftI. Si noti
che porre shift a 1, non garantisce l’ammissibilita della soluzione.
I verbose: impostabile a 0, 1 o 2, definisce il livello di profondita di informazioni
stampate a schermo durante l’ottimizzazione. Si consiglia il valore 2, per avere
il massimo controllo durante l’esecuzione.
I solver: in questo campo e possibile inserire uno qualsiasi dei solver installati.
Per lasciare libera la scelta a Yalmip del solver da utilizzare e sufficiente porre
il tag del solver pari a ’’.
sdpvar e usato per definire le variabili decisionali simboliche di Yalmip. Le principali
tipologia di matrici di variabili decisionali sono:
I Matrice quadrata simmetrica:
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);
set e usato per definire e mettere insieme i vincoli del problema.
I Definizione matrice PHI del vincolo di Lyapunov:
PHI=(...);
I Creazione del set di vincoli vuoto e inclusione al set del vincolo di Lyapunov:
Constraints = set(He(PHI)<=0);
I Definizione matrice LIP del vincolo di Lipschitz:
LIP=He( (1-nu)*U-SysCL.Dyq*U-SysCL.Dyl*X )
I Inclusione al set dei vincoli esistenti del vincolo di Lipschitz:
Constraints=Constraints+set(LIP>0);
solvesdp minimizza la funzione obiettivo, soggetta ai vincoli definiti via set con
il solver impostato in option. Nell’esempio che segue si minimizza gamma_2 soggetta
ai vincoli Constraints con il solver descritto (con i suoi flag) in option:
solvesdp(Constraints,gamma_2, option);
checkset e usato per verificare l’ammissibilita dei vincoli. Condizione di controllo
di ammissibilita. Se un problema diventa numericamente problematico allora prim
diventa negativo e molto piccolo; se invece perde di ammissibilita allora prim diventa
fortemente negativo
[prim,dual] = checkset(Constraints);
117
Cap. B Tools per LMI in ambiente Matlab §B.2 Se.Du.Mi.
if min(prim)<-1 gamma_2=Inf; end
double e usato per estrarre il valore numerico di una variabile decisionale:
Gamma_2=double(gamma_2)
B.2 Se.Du.Mi.
SeDuMi, acronimo di Self-Dual-Minimization, e un pacchetto software per la risolu-
zione di problemi di ottimizzazione soggetti a vincoli lineari, quadratici e semidefiniti,
rilasciato sotto licenza GNU GPL3.
B.2.1 Generalita
SeDuMi implementa la tecnica self-dual per l’ottimizzazione su coni omogenei self-
dual, o piu in generale su coni simmetrici.
Punti di forza di SeDuMi sono principalmente la portabilita su diversi sistemi
e, non meno importante, l’efficienza dell’algoritmo, in termini di robustezza e
rapidita di convergenza. Quest’ultima ben visibile in presenza matrici sparse.
B.2.2 Guida all’installazione
Per questo lavoro di tesi e stato utilizzato SeDuMi 1.1, la cui installazione in ambiente
Windows e semplice: e sufficiente estrarre il contenuto del file SeDuMi 1 1R3.zip in
3
La GNU General Public License e una licenza per software libero. E comunementeindicata con l’acronimo GNU GPL o semplicemente GPL.[. . .]Contrapponendosi allelicenze per software proprietario, la GNU GPL assicura all’utente liberta di utilizzo,copia, modifica e distribuzione. (http://it.wikipedia.org/wiki/GNU GPL)
Una copia di GNU GPL e 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.
una cartella a scelta4 e aggiungerla al path di Matlab.
Per la soluzione di eventuali problemi si rimanda al Forum e al manuale online
[14].
B.2.3 Comandi principali
SeDuMi e utilizzato come solver da Yalmip, al quale si interfaccia autonomamente, e
provvede unicamente calcolare il minimo della funzione obiettivo data.
4Per coerenza si consiglia di estrarre i file nella cartella /toolbox di Matlab.
119
Elenco delle figure
1.1 Funzione di Saturazione. . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Sistema di controllo a ciclo chiuso non saturato. . . . . . . . . . . . . 13
1.3 Ciclo chiuso saturato. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Ciclo chiuso anti-windup. . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1 Schema equivalente H di sistema a tempo continuo saturato: modello
con deadzone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Proprieta di settore globale, sector[0, K]; per nonlinearita tipo satura-
zione e deadzone la proprieta di settore globale vale conK=I. . . . . 25
2.3 Sistema di controllo anti-windup a tempo continuo con compensatore
anti-windup statico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4 Esempio di minimo guadagno L2 nonlineare per un sistema “massa
molla smorzatore”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1 Schema equivalente H di sistema a tempo discreto saturato: modello
con deadzone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2 Sistema di controllo anti-windup a tempo discreto con compensatore
anti-windup statico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
120
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
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). . 56
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). . 58
6.1 Schema Simulink per il confronto tra risposte dei sistemi di controllo. 67
6.2 Schema Simulink di ciclo chiuso con anti-windup. . . . . . . . . . . . 68
6.3 Sistema massa molla smorzatore. . . . . . . . . . . . . . . . . . . . . 69
6.4 Segnale di riferimento che si vuole far inseguire al sistema massa molla
smorzatore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
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 prestazio-
ne garantita globale non peggiore (non piu grande) di Λg nella zona di
interesse. Nello specifico Λα2 (blu) ha guadagno L2 praticamente iden-
tico al Λg (rosso); Λα1 (verde) e leggermente piu piccolo nell’intervallo
di interesse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.6 Traiettorie non saturate del sistema massa molla smorzatore a ciclo
chiuso. Livelli di saturazione sull’ingresso (puntinato) non attivi. . . . 74
6.7 Traiettorie saturate (continuo) e non saturate (tratteggiato) del si-
stema massa molla smorzatore a ciclo chiuso. Livelli di saturazione
sull’ingresso (puntinato) attivi. . . . . . . . . . . . . . . . . . . . . . 74
121
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
6.8 Risposta in uscita per il sistema non saturato (celeste) e per i siste-
mi di controllo anti-windup con compensatore Λg (rosso), Λα1 (verde),
Λα2 (blu) del sistema massa molla smorzatore a ciclo chiuso. Rife-
rimento (puntinato). Λα1 e Λα2 sono sintetizzati su Nα = 20 punti,
Is = [10−3; 103]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.9 Segnale di controllo 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. Livelli di
saturazione (puntinato). Λα1 e Λα2 sono sintetizzati su Nα = 20 punti,
Is = [10−3; 103]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.10 Traiettorie del sistema di controllo anti-windup globale (continuo) e
non saturato (tratteggiato) del sistema massa molla smorzatore a ciclo
chiuso. Il compensatore anti-windup globale e stato sintetizzato risol-
vendo l’equazione (4.1.1) e garantisce stabilita e prestazione globale.
Livelli di saturazione sull’ingresso (puntinato) attivi. . . . . . . . . . 78
6.11 Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non sa-
turato (tratteggiato) del sistema massa molla smorzatore a ciclo chiuso.
Il compensatore anti-windup Λα1 e stato sintetizzato risolvendo l’equa-
zione (4.2.1) e garantisce stabilita e prestazione globale. Λα1 e legger-
mente piu veloce di Λg. Livelli di saturazione sull’ingresso (puntinato)
attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
122
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
6.12 Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e non
saturato (tratteggiato) del sistema massa molla smorzatore a ciclo chiu-
so. Il compensatore anti-windup Λα2 e stato sintetizzato risolvendo l’e-
quazione (4.2.4) e garantisce stabilita e prestazione globale. Livelli di
saturazione sull’ingresso (puntinato) attivi. . . . . . . . . . . . . . . . 79
6.13 Sistema aereo F8 a tempo continuo. Diagramma del minimo guada-
gno 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 (piu piccola) di Λg nella zona di
interesse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.14 Traiettorie non saturate del sistema aereo F8 a ciclo chiuso. Livelli di
saturazione sull’ingresso (puntinato) non attivi. . . . . . . . . . . . . 84
6.15 Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistema
aereo F8 a ciclo chiuso. Livelli di saturazione sull’ingresso (puntinato)
attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.16 Risposte 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 aereo F8 a ciclo chiuso. Riferimento (puntinato). Λα1
e Λα2 sono sintetizzati su Nα = 20 punti, Is = [100; 104]. . . . . . . . . 87
6.17 Segnali di controllo per il sistema non saturato (celeste) e per i sistemi
di controllo anti-windup con compensatore Λ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]. 88
123
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
6.18 Traiettorie del sistema di controllo anti-windup globale (continuo) e
non saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il
compensatore anti-windup globale e stato sintetizzato risolvendo l’e-
quazione (4.1.1) e garantisce stabilita e prestazione globale. Livelli di
saturazione sull’ingresso (puntinato) attivi. . . . . . . . . . . . . . . . 89
6.19 Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non
saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il com-
pensatore anti-windup Λα1 e stato sintetizzato risolvendo l’equazione
(4.2.1) e garantisce stabilita e prestazione globale, inoltre fornisce una
dinamica migliore rispetto a Λg. Livelli di saturazione sull’ingresso
(puntinato) attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.20 Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e non
saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il com-
pensatore anti-windup Λα2 e stato sintetizzato risolvendo l’equazione
(4.2.4) e garantisce stabilita e prestazione globale. Λα2 e, inoltre, netta-
mente il miglior compensatore per velocita di convergenza e per errore
di inseguimento dopo 5 sec. rispetto Λα1 e Λg. Livelli di saturazione
sull’ingresso (puntinato) attivi. . . . . . . . . . . . . . . . . . . . . . 91
6.21 Sistema aereo F8 a tempo discreto. Diagramma del minimo guada-
gno 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 (piu piccola) di Λg nell’intervallo di
interesse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.22 Traiettorie non saturate del sistema aereo F8 a ciclo chiuso. Livelli di
saturazione sull’ingresso (puntinato) non attivi. . . . . . . . . . . . . 95
124
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
6.23 Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistema
aereo F8 a ciclo chiuso. Livelli di saturazione sull’ingresso (puntinato)
attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.24 Risposte 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 aereo F8 a ciclo chiuso. Riferimento (puntinato). Λα1
e Λα2 sono sintetizzati su Nα = 10 punti, Is = [101.5; 103]. . . . . . . . 97
6.25 Segnale di controllo per il sistema non saturato (celeste) e per i sistemi
di controllo anti-windup con compensatore Λ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]. . . . . . . . 98
6.26 Traiettorie del sistema di controllo anti-windup globale (continuo) e
non saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il
compensatore anti-windup globale e stato sintetizzato risolvendo l’e-
quazione (5.1.1) e garantisce stabilita e prestazione globale. Livelli di
saturazione sull’ingresso (puntinato) attivi. . . . . . . . . . . . . . . . 99
6.27 Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non
saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il com-
pensatore anti-windup Λα1 e stato sintetizzato risolvendo l’equazio-
ne (5.2.1) e garantisce stabilita e prestazione globale. E il migliore
tra i compensatori anti-windup sintetizzati seppur mantenga un errore
di inseguimento dopo 5 sec. non trascurabile. Livelli di saturazione
sull’ingresso (puntinato) attivi. . . . . . . . . . . . . . . . . . . . . . 100
125
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
6.28 Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e non
saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il com-
pensatore anti-windup Λα2 e stato sintetizzato risolvendo l’equazione
(5.2.4) e garantisce stabilita e prestazione globale. Livelli di saturazione
sull’ingresso (puntinato) attivi. . . . . . . . . . . . . . . . . . . . . . 101
A.1 Grafico di una funzione convessa. . . . . . . . . . . . . . . . . . . . . 107
126
Bibliografia
[1] Stephen Boyd, Laurent El Ghaoui, E. Feron, and V. Balakri-
shnan, “Linear Matrix Inequalities in System and Control Theo-
ry”, Society for Industrial and Applied Mathematics (SIAM), 1994,
http://www.stanford.edu/~boyd/lmibook/lmibook.pdf
[2] Carsten Scherer and Siep Weiland, “Linear Matrix Inequalities in Control”,
Master’s Course: LMI’s in Controller Analysis and Synthesis (wb2416), 2005
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-
tion: An LMI-Based Syntheis”, IEEE transactions on automatics control vol.48,
no.9 september 2003.
[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-
windup controller synthesis using linear matrix inequalities”, Automatica vol.37
no.9pp.1407-1416, Sept.2001.
127
BIBLIOGRAFIA BIBLIOGRAFIA
[6] Alberto Isidori, “Sistemi di controllo II”, Siderea, 1998.
[7] P. Kapasouris, M. Athans, G. Stein, “Design of feedback control systems for stable
plants with saturating actuators”, In Proceedings of the Conference on Decision
and Control, Austin (TX), USA, December 1988.
[8] Luca Zaccarian and Andrew R. Teel, “A common framework for anti-windup,
bumpless transfer and reliable designs”, Automatica (B), 38(10):1735-1744, 2002.
[9] G. Grimm, A.R. Teel, and L. Zaccarian, “Establishing Lipschitz properties of mul-
tivariable algebraic loops with incremental sector nonlinearities”, In Conference on
Decision and Control, Maui (HI), USA, December 2003.
[10] K.J. Astrom and L. Rundqwist, “Integrator Windup and How to Avoid It”, In
Proceedings of the 1989 American Control Conference.
[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
Stability of Nonlinear Control Systems”, Springer, 2008.
[13] J. Lofberg, “YALMIP: A Toolbox for Modeling and Optimization in MA-
TLAB”, In Proceedings of the CACSD Conference, Taipei, Taiwan, 2004
http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php
[14] J.F.Sturm, “Using SeDuMi 1.02, a Matlab toolbox for opti-
mization over symmetric cones”, August 1998 - October 2001
http://sedumi.ie.lehigh.edu/component/option,com_frontpage/Itemid,1/
128