Sei sulla pagina 1di 134

UNIVERSITÀ DEGLI STUDI DI ROMA

TOR VERGATA

FACOLTÀ 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 Simone


0085690

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 Proprietà di settore . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.3.1 Proprietà di settore generalizzata . . . . . . . . . . . . . . . . 27

INDICE I
INDICE

2.4 Stabilità 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 Stabilità 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 Generalità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Generalità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 è soliti

trascurare gli effetti nonlineari degli attuatori che inducono prestazioni non sempre

coincidenti con quelle nominali e il cui degradamento, in alcuni casi fortuiti, può persi-

no rendere il sistema instabile: tale fenomeno è detto windup. Ciò accade perché ogni

attuatore è intrinsecamente un saturatore di ampiezze, e quindi i segnali in ingresso al

processo sono sempre soggetti a limitazioni. Il windup è 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’instabilità 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 è sta-

ta introdotta durante gli anni ’50 per necessità industriali e prevede l’installazione

di un apposito filtro, pilotato dalla discordanza tra uscita del controllore e ingresso

all’impianto, che agisce direttamente sul controllore preesistente.

È interessante caratterizzare le proprietà desiderate per il compensatore anti-

windup che si vuole sintetizzare:

I Deve essere un compensatore statico, ovvero un guadagno, inserito tra discor-


1
Performante per l’impianto non saturato.

Introduzione 2
Introduzione

danza dovuta alla saturazione ed ingresso al controllore. Siffatto compensatore

è semplice da realizzare ed impiantare nel sistema di controllo nel caso in cui

esso sia già operativo.

I Deve garantire prestazioni globali, ovvero mantenere buona connessione, stabi-

lità 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 è di semplice costruzione e appartiene alla classe dei problemi numericamente

trattabili; nello specifico ammissibilità 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 è, 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 novità introdotta da questo lavoro di tesi, garantiscono guadagno L2 ingres-

so/uscita:

I Limitato per ogni riferimento (o disturbo) w.


2
Interior-point methods, fine anni ’80.
3
Buona connessione, stabilità 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 è 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 più 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 proprietà globali, e che i compensatori Λα hanno prestazioni migliori

rispetto al compensatore Λg . Il software per le simulazioni è 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.2
vengono focalizzate le cause e gli effetti del windup e nel paragrafo
1.3 le modalità di compensazione e gli obiettivi della compensazione
anti-windup. Infine, nel paragrafo 1.4 vengono presentati i siste-
mi di controllo cui si farà riferimento nel prosieguo del lavoro di
tesi: ciclo aperto, ciclo chiuso non saturato, ciclo chiuso satura-
to e ciclo chiuso anti-windup. Per quest’ultimo, descritto in modo
dettagliato nel paragrafo 1.4.4, sono state esplicitate le matrici di si-
stema a ciclo chiuso, necessarie, poi, per la sintesi di compensatori
anti-windup nei capitoli 2, 3, 4 e 5.

1.1 Le funzioni di saturazione e di deadzone

La saturazione è una funzione nonlineare (figura 1.1) che descrive una delle più comuni

nonlinearità dei sistemi fisici reali in generale, di quelli dinamici in particolare: la

limitatezza delle grandezze applicabili in ingresso, ovvero l’impossibilità 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) è 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):

 −ū ∀u : u ≤ −ū
satū (u) , u ∀u : −ū < u < ū (1.1.1)

ū ∀u : u ≥ ū
Occorre notare che la saturazione impone un range stretto di valori che il controllo

u può assumere, per l’appunto all’interno dell’intervallo [−ū, ū]. All’infuori dell’in-

tervallo il segnale di controllo entra in zona nonlineare cioè si satura su uno dei due

limiti.

(a) Saturatore: blocco che implementa la saturazione.

(b) Segnale non saturato u, ingresso del (c) Segnale saturato sat(u), uscita del
saturatore. saturatore.

Figura 1.1: Funzione di Saturazione.

Altra tipica nonlinearità che compare spesso nei modelli di sistemi dinamici, simile

alla saturazione, è la deadzone: tale funzione è pari allo scostamento che vi è tra un

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 è 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:

ẋ = Ax + Bsat(u) (1.2.1)

Dove u è una certa funzione di controllo in retroazione dallo stato. È lecito chiedersi

sotto quali condizioni esista un controllo stabilizzante in presenza di saturazione e di

quali proprietà goda (regione attrattiva, velocità di convergenza. . . ):

I Se A è Hurwitz, cioè 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 + sat(u), se u = 0 ⇒ ẋ = −x

I Se A è instabile esponenzialmente, cioè 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 + sat(u), se x(0) > ū ⇒ ẋ > 0, ∀u

Per questo tipo di sistema è possibile garantire solo RAS1 ≡RES2 con regione

garantita. La regione controllabile a zero è limitata solo nelle direzioni degli

autospazi esponenzialmente instabili.


1
La RAS, acronimo di Stabilità Asintotica Regionale, è la proprietà per cui un certo sistema
dinamico nonlineare converge a 0 solo per alcune condizioni iniziali.
2
La RES, acronimo di Stabilità Esponenziale Regionale, è la proprietà per cui un certo siste-
ma dinamico nonlineare converge a 0 esponenzialmente solo per alcune condizioni iniziali. Vale la
proprietà generale RES ⊆ RAS.

8
Cap. 1 Definizione del problema §1.2 Stabilizzazione con saturazione

I Se A è non Hurwitz e non esponenzialmente instabile, cioè se il sistema

descritto dall’equazione (1.2.1) è 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 farà riferimento soltanto a processi asintoticamente stabili, in tal

caso (A Hurwitz) il controllo u(·) serve solo per migliorare le prestazioni del processo

saturato. Ció non toglie la validitá generale, anche per sistemi non asintoticamente

stabili, degli algoritmi sviluppati. In tal caso, come ovvio presumere, non sarà possibile

richiedere garantite proprietà globali, ma solo locali.

A questo punto viene naturale chiedersi cosa succeda al sistema di controllo quando

si trovi in zona nonlineare:

I È sempre garantita la stabilità del sistema di controllo progettato ipotizzando

l’assenza della saturazione?

I È sempre mantenuta la prestazione del sistema di controllo progettato ipotiz-

zando l’assenza della saturazione?

I È sempre possibile imporre nuove specifiche di prestazione?

La risposta è no, ed il fenomeno che causa questo comportamento è denominato

windup.
3
La ANCBI, acronimo di Asymptotically Null-Controllable with Bounded-Inputs, è la proprietà
per cui un sistema dinamico nonlineare risulta globalmente (per ogni x0 ) e asintoticamente stabile
con ingressi saturati.
4
Per i sistemi LTI vale sempre GAS⇒GES, per i sistemi nonlineari ciò potrebbe non accadere; in
questo caso specifico è possibile dimostrare che il sistema ANCBI è GAS ma soltanto RES. Infatti,
poiché la GES è una proprietà robusta allora garantisce GES anche per ẋ = (A + εI) x + sat(u), il
che è impossibile se A è ANCBI perché il sistema diverrebbe instabile e, come mostrato nel punto
A esponenzialmente instabile, sarebbe possibile garantire solo RAS.

9
Cap. 1 Definizione del problema §1.2 Stabilizzazione con saturazione

1.2.1 Il windup

Definizione 1.2.1. Il windup è un fenomeno nonlineare dovuto alla presenza di

saturazioni del controllo u(t) che può causare l’insorgenza di fenomeni oscillatori,

risposte in uscita che convergono lentamente, instabilità 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,

è evidente quando il controllore non è asintoticamente stabile cioè ogni volta che

contenga un’azione integrale 5 . Quando il ciclo di feedback è rotto, cioè quando entra

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 puó impiegare molto

tempo per raggiungere l’equilibrio, o non raggiungerlo mai.


5
Si supponga di applicare un gradino (positivo) come riferimento ad un sistema GAS: si ottiene
all’istante iniziale un Rerrore di riferimento e(t) non nullo. Se il controllore è dotato di azione integra-
tiva allora l’integrale e(t)dt dell’errore crescerà, andando a pilotare l’uscita del sistema che crescerà
conseguentemente, finché l’errore e(t) non sarà nullo, cioè finché uscita e riferimento non si¡Reguaglie-¢
ranno. Se l’integrale dell’errore entra in saturazione allora il segnale di controllo u(t) = sat e(t)dt
rimarrà costante (u(t) = ū, azione di tipo feed forward) non solo finché l’errore di riferimento non
si annullerà, ma anche finché l’integrale dell’errore
R non si sarà scaricato. In altre parole affinché
il segnale di controllo torni in zona lineare ( e(t)dt < ū) è necessario che l’uscita cresca sufficien-
temente (cioè che raggiunga il riferimento e si allontani nella direzione opposta) da far diventare
sufficientemente negativo l’errore e(t), in tal modo l’integrale dell’errore diminuirà e quando sarà
inferiore alla soglia di saturazione il feedback sarà ristabilito. Nel momento in cui il sistema torna in
zona lineare, l’uscita è nuovamente distante dal riferimento a causa della sovraelongazione provocata
dalla saturazione, questo errore non nullo (questa volta negativo) piloterà il processo che oscillando si
avvicinerà al valore di riferimento lentamente se la sovraelongazione è sufficiente piccola, altrimenti
divergerà.

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 nonlinearità

non è possibile analizzare le prestazioni del sistema in termini di poli e zeri in quanto

esistono (ed hanno senso) solo per sistemi lineari. Un’alternativa logica all’uso di poli

e zeri, come metro di giudizio delle prestazioni del sistema, è lo studio dell’energia

del segnale di uscita, strumento generale valido sia per sistemi lineari che per sistemi

nonlineari. Diventa, quindi, necessario introdurre il guadagno L2 ingresso-uscita del

sistema (vedasi paragrafo A.3), cioè la massima amplificazione di energia del segnale

di ingresso.

Controllore sotto-dimensionato. Un modo pratico per risolvere il problema è

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

è 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 più 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 stabilità 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:



 x˙p = Ap xp + Bpu u + Bpw w
P : y = Cpy xp + Dpyu u + Dpyw w (1.4.1)

z = Cpz xp + Dpzu u + Dpzw w

Dove xp ∈ Rnp è lo stato dell’impianto, u ∈ Rnu è l’ingresso di controllo, w ∈

Rnw è l’ingresso esogeno (disturbi o riferimenti), y ∈ Rny è l’uscita misurabile del-

l’impianto, z ∈ Rnz è 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 saturato 6 , di seguito chiamato semplicemente control-

lore, cosı̀ definito:


½
x˙c = Ac xc + Bcy y + Bcw w + v1
C: (1.4.2)
yc = Cc xc + Dcy y + Dcw w + v2
6
Il controllore non saturato è quel controllore (eventualmente ottimo) sintetizzato per ottenere
certe 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 è lo stato del controllore, yc ∈ Rnu è 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 è progettato in modo tale che l’interconnessione con l’impianto at-

traverso le equazioni (1.4.3) garantisca la buona connessione e la stabilità 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)
½
ẋ = ACL x + BCL w
W : (1.4.4)
z = CCL x + DCL w

Definizione 1.4.1. Si definisce sistema a ciclo chiuso non saturato (equazione (1.4.4),

figura 1.2), l’interconnessione del processo (equazione (1.4.1)) e del controllore (equa-

zione (1.4.2)) attraverso l’equazione (1.4.3). Il sistema a ciclo chiuso non saturato ha

stato xCL ∈ RnCL =np +nc ottenuto come aggregato degli stati8 di processo e controllore

ed è globalmente asintoticamente stabile.

Figura 1.2: Sistema di controllo a ciclo chiuso non saturato.

7
L’uscita del controllore è il segnale di controllo che pilota il processo.
8
La buona connessione tra sistemi garantisce che lo stato del sistema interconnesso coincida con
lo stato aggregato.

13
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup

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 può essere soggetto al windup10 .

u = sat(yc ) q = dz(yc ) v = 0 (1.4.5)



 ẋ = Ax + Bq q + Bw w
H: z = Cz x + Dzq q + Dzw w (1.4.6)

yc = Cy x + Dyq q + Dyw w
Quindi è possibile che sia persa la buona connessione e la stabilità. Inoltre, è probabile

che sia persa la prestazione non saturato.

(a) Sistema di controllo a ciclo chiuso con saturazione degli (b) Schema equivalente H:
ingressi controllanti. 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 nonlinearità tipo deadzone e saturazione è possibile

mantenere limitata la perdita di performance e continuare a garantire stabilità asin-

totica, sintetizzando un compensatore statico anti-windup Λ atto a pilotare il sistema


9
La nonlinearità saturazione è definita nel paragrafo 1.1.
10
Il 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 è 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-windup (b) Schema equivalente H:
statico. 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)



 ẋ = Ax + Bw w + (Bq + BL Λ)q
H: yc = Cy x + Dyw w + (Dyq + DyL Λ)q (1.4.8)

z = Cz x + Dzw w + (Dzq + DzL Λ)q

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 è asintoticamente stabile.


11
Garantire guadagno L2 limitato per il sistema di controllo anti-windup significa garantire il
parziale 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 e dell’equazione (1.4.7).
Λ2

Calcolo di y:

y = Cpy xp + Dpyu sat(yc ) + Dpyw w

y = Cpy xp + Dpyu (yc − q) + Dpyw w

y = Cpy xp + Dpyu (Cc xc + Dcy y + Dcw w + Λ2 q − qI) + Dpyw w

(I − Dpyu Dcy )y = Cpy xp + Dpyu Cc xc + (Dpyu Dcw + Dpyw )w + Dpyu (Λ2 q − qI)

Posto:

∆y = (I − Dpyu Dcy )−1

È possibile scrivere y in modo più compatto:

y = ∆y Cpy xp + ∆y Dpyu Cc xc + ∆y (Dpyu Dcw + Dpyw )w + ∆y Dpyu (Λ2 q − qI)

Calcolo di yc :

yc = Cc xc + Dcy y + Dcw w + Λ2 q

yc = Cc xc + Dcy (Cpy xp + Dpyu (yc − q) + Dpyw w) + Dcw w + Λ2 q

(I − Dcy Dpyu )yc = Cc xc + Dcy Cpy xp + (Λ2 − Dcy Dpyu )q + (Dcw + Dcy Dpyw )w

Posto:

∆u = (I − Dcy Dpyu )−1

16
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup

È possibile scrivere yc in modo più compatto:

yc = ∆u Cc xc + ∆u Dcy Cpy xp + ∆u (Λ2 − Dcy Dpyu )q + ∆u (Dcw + Dcy Dpyw )w

yc = ∆u Cc xc + ∆u Dcy Cpy xp + (∆u Λ2 + I − ∆u )q + ∆u (Dcw + Dcy Dpyw )w

Calcolo di ẋp :

x˙p = Ap xp + Bpu u + Bpw w

x˙p = Ap xp + Bpu yc − Bpu q + Bpw w

x˙p = [Ap + Bpu ∆u Dcy Cpy ] xp + [Bpu ∆u Cc ] xc + [Bpu ∆u Λ2 − Bpu ∆u ] q +

+ [Bpw + Bpu ∆u (Dcw + Dcy Dpyw )] w

Calcolo di ẋc :

x˙c = Ac xc + Bcy y + Bcw w + Λ1 q

x˙c = Ac xc + Bcy ∆y Cpy xp + Bcy ∆y Dpyu Cc xc + Bcy ∆y (Dpyu Dcw + Dpyw )w +

+Bcy ∆y Dpyu Λ2 q − Bcy ∆y Dpyu q + Bcw w + Λ1 q

x˙c = [Bcy ∆y Cpy ] xp + [Ac + Bcy ∆y Dpyu Cc ] xc + [Bcy ∆y (Dpyu Dcw + Dpyw ) + Bcw ] w +

+ [Bcy ∆y Dpyu Λ2 − Bcy ∆y Dpyu + Λ1 ] q

17
Cap. 1 Definizione del problema §1.4 Ciclo chiuso con anti-windup

Calcolo di z:

z = Cpz xp + Dpzu u + Dpzw w

z = Cpz xp + Dpzu (yc − q) + Dpzw w

z = Cpz xp + Dpzu (∆u Cc xc + ∆u Dcy Cpy xp + (∆u Λ2 + I − ∆u )q +

+∆u (Dcw + Dcy Dpyw )w − qI) + Dpzw w

z = Cpz xp + Dpzu ∆u Cc xc + Dpzu ∆u Dcy Cpy xp + Dpzu (∆u Λ2 + I − ∆u )q +

+Dpzu ∆u (Dcw + Dcy Dpyw )w − Dpzu q + Dpzw w

z = [Cpz + Dpzu ∆u Dcy Cpy ] xp + [Dpzu ∆u Cc ] xc + [Dpzu ∆u (Λ2 − I)] q +

+ [Dpzu ∆u (Dcw + Dcy Dpyw ) + Dpzw ] w

Alla luce dei conti di cui sopra, le matrici di sistema di H (equazione (2.5.1)) sono

cosı̀ definite:

∆y = (I − Dpyu Dcy )−1 ∆u = (I − Dcy Dpyu )−1


· ¸ · ¸
Ap + Bpu ∆u Dcy Cpy Bpu ∆u Cc Bpw + Bpu ∆u (Dcw + Dcy Dpyw )
A= Bw =
Bcy ∆y Cpy Ac + Bcy ∆y Dpyu Cc Bcw + Bcy ∆y (Dpyu Dcw + Dpyw )
· ¸ · ¸
−Bpu ∆u 0 Bpu ∆u
Bq = BL =
−Bcy ∆y Dpyu I Bcy ∆y Dpyu
£ ¤ £ ¤
Cy = ∆u Dcy Cpy ∆u Cc Dyw = ∆u (Dcw + Dcy Dpyw )
£ ¤ £ ¤
Dyq = I − ∆u DyL = 0 ∆u
£ ¤ £ ¤
Cz = Cpz + Dpzu ∆u Dcy Cpy Dpzu ∆u Cc Dzw = Dpzw + Dpzu ∆u (Dcw + Dcy Dpyw )
£ ¤ £ ¤
Dzq = −Dpzu ∆u DzL = 0 Dpzu ∆u
· ¸
Λ
Λ= 1
Λ2

18
Capitolo 2

Analisi e sintesi di stabilità e


prestazione per sistemi lineari
saturati a tempo continuo

In questo capitolo viene discusso e dimostrato il teorema Guadagno


L2 nonlineare per sistemi dinamici lineari a tempo continuo con
ingressi saturati. Questo teorema è fondamentale per la sintesi del
compensatore anti-windup statico da applicare al sistema dinamico
per il recupero della prestazione degradata dal windup. La dimo-
strazione del teorema si sviluppa su un percorso logico i cui passi
sono 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 la
sintesi di anti-windup statico per sistemi dinamici lineari a tem-
po continuo, che generalizza il precedente teorema introducendo
la 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, cioè una funzione γ(·) non

decrescente tale che:

kzk2 ≤ γ (kwk2 ) kwk2 (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 è asintoticamente stabile.

Si consideri il sistema dinamico lineare a tempo continuo:

ẋ = Ax (2.1.1)

esso è 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)):

ẋ = Ax è GES ⇐ ∃V (·) : X → R≥0 (2.1.2)

V ∈ C 1 , tale che V (x) > 0,∀x ∈ X \ {0} (2.1.3)


dV (x)
V̇ = h∇V (x),ẋi = Ax < ²|x|2 ,∀x (2.1.4)
dx

Si consideri, ora, una funzione quadratica in x cosı̀ definita:

V (x) = xT P x con P = PT > 0 (2.1.5)

Essa verifica sia l’equazione (2.1.2) che l’equazione (2.1.3), ed è quindi una buona

candidata come funzione di Lyapunov. Affinché lo sia deve essere rispettata anche la

seconda disequazione di Lyapunov (equazione (2.1.4)):

V̇ < 0 ⇔ V̇ = xT P ẋ + ẋT P x = xT (AT P + P A)x < 0 (2.1.6)

Una funzione quadratica che verifica l’equazione (2.1.5) e l’equazione (2.1.6) è di

Lyapunov per sistemi a tempo continuo.


1
Per un sistema lineare la globale stabilità asintotica coincide con la globale stabilità 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):


½
V > 0 ⇐ P = PT > 0
ẋ = Ax è GES ⇐ (2.1.7)
V̇ < 0 ⇐ He(P A) , P A + AT P < 0

2.2 Funzione di Lyapunov per l’attenuazione dei


disturbi

La funzione di Lyapunov per l’attenuazione dei disturbi è un’estensione delle disequa-

zioni di Lyapunov che formalizza, oltre al concetto di stabilità visto nel paragrafo 2.1,

il concetto di prestazione misurata attraverso la stima del guadagno L2 del sistema (si

veda [3]). Un sistema dinamico con guadagno L2 piccolo (tra uscita di prestazione z e

disturbo w), possiede una buona prestazione in quanto capace di attenuare fortemente

i disturbi. Si vogliono, quindi, analizzare gli effetti sull’uscita z dovuti al disturbo w

per l’impianto P (equazione (2.2.1)):


½
ẋ = Ax + Bw
P : (2.2.1)
z = Cx + Dw

P è 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


2
Sulle caratteristiche principale delle LMI e sulla facilità di risoluzione in problemi di
ottimizzazione o di ammissibilità si rimanda al paragrafo A.5.
3
In questo contesto la misura di prestazione è garantita se esiste una costante γ positiva e finita
tale 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 ∈ C 1 , tale che V (x) > 0,∀x ∈ X \ {0} (2.2.3)


1 T
h∇V (x),ẋi + z z − wT w < 0 (2.2.4)
γ2

1. Stabilità.

Per dimostrare che l’equazione (2.2.4) implica la globale stabilità esponenziale4 ,

si studia l’impianto P (equazione (2.2.1)) in assenza di disturbi esterni (w = 0).

Se il disturbo è nullo allora la equazione (2.2.4) garantisce la stabilità in quanto

maggiora l’equazione (2.1.4), infatti:

1 T
Se w = 0, h∇V (x),ẋi < h∇V (x),ẋi + z z<0⇒
γ2
⇒ h∇V (x),ẋi < 0 ⇒ GES (2.2.5)

2. Prestazione.

Per dimostrare che la equazione (2.2.4) fornisce una misura di prestazione pari

alla stima del guadagno L2 del sistema occorre integrare le traiettorie di V (x):
Z t Z tµ ¶
dV (x(τ )) 1 T T
dτ + z(τ ) z(τ ) − w(τ ) w(τ ) dτ < 0
0 dτ 0 γ2
1
⇒ V (t) − V (0) + 2 kz(·)t k22 − kw(·)t k22 < 0 (2.2.6)
γ

Poiché V (t) > 0, ∀t, si ha per t → +∞ che l’equazione (2.2.6) diventa:

1
−V (0) + kz(·)k22 − kw(·)k22 < 0
γ2
¡ ¢
⇒ kz(·)k22 < γ 2 V (0) + kw(·)k22

⇒ kz(·)k22 < γ 2 (V (0) + kw(·)k2 )2

⇒ kz(·)k2 < γV (0) + γkw(·)k2 (2.2.7)


4
GES ≡ GAS se P è LTI.

22
Cap. 2 Analisi e sintesi a tempo continuo §2.2 Funzioni di Lyapunov

Dove γ è la stima quadratica di kP k2 , guadagno L2 del sistema (vedasi paragrafo

A.3) da w a z, ed è una misura di prestazione di P poiché quantifica la massima

amplificazione del segnale in ingresso sull’uscita di prestazione:

kzk2
kP k2 , sup <γ (2.2.8)
kwk2 6=0 kwk2

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:

1 T
h∇V (x),ẋi + z z − wT w < 0 ⇔
γ2
1 ¡ ¢
⇔ xTP (Ax+Bw)+(Ax+Bw)TP x + 2 xTC T +wTDT (Cx+Dw)−wTw < 0
γ
µ· ¸ · T ¸ ¶· ¸
£ T T
¤ T
PA + A P PB C 1 £ ¤ x
⇔ x w + C D <0
BT P −I DT γ 2 w
| {z }
M
⇔M <0

Applicando lo Schur complement (vedasi paragrafo A.5.1) alla disequazione matriciale

M < 0 si ottiene:
 
P A + AT P P B C T
M < 0, γ 2 > 0 ⇔  BT P −I DT  < 0 (2.2.9)
C D −γ 2 I
La LMI mostrata nell’equazione (2.2.9) permette di ricavare una misura di prestazione

tramite guadagno L2 di P : tale risultato prende il nome di Bounded Real Lemma ed

è ampiamente sviluppato in [1] e [2].

Teorema 2.2.1. Bounded Real Lemma.

Sia A di Hurwitz, allora:


 
PA PB 0
He  0 − I2 0 <0
C D −γ 2 I2
P >0

23
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprietà di settore

se e solo se:

kC (sI − A)−1 B + Dk∞ < γ

cioè il guadagno L2 di P è minore di γ.

Inoltre, la norma5 H∞ di P coincide col guadagno L2 di P (come descritto in [6]

e [2]) ed è data da:

min γ
P,γ
 
PA PB 0
s.t. He  0 − I2 0 <0
C D −γ 2 I2
P >0

2.3 Sistemi con saturazione: proprietà 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 C 6 :

 ẋ = Ax + Bq q + Bw w
H: z = Cz x + Dzq q + Dzw w (2.3.1)

yc = Cy x + Dyq q + Dyw w
q = dz(yc ) = yc − sat(yc ) (2.3.2)

Chiudendo il sistema lineare H con la deadzone (equazione (2.3.1), equazione (2.3.2),

figura 2.1) è logico chiedersi sotto quali condizioni è mantenuta la stabilità e la buona

connessione (in senso nonlineare) del sistema. Infatti l’introduzione della nonlinearità
5
La norma H∞ di una matrice di trasferimento corrisponde al picco del diagramma dei moduli
di Bode.
6
Controllore che garantisce certe specifiche sintetizzato per il sistema P non saturato.

24
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprietà di settore

Figura 2.1: Schema equivalente H di sistema a tempo continuo saturato: modello con
deadzone.

può causare la perdita della buona connessione ovverosia potrebbe non esistere più

una soluzione unica all’equazione implicita corrispondente al loop algebrico:

yc − Dyq q = Cy x + Dyw w

Per studiare stabilità e buona connessione è necessario introdurre una caratterizzazio-

Figura 2.2: Proprietà di settore globale, sector[0, K]; per nonlinearità tipo saturazione
e deadzone la proprietà di settore globale vale con K= I.

ne della nonlinearità in termini di proprietà di settore. La saturazione e la deadzone

sono tipologie di nonlinearità appartenenti alla classe sector[0, I] (figura 2.2). Questo

25
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprietà di settore

significa che per tali nonlinearità vale la proprietà di settore globale:

mi dz(yci ) (yci − dz(yci )) ≥ 0 ∀mi ≥ 0

⇔ q T M (yc − q) ≥ 0 ∀M ≥ 0 tale che M = diag (mi ) (2.3.3)

La condizione di settore descritta dall’equazione (2.3.3) può essere usata per ricavare

condizioni risolvibili delle forme (2.2.4) come segue:

1 T
V̇ + 2
z z − wT w < 0, ∀(x, w) tale che q T M (yc − q) ≥ 0 (2.3.4)
γ

Tramite la S-Procedure (la cui trattazione si rimanda a [1]) è possibile inserire il

vincolo nella disequazione di Lyapunov. Si dimostra che l’equazione (2.3.4) è vera se

e solo se è vera la equazione (2.3.5)

1 T
z z − wT w + 2q T M (yc − q) < 0, ∀x, w, ξ, q ⇔
V̇ +
γ2
 T   
x P A P Bw 0 P Bq x
w   0 −2I
0 0   
⇔  He  w  < 0, ∀x, w, ξ, q ⇔
 ξ    Cz γ
Dzw − 2 I
2
Dzq  ξ 
q M Cy M Dyw 0 M Dyq − M q
 
PA P Bw 0 P Bq
 0 − I
0 0 
⇔ He Cz
2
γ 2 <0
 (2.3.5)
Dzw − 2 I Dzq
M Cy M Dyw 0 M Dyq − M

La LMI descritta nell’equazione (2.3.5) risolve contemporaneamente:

1. Buona connessione: è sufficiente che esista una matrice diagonale definita posi-

tiva M > 0 tale che:

He (M Dyq − M ) < 0

Per i dettagli della dimostrazione si veda [4].

26
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprietà di settore

2. Stabilità:7 è sufficiente che esistano una matrice definita positiva P = P T > 0 e

una matrice diagonale definita positiva M > 0 tale che:


· ¸
PA P Bq
He <0
M Cy M Dyq − M

3. Prestazione (kP k2 < γ):8 è 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:


 
PA P Bw 0 P Bq
 0 −2 I
0 0 
He 
 Cz γ2
<0

Dzw − 2 I Dzq
M Cy M Dyw 0 M Dyq − M

2.3.1 Proprietà 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 = diag{ui } allora per una certa matrice K ∈ Rnu ×n si

definisce:
n o
L(K) , x ∈ Rn : |U −1 Kx|∞ ≤ 1

Lemma 2.3.2. GS: Proprietà di settore generalizzata.

Sia K ∈ Rnu ×n una matrice data. Allora per ogni matrice diagonale M > 0, M ∈

Rnu ×nu vale la proprietà di settore generalizzata:

dzu (yc )T M (yc − dzu (yc ) + Kx) ≥ 0 ∀x ∈ L(K) (2.3.6)

Una trattazione più dettagliata è riportata in [4].

Ricordando che:
7
E buona connessione.
8
Con stabilità e buona connessione.

27
Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprietà di settore

1. dzu (yc ) = q

2. |U −1 Kx|∞ ≤ 1 ⇒ |Ki x| ≤ ui , ∀i = 1, ..., nu

La GS (equazione (2.3.6)) può essere riscritta come:

q T M (yc − q + Ki x) ≥ 0 ∀x ∈ {x : |Ki x| ≤ ui } ∀i = 1, ..., nu (2.3.7)

A questo punto si cerca un insieme di livello EP s in cui valga la proprietà GS,

secondo la nuova formulazione riportata nell’equazione (2.3.7), che sia invariante in

avanti.

Sia EP s l’insieme di livello limitato da s:

© ª
EP s , x : xT P x ≤ s2

Affinché EP s goda della proprietà GS, EP s deve essere contenuto nell’insieme di x che

rende vera la GS, cioè:

© ª
EP s , x : xT P x ≤ s2 ⊆ {x : |Ki x| ≤ ui } ∀i = 1, ..., nu

Questo significa che ogni x di EP s deve essere contemporaneamente anche una x tale

che valga il vincolo:

|Ki x| ≤ ui , ∀i = 1, ..., nu

In altre parole deve valere l’implicazione:

∀x : xT P x ≤ s2 ⇒ xT KiT Ki x ≤ ui 2 , ∀i = 1, ..., nu

che può essere impostata tramite:

1 T P
xT KiT
2 Ki x ≤ x x
ui s2
· 2
¸
T T s
x P − Ki 2 Ki x ≥ 0 (2.3.8)
ui

28
Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilità e prestazione

Ovviamente questa disuguaglianza è vera solo se la matrice tra parentesi nell’equa-

zione (2.3.8) è semidefinita positiva. Applicando lo Schur Complement è possibile

semplificare questa disuguaglianza ottenendo una forma più compatta e maneggevole9 :


· ¸
P KiT
2 ≥ 0 ∀i = 1, ..., nu (2.3.9)
Ki usi2

Lemma 2.3.3. Condizione di inclusione.

Sia K ∈ Rnu ×n , P ∈ Rn×n , P = P T > 0 , allora EP s ⊆ L(K) se e solo se:


· ¸
P KiT
2 ≥0 ∀i = 1, ..., nu
Ki usi2

Una trattazione più dettagliata è riportata in [4].

2.4 Sistemi con saturazione: stabilità e prestazio-


ne

In sostituzione della troppo conservativa proprietà di settore globale, è possibile inseri-

re la proprietà 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):

1 T
V̇ + z z − wT w < 0,
γ2
∀x ∈ EP s , ∃M = diag{mi } > 0 : q T M (yc − q + Kx) ≥ 0 (2.4.1)

Tramite S-Procedure (la cui trattazione è ampiamente discussa in [1]), rimandando

ad un passo successivo la formalizzazione del vincolo di inclusione in EP s , si ottiene


9
Le LMI sono disuguaglianze matriciali lineari dalle proprietà convesse, e quindi, molto utili e
semplici da risolvere in problemi di minimizzazione (come descritto dal teorema A.4.1).

29
Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilità e prestazione

la disuguaglianza matriciale nonlineare10 descritta dall’equazione (2.4.3):

1 T
V̇ + z z − wT w + 2q T M (yc − q + Kx) ≤ 0 ⇔ (2.4.2)
γ2
 
PA P Bw 0 P Bq
 0 − I2 0 0 
⇔ He 
 γ2
≤0
 (2.4.3)
Cz Dzw − 2 I Dzq
M (Cy + K) M Dyw 0 M Dyq − M

Per rendere lineare l’equazione (2.4.3) è necessario imporre una trasformazione del-
¡ ¢
lo spazio x, w, ξ, q moltiplicando per una opportuna matrice di cambiamento di

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:


 
AQ Bw 0 Bq U
 0 − I2 0 0 
He 
 γ 2 ≤0

Cz Q Dzw − 2 I Dzq U
Cy Q + KQ Dyw 0 Dyq U − U
 
AQ Bw 0 Bq U
 0 − I2 0 0 
⇔ He   ≤0 (2.4.4)
Cz Q γ2
Dzw − 2 I Dzq U 
Cy Q + H Dyw 0 Dyq U − U

LMI lineare in Q, H, U, γ 2 [4].

Anche per il vincolo di inclusione è necessario trasformare lo spazio delle varia-

bili, in quanto presenta ancora la variabile K, scomparsa dall’equazione (2.4.4) per

eliminare la nonlinearità 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):
· ¸ · ¸
0 I 0 I
T2 = =
Q 0 P −1 0
10
M (Cy + K) = M Cy + M K con M e K incognite.

30
Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilità e prestazione

In questo modo l’equazione (2.3.9) diventa:


· ¸· ¸· ¸ · u2 ¸ ·u2 ¸
0 I P KiT 0 Q i
Ki Q i
Hi
2 = s2
= s2
≥ 0 ∀i = 1, ..., nu
Q 0 Ki usi2 I 0 QKiT QP Q HiT Q
(2.4.5)
2
LMI lineare in Q,H, usi2 [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) = min γ s.t.


Q,U,H,γ
 
AQ Bw 0 Bq U
 0 −2I
0 0 
He 
 Cz Q γ2
≤0
 (2.4.6)
Dzw − 2 I Dzq U
Cy Q + H Dyw 0 Dyq U − U
· u2 ¸
i
Hi
s2 ≥ 0 ∀i = 1, ..., nu (2.4.7)
HiT Q

Dove U > 0 diagonale, Q = QT > 0. Allora γ : R+ → R+ è non decrescente e risolve

il problema 2.1.

Osservazione 2.4.1. Se H = 0 allora la equazione (2.4.7) svanisce (infatti applicando


ui 2 ui 2
lo Schur Complement si ottiene il vincolo mai attivo: Hi Q−1 HiT ≤ s2
⇒ s2
≥ 0) e

di conseguenza la equazione (2.4.6) caratterizza il guadagno L2 globale γG del sistema

di controllo anti-windup. γG è un upper bound per la funzione γ(·), cioè:

γ(·) ≤ γG

ui 2
Inoltre, dalla disuguaglianza (2.4.7) e dalla Hi Q−1 HiT ≤ 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 Stabilità e prestazione

anti-windup (equazione (1.4.6)) su un certo intervallo Is di valori s è sufficiente ap-

plicare il teorema 2.4.1 ∀sk ∈ Is , [skmin , skM AX ], ottenendo i corrispondenti γ(sk ).

Il diagramma del guadagno L2 nonlineare è dato dall’interpolazione delle coppie di

valori (sk , γ(sk )). ¤


X

2.4.1 Implicazioni

1. Stabilità: se w = 0 e x(0) ∈ EP s , allora è garantita la stabilità del sistema

con dominio di attrazione stimato EP s (nel caso di RES11 ). Infatti, sotto queste

ipotesi, l’equazione (2.4.1) diventa:

h∇V (x),ẋi + 2q T M (yc − q + Kx) < 0 (2.4.8)

Poiché x(0) ∈ EP s allora vale la proprietà GS (equazione (2.3.7)) e si ha:

2q TM (yc −q+Kx) ≥ 0

Quindi l’equazione (2.4.8) diventa:

h∇V (x), ẋi < 0 (2.4.9)

Che, come visto nel paragrafo 2.1 e nel paragrafo 2.2, garantisce la stabilità

esponenziale (in questo caso garantita solo ∀x ∈ EP s ). Inoltre, x(0) ∈ EP s e

l’equazione (2.4.9) implica che EP s è un insieme invariante in avanti.

2. Invarianza con disturbi limitati : se x(0) = 0 e kwk2 < s l’equazione (2.4.1)


11
Stabilità Esponenziale Regionale.

32
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico

diventa:

1 T
V̇ + z z − wT w < 0 ⇒ h∇V (x),ẋi − wT w < 0
γ2
⇒ h∇V (x),ẋi < wT w
Z t Z t
dV (x(τ ))
⇒ dτ < |w(τ )|2 dτ = kwk22 < s2
0 dτ 0

⇒ V (t) − V (0) = V (t) < s2 ∀t

3. Guadagno L2 nonlineare: se x(0) = 0 e kwk2 < s, in virtù della stabilità e

dell’invarianza con disturbi limitati si ha x(t) ∈ EP s , ∀t, e quindi vale GS, ∀t.

Questo implica che l’equazione (2.4.1) si particolarizza in:

1 T
V̇ + z z − wT w < 0 ∀t (2.4.10)
γ2

Poiché x(0) = 0 allora V (0) = 0, sicché integrando l’equazione (2.4.10) si ottiene:


Z tµ ¶
1 T T
V̇ (x(τ )) + 2 z(τ ) z(τ ) − w(τ ) w(τ ) dτ < 0 ∀w : kwk2 < s
0 γ
Z t Z t
1 T
V (t) + 2 z(τ ) z(τ ) − w(τ )T w(τ ) < 0 ∀w : kwk2 < s
γ 0 0
1
0 < V (t) < kwk22 − 2 kzk22 ∀w : kwk2 < s
γ
kzk2 < γ(kwk2 )kwk2 ∀w : kwk2 < 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, stabilità 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 compensatore


anti-windup statico.


 ẋ = Ax + Bw w + (Bq + BL Λ)q
H: yc = Cy x + Dyw w + (Dyq + DyL Λ)q (2.5.1)

z = Cz x + Dzw w + (Dzq + DzL Λ)q
q = dz(yc )

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 proprietà:

1. Buona connessione.

2. Stabilità.

3. Prestazione garantita ottimizzata.

Si consideri come funzione di Lyapunov, la funzione quadratica in x definita positiva:

V (x) = xT P x con P = PT > 0


12
Il processo a tempo continuo è descritto dall’equazione (1.4.1).
13
Il controllore a tempo continuo è descritto dall’equazione (1.4.2).
14
Il compensatore anti-windup e il legame uscita del controllore - saturazione - ingresso al processo
è descritto dall’equazione (1.4.7).

34
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico

Per garantire stabilità e prestazione occorre impostare la seconda disequazione di

Lyapunov inserendo la proprietà 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)):

1 T
V̇ + 2
z z−wTw < 0 ∀x ∈ EP s ∃M = diag{mi } :q TM (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:

1 T
V̇ + z z − wT w + 2q T M (yc − q + Kx) < 0 (2.5.2)
γ2

Esplicitando ẋ, z e yc , si ottiene una disequazione matriciale nonlineare piuttosto

complicata. Per chiarezza si esplicita una variabile alla volta:

I V̇

V̇ = xT P ẋ + ẋT P x

= xTP (Ax+Bw w+(Bq +BL Λ)q)+(Ax+Bw w+(Bq +BL Λ)q)TP x


 T   
x P A + AT P P B w P Bq + P BL Λ x
=  w   BwT P 0 0  w  (2.5.3)
T
q (P Bq + P BL Λ) 0 0 q

1 T
I γ2
z z

1 T 1
2
z z = (Cz x+Dzw w+(Dzq +DzL Λ)q)T 2 (Cz x+Dzw w+(Dzq +DzL Λ)q)
γ γ
 T    T   
x CzT CzT x

=  w   T
Dzw  1  D T
zw
  
 w
γ2
q (Dzq + DzL Λ)T (Dzq + DzL Λ)T q

35
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico

Applicando lo Schur Complement15 si ottiene:


 T   
x 0 0 0 CzT x
 w  0 0 0 T
Dzw  w 
     (2.5.4)
 q  0 0 0 (Dzq + DzL Λ)  
T
q 
ξ Cz Dzw (Dzq + DzL Λ) −γ 2 Iz ξ

I 2q T M (yc − q + Kx)

2q TM (yc −q+Kxk ) = 2q TM ((Cy +K)xk +Dyw w+(Dyq +DyL Λ−I) q)

= q TM ((Cy +K)xk +Dyw w+(Dyq +DyL Λ−I) q)+

+((Cy +K)xk +Dyw w+(Dyq +DyL Λ−I) q)TM q

Che espresse in forma di LMI diventa:


 
 T 0 0 (Cy + K)TM  
x  T  x
 w   0 0 · DywM ¸ w 
 (2.5.5)
M (Dyq +DyL Λ−I)+ 
q M (Cy + K) M Dyw q
+(Dyq +DyL Λ−I)T M

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:


 
PA P Bw P (Bq +BL Λ) 0
 0 − I2w 0 0 
He M (Cy +K) M Dyw M (Dyq +DyL Λ−I)
<0 (2.5.6)
0 
2
Cz Dzw Dzq +DzL Λ − γ2 Iz

L’equazione (2.5.6) è 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)
15
Nello specifico la formulazione dello Schur Complement riportata nell’equazione (1.4.6) in [2].
16
L’operatore He(·) è descritto nel paragrafo A.1.

36
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico

Per rendere lineare l’equazione (2.5.6) occorre in primo luogo applicare una trasfor-

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 nonlinearità 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:
 
AQ Bw (Bq + BL Λ)U 0
 0 − I2w 0 0 
He 
(Cy + K)Q Dyw (Dyq + DyL Λ − I)U
<0
0 
2
Cz Q Dzw (Dzq + DzL Λ)U − γ2 Iz

che corrisponde a:
 
AQ Bw Bq U + BL X 0
 0 − I2w 0 0 
He 
Cy Q + H Dyw Dyq U + DyL X − U
<0 (2.5.7)
0 
2
Cz Q Dzw Dzq U + DzL X − γ2 Iz

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):


· ¸· ¸· ¸ ·u2 ¸
0 I P KiT 0 Q i
H i
2 = sT
2
≥ 0 ∀i = 1, ..., nu (2.5.8)
Q 0 Ki usi2 I 0 Hi Q

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


17
Si noti che M è una matrice diagonale definita positiva, perciò U = M −1 è anche essa diagonale
definita positiva.

37
Cap. 2 Analisi e sintesi a tempo continuo §2.5 Sintesi di anti-windup statico

ogni s > 0 si definisce:

γ(s) , min γ s.t. (2.5.9)


Q,U,H,X,γ
 
AQ Bw Bq U + BL X 0
 0 − I2 0 0 

He  <0 (2.5.10)
Cy Q + H Dyw Dyq U + DyL X − U 0 
2
Cz Q Dzw Dzq U + DzL X − γ2 I
·u2 ¸
i
Hi
s2 ≥ 0 ∀i = 1, ..., nu (2.5.11)
HiT Q

LMI lineare in Q = QT > 0, U > 0 diagonale, H, X e γ 2 . Allora γ : R+ → R+

è non decrescente e risolve il problema 2.1 e Λ = XU −1 è 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 perciò

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


ui 2 ui 2
lo Schur Complement si ottiene un vincolo mai attivo: Hi Q−1 HiT ≤ s2
⇒ s2
≥ 0) e

di conseguenza l’equazione (2.5.10) caratterizza il guadagno L2 globale γG del sistema

di controllo anti-windup statico. γG è un upperbound per la funzione γ(·), cioè:

γ(·) ≤ γ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 : kwk2 ≤ s̄.

2. Il compensatore anti-windup statico Λ(s̄) che garantisce le tre proprietà18 , ∀w ∈

L2 : kwk2 ≤ s̄.
18
Buona connessione, Stabilità, Prestazione.

38
Cap. 2 Analisi e sintesi a tempo continuo §2.6 Minimo guadagno L2 nonlineare

Se w : kwk2 > s̄ allora non è più garantita la stabilità. ¤


X

Osservazione 2.5.3. Diagramma guadagno L2 nonlineare.

Una volta sintetizzato Λ(s̄) è 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 Λ), cioè è 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 , skM AX ], 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, cioè un guadagno Λg , è detto con prestazione

globale se per ogni riferimento (o disturbo) w ∈ L2 mantiene la buona connessione,

l’stabilità 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 è 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) è un lower bound sul guadagno L2 nonli-

neare γ(s) (equazione (2.5.9)) ed è 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, cioè:

∀s γmin (s) ≤ γ(s)

Sia Is , [skmin , skM AX ] 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 è, quindi, l’interpolazio-

ne delle coppie (sk , γ(sk )). In figura 2.4 è riportato, a titolo di esempio, il diagramma

del minimo guadagno L2 nonlineare per il sistema “massa molla smorzatore” la cui

analisi sarà approfondita nel capitolo 6.

19
Per ogni bound s si vuole che le proprietà garantite valgano per ogni w ∈ L2 : kwk2 < s.

40
Cap. 2 Analisi e sintesi a tempo continuo §2.6 Minimo guadagno L2 nonlineare

Minimo Guadagno L2 nonlineare su intervallo: [−3 3] (valori s) e Nalfa = 20


3
10

2
10

1
10

Minimo guadagno L nonlineare TC


2
Guadagno globale (ottenuto per s=Inf)
0
10
−3 −2 −1 0 1 2 3
10 10 10 10 10 10 10

Figura 2.4: Esempio di minimo guadagno L2 nonlineare per un sistema “massa molla
smorzatore”.

41
Capitolo 3

Analisi e sintesi di stabilità e


prestazione per sistemi lineari
saturati a tempo discreto

In questo capitolo viene discusso e dimostrato il teorema Guadagno


L2 nonlineare per sistemi dinamici lineari a tempo discreto ad
ingressi saturati. Questo teorema è fondamentale per la sintesi del
compensatore anti-windup statico da applicare al sistema dinamico
per il recupero della prestazione degradata dal windup. La dimo-
strazione del teorema si sviluppa su un percorso logico analogo a
quello del capitolo 2 e i cui step salienti sono descritti nei paragrafi
3.1 e 3.2. Nel paragrafo 3.3 viene discusso e dimostrato il teorema
Guadagno 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-windup
statico Λ 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:

kzk2 ≤ γ (kwk2 ) kwk2 (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 è asintoticamente stabile.

Si consideri il sistema dinamico lineare a tempo discreto:

x+ = Ax (3.1.1)

esso è 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 è GES ⇐ ∃V (·) : X → R≥0 (3.1.2)

V ∈ C 1 , 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 P x con P = PT > 0 (3.1.5)

Essa verifica l’equazione (3.1.2) e l’equazione (3.1.3), ed è quindi una buona candidata

come funzione di Lyapunov. Affinché lo sia deve essere rispettata anche la seconda

disequazione di Lyapunov (equazione (3.1.4)):

T
4V < 0 ⇒ 4V = V + −V = x+ P x+ −xTP x = xT(ATP A−P )x < 0 (3.1.6)

Quindi una funzione quadratica che verifica l’equazione (3.1.5) e equazione (3.1.6) è

di Lyapunov per sistemi a tempo discreto.

Queste condizioni sono riscrivibili come sistema di disequazioni matriciali lineari

(equazione 3.1.7) facilmente risolvibili:


½
+ V > 0 ⇐ P = PT > 0
x = Ax è GES ⇐ (3.1.7)
4V < 0 ⇐ AT P A − P < 0

43
Cap. 3 Analisi e sintesi a tempo discreto §3.2 Stabilità e prestazione

3.2 Sistemi con saturazione: stabilità 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 :
 +
 x = Ax + Bq q + Bw w
H: z = Cz x + Dzq q + Dzw w (3.2.1)

yc = Cy x + Dyq q + Dyw w
q = dz(yc ) = yc − sat(yc ) (3.2.2)

Alla luce di quanto visto in paragrafo 3.1, operando in modo analogo a quanto visto

Figura 3.1: Schema equivalente H di sistema a tempo discreto saturato: modello con
deadzone.

in paragrafo 2.2 è possibile introdurre una funzione di Lyapunov per l’attenuazione dei

disturbi con medesime caratteristiche e proprietà anche a tempo discreto (stabilità e

prestazione). Seguendo i passi sviluppati nel precedente capitolo si può inserire un’ul-

teriore specifica, ovvero il soddisfacimento della proprietà 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


1
Controllore che garantisce certe specifiche sintetizzato per il processo non saturato.

44
Cap. 3 Analisi e sintesi a tempo discreto §3.2 Stabilità e prestazione

inclusione in EP s , si ottiene la disuguaglianza matriciale nonlineare2 equazione (3.2.4):

1 T
z z − wT w + 2q T M (yc − q + Kx) ≤ 0, ∀x, w, q ⇔
4V (x) + (3.2.3)
γ2
 
 T −P −1 A Bw Bq 0  
ξ  T T T  ξ
x  A −P 0 (Cy + K) M Cz  
   BT 0 −I · Dyw T
M ¸ Dzw T  x 
⇔ w
 
 w  w  ≤ 0, ∀ξ, x, w, q, l
 
 q   B T M (Cy+K) M Dyw M Dyq+ T  
 q T D zq  q
+Dyq M −2M
l l
0 Cz Dzw Dzq −γ 2 I
(3.2.4)

Per rendere lineare l’equazione (3.2.4) è necessario imporre una trasformazione del-
£ ¤
lo spazio ξ, x, w, q, l moltiplicando per una opportuna matrice di cambiamento di

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 è soddisfatta se e

solo se:  
− 21 Q AQ Bw Bq U 0
 0 1
−2Q 0 0 0 
 
He 
 0 0 − 21 Iw 0 0 ≤0

 0 (Cy + K) Q Dyw (Dyq − I) U 0 
γ2
0 Cz Q Dzw Dzq U − 2 Iz
se e solo se:
 
− 12 Q AQ Bw Bq U 0
 0 − 12 Q 0 0 0 
 
He 
 0 0 − 21 Iw 0 0 ≤0
 (3.2.5)
 0 Cy Q + H Dyw (Dyq − I) U 0 
γ2
0 Cz Q Dzw Dzq U − 2 Iz

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).


2
La nonlinearità dell’equazione (3.2.4) risiede nei fattori M (Cy + K) = M Cy + M K in cui M e
K 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) = min γ s.t.


Q,U,H,γ
 1 
−2Q AQ Bw Bq U 0
 0 1
−2Q 0 0 0 
 

He  0 0 − 1
I 0 0 ≤0 (3.2.6)
2 w 
 0 (Cy Q + H) Dyw (Dyq − I) U 0 
γ2
0 Cz Q Dzw Dzq U − 2 Iz
· u2 ¸
i
Hi
s2
T ≥ 0 ∀i = 1, ..., nu (3.2.7)
Hi Q

Dove U > 0 diagonale, Q = QT > 0. Allora γ : R+ → R+ è 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, stabilità 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 compensatore


anti-windup statico.

 +
 x = Ax + Bw w + (Bq + BL Λ)q
H: y = Cy x + Dyw w + (Dyq + DyL Λ)q (3.3.1)

z = Cz x + Dzw w + (Dzq + DzL Λ)q
q = dz(yc )

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 proprietà:

1. Buona connessione.

2. Stabilità.

3. Prestazione garantita ottimizzata.

Si consideri come funzione di Lyapunov, la funzione quadratica in x definita positiva:

V (x) = xT P x con P = PT > 0


3
Il processo a tempo discreto è descritto dalla versione a tempo discreto dell’equazione (1.4.1).
4
Il controllore a tempo discreto è descritto dalla versione a tempo discreto dell’equazione (1.4.2).
5
Il compensatore anti-windup e il legame uscita del controllore - saturazione - ingresso al processo
è descritto dall’equazione (1.4.7).

47
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico

Per garantire stabilità e prestazione occorre impostare la seconda disequazione di

Lyapunov inserendo la proprietà 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)):

1 T
4V (x)+ 2
z z−wTw < 0 ∀x ∈ EP s ∃M = diag{mi } :q TM (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:

1 T
4V (x) + z z − wT w + 2q T M (yc − q + Kx) < 0 (3.3.2)
γ2

Esplicitando x+ , z e yc , si ottiene una disequazione matriciale nonlineare piuttosto

complicata. Per chiarezza si esplicita una variabile alla volta:

I 4V

T
4V = x+ P x + − xT P x

= (Ax+Bw w+(Bq +BL Λ) q)T P (Ax+Bw w+(Bq +BL Λ) q)−xT P x


 T   T   
x AT AT P 0 0 x
  − 0 0 0 
=  w   BwT P  BwT   w 
T T
q (Bq +BL Λ) (Bq +BL Λ) 0 0 0 q

Applicando lo Schur Complement6 si ottiene:


 T   
ξ −P −1 A Bw (Bq + BL Λ) ξ
 x   AT −P 0 0  x 
     (3.3.3)
 w   BwT 0 0 0  w 
T
q (Bq + BL Λ) 0 0 0 q
6
Nello 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

1 T
I γ2
z z
1 T T 1
z z = (Cz x+D zw w+(D zq +D zL Λ)q) (Cz x+Dzw w+(Dzq +DzL Λ)q)
γ2 γ2
 T   T 
x CzT CzT x
    1   
 w

T T
= w  Dzw Dzw
T γ2 T
q (Dzq + DzL Λ) (Dzq + DzL Λ) q

Applicando lo Schur Complement7 si ottiene:


 T   
x 0 0 0 CzT x
 w  0 0 0 T
Dzw  w 
     (3.3.4)
 q  0 0 0 (Dzq + DzL Λ)T
q 
l Cz Dzw (Dzq + DzL Λ) −γ 2 Iz l

I 2q T M (yc − q + Kx)

2q TM (yc −q+Kx) = 2q TM ((Cy +K)x+Dyw w+(Dyq +DyL Λ−I) q)

= q TM ((Cy +K)x+Dyw w+(Dyq +DyL Λ−I) q)+

+((Cy +K)x+Dyw w+(Dyq +DyL Λ−I) q)TM q

Che espresse in forma di LMI diventa:

 
 T 0 0 (Cy +K)TM  
x  T  x
 w   0 0 · DywM ¸ w 
 (3.3.5)
M (Dyq +DyL Λ−I)+ 
q M (Cy +K) M Dyw q
+(Dyq +DyL Λ−I)T M
Sostituendo le equazioni (3.3.3), (3.3.4) e (3.3.5) nell’equazione (3.3.2) si ottiene:

 
 T −P −1 A Bw Bq +BL Λ 0  
ξ   A T
−P 0 (C y +K) T
M C T
z
 ξ

x  BwT 0 −Iw  DywT
M T
Dzw  x 
    
w   M (D +D Λ)+  w 
  yq yL  
 q  (Bq +BL Λ) M (Cy +K) MDyw +(Dyq +Λ DyL )M  (Dzq +DzL Λ)  q 
T T T T T
 
l  −2M  l
0 Cz Dzw Dzq +DzL Λ −γ 2 Iz
7
Nello specifico la formulazione dello Schur Complement riportata nell’equazione (1.4.6) in [2].

49
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico

Che è negativa per ogni ξ, x, w, q, l 6= 0 se e solo se:

 
−P −1 A Bw
Bq +BL Λ 0
 AT −P (Cy +K)TM
0 CzT 
 
 BwT 0 T
−Iw 
DywM T
Dzw 
  
 M (D +D Λ)+ < 0 (3.3.6)
 yq yL 
(Bq +BL Λ) M (Cy +K) MDyw +(Dyq +Λ DyL )M  (Dzq +DzL Λ) 
T T T T T
 
 −2M 
0 Cz Dzw Dzq +DzL Λ −γ 2 Iz
L’equazione (3.3.6) è una disequazione matriciale nonlineare, in quanto presenta

prodotti tra matrici incognite:

T
1. M e Λ in M (Dyq + DyL Λ) + (Dyq + ΛT DyL
T
)M − 2M

2. M e K in M (Cy + K)

Per rendere lineare l’equazione (3.3.6) è necessario imporre una trasformazione di coor-
£ ¤
dinate ξ, x, w, q, l moltiplicando per una opportuna matrice8 T1 = diag (I, Q, I, U, I) =

diag (I, P −1 , I, M −1 , I) a destra e sinistra e cancellare le nonlinearità 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:

 
− 12 Q AQ Bw (Bq + BL Λ)U 0
 0 1
−2Q 0 0 0 
 
He 
 0 0 − 12 Iw 0 0 <0

 0 (Cy + K) Q Dyw (Dyq + DyL Λ − I)U 0 
γ2
0 Cz Q Dzw (Dzq + DzL Λ)U − 2 Iz
ed infine:
 
− 12 Q AQ Bw Bq U + BL X 0
 0 − 21 Q 0 0 0 
 
He 
 0 0 − 12 Iw 0 0 <0
 (3.3.7)
 0 Cy Q + H Dyw Dyq U + DyL X − U 0 
γ2
0 Cz Q Dzw Dzq U + DzL X − 2 Iz
8
M è una matrice diagonale definita positiva, perciò U = M −1 è anche essa diagonale definita
positiva.

50
Cap. 3 Analisi e sintesi a tempo discreto §3.3 Sintesi di anti-windup statico

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):


· ¸· ¸· ¸ ·u2 ¸
0 I P KiT 0 Q i
H i
2 = sT
2
≥ 0 ∀i = 1, ..., nu (3.3.8)
Q 0 Ki usi2 I 0 Hi Q

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) , min γ s.t. (3.3.9)


Q,U,H,X,γ
 1 
−2Q AQ Bw Bq U + BL X 0
 0 1
−2Q 0 0 0 
 
He 
 0 0 − 1
I
2 w
0 0  < 0 (3.3.10)

 0 Cy Q + H Dyw Dyq U + DyL X − U 0 
γ2
0 Cz Q Dzw Dzq U + DzL X − 2 Iz
·u2 ¸
i
Hi
s2 ≥ 0 ∀i = 1, ..., nu (3.3.11)
HiT Q

LMI lineare in Q = QT > 0, U > 0 diagonale, H, X e γ 2 . Allora γ : R+ → R+

è non decrescente e risolve il problema 3.1 e Λ = XU −1 è 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 perciò

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.


9
Versione 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, è

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 è

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 a


tempo continuo con prestazione
nonlineare ottimizzata
In questo capitolo vengono presentati due algoritmi per la sintesi
di anti-windup statico, Λα1 e Λα2 , a tempo continuo con prestazio-
ne nonlineare più performante rispetto al anti-windup statico con
prestazione 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 è ottenuto dalle matrici X e U ottime, minimizzando l’equazione (2.5.9) con s = ∞.

In virtù dell’osservazione 2.5.1 la seconda LMI (disequazione (2.5.11)) non è mai

attiva, quindi inutile come vincolo nell’ottimizzazione, che risulta essere:

γ(s)s=∞ , min γ s.t. (4.1.1)


Q,U,H,X,γ
 
AQ Bw Bq U + BL X 0
 0 − I2 0 0 
0 > He 
Cy Q + H Dyw Dyq U + DyL X − U

0 
2
Cz Q Dzw Dzq U + DzL X − γ2 I

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 ) è il minimo guadagno L2 nonlineare definito nel paragrafo 2.6, per segnali esogeni a
norma 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 più 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 α s.t. (4.2.1)


α,Qk ,Hk ,X,U
 
AQk Bw Bq U + BL X 0
 0 − I2 0 0 
0 > He Cy Qk + Hk Dyw Dyq U + DyL X − U 0

 (4.2.2)
2
γmin (sk )
Cz Qk Dzw Dzq U + DzL X −(1 + α) 2 I
" 2 #
ui
2 Hki
0 ≤ skT , ∀i = 1, ..., nu k = 1, ..., Nα (4.2.3)
Hki Qk

LMI lineare in α, Qk = QTk > 0, Hk , X e U > 0 diagonale. Allora αmin ≥ 0 e

Λα1 = XU −1 è un compensatore anti-windup statico che risolve il problema 2.2.


2
La scelta di sk = +∞ è necessaria per garantire la prestazione globale.

55
Cap. 4 Sintesi di anti-windup statico a tempo continuo §4.2 Compensatori Λα

In figura 4.1 è 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 sarà approfondita nel capitolo 6. Come lecito aspettarsi nell’intervallo di inte-

resse γmin (s) ≤ γα1 (s) ≤ γG (s):

Guadagno L2 nonlineare su intervallo: [0 4] (valori s) e Nalfa = 20

1.4
10

1.3
10

Compensatore ottimo TC globale


Compensatore ottimo TC per alfa 1
Minimo guadagno L nonlineare TC
2

0 1 2 3 4
10 10 10 10 10

Figura 4.1: Esempio di confronto tra prestazioni per un sistema “aereo F8 ”: come
lecito aspettarsi nell’intervallo di interesse γmin (s) ≤ γα1 (s) ≤ γG (s).

4.2.2 Sintesi di anti-windup con algoritmo α2

Per sintetizzare il compensatore anti-windup statico con prestazione globale Λα2 si


PNα 2
minimizza la funzione obiettivo k=1 γmin (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 Λα

PNα 2
paragrafo 2.6). La minimizzazione di k=1 γmin (sk )αk implica una prestazione a ciclo

chiuso dovuta a Λα2 quanto più vicina a quella del minimo guadagno L2 nonlineare.

Operativamente:

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 .

PNα 2
3. Si minimizza la funzione obiettivo k=1 γmin (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:

X
2
αmin , argmin γmin (sk )αk s.t. (4.2.4)
αk ,Qk ,Hk ,X,U
k=1
 
AQk Bw Bq U +BL X 0
 0 − I2 0 0 
0 > He Cy Qk +Hk Dyw Dyq U +DyL X − U 0

 (4.2.5)
2
γmin (sk )
Cz Qk Dzw Dzq U +DzL X −(1 + αk ) 2 I
" 2 #
ui
2 Hki
0 ≤ skT , ∀i = 1, ..., nu k = 1, ..., Nα (4.2.6)
Hki Qk

LMI lineare in αk , Qk = QTk > 0, Hk , X e U > 0 diagonale. Allora αmin ≥ 0 e

Λα2 = XU −1 è un compensatore anti-windup statico che risolve il problema 2.2.

In figura 4.2 è 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


3
La scelta di sk = +∞ è necessaria per garantire la prestazione globale.

57
Cap. 4 Sintesi di anti-windup statico a tempo continuo §4.2 Compensatori Λα

analisi sarà approfondita nel capitolo 6. Come lecito aspettarsi nell’intervallo di inte-

resse γmin (s) ≤ γα2 (s) ≤ γG (s):

Guadagno L2 nonlineare su intervallo: [0 4] (valori s) e Nalfa = 20

1.5
10

1.4
10

1.3
10

Compensatore ottimo TC globale


Compensatore ottimo TC per alfa 2
Minimo guadagno L nonlineare TC
2

0 1 2 3 4
10 10 10 10 10

Figura 4.2: Esempio di confronto tra prestazioni per un sistema “aereo F8 ”: come
lecito aspettarsi nell’intervallo di interesse γmin (s) ≤ γα2 (s) ≤ γG (s).

4.2.3 Osservazioni

Osservazione 4.2.1. La variabile decisionale α è sempre maggiore o uguale a 0. Se

ciò non avvenisse allora si avrebbe una stima del guadagno L2 del sistema di controllo

anti-windup che compete al compensatore Λα minore dal lower bound dato del minimo

guadagno L2 nonlineare. ¤
X

Osservazione 4.2.2. La prestazione ottenuta dai Λα è 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 è 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 è 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

4
v2 = Λq = Λ(yc − u) = Λ(Cc xc + Dcy y + Dcw w + v2 − u)
5
Per dettagli relativi al vincolo di Lipschitz strettamente attinenti a questi algoritmi vedasi
paragrafo A.6.

59
Capitolo 5

Sintesi di anti-windup statico a


tempo discreto con prestazione
nonlineare ottimizzata
In questo capitolo vengono presentati due algoritmi per la sintesi
di anti-windup statico, Λα1 e Λα2 , a tempo discreto con presta-
zione globale più performante rispetto al anti-windup statico con
prestazione 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 è ottenuto dalle matrici X e U ottime, minimizzando l’equazione (3.3.9) con s = ∞.

In virtù dell’osservazione 2.5.1 la seconda LMI (equazione (3.3.11)) non è mai attiva,

quindi inutile come vincolo nell’ottimizzazione, che risulta essere:

γ(s)s=∞ , min γ s.t. (5.1.1)


Q,U,H,X,γ
 
− 12 Q AQ Bw Bq U + BL X 0
 0 1
−2Q 0 0 0 
 
0 > He 
 0 0 − 21 Iw 0 0 <0

 0 Cy Q + H Dyw Dyq U + DyL X − U 0 
γ2
0 Cz Q Dzw Dzq U + DzL X − 2 Iz

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 ) è il minimo guadagno L2 nonlineare definito nel paragrafo 3.4, per segnali esogeni a
norma 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 più 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 α s.t. (5.2.1)


α,Qk ,Hk ,X,U
 1 
− 2 Qk AQk Bw Bq U +BL X 0
 0 − 21 Qk 0 0 0 
 

0 > He  0 0 1
− 2 Iw 0 0  (5.2.2)

 0 Cy Qk +Hk Dyw Dyq U +DyL X −U 0 
2
γmin (sk )
0 Cz Qk Dzw Dzq U +DzL X −(1+α) 2 Iz
" 2 #
ui
2 Hki
0 ≤ skT , ∀i = 1, ..., nu k = 1, ..., Nα (5.2.3)
Hki Qk
LMI lineare in α, Qk = QTk > 0, Hk , X e U > 0 diagonale. Allora αmin ≥ 0 e

Λα1 = XU −1 è un compensatore anti-windup statico che risolve il problema 3.2.


2
Annettere un punto s all’infinito è 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


PNα 2
minimizza la funzione obiettivo k=1 γmin (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-
P α 2
fo 3.4). La minimizzazione di N k=1 γmin (sk )αk implica una prestazione a ciclo chiuso

dovuta a Λα2 quanto più vicina a quella del minimo guadagno L2 nonlineare.

Operativamente:

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 .

PNα 2
3. Si minimizza la funzione obiettivo k=1 γmin (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:
3
Annettere un punto s all’infinito è necessario per garantire la prestazione globale.

63
Cap. 5 Sintesi di anti-windup statico a tempo discreto §5.2 Compensatori Λα


X
2
αmin , argmin γmin (sk )αk s.t. (5.2.4)
αk ,Qk ,Hk ,X,U
k=1
 
− 21 Qk AQk Bw Bq U +BL X 0
 0 − 12 Qk 0 0 0 
 
0 > He  0 0 − 1
I
2 w
0 0  (5.2.5)

 0 Cy Qk +Hk Dyw Dyq U +DyL X −U 0 
2 (s )
γmin
0 C z Qk Dzw Dzq U +DzL X −(1+αk ) 2 Izk

" 2 #
ui
2 H ki
0 ≤ skT , ∀i = 1, ..., nu k = 1, ..., Nα (5.2.6)
Hki Qk

LMI lineare in αk , Qk = QTk > 0, Hk , X e U > 0 diagonale. Allora αmin ≥ 0 e

Λα2 = XU −1 è 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 Λα è 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 è 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. Verrà mostrato come l’introduzione del compensatore anti-
windup recuperi la prestazione persa a causa del windup, garan-
tendo proprietà globali, e che i compensatori Λα hanno prestazioni
migliori rispetto al compensatore Λg .

6.1 Simulazioni

Validare una teoria con degli esempi è quanto di più utile per mostrare in modo chiaro

potenzialità 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 è 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.


½
v1 = Λ 1 q : Λ1 ∈ Rnc ×nu
v = Λq = (6.1.1)
v2 = Λ 2 q : Λ2 ∈ Rnu ×nu
· ¸
1 Λ1
Schema di controllo in figura 1.4 e figura 6.2, in cui il blocco Λ = è sostituito rispettivamente
Λ2
da Λg , Λα1 e Λα2 .
2
Nello specifico dall’osservazione 2.5.3 e dall’osservazione 2.4.2.
3
Nello 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

1 y −r yc u
y _controllore
r v1 plant 1
Controller v2 y
Saturation plant

Lambda _2
K*u

v1
K*u
q
Lambda _1 Dead Zone

(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 bontà dei compensatori sintetizzati ottenuta

confrontando il recupero di prestazione di ognuna rispetto al caso nominale.

Gli esempi di seguito riportati, comparsi già in [3], [8], [4] e [7], sono stati testati

sia con gli algoritmi tempo-continuo che con quelli tempo-discreto (previa discretizza-

zione del modello utilizzato), ottenendo i risultati globali aspettati: ovvero ottenendo

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, perciò 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, perciò 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:


· ¸ · ¸
0 1 0
x˙p = k f x p + 1 up (6.2.1)
−m −m m
£ ¤
yp = 1 0 xp (6.2.2)

£ ¤T
Dove xp , q q̇ rappresenta la posizione e la velocità 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 è formalizzata nell’equazione (1.4.1), descritto dalle matrici:


 
  0 1 0 0
Ap Bpu Bpw  
 Cpy Dpyu Dpyw  =  −6.667 −0.007 8.333 0 
 −1 0 0 0 
Cpz Dpzu Dpzw
−1 0 0 1

L’ingresso di controllo up ∈ R è la forza F applicata alla massa ed è vincolato

ad appartenere all’intervallo di saturazione [−1, 1]. L’uscita misurata yp ∈ R è la

posizione q della massa. Lo stato del sistema massa-molla smorzatore è xp ∈ R2 .

L’ingresso esogeno w ∈ R è il riferimento che per l’esempio riportato è pari alla

funzione a gradini figura 6.4.

Figura 6.4: Segnale di riferimento che si vuole far inseguire al sistema massa molla
smorzatore.

Il controllore che soddisfa le specifiche non saturato a ciclo chiuso è descritto dalle

matrici:
 
· ¸ −2.5 0 0 0 1.5811
Ac Bcu Bcw  193.65 −80 19.365 122.47 0 
=
 50


Cc Dcu Dcw 0 0 31.623 0
316.23 −122.47 31.623 200 0

70
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)

6.2.1 Guadagno L2 nonlineare e risposta nel tempo


Sintesi di Λ

Il calcolo delle matrici del compensatore Λg è ottenuto semplicemente risolvendo il

problema di ottimizzazione dato dell’equazione (4.1.1):


 
−0.62041
 0.71199 
Λg =   8.9442 

0.80889

Per quel che riguarda il calcolo dei compensatori Λα l’algoritmo è più 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 è 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):
   
−0.44339 −0.63647
 0.45321   0.7269 
Λα1 =
 6.2553 
 Λα2 =
 9.166 

0.81083 0.80042

Guadagno L2 nonlineare

In figura 6.5 è 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 .


4
Significa scegliere Nα − 1 valori di s logaritmicamente equispaziati su un intervallo Is , e per
ognuno associare il vincolo di prestazione garantita ∀w : kwk2 < s.
5
La necessità di introdurre un punto in s = ∞ è giustificata nel paragrafo 4.2.3.
6
γmin (·) è 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.

Guadagno L nonlineare su intervallo: [−3 3] (valori s) e N = 20


2 alfa
3
10

2
10

1
10

Minimo guadagno L2 nonlineare TC


Compensatore ottimo TC per alfa 1
Compensatore ottimo TC per alfa 2
Compensatore ottimo TC globale
0
10
−3 −2 −1 0 1 2 3
10 10 10 10 10 10 10

Figura 6.5: Sistema massa molla smorzatore. Diagramma del minimo guadagno L2
nonlineare (celeste), del guadagno L2 nonlineare relativo a Λg (rosso), a Λα1 (verde)
e a Λα2 (blu): i due compensatori Λα hanno una prestazione garantita globale non
peggiore (non più grande) di Λg nella zona di interesse. Nello specifico Λα2 (blu)
ha guadagno L2 praticamente identico al Λg (rosso); Λα1 (verde) è leggermente più
piccolo nell’intervallo di interesse.

7
Linea orizzontale tratteggiata, pari al guadagno L2 dei compensatori Λ, ottenuto per s = ∞.
8
Non più grande.

72
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)

Il parametro che giudica la bontà dei compensatori anti-windup statici sintetizzati

è α: infatti, essendo variabile di minimizzazione, tanto più è piccola α, tanto più

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:


 
0.055969
 0.097003 
 
 0.83934 
 
 4.8826 
 
 9.3728 
 
 6.801 
 
 3.5916 
 
 1.8514 
 
 0.95959 
 
 0.4875 
α1 = 6.891 
α2 =  
0.2319 
 
 0.09759 
 
 0.033416 
 
 0.0080041 
 
0.00088428
 
0.00018545
 
0.00083472
 
 0.0014056 
 
 0.0017156 
0.0021667

Risposta nel tempo

Il sistema di controllo non saturato è progettato per soddisfare certe specifiche richie-

ste, che verranno deteriorate dal windup. La simulazione del sistema non saturato su

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 stabilità.

73
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)

[TC] Traiettorie unconstrained del sistema


1

0.5

Output
0

−0.5
y1 unconstrained
−1
0 5 10 15 20 25

10

5
Input

−5
u1 unconstrained
−10
0 5 10 15 20 25
Time (s)

Figura 6.6: Traiettorie non saturate del sistema massa molla smorzatore a ciclo chiuso.
Livelli di saturazione sull’ingresso (puntinato) non attivi.
[TC] Traiettorie saturate VS unconstrained del sistema
30

20
Output

10

−10

−20
y1 constrained
−30
0 5 10 15 20 25

10

5
Input

−5
u1 constrained
−10
0 5 10 15 20 25
Time (s)

Figura 6.7: Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistema
massa molla smorzatore a ciclo chiuso. Livelli di saturazione sull’ingresso (puntinato)
attivi.

Il sistema di controllo anti-windup a ciclo chiuso deve recuperare parte della pre-

stazione persa e soprattutto garantire la stabilità asintotica persa nell’introduzione

della saturazione.

74
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)

In figura 6.8 è riportato il confronto tra risposta in uscita per il sistema non satura-

to e risposta in uscita per i sistemi anti-windup nelle diverse modalità: compensatore

Λg , Λα1 , Λα2 , per una simulazione del sistema figura 6.1 di periodo T=25 sec.

I Il compensatore Λα1 produce la risposta in uscita che converge più veloce-

mente, tra i sistemi anti-windup.

I Il compensatore Λα2 produce una risposta in uscita che converge velocemente,

seppur più lentamente di Λα1 .

I Entrambi i compensatori Λα producono una risposta in uscita che converge

più velocemente del non saturato.

I Il compensatore Λα2 produce una risposta in uscita praticamente identica a

quella del compensatore Λg .

In figura 6.9 è riportato il confronto tra segnale di controllo per il sistema non satu-

rato e segnale di controllo (saturato) per i sistemi anti-windup nelle diverse modalità:

compensatore Λg , Λα1 , Λα2 per una simulazione del sistema figura 6.1 di periodo T=25

sec.

I Il controllore compensato da Λα2 e Λg genera un segnale di controllo

praticamente identico.

75
Confronto tra risposte in uscita [TC]
1

0.8
Cap. 6 Simulazioni

0.6

0.4

0.2

−0.2

−0.4

−0.6 y globale
1
y α
1 1
−0.8 y1 α2
y1 unconstrained
−1
0 5 10 15 20 25

Figura 6.8: Risposta in uscita per il sistema non saturato (celeste) e per i sistemi di controllo anti-windup con compensatore
Λg (rosso), Λα1 (verde), Λα2 (blu) del sistema massa molla smorzatore a ciclo chiuso. Riferimento (puntinato). Λα1 e Λα2
sono sintetizzati su Nα = 20 punti, Is = [10−3 ; 103 ].
§6.2 Esempio 1: sistema massa molla smorzatore (TC)

76
Confronto tra segnali di controllo [TC]
10

8
Cap. 6 Simulazioni

−2

−4

−6 u1 globale
u1 α1
−8 u1 α2
u1 unconstrained
−10
0 5 10 15 20 25

Figura 6.9: Segnale di controllo per il sistema non saturato (celeste) e per i sistemi di controllo anti-windup con com-
pensatore Λg (rosso), Λα1 (verde), Λα2 (blu) del sistema massa molla smorzatore a ciclo chiuso. Livelli di saturazione
(puntinato). Λα1 e Λα2 sono sintetizzati su Nα = 20 punti, Is = [10−3 ; 103 ].
§6.2 Esempio 1: sistema massa molla smorzatore (TC)

77
Cap. 6 Simulazioni §6.2 Esempio 1: sistema massa molla smorzatore (TC)

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


[TC] Traiettorie AW globale VS unconstrained del sistema
1

0.5
Output

−0.5
y1
AWg
−1
0 5 10 15 20 25

10

5
Input

−5
u1
AWg
−10
0 5 10 15 20 25
Time (s)

Figura 6.10: Traiettorie del sistema di controllo anti-windup globale (continuo) e non
saturato (tratteggiato) del sistema massa molla smorzatore a ciclo chiuso. Il com-
pensatore anti-windup globale è stato sintetizzato risolvendo l’equazione (4.1.1) e ga-
rantisce stabilità e prestazione globale. Livelli di saturazione sull’ingresso (puntinato)
attivi.

figura 6.11. Le traiettorie del compensatore anti-windup globale Λα2 sono riportate

in figura 6.12.

Il parametro che giudica la bontà dei compensatori anti-windup statici sintetizzati

è α: 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 è Λα1 .

Inoltre lo stesso Λα1 produce una risposta in uscita che converge più velocemente

per l’esempio di cui sopra, in cui viene applicato il riferimento sopra definito con

|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)

[TC] Traiettorie AW alfa1 VS unconstrained del sistema con Nα = 20


1

0.5

Output
0

−0.5
y1
AW a1
−1
0 5 10 15 20 25

10

5
Input

−5
u1
AW a1
−10
0 5 10 15 20 25
Time (s)

Figura 6.11: Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non
saturato (tratteggiato) del sistema massa molla smorzatore a ciclo chiuso. Il com-
pensatore anti-windup Λα1 è stato sintetizzato risolvendo l’equazione (4.2.1) e garan-
tisce stabilità e prestazione globale. Λα1 è leggermente più veloce di Λg . Livelli di
saturazione sull’ingresso (puntinato) attivi.
[TC] Traiettorie AW alfa2 VS unconstrained del sistema con Nα = 20
1

0.5
Output

−0.5
y1
AW a2
−1
0 5 10 15 20 25

10

5
Input

−5
u
1
AW a2
−10
0 5 10 15 20 25
Time (s)

Figura 6.12: Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e non
saturato (tratteggiato) del sistema massa molla smorzatore a ciclo chiuso. Il compen-
satore anti-windup Λα2 è stato sintetizzato risolvendo l’equazione (4.2.4) e garantisce
stabilità e prestazione globale. Livelli di saturazione sull’ingresso (puntinato) attivi.

79
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)

6.3 Esempio 2: sistema aereo F8 (TC)

Si consideri la dinamica longitudinale del sistema aereo F8 descritta dal sistema

dinamico:
   
−0.8 −0.0006 −12 0 −19 −3
 0 −0.014 −16.64 −32.2 −0.66 −0.5
A=
 1
 Bpu = 
−0.0001 −1.5 0  −0.16 −0.5
1 0 0 0 0 0
· ¸ · ¸
0 0 0 1 0 0
Cpy = Dpyu =
0 0 −1 1 0 0

Bpw = 04x2 Dpzu = Dpyw = 02x2


· 3
¸ · ¸
0 0 0 − 34 0
Cpz = 4 Dpzw =
−0.8 −0.0006 −12 0 0 0

L’ingresso di controllo all’aereo up ∈ R2 è vincolato ad appartenere all’intervallo di

[−25, 25] gradi. L’uscita misurata yp ∈ R2 è l’angolo di pitch e l’angolo di flight path,

in radianti. Lo stato dell’aereo è xp ∈ R4 . L’ingresso esogeno w ∈ R2 è il riferimento

che per gli esempi che seguono è stato fissato a [10; 10] gradi. Il sistema di controllo

non saturato a ciclo chiuso, ottenuto con tecnica LQG/LTR, è descritto dalle matrici:
· ¸ · ¸
Aa + Ba G − HCa 0 H
Ac = Bcy = −Bcw =
G 0 0
£ ¤
Cc = 0 I Dcy = Dcw = 02x2

Dove H, G, Aa , Ba , Ca sono cosı̀ definite:


· ¸
T−0.844 −11.54 −0.86 −47.4 4.68 4.82
H =
0.819 13.47 0.25 15 −4.8 0.14
· ¸
−52.23 −3.36 73.1 −0.0006 −94.3 1072
G=
−3.36 −29.7 −2.19 −0.006 908.9 −921

80
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)

· ¸ · ¸
0 0 I2 £ ¤
Aa = Ba = Ca = 02x2 Cpyu
Bpu Ap 04x2

6.3.1 Guadagno L2 nonlineare e risposta nel tempo


Sintesi di Λ

Il calcolo delle matrici del compensatore Λg è ottenuto semplicemente risolvendo il

problema di ottimizzazione dato dell’equazione (4.1.1):


 
−3826.09 2412.37
 14817.27 −16488.92 
 
 26.15 −72.96 
 
−55138.10 −106842.72
 
 −3.17 −16.86 
Λg = 
 −79.13

 −21.80  
 −3843.96 2403.27 
 
 14782.24 −16468.96 
 
 −5.37 3.96 
3.53 −5.71
Per quel che riguarda il calcolo dei compensatori Λα l’algoritmo è più 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 è 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):
9
Significa scegliere Nα − 1 valori di s logaritmicamente equispaziati su un intervallo Is , e per
ognuno associare il vincolo di prestazione garantita ∀w : kwk2 < s.
10
La necessità di introdurre questo punto è giustificata nel paragrafo 4.2.3.

81
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)

   
−86.22 15.01 −30.58 1.43
 133.87 −125.22  79.92 −17.22
   
 6.71 −1.39   4.83 0.19 
   
 105.43 19.37   18.72 1.04 
   
 −0.96 −0.13   0.02 0.04 
Λα1 =
 −4.96
 Λα2 = 
 −0.20 

 −1.44 −0.07 
 
−86.64 14.88  −30.71 1.42 
   
 133.42 −125.97  78.73 −17.39
   
 −0.12 0.23   0.75 0.02 
3.49 −0.07 −0.35 0.75

Guadagno L2 nonlineare

In figura 6.13 è 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 bontà dei compensatori anti-windup statici sintetizzati

è α: infatti, essendo variabile di minimizzazione, tanto più è piccola α, tanto più

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 (·) è il Lower bound.
12
Linea orizzontale tratteggiata, pari al guadagno L2 dei compensatori Λ, ottenuto per s = ∞.
13
Per prestazione garantita migliore si intende un guadagno L2 più piccolo.

82
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)

Guadagno L2 nonlineare su intervallo: [0 4] (valori s) e Nalfa = 20

1.5
10

1.4
10

1.3
10
Compensatore ottimo TC globale
Compensatore ottimo TC per alfa 1
Compensatore ottimo TC per alfa 2
Minimo guadagno L nonlineare TC
2

0 1 2 3 4
10 10 10 10 10

Figura 6.13: Sistema aereo F8 a tempo continuo. Diagramma del minimo guadagno
L2 nonlineare (celeste), del guadagno L2 nonlineare relativo a Λg (rosso), a Λα1 (verde)
e a Λα2 (blu): i due compensatori Λα hanno una prestazione garantita globale migliore
(più piccola) di Λg nella zona di interesse.
 
0.86873
0.94717
 
 1.0922 
 
 1.2827 
 
 1.4943 
 
 1.7271 
 
 2.0116 
 
 1.9822 
 
 1.6257 
 
 1.4701 
α1 = 0.4719 α2 = 
 1.4227 

 
 1.4052 
 
 1.3752 
 
 1.3414 
 
 1.316 
 
 1.293 
 
 1.2778 
 
 1.26 
 
 1.2489 
1.2355

83
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)

Risposta nel tempo

Il sistema di controllo non saturato è progettato per soddisfare certe specifiche richie-

ste, che verranno deteriorate dal windup. La simulazione del sistema non saturato su

5 sec. fornisce le traiettorie rappresentate in figura 6.14.


[TC] Traiettorie unconstrained del sistema
12

10

8
Output

2
y1 unconstrained
0 y2 unconstrained
−2
−1 0 1 2 3 4 5

80

60

40
Input

20

0
u1 unconstrained
−20
u2 unconstrained
−40
−1 0 1 2 3 4 5
Time (s)

Figura 6.14: Traiettorie non saturate del sistema aereo F8 a ciclo chiuso. Livelli di
saturazione sull’ingresso (puntinato) non attivi.

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 è riportato il confronto tra risposta in uscita per il sistema non

saturato e risposta in uscita per i sistemi anti-windup nelle diverse modalità: com-

84
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)

[TC] Traiettorie saturate VS unconstrained del sistema


15

10

Output
5

0 y1 constrained
y2 constrained
−5
−1 0 1 2 3 4 5

80

60

40
Input

20

0
u1 constrained
−20
u2 constrained
−40
−1 0 1 2 3 4 5
Time (s)

Figura 6.15: Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistema
aereo F8 a ciclo chiuso. Livelli di saturazione sull’ingresso (puntinato) attivi.

pensatore Λg , Λα1 , Λα2 , per una simulazione del sistema figura 6.1 di periodo T=5

sec.

I Il compensatore Λα2 produce la risposta in uscita che converge più 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 è 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) cioè

rappresenta una misura conservativa di prestazione, una sovrastima.

I Il compensatore Λα1 produce una risposta in uscita che converge velocemente,

seppur più lentamente di Λα2 .

I I compensatori Λα1 e Λα2 producono un overshoot più piccolo di Λg e conver-

gono alla risposta non saturato più velocemente di Λg pur garantendo la stessa

85
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)

prestazione globale di Λg .

I Il compensatore Λα2 produce una risposta in uscita che converge più veloce-

mente del non saturato.

In figura 6.17 è riportato il confronto tra segnale di controllo per il sistema non

saturato e segnale di controllo (saturato) per i sistemi anti-windup nelle diverse moda-

lità: compensatore Λg , Λα1 , Λα2 per una simulazione del sistema figura 6.1 di periodo

T=5 sec.

86
Confronto tra risposte in uscita [TC]
12

10

6
Cap. 6 Simulazioni

y globale
4 1
y1 α1
2
y1 α2
0 y unconstrained
1
−2
−1 0 1 2 3 4 5

12

10

6
y2 globale
4
y α
2 1
2
y α
2 2
0 y unconstrained
2
−2
−1 0 1 2 3 4 5

Figura 6.16: Risposte in uscita per il sistema non saturato (celeste) e per i sistemi di controllo anti-windup con compen-
satore Λg (rosso), Λα1 (verde), Λα2 (blu) del sistema aereo F8 a ciclo chiuso. Riferimento (puntinato). Λα1 e Λα2 sono
sintetizzati su Nα = 20 punti, Is = [100 ; 104 ].
§6.3 Esempio 2: sistema aereo F8 (TC)

87
Confronto tra segnali di controllo [TC]
30

20

10
Cap. 6 Simulazioni

0
u1 globale
−10
u1 α1
−20
u1 α2
−30 u1 unconstrained
−40
−1 0 1 2 3 4 5

80

60

40

20 u2 globale

0 u α
2 1
u2 α2
−20
u2 unconstrained
−40
−1 0 1 2 3 4 5

Figura 6.17: Segnali di controllo per il sistema non saturato (celeste) e per i sistemi di controllo anti-windup con com-
pensatore Λg (rosso), Λα1 (verde), Λα2 (blu) del sistema aereo F8 a ciclo chiuso. Livelli di saturazione (puntinato). Λα1 e
Λα2 sono sintetizzati su Nα = 20 punti, Is = [100 ; 104 ].
§6.3 Esempio 2: sistema aereo F8 (TC)

88
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)

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

[TC] Traiettorie AW globale VS unconstrained del sistema


12

10

8
Output

2 y1
AWg

0 y2
AWg
−2
−1 0 1 2 3 4 5

80

60

40
Input

20

0
u1
AWg
−20 u2
AWg
−40
−1 0 1 2 3 4 5
Time (s)

Figura 6.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 è stato sintetizzato risolvendo l’equazione (4.1.1) e garantisce stabilità
e 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 bontà dei compensatori anti-windup statici sintetizzati

è α: 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 è Λα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)

[TC] Traiettorie AW alfa VS unconstrained del sistema con N = 20


1 α
12

10

Output
6

2 y1
AW a1

0 y2
AW a1
−2
−1 0 1 2 3 4 5

80

60

40
Input

20

0
u1
AW a1
−20 u2
AW a1
−40
−1 0 1 2 3 4 5
Time (s)

Figura 6.19: Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non
saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-
windup Λα1 è stato sintetizzato risolvendo l’equazione (4.2.1) e garantisce stabilità e
prestazione globale, inoltre fornisce una dinamica migliore rispetto a Λg . Livelli di
saturazione sull’ingresso (puntinato) attivi.

il sistema di controllo anti-windup (figura 6.1), il valore dell’errore di inseguimento14

all’istante T = 5 secondi è:

Tipo di Sistema di controllo y˜1 (T ) y˜2 (T )


non saturato 0.13897 0.11792
Saturato 0.14034 0.17139
anti-windup Globale 0.61925 0.54214
anti-windup α1 0.37337 0.32777
anti-windup α2 0.1301 0.11329

Ciò mostra (y˜1 α2 = 0.1301 e y˜2 α2 = 0.11329) che per questo riferimento specifico

il compensatore che si comporta meglio è Λα2 .

14
L’errore di inseguimento viene indicato con ỹ(t) = y(t) − w(t).

90
Cap. 6 Simulazioni §6.3 Esempio 2: sistema aereo F8 (TC)

[TC] Traiettorie AW alfa2 VS unconstrained del sistema con Nα = 20


12

10

8
Output

2 y1
AW a2

0 y2
AW a2
−2
−1 0 1 2 3 4 5

80

60

40
Input

20

0
u1
AW a2
−20 u2
AW a2
−40
−1 0 1 2 3 4 5
Time (s)

Figura 6.20: Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e non
saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-
windup Λα2 è stato sintetizzato risolvendo l’equazione (4.2.4) e garantisce stabilità e
prestazione globale. Λα2 è, inoltre, nettamente il miglior compensatore per velocità
di convergenza e per errore di inseguimento dopo 5 sec. rispetto Λα1 e Λg . Livelli di
saturazione sull’ingresso (puntinato) attivi.

91
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)

6.4 Esempio 3: sistema aereo F8 (TD)

Si consideri la dinamica longitudinale del sistema aereo F8 descritta nel paragrafo 6.3

nella sua versione discretizzata da ZOH con T c = 0.01 sec. L’ingresso di controllo

all’aereo up ∈ R2 è vincolato ad appartenere all’intervallo di [−25, 25] gradi. L’ingresso

esogeno w ∈ R2 è il riferimento che per gli esempi che seguono è 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 è ottenuto semplicemente risolvendo il

problema di ottimizzazione dato dall’equazione (5.1.1):


 
−0.76192 0.12358
 2.7703 −0.92341 
 
 0.071102 −0.0019517
 
 −11.445 −7.1932 
 
−0.012692 0.0032274 

Λg =  
−0.018129 −0.001616 
 
 −0.76624 0.12278 
 
 2.7662 −0.92233 
 
 0.40489 0.10641 
1.7191 0.40486
Per quel che riguarda il calcolo dei compensatori Λα l’algoritmo è più 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

è 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):


15
Significa scegliere Nα − 1 valori di s logaritmicamente equispaziati su un intervallo Is , e per
ognuno associare il vincolo di prestazione garantita ∀w : kwk2 < s.
16
La necessità di introdurre questo punto è giustificata nel paragrafo 5.2.3.

92
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)

   
−0.52875 0.080337 −0.5247 0.076291
 1.0201 −0.59791   1.0009 −0.57733 
   
 0.071419 −0.0031798  0.077147 −0.0046825 
   
 0.97843 0.09477   1.0546 0.15103 
   
−0.0034853 0.0010226  −0.0070692 0.0015498 
Λα1 = 
 −0.022482 −0.0004093 Λα2 = 
 −0.023472 −0.00025436
   
 −0.53167 0.079687   −0.52815 0.075486 
   
 1.0379 −0.60284   1.015 −0.57996 
   
 0.24602 0.15471   0.12441 0.17578 
2.2459 0.24192 2.924 0.1218

Guadagno L2 nonlineare

In figura 6.21 è 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 bontà dei compensatori anti-windup statici sintetizzati

è α: infatti, essendo variabile di minimizzazione, tanto più è piccola α, tanto più

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 (·) è il Lower bound.
18
Linea orizzontale tratteggiata, pari al guadagno L2 dei compensatori Λ, ottenuto per s = ∞.

93
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)

Guadagno L2 nonlineare su intervallo: [1.5 3] (valori s) e Nalfa = 10


1.6
10
Compensatore ottimo TD globale
Compensatore ottimo TD per alfa 1
Compensatore ottimo TD per alfa 2
Minimo guadagno L2 nonlineare TD

1.5
10

1.4
10

1.3
10

1.2
10
2 3
10 10

Figura 6.21: Sistema aereo F8 a tempo discreto. Diagramma del minimo guadagno L2
nonlineare (celeste), del guadagno L2 nonlineare relativo a Λg (rosso), a Λα1 (verde)
e a Λα2 (blu): i due compensatori Λα hanno una prestazione garantita migliore (più
piccola) di Λg nell’intervallo di interesse.

 
0.0055855
 0.019374 
 
 0.10551 
 
 0.18183 
 
 0.27288 
α1 = 0.32433 α2 = 
 0.33518 

 
 0.20266 
 
 0.14857 
 
 0.14326 
0.29612

Risposta nel tempo

Il sistema di controllo non saturato è progettato per soddisfare certe specifiche richie-

ste, che verranno deteriorate dal windup. La simulazione del sistema non saturato

su 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)

[TD] Traiettorie unconstrained del sistema


12

10

Output
8

4
y1 unconstrained
2
y2 unconstrained
0
−1 0 1 2 3 4 5

80

60

40
Input

20

0
u1 unconstrained
−20
u2 unconstrained
−40
−1 0 1 2 3 4 5
Time (s)

Figura 6.22: Traiettorie non saturate del sistema aereo F8 a ciclo chiuso. Livelli di
saturazione sull’ingresso (puntinato) non attivi.

figura 6.23 produce overshoot inaccettabili, ovverosia una perdita di prestazione che

impedisce il soddisfacimento di tutte le specifiche richieste nel sistema di controllo

non saturato.
[TD] Traiettorie saturate VS unconstrained del sistema
14

12

10
Output

4
y1 constrained
2 y2 constrained
0
−1 0 1 2 3 4 5

80

60

40
Input

20

0
u constrained
1
−20
u2 constrained
−40
−1 0 1 2 3 4 5
Time (s)

Figura 6.23: Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistema
aereo F8 a ciclo chiuso. Livelli di saturazione sull’ingresso (puntinato) attivi.

95
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)

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 è riportato il confronto tra risposta in uscita per il sistema non

saturato e risposta in uscita per i sistemi anti-windup nelle diverse modalità: com-

pensatore Λg , Λα1 , Λα2 , per una simulazione del sistema figura 6.1 di periodo T=5

sec.

I Il compensatore Λα1 produce la risposta in uscita che converge più 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 più

lenta di Λα1 .

I I compensatori Λα1 e Λα2 producono un overshoot leggermente più picco-

lo di Λg e convergono alla risposta non saturato più velocemente garantendo

prestazione globale.

In figura 6.25 è riportato il confronto tra segnale di controllo per il sistema non satu-

rato e segnale di controllo (saturato) per i sistemi anti-windup nelle diverse modalità:

compensatore Λg , Λα1 , Λα2 per una simulazione del sistema figura 6.1 di periodo T=5

sec.

96
Confronto tra risposte in uscita [TD]
12

10

8
Cap. 6 Simulazioni

6 y globale
1
4 y1 α1
y1 α2
2
y unconstrained
1
0
−1 0 1 2 3 4 5

12

10

6 y2 globale

4 y α
2 1
y α
2 2
2
y unconstrained
2
0
−1 0 1 2 3 4 5

Figura 6.24: Risposte in uscita per il sistema non saturato (celeste) e per i sistemi di controllo anti-windup con compen-
satore Λg (rosso), Λα1 (verde), Λα2 (blu) del sistema aereo F8 a ciclo chiuso. Riferimento (puntinato). Λα1 e Λα2 sono
sintetizzati su Nα = 10 punti, Is = [101.5 ; 103 ].
§6.4 Esempio 3: sistema aereo F8 (TD)

97
Confronto tra segnali di controllo [TD]
30

20

10
Cap. 6 Simulazioni

0
u1 globale
−10
u1 α1
−20
u1 α2
−30 u1 unconstrained
−40
−1 0 1 2 3 4 5

80

60

40

20 u2 globale

0 u α
2 1
u2 α2
−20
u2 unconstrained
−40
−1 0 1 2 3 4 5

Figura 6.25: Segnale di controllo per il sistema non saturato (celeste) e per i sistemi di controllo anti-windup con com-
pensatore Λg (rosso), Λα1 (verde), Λα2 (blu) del sistema aereo F8 a ciclo chiuso. Riferimento (puntinato). Λα1 e Λα2 sono
sintetizzati su Nα = 10 punti, Is = [101.5 ; 103 ].
§6.4 Esempio 3: sistema aereo F8 (TD)

98
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)

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

[TD] Traiettorie AW globale VS unconstrained del sistema


12

10
Output

4
y1
AWg
2 y2
AWg
0
−1 0 1 2 3 4 5

80

60

40
Input

20

0
u1
AWg
−20 u2
AWg
−40
−1 0 1 2 3 4 5
Time (s)

Figura 6.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 è stato sintetizzato risolvendo l’equazione (5.1.1) e garantisce stabilità
e 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 bontà dei compensatori anti-windup statici sintetizzati

è α: 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 è

Λα1 . Ciò è 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)

[TD] Traiettorie AW alfa VS unconstrained del sistema con N = 10


1 α
12

10

Output
8

4
y1
AW a1
2 y2
AW a1
0
−1 0 1 2 3 4 5

80

60

40
Input

20

0
u1
AW a1
−20 u2
AW a1
−40
−1 0 1 2 3 4 5
Time (s)

Figura 6.27: Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non
saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-
windup Λα1 è stato sintetizzato risolvendo l’equazione (5.2.1) e garantisce stabilità
e prestazione globale. È il migliore tra i compensatori anti-windup sintetizzati sep-
pur mantenga un errore di inseguimento dopo 5 sec. non trascurabile. Livelli di
saturazione sull’ingresso (puntinato) attivi.

valore dell’errore di inseguimento, indicato ỹ(t) = y(t)−w(t), all’istante T = 5 secondi

è:

Tipo di Sistema di controllo y˜1 (T ) y˜2 (T )


non saturato 0.13874 0.11771
Saturato 0.14107 0.17396
anti-windup Globale 0.65542 0.57444
anti-windup α1 0.3209 0.28088
anti-windup α2 0.47753 0.42032

Ciò mostra (y˜1 α1 = 0.3209 e y˜2 α1 = 0.28088) che per questo riferimento specifico

il compensatore che si comporta meglio è Λα1 .

100
Cap. 6 Simulazioni §6.4 Esempio 3: sistema aereo F8 (TD)

[TD] Traiettorie AW alfa2 VS unconstrained del sistema con Nα = 10


12

10
Output

4
y1
AW a2
2 y2
AW a2
0
−1 0 1 2 3 4 5

80

60

40
Input

20

0
u1
AW a2
−20 u2
AW a2
−40
−1 0 1 2 3 4 5
Time (s)

Figura 6.28: Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e non
saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-
windup Λα2 è stato sintetizzato risolvendo l’equazione (5.2.4) e garantisce stabilità e
prestazione globale. Livelli di saturazione sull’ingresso (puntinato) attivi.

101
Capitolo 7

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 già 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 è 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 validità 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 = M T ∈ Rn×n è definita

positiva, indicata con M > 0, se ∀x ∈ Rn , x 6= 0 vale xT M x > 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 ky(·)k2 di y(t), detta norma

L2 di y(t), è data da: sZ



ky(·)k2 = y(t)T y(t)dt. (A.2.1)
0

quandunque l’integrale converga (cioè ky(·)k2 < ∞).

Affiché ky(·)k2 < ∞, è 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 ky(·)k2

più piccola) corrisponde una maggiore la velocità di convergenza del segnale a zero.
1
Questo è vero sotto alcune lievi ipotesi di regolarità su y(·).

104
Cap. A Strumenti Matematici §A.3 Guadagno L2 ingresso/uscita

Si definisce Spazio L2 lo spazio di tutti i segnali y(t) con norma L2 finita, ovvero

ad energia finita.
sZ

y(t) ∈ L2 ⇔ ky(·)k2 = y(t)T y(t)dt < ∞
0

A.3 Guadagno L2 ingresso/uscita

Sia P un sistema lineare stabile asintoticamente:


½
ẋ = Ax + Bw
P : (A.3.1)
z = Cx + Dw
Se l’ingresso w(·) è 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, poiché è limitato, considerare il rapporto:


qR

0
z(t)T z(t)dt kz(·)k2
qR = (A.3.2)

w(t)T w(t)dt kw(·)k2
0

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 più brevemente kP k2 , ed è dato da:

kP k2 , sup kz(·)k2 < γ (A.3.3)


kw(·)k2 =1

Il guadagno L2 ingresso/uscita è un indice di prestazione del sistema P poiché 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:

kz(·)k2 ≤ γkw(·)k2 (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 kW k∞ = kP k2 (Dimostrazione in [6]).

Lo stesso risultato, cioè che per un sistema lineare la norma2 H∞ di W coincide

col guadagno L2 di P è dimostrato anche dal Bounded Real Lemma (teorema 2.4.1).

A.4 Ottimizzazione Convessa

Un insieme Ω è detto insieme convesso, se ∀x, y ∈ Ω, t ∈ [0, 1] l’elemento:

v = tx + (1 − t) y ∈ Ω

Un funzione f è detta funzione convessa se è 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 ∈ C 1 allora:

f (y) ≥ f (x) + ∇f (x)(y − x), ∀x, y ∈ Ω

I Se f ∈ C 2 allora:

∇2 f (x) ≥ 0, ∀x ∈ Ω̊

Teorema A.4.1. Se f è convessa su un insieme Ω convesso, allora un minimo locale

è anche un minimo globale.


2
La norma H∞ di una matrice di trasferimento corrisponde al picco del diagramma dei moduli
di Bode.

106
Cap. A Strumenti Matematici §A.5 LMI

Figura A.1: Grafico di una funzione convessa.

Teorema A.4.2. Se f è convessa su un insieme Ω convesso e f ∈ C 1 , se x∗ è tale

che:

∀y ∈ Ω, ∇f (x∗ )(y − x∗ ) ≥ 0

allora x∗ è 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 varietà di specifiche e vincoli che possono essere descritti tramite LMI.

2. Una volta espresso in termini di LMI, un problema può 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 è un espressione del tipo:

F (x) , F0 + x1 F1 + ... + xm Fm < 0

dove:

1. x = (x1 , ..., xm ) è un vettore di n elementi, reali, chiamati variabili decisionali.

2. F0 , ..., Fm sono matrici simmetriche reali, ovvero del tipo Fi = FiT ∈ Rn×n .

3. La disuguaglianza < 0 significa (matrice) definita negativa.

Definizione A.5.1. Una LMI è una disuguaglianza matriciale

F (x) < 0

dove F è 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 = M T ∈ Rn×n

Tramite un semplice cambiamento di base (da V a Sm ) è 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.


à m ! m m
X X X
F (X) = F xj Ej = F0 + xj F (Ej ) = F0 + xj F j
j=1 j=1 j=1

108
Cap. A Strumenti Matematici §A.5 LMI

Osservazione A.5.1. Convessità. Una LMI definisce un vincolo convesso su x, cioè

l’insieme Ω , {x|F (x) < 0} delle soluzioni di F (x) < 0 è 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

Poiché 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 = inf f (x)


x∈S

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 capacità di esprimere diversi tipi di insiemi

convessi con proprietà più attraenti rispetto a quelle degli insieme convessi generici.

Un sistema di LMI è un insieme finito di LMI:




 F1 (x) < 0

 F2 (x) < 0
.. (A.5.1)

 .

 F (x) < 0
n

Qualsiasi sistema di LMI può essere espresso come una singola LMI, infatti l’e-

quazione (A.5.1 ammette le stesse soluzioni della LMI


 
F1 (x) 0 0 0
 0 F2 (x) 0 0 
 
F (x) =  . .. <0 (A.5.2)
 0 0 0 
0 0 0 Fn (x)

con F (x) simmetrica per ogni x, e dato che l’insieme degli autovalori di F (x) è dato

dall’unione degli autovalori di F1 (x), F2 (x), ..., Fn (x), tutti i valori di x che soddisfano

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]) è forse lo

strumento più 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)
>0 (A.5.3)
S T (x) R(x)

Dove Q = QT , R = RT ed S sono affini ad x. Allora l’equazione (A.5.3) vale se e solo

se:
½
R(x) > 0
(A.5.4)
Q(x) − S(x)R−1 (x)S T (x) > 0

Il sistema di disequazioni definito dall’equazione (A.5.4) è nonlineare: ripercorrendo lo

stesso procedimento a ritroso è possibile descrivere sistemi di disequazioni nonlineari

in termini di LMI, cioè passare da forme del tipo definito dall’equazione (A.5.4) a

forme del tipo definito dall’equazione (A.5.3).

Informazioni più dettagliate sulle LMI si trovano in particolar modo in [1], [2] e

[11].

A.6 Vincolo di Lipschitz

Il vincolo di Lipschitz è 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 è definito in [9] come LMI:

He [(1 − ν)U − Dyq U − Dyl X] > 0 (A.6.1)

ν ∈ [0; 1)
3
Il vincolo di Lipschitz va aggiunto rispettivamente per i tre algoritmi di sintesi nell’equa-
zione (4.1.1), nell’equazione (4.2.1) e nell’equazione (4.2.4) per la sintesi a tempo continuo e
nell’equazione (5.1.1), nell’equazione (5.2.1) e nell’equazione (5.2.4) per la sintesi a tempo discreto.

111
Cap. A Strumenti Matematici §A.6 Vincolo di Lipschitz

Se ν = 0 allora l’equazione (A.6.1) diventa superflua.

Se 0 < ν < 1 allora l’equazione (A.6.1) diventa quanto più vincolante tanto più ν→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 è prettamente delegata

a Simulink mentre la parte di sintesi è 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, è 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 Generalità

YALMIP è 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, è lo sviluppo rapido di

codice: il linguaggio che usa Yalmip è congruente con la sintassi standard di Mat-

lab che quindi ne caratterizza la semplicità di utilizzo per chiunque abbia familiarità

con Matlab.

Altra caratteristica fondamentale di Yalmip è 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 più 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 è 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 è stata utilizzata la versione R20080415 di YALMIP. Si noti

che esso è interamente basato su m-codice, ed è 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:


1
Requisiti minimi Windows Xp, MATLAB 7.3 (2006b).
2
Per 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 è 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) > shif tI. Si noti

che porre shift a 1, non garantisce l’ammissibilità della soluzione.

I verbose: impostabile a 0, 1 o 2, definisce il livello di profondità 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 è possibile inserire uno qualsiasi dei solver installati.

Per lasciare libera la scelta a Yalmip del solver da utilizzare è sufficiente porre

il tag del solver pari a ’’.

sdpvar è 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 è 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 è usato per verificare l’ammissibilità dei vincoli. Condizione di controllo

di ammissibilità. Se un problema diventa numericamente problematico allora prim

diventa negativo e molto piccolo; se invece perde di ammissibilità allora prim diventa

fortemente negativo

[prim,dual] = checkset(Constraints);

117
Cap. B Tools per LMI in ambiente Matlab §B.2 Se.Du.Mi.

if min(prim)<-1 gamma_2=Inf; end

double è 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, è 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 Generalità

SeDuMi implementa la tecnica self-dual per l’ottimizzazione su coni omogenei self-

dual, o più in generale su coni simmetrici.

Punti di forza di SeDuMi sono principalmente la portabilità su diversi sistemi

e, non meno importante, l’efficienza dell’algoritmo, in termini di robustezza e

rapidità di convergenza. Quest’ultima ben visibile in presenza matrici sparse.

B.2.2 Guida all’installazione

Per questo lavoro di tesi è stato utilizzato SeDuMi 1.1, la cui installazione in ambiente

Windows è semplice: è sufficiente estrarre il contenuto del file SeDuMi 1 1R3.zip in


3

La GNU General Public License è una licenza per software libero. È comunemente
indicata con l’acronimo GNU GPL o semplicemente GPL.[. . .]Contrapponendosi alle
licenze per software proprietario, la GNU GPL assicura all’utente libertà di utilizzo,
copia, modifica e distribuzione. (http://it.wikipedia.org/wiki/GNU GPL)
Una copia di GNU GPL è consultabile al sito:
http://sedumi.ie.lehigh.edu/component/option,com docman/task,doc download/gid,25/Itemid,76/

118
Cap. B Tools per LMI in ambiente Matlab §B.2 Se.Du.Mi.

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 è utilizzato come solver da Yalmip, al quale si interfaccia autonomamente, e

provvede unicamente calcolare il minimo della funzione obiettivo data.

4
Per 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 Proprietà di settore globale, sector[0, K]; per nonlinearità tipo satura-

zione e deadzone la proprietà di settore globale vale con K= 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 più grande) di Λg nella zona di

interesse. Nello specifico Λα2 (blu) ha guadagno L2 praticamente iden-

tico al Λg (rosso); Λα1 (verde) è leggermente più 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 è stato sintetizzato risol-

vendo l’equazione (4.1.1) e garantisce stabilità 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 è stato sintetizzato risolvendo l’equa-

zione (4.2.1) e garantisce stabilità e prestazione globale. Λα1 è legger-

mente più 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 è stato sintetizzato risolvendo l’e-

quazione (4.2.4) e garantisce stabilità 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 (più 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 è stato sintetizzato risolvendo l’e-

quazione (4.1.1) e garantisce stabilità 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 è stato sintetizzato risolvendo l’equazione

(4.2.1) e garantisce stabilità e prestazione globale, inoltre fornisce una

dinamica migliore rispetto a Λg . Livelli di saturazione sull’ingresso

(puntinato) attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 è stato sintetizzato risolvendo l’equazione

(4.2.4) e garantisce stabilità e prestazione globale. Λα2 è, inoltre, netta-

mente il miglior compensatore per velocità di convergenza e per errore

di inseguimento dopo 5 sec. rispetto Λα1 e Λg . Livelli di saturazione

sull’ingresso (puntinato) attivi. . . . . . . . . . . . . . . . . . . . . . 91

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 (più 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 è stato sintetizzato risolvendo l’e-

quazione (5.1.1) e garantisce stabilità 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 è stato sintetizzato risolvendo l’equazio-

ne (5.2.1) e garantisce stabilità e prestazione globale. È 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 è stato sintetizzato risolvendo l’equazione

(5.2.4) e garantisce stabilità 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. Löfberg, “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

Potrebbero piacerti anche