Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

134
UNIVERSIT ` A DEGLI STUDI DI ROMA TOR VERGATA FACOLT ` A 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

description

Il mio lavoro di tesi specialistica in ingegneria dell'automazione, presso l università tor vergata di Roma, sotto la supervisione del prof. Luca Zaccarian. Titolo: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Transcript of Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Page 1: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

UNIVERSITA DEGLI STUDI DI ROMA

TOR VERGATA

FACOLTA DI INGEGNERIA

CORSO DI LAUREA IN INGEGNERIA

DELL’AUTOMAZIONE

A.A. 2007/2008

Tesi di Laurea Specialistica

SINTESI DI ANTIWINDUP STATICO

CON PRESTAZIONE NONLINEARE OTTIMIZZATA

RELATORE CANDIDATO

Prof. Luca Zaccarian Roberto de Simone0085690

CORRELATORI

Prof. Sergio Galeani

Page 2: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Dedico questo lavoro alla mia famiglia e ai miei amici

Page 3: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Indice

Ringraziamenti 1

Introduzione 2

1 Definizione del problema 6

1.1 Le funzioni di saturazione e di deadzone . . . . . . . . . . . . . . . . 6

1.2 Stabilizzazione con saturazione . . . . . . . . . . . . . . . . . . . . . 8

1.2.1 Il windup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3 Obiettivi della compensazione anti-windup . . . . . . . . . . . . . . . 11

1.4 Ciclo chiuso con anti-windup . . . . . . . . . . . . . . . . . . . . . . . 12

1.4.1 Ciclo aperto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.4.2 Ciclo chiuso non saturato . . . . . . . . . . . . . . . . . . . . 12

1.4.3 Ciclo chiuso saturato . . . . . . . . . . . . . . . . . . . . . . . 14

1.4.4 Ciclo chiuso anti-windup . . . . . . . . . . . . . . . . . . . . . 14

2 Analisi e sintesi a tempo continuo 19

2.1 Disequazioni di Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2 Funzioni di Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.3 Proprieta di settore . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.3.1 Proprieta di settore generalizzata . . . . . . . . . . . . . . . . 27

INDICE I

Page 4: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

INDICE

2.4 Stabilita e prestazione . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.4.1 Implicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.5 Sintesi di anti-windup statico . . . . . . . . . . . . . . . . . . . . . . 33

2.6 Minimo guadagno L2 nonlineare . . . . . . . . . . . . . . . . . . . . . 39

3 Analisi e sintesi a tempo discreto 42

3.1 Disequazioni di Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2 Stabilita e prestazione . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.2.1 Implicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.3 Sintesi di anti-windup statico . . . . . . . . . . . . . . . . . . . . . . 46

3.4 Minimo guadagno L2 nonlineare . . . . . . . . . . . . . . . . . . . . . 52

4 Sintesi di anti-windup statico a tempo continuo 53

4.1 Compensatori Λg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.2 Compensatori Λα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.2.1 Sintesi di anti-windup con algoritmo α1 . . . . . . . . . . . . . 55

4.2.2 Sintesi di anti-windup con algoritmo α2 . . . . . . . . . . . . . 56

4.2.3 Osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5 Sintesi di anti-windup statico a tempo discreto 60

5.1 Compensatori Λg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.2 Compensatori Λα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5.2.1 Sintesi di anti-windup con algoritmo α1 . . . . . . . . . . . . . 62

5.2.2 Sintesi di anti-windup con algoritmo α2 . . . . . . . . . . . . . 63

5.2.3 Osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

INDICE II

Page 5: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

INDICE

6 Simulazioni 66

6.1 Simulazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.2 Esempio 1: sistema massa molla smorzatore (TC) . . . . . . . . . . . 69

6.2.1 Guadagno L2 nonlineare e risposta nel tempo . . . . . . . . . 71

6.3 Esempio 2: sistema aereo F8 (TC) . . . . . . . . . . . . . . . . . . . 80

6.3.1 Guadagno L2 nonlineare e risposta nel tempo . . . . . . . . . 81

6.4 Esempio 3: sistema aereo F8 (TD) . . . . . . . . . . . . . . . . . . . 92

6.4.1 Guadagno L2 nonlineare e risposta nel tempo . . . . . . . . . 92

7 Conclusioni e sviluppi futuri 102

A Strumenti Matematici 104

A.1 Nomenclatura generale . . . . . . . . . . . . . . . . . . . . . . . . . . 104

A.2 Norma L2 e Spazio L2 . . . . . . . . . . . . . . . . . . . . . . . . . . 104

A.3 Guadagno L2 ingresso/uscita . . . . . . . . . . . . . . . . . . . . . . . 105

A.4 Ottimizzazione Convessa . . . . . . . . . . . . . . . . . . . . . . . . . 106

A.5 LMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

A.5.1 Schur Complement . . . . . . . . . . . . . . . . . . . . . . . . 110

A.6 Vincolo di Lipschitz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

B Tools per LMI in ambiente Matlab 113

B.1 Yalmip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

B.1.1 Generalita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

B.1.2 Guida all’installazione . . . . . . . . . . . . . . . . . . . . . . 114

B.1.3 Comandi principali . . . . . . . . . . . . . . . . . . . . . . . . 115

B.2 Se.Du.Mi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

INDICE III

Page 6: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

INDICE

B.2.1 Generalita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

B.2.2 Guida all’installazione . . . . . . . . . . . . . . . . . . . . . . 118

B.2.3 Comandi principali . . . . . . . . . . . . . . . . . . . . . . . . 119

Elenco delle figure 120

Bibliografia 126

INDICE IV

Page 7: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Ringraziamenti

Ringrazio tutti.

Introduzione 1

Page 8: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Introduzione

Nel problema di sintesi di controlli automatici per sistemi dinamici lineari si e soliti

trascurare gli effetti nonlineari degli attuatori che inducono prestazioni non sempre

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

no rendere il sistema instabile: tale fenomeno e detto windup. Cio accade perche ogni

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

processo sono sempre soggetti a limitazioni. Il windup e stato affrontato a cominciare

dagli anni ’50 con la costruzione dei cosiddetti compensatori anti-windup, dispositivi

che introducono un’azione di controllo solo quando il sistema entra in saturazione,

prevenendo l’instabilita e attenuando la perdita di prestazione. La compensazione

anti-windup rappresenta un allargamento dello schema di controllo1 in grado di re-

cuperare parte del comportamento nominale in presenza di saturazione degli ingressi

del processo. La struttura di controllo anti-windup utilizzata in questa tesi e sta-

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

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

all’impianto, che agisce direttamente sul controllore preesistente.

E interessante caratterizzare le proprieta desiderate per il compensatore anti-

windup che si vuole sintetizzare:

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

1Performante per l’impianto non saturato.

Introduzione 2

Page 9: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Introduzione

danza dovuta alla saturazione ed ingresso al controllore. Siffatto compensatore

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

esso sia gia operativo.

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

lita e guadagno L2 ingresso/uscita limitato per ogni segnale di ingresso.

In questa tesi viene sviluppata, con una formulazione basata su disuguaglianze

matriciali lineari (LMI) che estende i concetti di guadagno L2 nonlineare e di sintesi

di anti-windup con prestazione garantita proposti in [4] e [5], la classe dei compen-

satori anti-windup statici con prestazione nonlineare garantita per sistemi

di controllo a tempo continuo e a tempo discreto asintoticamente stabili, soggetti

a saturazione d’ampiezza dell’ingresso di controllo. Una formulazione basata su

LMI e di semplice costruzione e appartiene alla classe dei problemi numericamente

trattabili; nello specifico ammissibilita e ottimizzazione su LMI sono problemi con-

vessi, e, conseguentemente, la ricerca di un compensatore che soddisfi le prestazioni

nonlineari richieste si traduce in un problema di minimizzazione su insieme convesso.

La potenza degli algoritmi di risoluzione su LMI2 e, infine, la caratteristica vincente

rispetto ad un approccio classico di ottimizzazione convessa di equazioni matriciali

generiche.

In particolare i compensatori statici anti-windup con prestazione globale3 Λα, og-

getto e novita introdotta da questo lavoro di tesi, garantiscono guadagno L2 ingres-

so/uscita:

I Limitato per ogni riferimento (o disturbo) w.

2Interior-point methods, fine anni ’80.3Buona connessione, stabilita e guadagno L2 del sistema di controllo anti-windup a ciclo chiuso

finito.

Introduzione 3

Page 10: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Introduzione

I Migliore rispetto al guadagno L2 del compensatore globale Λg ([4] e [5]) in quanto

sintetizzato con una politica che minimizza la distanza tra minimo guadagno

L2 nonlineare e guadagno L2 nonlineare che compete al sistema di controllo

anti-windup con compensatore Λα.

La tesi e strutturata come segue:

I Nel Capitolo 1 viene presentato il problema del windup inquadrandolo all’interno

della teoria dei sistemi lineari.

I Nei Capitoli 2 e 3 vengono discussi e dimostrati, rispettivamente per sistemi di-

namici lineari a tempo continuo e a tempo discreto ad ingressi saturati, il teore-

ma Guadagno L2 nonlineare [4] e il teorema Guadagno L2 nonlineare per la sin-

tesi di anti-windup statico [5] che generalizza il precedente teorema introducendo

la sintesi del compensatore anti-windup statico Λg globale.

I Nei Capitoli 4 e 5 vengono, rispettivamente, presentate le versioni a tempo con-

tinuo e a tempo discreto dei due nuovi algoritmi, detti algoritmi α, per la sintesi

di anti-windup statico, Λα1 e Λα2 , con prestazione nonlineare piu performan-

te rispetto all’anti-windup statico con prestazione globale Λg ottenuto con il

teorema Guadagno L2 nonlineare per la sintesi di anti-windup statico.

I Nel Capitolo 6 vengono esposti i risultati delle simulazioni degli algoritmi α su 3

esempi di sistemi soggetti a saturazione (sistema massa molla smorzatore (TC),

sistema aereo F8 (TC) e sistema aereo F8 (TD)) mostrando come l’introdu-

zione del compensatore anti-windup recuperi la prestazione persa dal windup

garantendo proprieta globali, e che i compensatori Λα hanno prestazioni migliori

rispetto al compensatore Λg. Il software per le simulazioni e stato sviluppato

Introduzione 4

Page 11: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Page 12: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Capitolo 1

Definizione del problema

In questo capitolo viene presentato il problema del windup inqua-drandolo all’interno della teoria dei sistemi. Nei paragrafi 1.1 e 1.2vengono focalizzate le cause e gli effetti del windup e nel paragrafo1.3 le modalita di compensazione e gli obiettivi della compensazioneanti-windup. Infine, nel paragrafo 1.4 vengono presentati i siste-mi di controllo cui si fara riferimento nel prosieguo del lavoro ditesi: ciclo aperto, ciclo chiuso non saturato, ciclo chiuso satura-to e ciclo chiuso anti-windup. Per quest’ultimo, descritto in mododettagliato nel paragrafo 1.4.4, sono state esplicitate le matrici di si-stema a ciclo chiuso, necessarie, poi, per la sintesi di compensatorianti-windup nei capitoli 2, 3, 4 e 5.

1.1 Le funzioni di saturazione e di deadzone

La saturazione e una funzione nonlineare (figura 1.1) che descrive una delle piu comuni

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

limitatezza delle grandezze applicabili in ingresso, ovvero l’impossibilita di avere un

incremento dell’effetto risultante a seguito di un incremento sufficientemente grande

di una grandezza forzante causale.

La funzione di saturazione descritta nell’equazione (1.1.1) e implementata dal bloc-

co saturatore di figura 1.1a. Esso ammette anche ingressi vettoriali e in tal caso il

blocco si comporta come parallelo (disaccoppiato) di saturatori scalari del tipo definito

6

Page 13: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 1 Definizione del problema §1.1 Le funzioni di saturazione e di deadzone

da equazione (1.1.1):

satu(u) ,

−u ∀u : u ≤ −u

u ∀u : −u < u < uu ∀u : u ≥ u

(1.1.1)

Occorre notare che la saturazione impone un range stretto di valori che il controllo

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

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

limiti.

(a) Saturatore: blocco che implementa la saturazione.

(b) Segnale non saturato u, ingresso delsaturatore.

(c) Segnale saturato sat(u), uscita delsaturatore.

Figura 1.1: Funzione di Saturazione.

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

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

generico segnale u (figura 1.1b) in ingresso al blocco saturatore (figura 1.1a) e la

corrispondente uscita sat(u) (figura 1.1c).

La funzione di deadzone e definita dall’equazione (1.1.2):

dz(u) , u− sat(u) (1.1.2)

7

Page 14: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 1 Definizione del problema §1.2 Stabilizzazione con saturazione

1.2 Stabilizzazione con saturazione

Sia dato un sistema lineare ad ingressi saturati nella forma:

x = Ax + Bsat(u) (1.2.1)

Dove u e una certa funzione di controllo in retroazione dallo stato. E lecito chiedersi

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

quali proprieta goda (regione attrattiva, velocita di convergenza. . . ):

I Se A e Hurwitz, cioe se tutti gli autovalori di A sono a parte reale nega-

tiva, il controllo u = 0 stabilizza globalmente il sistema dinamico descritto

dall’equazione (1.2.1).

Esempio:

x = −x + sat(u), se u = 0 ⇒ x = −x

I Se A e instabile esponenzialmente, cioe se esiste almeno un autovalore di

A a parte reale positiva, allora esistono delle condizioni iniziali x(0) abbastanza

grandi tale che il sistema dinamico descritto dall’equazione (1.2.1) diverge ∀u.

Esempio:

x = x + sat(u), se x(0) > u ⇒ x > 0,∀u

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

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

autospazi esponenzialmente instabili.

1La RAS, acronimo di Stabilita Asintotica Regionale, e la proprieta per cui un certo sistemadinamico nonlineare converge a 0 solo per alcune condizioni iniziali.

2La RES, acronimo di Stabilita Esponenziale Regionale, e la proprieta per cui un certo siste-ma dinamico nonlineare converge a 0 esponenzialmente solo per alcune condizioni iniziali. Vale laproprieta generale RES ⊆ RAS.

8

Page 15: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 1 Definizione del problema §1.2 Stabilizzazione con saturazione

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

descritto dall’equazione (1.2.1) e ANCBI3, allora ∃u(·) che stabilizza globalmen-

te asintoticamente ma non esponenzialmente4(a causa della saturazione).

In altre parole:

@K, λ : ∀x0 |x(t)| ≤ K|x0|e−λt ∀t (1.2.2)

Nel prosieguo si fara riferimento soltanto a processi asintoticamente stabili, in tal

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

saturato. Cio non toglie la validita generale, anche per sistemi non asintoticamente

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

richiedere garantite proprieta globali, ma solo locali.

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

si trovi in zona nonlineare:

I E sempre garantita la stabilita del sistema di controllo progettato ipotizzando

l’assenza della saturazione?

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

zando l’assenza della saturazione?

I E sempre possibile imporre nuove specifiche di prestazione?

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

windup.

3La ANCBI, acronimo di Asymptotically Null-Controllable with Bounded-Inputs, e la proprietaper cui un sistema dinamico nonlineare risulta globalmente (per ogni x0) e asintoticamente stabilecon ingressi saturati.

4Per i sistemi LTI vale sempre GAS⇒GES, per i sistemi nonlineari cio potrebbe non accadere; inquesto caso specifico e possibile dimostrare che il sistema ANCBI e GAS ma soltanto RES. Infatti,poiche la GES e una proprieta robusta allora garantisce GES anche per x = (A + εI) x + sat(u), ilche e impossibile se A e ANCBI perche il sistema diverrebbe instabile e, come mostrato nel puntoA esponenzialmente instabile, sarebbe possibile garantire solo RAS.

9

Page 16: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 1 Definizione del problema §1.2 Stabilizzazione con saturazione

1.2.1 Il windup

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

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

risposte in uscita che convergono lentamente, instabilita ed in generale degradamento

delle prestazioni del sistema di controllo.

Il nome windup trae origine dal comportamento delle variabili di stato che salgono

in alto verso valori troppo elevati causando la perdita di prestazione del sistema

di controllo. L’effetto della saturazione degli attuatori, presente in tutti i sistemi,

e evidente quando il controllore non e asintoticamente stabile cioe ogni volta che

contenga un’azione integrale5. Quando il ciclo di feedback e rotto, cioe quando entra

in gioco la saturazione, il tipo di controllo diventa un feed forward (u = u) e i modi non

asintoticamente stabili del regolatore possono portare le variabili interne del sistema

a valori indesiderati, conseguentemente il sistema di controllo puo impiegare molto

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

5Si supponga di applicare un gradino (positivo) come riferimento ad un sistema GAS: si ottieneall’istante iniziale un errore di riferimento e(t) non nullo. Se il controllore e dotato di azione integra-tiva allora l’integrale

∫e(t)dt dell’errore crescera, andando a pilotare l’uscita del sistema che crescera

conseguentemente, finche l’errore e(t) non sara nullo, cioe finche uscita e riferimento non si eguaglie-ranno. Se l’integrale dell’errore entra in saturazione allora il segnale di controllo u(t) = sat

(∫e(t)dt

)rimarra costante (u(t) = u, azione di tipo feed forward) non solo finche l’errore di riferimento nonsi annullera, ma anche finche l’integrale dell’errore non si sara scaricato. In altre parole affincheil segnale di controllo torni in zona lineare (

∫e(t)dt < u) e necessario che l’uscita cresca sufficien-

temente (cioe che raggiunga il riferimento e si allontani nella direzione opposta) da far diventaresufficientemente negativo l’errore e(t), in tal modo l’integrale dell’errore diminuira e quando sarainferiore alla soglia di saturazione il feedback sara ristabilito. Nel momento in cui il sistema torna inzona lineare, l’uscita e nuovamente distante dal riferimento a causa della sovraelongazione provocatadalla saturazione, questo errore non nullo (questa volta negativo) pilotera il processo che oscillando siavvicinera al valore di riferimento lentamente se la sovraelongazione e sufficiente piccola, altrimentidivergera.

10

Page 17: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 1 Definizione del problema §1.3 Obiettivi della compensazione anti-windup

1.3 Obiettivi della compensazione anti-windup

Come visto nel paragrafo 1.2 per sistemi ad ingressi saturati accade che per piccoli

segnali d’ingresso il sistema risulti lineare mentre per grandi segnali il sistema si

comporti in modo nonlineare (saturato) con conseguente deterioramento delle presta-

zioni (dovuto al windup) via via che il controllo cresce. A causa di questa nonlinearita

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

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

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

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

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

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

di ingresso.

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

scalare il segnale di controllo, garantendo che al valore massimo in uscita al controllore,

corrisponda il valore massimo di attuazione. Questo approccio limita fortemente le

performance raggiungibili.

Compensatore anti-windup. Un modo alternativo per risolvere il problema

e sfruttare lo scarto tra uscita del controllore e ingresso (saturato) al processo come

informazione aggiuntiva alla misura delle uscite del processo per pilotare il controllore,

tramite un opportuno compensatore anti-windup (vedasi paragrafo 1.4.4), che entra

in funzione solo in zona nonlineare e ha lo scopo di mantenere la prestazione del

sistema saturato quanto piu vicina a quella del sistema nominale quando esce dalla

zona lineare.

In generale, il problema anti-windup si riassume nell’obiettivo di sintetizzare un

11

Page 18: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

controllore (lineare o nonlineare) che per piccoli segnali si comporti esattamente come

un controllore prefissato, sintetizzato ignorando la saturazione in ingresso (vincolo di

piccoli segnali) e per grandi segnali garantisca stabilita e prestazioni accettabili. Il

lavoro di questa tesi si focalizza su compensatori lineari anti-windup statici, ovvero

guadagni statici denominati Λ.

1.4 Ciclo chiuso con anti-windup: modello con dead-

zone

1.4.1 Ciclo aperto

Si consideri l’impianto P asintoticamente stabile dato da:

P :

xp = Apxp + Bpuu + Bpwwy = Cpyxp + Dpyuu + Dpywwz = Cpzxp + Dpzuu + Dpzww

(1.4.1)

Dove xp ∈ Rnp e lo stato dell’impianto, u ∈ Rnu e l’ingresso di controllo, w ∈Rnw e l’ingresso esogeno (disturbi o riferimenti), y ∈ Rny e l’uscita misurabile del-

l’impianto, z ∈ Rnz e l’uscita di prestazione (in genere l’errore di inseguimento) e

Ap, Bpu, Bpw, Cpy, Dpyu, Dpyw, Cpz, Dpzu, Dpzw sono matrici di dimensioni appropriate

che caratterizzano l’impianto. L’impianto in cui u = 0 viene chiamato impianto a

ciclo aperto.

1.4.2 Ciclo chiuso non saturato

Si consideri il controllore non saturato6, di seguito chiamato semplicemente control-

lore, cosı definito:

C :

xc = Acxc + Bcyy + Bcww + v1

yc = Ccxc + Dcyy + Dcww + v2(1.4.2)

6Il controllore non saturato e quel controllore (eventualmente ottimo) sintetizzato per ottenerecerte prestazioni dall’impianto a ciclo chiuso non soggetto a saturazioni.

12

Page 19: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Dove xc ∈ Rnc e lo stato del controllore, yc ∈ Rnu e l’uscita del controllore7, v1 e

v2 sono ingressi addizionali momentaneamente disconnessi (che saranno poi coman-

dati, come descritto nel paragrafo 1.4.4, dal compensatore anti-windup nel sistema

aumentato per attenuare gli effetti del windup) e Ac, Bcy, Bcw, Cc, Dcy sono matrici di

dimensioni appropriate che caratterizzano il controllore non saturato.

Tale controllore e progettato in modo tale che l’interconnessione con l’impianto at-

traverso le equazioni (1.4.3) garantisca la buona connessione e la stabilita asintotica

interna del sistema a ciclo chiuso non saturato W (equazione (1.4.4), figura 1.2):

u = yc v1 = 0 v2 = 0 (1.4.3)

W :

x = ACLx + BCLwz = CCLx + DCLw

(1.4.4)

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

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

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

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

ed e globalmente asintoticamente stabile.

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

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

lo stato aggregato.

13

Page 20: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

1.4.3 Ciclo chiuso saturato

Si consideri il caso in cui gli attuatori presentino una saturazione9 del controllo allora

l’interconnessione del processo (equazione (1.4.1)) e del controllore (equazione (1.4.2))

attraverso equazione (1.4.5) da’ luogo ad un sistema di controllo saturato H

(equazione (1.4.6), figura 1.3) che puo essere soggetto al windup10.

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

H :

x = Ax + Bqq + Bwwz = Czx + Dzqq + Dzwwyc = Cyx + Dyqq + Dyww

(1.4.6)

Quindi e possibile che sia persa la buona connessione e la stabilita. Inoltre, e probabile

che sia persa la prestazione non saturato.

(a) Sistema di controllo a ciclo chiuso con saturazione degliingressi controllanti.

(b) Schema equivalente H:modello con deadzone.

Figura 1.3: Ciclo chiuso saturato.

1.4.4 Ciclo chiuso anti-windup

Si dimostra (si rimanda a [5] e ai paragrafi 2.5 e 3.3 per i dettagli) che per i sistemi

asintoticamente stabili soggetti a nonlinearita tipo deadzone e saturazione e possibile

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

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

9La nonlinearita saturazione e definita nel paragrafo 1.1.10Il windup, e i suoi effetti, sono definiti nel paragrafo 1.2.1.

14

Page 21: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

di controllo in zona nonlineare. Esso e ottenuto minimizzando il guadagno L2 tra w

e z del sistema di controllo anti-windup, e prende come input la discordanza q tra

ingresso di controllo al processo u e uscita del controllore yc.

(a) Sistema di controllo a ciclo chiuso con compensatore anti-windupstatico.

(b) Schema equivalente H:modello con deadzone.

Figura 1.4: Ciclo chiuso anti-windup.

L’interconnessione del processo (equazione (1.4.1)) e del controllore (equazione

(1.4.2)) attraverso l’equazione (1.4.7) da’ luogo ad un sistema di controllo anti-

windup H (equazione (1.4.8), figura 1.4) con origine asintoticamente stabile, ben-

connesso e con prestazione ottimizzata.

u = sat(yc) q = dz(yc) v = Λq (1.4.7)

H :

x = Ax + Bww + (Bq + BLΛ)qyc = Cyx + Dyww + (Dyq + DyLΛ)qz = Czx + Dzww + (Dzq + DzLΛ)q

(1.4.8)

Definizione 1.4.2. Si definisce sistema di controllo anti-windup H (equazione (1.4.8),

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

zione (1.4.2)) attraverso l’equazione (1.4.7). Il sistema di controllo anti-windup ha

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

ha guadagno L2 limitato11 ed e asintoticamente stabile.

11Garantire guadagno L2 limitato per il sistema di controllo anti-windup significa garantire ilparziale recupero della prestazione persa dal windup.

15

Page 22: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Di seguito verranno calcolate in forma esplicita le matrici di sistema H (equazione

(2.5.1)) in funzione delle matrici di processo (equazione (1.4.1)), controllore (equazio-

ne (1.4.2)), Λ =

[Λ1

Λ2

]e dell’equazione (1.4.7).

Calcolo di y:

y = Cpyxp + Dpyusat(yc) + Dpyww

y = Cpyxp + Dpyu(yc − q) + Dpyww

y = Cpyxp + Dpyu(Ccxc + Dcyy + Dcww + Λ2q − qI) + Dpyww

(I −DpyuDcy)y = Cpyxp + DpyuCcxc + (DpyuDcw + Dpyw)w + Dpyu(Λ2q − qI)

Posto:

∆y = (I −DpyuDcy)−1

E possibile scrivere y in modo piu compatto:

y = ∆yCpyxp + ∆yDpyuCcxc + ∆y(DpyuDcw + Dpyw)w + ∆yDpyu(Λ2q − qI)

Calcolo di yc:

yc = Ccxc + Dcyy + Dcww + Λ2q

yc = Ccxc + Dcy(Cpyxp + Dpyu(yc − q) + Dpyww) + Dcww + Λ2q

(I −DcyDpyu)yc = Ccxc + DcyCpyxp + (Λ2 −DcyDpyu)q + (Dcw + DcyDpyw)w

Posto:

∆u = (I −DcyDpyu)−1

16

Page 23: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

E possibile scrivere yc in modo piu compatto:

yc = ∆uCcxc + ∆uDcyCpyxp + ∆u(Λ2 −DcyDpyu)q + ∆u(Dcw + DcyDpyw)w

yc = ∆uCcxc + ∆uDcyCpyxp + (∆uΛ2 + I −∆u)q + ∆u(Dcw + DcyDpyw)w

Calcolo di xp:

xp = Apxp + Bpuu + Bpww

xp = Apxp + Bpuyc −Bpuq + Bpww

xp = [Ap + Bpu∆uDcyCpy] xp + [Bpu∆uCc] xc + [Bpu∆uΛ2 −Bpu∆u] q +

+ [Bpw + Bpu∆u (Dcw + DcyDpyw)] w

Calcolo di xc:

xc = Acxc + Bcyy + Bcww + Λ1q

xc = Acxc + Bcy∆yCpyxp + Bcy∆yDpyuCcxc + Bcy∆y(DpyuDcw + Dpyw)w +

+Bcy∆yDpyuΛ2q −Bcy∆yDpyuq + Bcww + Λ1q

xc = [Bcy∆yCpy] xp + [Ac + Bcy∆yDpyuCc] xc + [Bcy∆y(DpyuDcw + Dpyw) + Bcw] w +

+ [Bcy∆yDpyuΛ2 −Bcy∆yDpyu + Λ1] q

17

Page 24: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Calcolo di z:

z = Cpzxp + Dpzuu + Dpzww

z = Cpzxp + Dpzu(yc − q) + Dpzww

z = Cpzxp + Dpzu(∆uCcxc + ∆uDcyCpyxp + (∆uΛ2 + I −∆u)q +

+∆u(Dcw + DcyDpyw)w − qI) + Dpzww

z = Cpzxp + Dpzu∆uCcxc + Dpzu∆uDcyCpyxp + Dpzu(∆uΛ2 + I −∆u)q +

+Dpzu∆u(Dcw + DcyDpyw)w −Dpzuq + Dpzww

z = [Cpz + Dpzu∆uDcyCpy] xp + [Dpzu∆uCc] xc + [Dpzu∆u(Λ2 − I)] q +

+ [Dpzu∆u(Dcw + DcyDpyw) + Dpzw] w

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

cosı definite:

∆y = (I −DpyuDcy)−1 ∆u = (I −DcyDpyu)

−1

A =

[Ap + Bpu∆uDcyCpy Bpu∆uCc

Bcy∆yCpy Ac + Bcy∆yDpyuCc

]Bw =

[Bpw + Bpu∆u (Dcw + DcyDpyw)Bcw + Bcy∆y(DpyuDcw + Dpyw)

]

Bq =

[ −Bpu∆u

−Bcy∆yDpyu

]BL =

[0 Bpu∆u

I Bcy∆yDpyu

]

Cy =[∆uDcyCpy ∆uCc

]Dyw =

[∆u(Dcw + DcyDpyw)

]

Dyq =[I −∆u

]DyL =

[0 ∆u

]

Cz =[Cpz + Dpzu∆uDcyCpy Dpzu∆uCc

]Dzw =

[Dpzw + Dpzu∆u(Dcw + DcyDpyw)

]

Dzq =[−Dpzu∆u

]DzL =

[0 Dpzu∆u

]

Λ =

[Λ1

Λ2

]

18

Page 25: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Capitolo 2

Analisi e sintesi di stabilita eprestazione per sistemi linearisaturati a tempo continuo

In questo capitolo viene discusso e dimostrato il teorema GuadagnoL2 nonlineare per sistemi dinamici lineari a tempo continuo coningressi saturati. Questo teorema e fondamentale per la sintesi delcompensatore anti-windup statico da applicare al sistema dinamicoper il recupero della prestazione degradata dal windup. La dimo-strazione del teorema si sviluppa su un percorso logico i cui passisono descritti nei paragrafi 2.1, 2.2, 2.3, 2.4. Nel paragrafo 2.5 vie-ne discusso e dimostrato il teorema Guadagno L2 nonlineare per lasintesi di anti-windup statico per sistemi dinamici lineari a tem-po continuo, che generalizza il precedente teorema introducendola sintesi del compensatore anti-windup statico Λ.

Problema 2.1. Dato un sistema di controllo anti-windup a tempo continuo, deter-

minare una stima del guadagno L2 nonlineare da w a z, cioe una funzione γ(·) non

decrescente tale che:

‖z‖2 ≤ γ (‖w‖2) ‖w‖2 (2.0.1)

19

Page 26: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 2 Analisi e sintesi a tempo continuo §2.1 Disequazioni di Lyapunov

2.1 Disequazioni di Lyapunov

Le disequazioni di Lyapunov permettono di determinare se un sistema dinamico tempo

contiuno e asintoticamente stabile.

Si consideri il sistema dinamico lineare a tempo continuo:

x = Ax (2.1.1)

esso e globalmente asintoticamente stabile1 se esiste una funzione V (·) di Lyapunov a

valori reali positivi definita sullo spazio di stato (equazione (2.1.2)) per la quale sono

verificate le disequazioni di Lyapunov (equazione (2.1.3), equazione (2.1.4)):

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

V ∈ C1, tale che V (x) > 0,∀x ∈ X \ 0 (2.1.3)

V = 〈∇V (x),x〉 =dV (x)

dxAx < ε|x|2,∀x (2.1.4)

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

V (x) = xT Px con P = P T > 0 (2.1.5)

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

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

seconda disequazione di Lyapunov (equazione (2.1.4)):

V < 0 ⇔ V = xT Px + xT Px = xT (AT P + PA)x < 0 (2.1.6)

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

Lyapunov per sistemi a tempo continuo.

1Per un sistema lineare la globale stabilita asintotica coincide con la globale stabilita esponenziale.

20

Page 27: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Queste condizioni sono riscrivibili come sistema di disequazioni matriciali lineari

(LMI), facilmente risolvibili2, come mostrato nell’equazione (2.1.7):

x = Ax e GES ⇐

V > 0 ⇐ P = P T > 0

V < 0 ⇐ He(PA) , PA + AT P < 0(2.1.7)

2.2 Funzione di Lyapunov per l’attenuazione dei

disturbi

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

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

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

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

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

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

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

P :

x = Ax + Bwz = Cx + Dw

(2.2.1)

P e globalmente asintoticamente stabile con misura di prestazione garantita3 se esiste

una funzione V (·) di Lyapunov per l’attenuazione dei disturbi, a valori reali positivi

definita sullo spazio di stato (equazione (2.2.2)) per la quale sono verificate le dise-

quazioni di Lyapunov per l’attenuazione dei disturbi (equazione (2.2.3), equazione

2Sulle caratteristiche principale delle LMI e sulla facilita di risoluzione in problemi diottimizzazione o di ammissibilita si rimanda al paragrafo A.5.

3In questo contesto la misura di prestazione e garantita se esiste una costante γ positiva e finitatale che il guadagno L2 del sistema sia minore di γ.

21

Page 28: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

(2.2.4)):

se ∃V (·) : X → R≥0 (2.2.2)

V ∈ C1, tale che V (x) > 0,∀x ∈ X \ 0 (2.2.3)

〈∇V (x),x〉+1

γ2zT z − wT w < 0 (2.2.4)

1. Stabilita.

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

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

Se il disturbo e nullo allora la equazione (2.2.4) garantisce la stabilita in quanto

maggiora l’equazione (2.1.4), infatti:

Se w = 0, 〈∇V (x),x〉 < 〈∇V (x),x〉+1

γ2zT z < 0 ⇒

⇒ 〈∇V (x),x〉 < 0 ⇒ GES (2.2.5)

2. Prestazione.

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

alla stima del guadagno L2 del sistema occorre integrare le traiettorie di V (x):

∫ t

0

dV (x(τ))

dτdτ +

∫ t

0

(1

γ2z(τ)T z(τ)− w(τ)T w(τ)

)dτ < 0

⇒ V (t)− V (0) +1

γ2‖z(·)t‖2

2 − ‖w(·)t‖22 < 0 (2.2.6)

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

−V (0) +1

γ2‖z(·)‖2

2 − ‖w(·)‖22 < 0

⇒ ‖z(·)‖22 < γ2

(V (0) + ‖w(·)‖2

2

)

⇒ ‖z(·)‖22 < γ2 (V (0) + ‖w(·)‖2)

2

⇒ ‖z(·)‖2 < γV (0) + γ‖w(·)‖2 (2.2.7)

4GES ≡ GAS se P e LTI.

22

Page 29: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Dove γ e la stima quadratica di ‖P‖2, guadagno L2 del sistema (vedasi paragrafo

A.3) da w a z, ed e una misura di prestazione di P poiche quantifica la massima

amplificazione del segnale in ingresso sull’uscita di prestazione:

‖P‖2 , sup‖w‖2 6=0

‖z‖2

‖w‖2

< γ (2.2.8)

Maggiori dettagli sono riportati in [3].

Scegliendo come V (·) di Lyapunov la funzione quadratica descritta in equazione

(2.1.5), allora l’equazione (2.2.4) si particolarizza in:

〈∇V (x),x〉+1

γ2zT z − wT w < 0 ⇔

⇔ xTP (Ax+Bw)+(Ax+Bw)TPx +1

γ2

(xTCT +wTDT

)(Cx+Dw)−wTw< 0

⇔ [xT wT

] ([PA + AT P PB

BT P −I

]+

[CT

DT

]1

γ2

[C D

])

︸ ︷︷ ︸M

[xw

]< 0

⇔ M < 0

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

M < 0 si ottiene:

M < 0, γ2 > 0 ⇔

PA + AT P PB CT

BT P −I DT

C D −γ2I

< 0 (2.2.9)

La LMI mostrata nell’equazione (2.2.9) permette di ricavare una misura di prestazione

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

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

Teorema 2.2.1. Bounded Real Lemma.

Sia A di Hurwitz, allora:

He

PA PB 00 − I

20

C D −γ2 I2

< 0

P > 0

23

Page 30: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprieta di settore

se e solo se:

‖C (sI − A)−1 B + D‖∞ < γ

cioe il guadagno L2 di P e minore di γ.

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

e [2]) ed e data da:

minP,γ

γ

s.t. He

PA PB 00 − I

20

C D −γ2 I2

< 0

P > 0

2.3 Sistemi con saturazione: proprieta di settore

Si consideri il sistema di controllo a ciclo chiuso saturato a tempo continuo H (para-

grafo 1.4.3) ottenuto come ciclo chiuso dell’impianto saturato P e del suo controllore

non saturato C6:

H :

x = Ax + Bqq + Bwwz = Czx + Dzqq + Dzwwyc = Cyx + Dyqq + Dyww

(2.3.1)

q = dz(yc) = yc − sat(yc) (2.3.2)

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

figura 2.1) e logico chiedersi sotto quali condizioni e mantenuta la stabilita e la buona

connessione (in senso nonlineare) del sistema. Infatti l’introduzione della nonlinearita

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

6Controllore che garantisce certe specifiche sintetizzato per il sistema P non saturato.

24

Page 31: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprieta di settore

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

puo causare la perdita della buona connessione ovverosia potrebbe non esistere piu

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

yc −Dyqq = Cyx + Dyww

Per studiare stabilita e buona connessione e necessario introdurre una caratterizzazio-

Figura 2.2: Proprieta di settore globale, sector[0, K]; per nonlinearita tipo saturazionee deadzone la proprieta di settore globale vale conK=I.

ne della nonlinearita in termini di proprieta di settore. La saturazione e la deadzone

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

25

Page 32: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprieta di settore

significa che per tali nonlinearita vale la proprieta di settore globale:

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

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

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

condizioni risolvibili delle forme (2.2.4) come segue:

V +1

γ2zT z − wT w < 0, ∀(x,w) tale che qT M(yc − q) ≥ 0 (2.3.4)

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

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

e solo se e vera la equazione (2.3.5)

V +1

γ2zT z − wT w + 2qT M(yc − q)<0,∀x,w, ξ, q ⇔

xwξq

THe

PA PBw 0 PBq

0 − I2

0 0

Cz Dzw −γ2

2I Dzq

MCy MDyw 0 MDyq −M

xwξq

<0,∀x,w, ξ, q ⇔

⇔ He

PA PBw 0 PBq

0 − I2

0 0

Cz Dzw −γ2

2I Dzq

MCy MDyw 0 MDyq −M

<0 (2.3.5)

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

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

tiva M > 0 tale che:

He (MDyq −M) < 0

Per i dettagli della dimostrazione si veda [4].

26

Page 33: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprieta di settore

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

una matrice diagonale definita positiva M > 0 tale che:

He

[PA PBq

MCy MDyq −M

]< 0

3. Prestazione (‖P‖2 < γ):8 e sufficiente che esistano uno scalare γ positivo mi-

nimizzato, una matrice definita positiva P = P T > 0 e una matrice diagonale

definita positiva M > 0 tale che:

He

PA PBw 0 PBq

0 − I2

0 0

Cz Dzw −γ2

2I Dzq

MCy MDyw 0 MDyq −M

< 0

2.3.1 Proprieta di settore generalizzata

Lemma 2.3.1. Se dzu(v) = 0, allora dzu(yc)T M (yc − dzu(yc) + v) ≥ 0

Definizione 2.3.1. Sia U = diagui allora per una certa matrice K ∈ Rnu×n si

definisce:

L(K) ,

x ∈ Rn : |U−1Kx|∞ ≤ 1

Lemma 2.3.2. GS: Proprieta di settore generalizzata.

Sia K ∈ Rnu×n una matrice data. Allora per ogni matrice diagonale M > 0, M ∈Rnu×nu vale la proprieta di settore generalizzata:

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

Una trattazione piu dettagliata e riportata in [4].

Ricordando che:

7E buona connessione.8Con stabilita e buona connessione.

27

Page 34: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 2 Analisi e sintesi a tempo continuo §2.3 Proprieta di settore

1. dzu(yc) = q

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

La GS (equazione (2.3.6)) puo essere riscritta come:

qT M (yc − q + Kix) ≥ 0 ∀x ∈ x : |Kix| ≤ ui ∀i = 1, ..., nu (2.3.7)

A questo punto si cerca un insieme di livello EPs in cui valga la proprieta GS,

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

avanti.

Sia EPs l’insieme di livello limitato da s:

EPs ,x : xT Px ≤ s2

Affinche EPs goda della proprieta GS, EPs deve essere contenuto nell’insieme di x che

rende vera la GS, cioe:

EPs ,x : xT Px ≤ s2

⊆ x : |Kix| ≤ ui ∀i = 1, ..., nu

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

che valga il vincolo:

|Kix| ≤ ui, ∀i = 1, ..., nu

In altre parole deve valere l’implicazione:

∀x : xT Px ≤ s2 ⇒ xT KTi Kix ≤ ui

2, ∀i = 1, ..., nu

che puo essere impostata tramite:

xT KTi

1

ui2Kix ≤ xT P

s2x

xT

[P −KT

i

s2

ui2Ki

]x ≥ 0 (2.3.8)

28

Page 35: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilita e prestazione

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

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

semplificare questa disuguaglianza ottenendo una forma piu compatta e maneggevole9:

[P KT

i

Kiui

2

s2

]≥ 0 ∀i = 1, ..., nu (2.3.9)

Lemma 2.3.3. Condizione di inclusione.

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

[P KT

i

Kiui

2

s2

]≥ 0 ∀i = 1, ..., nu

Una trattazione piu dettagliata e riportata in [4].

2.4 Sistemi con saturazione: stabilita e prestazio-

ne

In sostituzione della troppo conservativa proprieta di settore globale, e possibile inseri-

re la proprieta di settore generalizzata nella funzione di Lyapunov per l’attenuazione

dei disturbi (equazione (2.2.4)), con dei passaggi del tutto analoghi a quanto visto

nell’equazione (2.3.4):

V +1

γ2zT z − wT w < 0,

∀x ∈ EPs, ∃M = diagmi > 0 : qT M(yc − q + Kx) ≥ 0 (2.4.1)

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

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

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

29

Page 36: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilita e prestazione

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

V +1

γ2zT z − wT w + 2qT M(yc − q + Kx) ≤ 0 ⇔ (2.4.2)

⇔ He

PA PBw 0 PBq

0 − I2

0 0

Cz Dzw −γ2

2I Dzq

M (Cy + K) MDyw 0 MDyq −M

≤ 0 (2.4.3)

Per rendere lineare l’equazione (2.4.3) e necessario imporre una trasformazione del-

lo spazio(

x,w, ξ, q)

moltiplicando per una opportuna matrice di cambiamento di

coordinate T1 = diag (Q, I, I, U) = diag (P−1, I, I, M−1), a destra e sinistra ed infine

porre H = KQ. In questo modo l’equazione (2.4.3) diventa:

He

AQ Bw 0 BqU0 − I

20 0

CzQ Dzw −γ2

2I DzqU

CyQ + KQ Dyw 0 DyqU − U

≤ 0

⇔ He

AQ Bw 0 BqU0 − I

20 0

CzQ Dzw −γ2

2I DzqU

CyQ + H Dyw 0 DyqU − U

≤ 0 (2.4.4)

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

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

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

eliminare la nonlinearita e sostituita dalla nuova variabile H. Si opera in modo con-

gruo a quanto precedentemente fatto, moltiplicando per una opportuna matrice di

cambiamento di coordinate T2, a sinistra e a destra (usando la stessa matrice ma

trasposta):

T2 =

[0 IQ 0

]=

[0 I

P−1 0

]

10M (Cy + K) = MCy + MK con M e K incognite.

30

Page 37: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilita e prestazione

In questo modo l’equazione (2.3.9) diventa:

[0 IQ 0

] [P KT

i

Kiui

2

s2

] [0 QI 0

]=

[ui

2

s2 KiQQKT

i QPQ

]=

[ui

2

s2 Hi

HTi Q

]≥ 0 ∀i = 1, ..., nu

(2.4.5)

LMI lineare in Q,H,ui2

s2 [4].

Teorema 2.4.1. Guadagno L2 nonlineare a tempo continuo.

Per il sistema di controllo anti-windup descritto dall’equazione (2.3.1), per ogni s > 0

si definisce:

γ(s) = minQ,U,H,γ

γ s.t.

He

AQ Bw 0 BqU0 − I

20 0

CzQ Dzw −γ2

2I DzqU

CyQ + H Dyw 0 DyqU − U

≤ 0 (2.4.6)

[ui

2

s2 Hi

HTi Q

]≥ 0 ∀i = 1, ..., nu (2.4.7)

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

il problema 2.1.

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

lo Schur Complement si ottiene il vincolo mai attivo: HiQ−1HT

i ≤ ui2

s2 ⇒ ui2

s2 ≥ 0) e

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

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

γ(·) ≤ γG

Inoltre, dalla disuguaglianza (2.4.7) e dalla HiQ−1HT

i ≤ ui2

s2 , se s →∞ allora H → 0.

¤X

Osservazione 2.4.2. Diagramma guadagno L2 nonlineare.

Per tracciare il diagramma del guadagno L2 nonlineare γ(s) del sistema di controllo

31

Page 38: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 2 Analisi e sintesi a tempo continuo §2.4 Stabilita e prestazione

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

plicare il teorema 2.4.1 ∀sk ∈ Is , [skmin, skMAX

], ottenendo i corrispondenti γ(sk).

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

valori (sk, γ(sk)). ¤X

2.4.1 Implicazioni

1. Stabilita: se w = 0 e x(0) ∈ EPs, allora e garantita la stabilita del sistema

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

ipotesi, l’equazione (2.4.1) diventa:

〈∇V (x),x〉+ 2qT M (yc − q + Kx) < 0 (2.4.8)

Poiche x(0) ∈ EPs allora vale la proprieta GS (equazione (2.3.7)) e si ha:

2qTM(yc−q+Kx)≥0

Quindi l’equazione (2.4.8) diventa:

〈∇V (x), x〉 < 0 (2.4.9)

Che, come visto nel paragrafo 2.1 e nel paragrafo 2.2, garantisce la stabilita

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

l’equazione (2.4.9) implica che EPs e un insieme invariante in avanti.

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

11Stabilita Esponenziale Regionale.

32

Page 39: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

diventa:

V +1

γ2zT z − wT w < 0 ⇒ 〈∇V (x),x〉 − wT w < 0

⇒ 〈∇V (x),x〉 < wT w

⇒∫ t

0

dV (x(τ))

dτdτ <

∫ t

0

|w(τ)|2dτ =‖w‖22 <s2

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

3. Guadagno L2 nonlineare: se x(0) = 0 e ‖w‖2 < s, in virtu della stabilita e

dell’invarianza con disturbi limitati si ha x(t) ∈ EPs, ∀t, e quindi vale GS, ∀t.Questo implica che l’equazione (2.4.1) si particolarizza in:

V +1

γ2zT z − wT w < 0 ∀t (2.4.10)

Poiche x(0) = 0 allora V (0) = 0, sicche integrando l’equazione (2.4.10) si ottiene:

∫ t

0

(V (x(τ)) +

1

γ2z(τ)T z(τ)− w(τ)T w(τ)

)dτ <0 ∀w :‖w‖2 <s

V (t) +1

γ2

∫ t

0

z(τ)T z(τ)−∫ t

0

w(τ)T w(τ)<0 ∀w :‖w‖2 <s

0 < V (t) < ‖w‖22−

1

γ2‖z‖2

2 ∀w :‖w‖2 <s

‖z‖2 < γ(‖w‖2)‖w‖2 ∀w :‖w‖2 <s (2.4.11)

L’equazione (2.4.11) definisce una curva di guadagno L2 nonlineare tra w e z.

2.5 Sintesi di anti-windup statico a tempo conti-

nuo con prestazione regionale o globale

Problema 2.2. [5] Siano le matrici del processo P e del controllore C fissate, sin-

tetizzare le matrici del compensatore anti-windup statico Λ che garantiscono buona

connessione, stabilita interna e prestazione ottimizzata (problema 2.1) per il sistema

di controllo anti-windup a tempo continuo (equazione (2.5.1), figura 2.3).

33

Page 40: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Figura 2.3: Sistema di controllo anti-windup a tempo continuo con compensatoreanti-windup statico.

H :

x = Ax + Bww + (Bq + BLΛ)qyc = Cyx + Dyww + (Dyq + DyLΛ)qz = Czx + Dzww + (Dzq + DzLΛ)q

(2.5.1)

q = dz(yc)

In altre parole si cerca un compensatore anti-windup statico Λ ottimo, che garantisca

per il ciclo chiuso ottenuto dall’interconnessione del processo12 e del controllore13

attraverso saturazione e compensatore anti-windup14 Λ, le proprieta:

1. Buona connessione.

2. Stabilita.

3. Prestazione garantita ottimizzata.

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

V (x) = xT Px con P = P T > 0

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

e descritto dall’equazione (1.4.7).

34

Page 41: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Per garantire stabilita e prestazione occorre impostare la seconda disequazione di

Lyapunov inserendo la proprieta di settore generalizzata (equazione (2.3.6)), come in

equazione (2.4.1), particolarizzata per il sistema di controllo anti-windup H (equazio-

ne (2.5.1)):

V +1

γ2zTz−wTw<0 ∀x∈EPs ∃M =diagmi :qTM(yc − q + Kx)≥0

Applicando S-Procedure (la cui trattazione si rimanda a [1]) viene annessa la GS

(equazione (2.3.6)) nella disequazione di Lyapunov:

V +1

γ2zT z − wT w + 2qT M(yc − q + Kx) < 0 (2.5.2)

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

complicata. Per chiarezza si esplicita una variabile alla volta:

I V

V = xT Px + xT Px

= xTP (Ax+Bww+(Bq+BLΛ)q)+(Ax+Bww+(Bq+BLΛ)q)TPx

=

xwq

T

PA + AT P PBw PBq + PBLΛBT

wP 0 0(PBq + PBLΛ)T 0 0

xwq

(2.5.3)

I 1γ2 z

T z

1

γ2zT z = (Czx+Dzww+(Dzq+DzLΛ)q)T 1

γ2(Czx+Dzww+(Dzq+DzLΛ)q)

=

xwq

T

CTz

DTzw

(Dzq + DzLΛ)T

1

γ2

CTz

DTzw

(Dzq + DzLΛ)T

T

xwq

35

Page 42: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Applicando lo Schur Complement15 si ottiene:

xwqξ

T

0 0 0 CTz

0 0 0 DTzw

0 0 0 (Dzq + DzLΛ)T

Cz Dzw (Dzq + DzLΛ) −γ2Iz

xwqξ

(2.5.4)

I 2qT M(yc − q + Kx)

2qTM(yc−q+Kxk) = 2qTM((Cy+K)xk+Dyww+(Dyq+DyLΛ−I) q)

= qTM((Cy+K)xk+Dyww+(Dyq+DyLΛ−I) q)+

+((Cy+K)xk+Dyww+(Dyq+DyLΛ−I) q)TMq

Che espresse in forma di LMI diventa:

xwq

T

0 0 (Cy + K)TM0 0 DT

ywM

M(Cy + K) MDyw

[M (Dyq+DyLΛ−I)+

+(Dyq+DyLΛ−I)T M

]

xwq

(2.5.5)

Sostituendo l’equazione (2.5.3), l’equazione (2.5.4) e l’equazione (2.5.5) nell’equazione

(2.5.2) e applicando16 l’operatore He(·) si giunge a:

He

PA PBw P (Bq+BLΛ) 00 − Iw

20 0

M(Cy+K) MDyw M(Dyq+DyLΛ−I) 0

Cz Dzw Dzq+DzLΛ −γ2

2Iz

< 0 (2.5.6)

L’equazione (2.5.6) e una disequazione matriciale nonlineare, in quanto presenta

prodotti tra matrici incognite:

1. P e Λ in P (Bq + BLΛ)

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

3. M e Λ in M(Dyq + DyLΛ− I)

15Nello specifico la formulazione dello Schur Complement riportata nell’equazione (1.4.6) in [2].16L’operatore He(·) e descritto nel paragrafo A.1.

36

Page 43: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

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

mazione dello spazio delle variabili,17 moltiplicando a destra e sinistra per:

diag (Q, I, U, I)=diag(P−1, I,M−1, I

)

Ed infine cancellare le nonlinearita sostituendo i prodotti di variabili decisionali con

nuove variabili, ovvero ponendo H = KQ e X = ΛU . In questo modo l’equazione

(2.5.6) diventa:

He

AQ Bw (Bq + BLΛ)U 00 − Iw

20 0

(Cy + K)Q Dyw (Dyq + DyLΛ− I)U 0

CzQ Dzw (Dzq + DzLΛ)U −γ2

2Iz

< 0

che corrisponde a:

He

AQ Bw BqU + BLX 00 − Iw

20 0

CyQ + H Dyw DyqU + DyLX − U 0

CzQ Dzw DzqU + DzLX −γ2

2Iz

< 0 (2.5.7)

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

Per quel che riguarda il vincolo di inclusione per la condizione di settore genera-

lizzata, con i passaggi visti nel paragrafo 2.3 si perviene all’equazione (2.3.9). Infine

con una trasformazione dello spazio analoga a quella vista nell’equazione (2.5.7) e

ponendo H = KQ, si ottiene la LMI riportata nell’equazione (2.5.8):

[0 IQ 0

] [P KT

i

Kiui

2

s2

] [0 QI 0

]=

[ui

2

s2 Hi

HTi Q

]≥ 0 ∀i = 1, ..., nu (2.5.8)

Teorema 2.5.1. Guadagno L2 nonlineare per anti-windup statico a tempo

continuo.

Sia H il sistema di controllo anti-windup statico definito nell’equazione (2.5.1), per

17Si noti che M e una matrice diagonale definita positiva, percio U = M−1 e anche essa diagonaledefinita positiva.

37

Page 44: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

ogni s > 0 si definisce:

γ(s) , minQ,U,H,X,γ

γ s.t. (2.5.9)

He

AQ Bw BqU + BLX 00 − I

20 0

CyQ + H Dyw DyqU + DyLX − U 0

CzQ Dzw DzqU + DzLX −γ2

2I

< 0 (2.5.10)

[ui

2

s2 Hi

HTi Q

]≥ 0 ∀i = 1, ..., nu (2.5.11)

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

e non decrescente e risolve il problema 2.1 e Λ = XU−1 e il compensatore ottimo

anti-windup statico che risolve il problema 2.2.

Il teorema 2.5.1 generalizza il teorema 2.4.1 (introducendo la sintesi di Λ) e percio

ha anche le stesse implicazioni (vedasi paragrafo 2.4.1).

Osservazione 2.5.1. Se H = 0 allora l’equazione (2.5.11) svanisce (infatti applicando

lo Schur Complement si ottiene un vincolo mai attivo: HiQ−1HT

i ≤ ui2

s2 ⇒ ui2

s2 ≥ 0) e

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

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

γ(·) ≤ γG

¤X

Osservazione 2.5.2. Guadagno L2 locale.

Fissato s = s, l’ottimizzazione dell’equazione (2.5.9) fornisce:

1. La stima γ(s) del guadagno L2 locale tra w e z, ∀w ∈ L2 : ‖w‖2 ≤ s.

2. Il compensatore anti-windup statico Λ(s) che garantisce le tre proprieta18, ∀w ∈L2 : ‖w‖2 ≤ s.

18Buona connessione, Stabilita, Prestazione.

38

Page 45: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Se w : ‖w‖2 > s allora non e piu garantita la stabilita. ¤X

Osservazione 2.5.3. Diagramma guadagno L2 nonlineare.

Una volta sintetizzato Λ(s) e possibile tracciare il diagramma del guadagno L2

nonlineare γ(s) del sistema di controllo anti-windup con Λ = Λ(s) come in osserva-

zione 2.4.2 giustapponendo in luogo delle matrici Bq, Dyq, Dzq nel teorema 2.4.1, le

matrici (ora completamente note) del sistema di controllo anti-windup definite nel

paragrafo 1.4.4: (Bq + BLΛ), (Dyq + DyLΛ), (Dzq + DzLΛ), cioe e possibile tracciare il

diagramma del guadagno L2 nonlineare γ(s) del sistema di controllo anti-windup ap-

plicando il teorema 2.4.1 ∀sk ∈ Is , [skmin, skMAX

], ottenendo i corrispondenti γ(sk),

e interpolando le coppie di valori (sk, γ(sk)). ¤X

Definizione 2.5.1. anti-windup statico globale.

Un compensatore anti-windup statico, cioe un guadagno Λg, e detto con prestazione

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

l’stabilita asintotica e garantisce perdita di prestazione limitata del ciclo chiuso, ovvero

γG < ∞.

Osservazione 2.5.4. Guadagno L2 globale. Un compensatore anti-windup statico

Λg con prestazione globale e ottenuto, se esiste, risolvendo l’equazione (2.5.9) con

s=∞: tale compensatore garantisce γ(s=∞)=γG <∞. ¤X

2.6 Minimo guadagno L2 nonlineare

Il minimo guadagno L2 nonlineare γmin(s) e un lower bound sul guadagno L2 nonli-

neare γ(s) (equazione (2.5.9)) ed e utile per definire il limite di migliore prestazione

ottenibile. Quindi, tutti i compensatori anti-windup sintetizzabili (con le diverse

39

Page 46: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

tecniche in letteratura) presentano una prestazione γ non migliore, cioe:

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

Sia Is , [skmin, skMAX

] l’intervallo di bound19 s su cui si vuole tracciare il diagramma

del minimo guadagno L2 nonlineare. Come mostrato in osservazione 2.5.2, ad ogni

valore di sk corrisponde, come risultato dell’ottimizzazione dell’equazione (2.5.9), un

solo valore di γk e di Λk. Quindi per tracciare il diagramma del minimo guadagno

L2 nonlineare γmin(s) occorre risolvere ∀sk ∈ Is l’equazione (2.5.9) nelle variabili

Q = QT > 0, U > 0 diagonale, H, X e γ2(sk). Il diagramma e, quindi, l’interpolazio-

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

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

analisi sara approfondita nel capitolo 6.

19Per ogni bound s si vuole che le proprieta garantite valgano per ogni w ∈ L2 : ‖w‖2 < s.

40

Page 47: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

10−3

10−2

10−1

100

101

102

103

100

101

102

103

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

alfa = 20

Minimo guadagno L2 nonlineare TC

Guadagno globale (ottenuto per s=Inf)

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

41

Page 48: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Capitolo 3

Analisi e sintesi di stabilita eprestazione per sistemi linearisaturati a tempo discreto

In questo capitolo viene discusso e dimostrato il teorema GuadagnoL2 nonlineare per sistemi dinamici lineari a tempo discreto adingressi saturati. Questo teorema e fondamentale per la sintesi delcompensatore anti-windup statico da applicare al sistema dinamicoper il recupero della prestazione degradata dal windup. La dimo-strazione del teorema si sviluppa su un percorso logico analogo aquello del capitolo 2 e i cui step salienti sono descritti nei paragrafi3.1 e 3.2. Nel paragrafo 3.3 viene discusso e dimostrato il teoremaGuadagno L2 nonlineare per la sintesi di anti-windup statico per si-stemi dinamici lineari a tempo discreto, che generalizza il prece-dente teorema introducendo la sintesi del compensatore anti-windupstatico Λ per sistemi a tempo discreto.

Problema 3.1. Dato un sistema di controllo anti-windup a tempo discreto, deter-

minare il guadagno L2 nonlineare da w a z, una funzione γ(·) non decrescente tale

che:

‖z‖2 ≤ γ (‖w‖2) ‖w‖2 (3.0.1)

42

Page 49: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 3 Analisi e sintesi a tempo discreto §3.1 Disequazioni di Lyapunov

3.1 Disequazioni di Lyapunov

Le disequazioni di Lyapunov permettono di determinare se un sistema dinamico a

tempo discreto e asintoticamente stabile.

Si consideri il sistema dinamico lineare a tempo discreto:

x+ = Ax (3.1.1)

esso e globalmente asintoticamente stabile se esiste una funzione V (·) di Lyapunov a

valori reali positivi definita sullo spazio di stato (equazione (3.1.2)) per la quale sono

verificate le disequazioni di Lyapunov (equazione (3.1.3), equazione (3.1.4)):

x+ = Ax e GES ⇐ ∃V (·) : X → R≥0 (3.1.2)

V ∈ C1, tale che V (x) > 0,∀x ∈ X \ 0 (3.1.3)

4V (x) = V (x+)− V (x) < 0,∀x (3.1.4)

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

V = xT Px con P = P T > 0 (3.1.5)

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

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

disequazione di Lyapunov (equazione (3.1.4)):

4V < 0 ⇒4V =V +−V =x+TPx+−xTPx=xT(ATPA−P )x<0 (3.1.6)

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

di Lyapunov per sistemi a tempo discreto.

Queste condizioni sono riscrivibili come sistema di disequazioni matriciali lineari

(equazione 3.1.7) facilmente risolvibili:

x+ = Ax e GES ⇐

V > 0 ⇐ P = P T > 04V < 0 ⇐ AT PA− P < 0

(3.1.7)

43

Page 50: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 3 Analisi e sintesi a tempo discreto §3.2 Stabilita e prestazione

3.2 Sistemi con saturazione: stabilita e prestazio-

ne

Si consideri il sistema di controllo a ciclo chiuso saturato a tempo discreto H (equa-

zione (3.2.1)) ottenuto come ciclo chiuso dell’impianto saturato e del suo controllore

non saturato1:

H :

x+= Ax + Bqq + Bwwz = Czx + Dzqq + Dzwwyc = Cyx + Dyqq + Dyww

(3.2.1)

q = dz(yc) = yc − sat(yc) (3.2.2)

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

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

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

disturbi con medesime caratteristiche e proprieta anche a tempo discreto (stabilita e

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

teriore specifica, ovvero il soddisfacimento della proprieta di settore generalizzata,

che garantisce il mantenimento della buona connessione in senso nonlineare. Con dei

passaggi del tutto analoghi a quanto visto nell’equazione (2.3.4) e quindi applicando

la S-Procedure, rimandando ad un passo successivo la formalizzazione del vincolo di

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

44

Page 51: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 3 Analisi e sintesi a tempo discreto §3.2 Stabilita e prestazione

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

4V (x) +1

γ2zT z − wT w + 2qT M(yc − q + Kx) ≤ 0, ∀x, w, q ⇔ (3.2.3)

ξxwql

T

−P−1 A Bw Bq 0

AT −P 0 (Cy + K)TM CTz

BTw 0 −I DT

ywM DTzw

BTq M (Cy+K) MDyw

[MDyq+

+DTyqM−2M

]DT

zq

0 Cz Dzw Dzq −γ2I

ξxwql

≤0, ∀ξ, x, w, q, l

(3.2.4)

Per rendere lineare l’equazione (3.2.4) e necessario imporre una trasformazione del-

lo spazio[ξ, x, w, q, l

]moltiplicando per una opportuna matrice di cambiamento di

coordinate T1 = diag (I,Q, I, U, I) = diag (I, P−1, I,M−1, I), a destra e sinistra ed

infine porre H = KQ. In questo modo l’equazione (3.2.4) diventa e soddisfatta se e

solo se:

He

−12Q AQ Bw BqU 0

0 −12Q 0 0 0

0 0 −12Iw 0 0

0 (Cy + K) Q Dyw (Dyq − I) U 0

0 CzQ Dzw DzqU −γ2

2Iz

≤ 0

se e solo se:

He

−12Q AQ Bw BqU 0

0 −12Q 0 0 0

0 0 −12Iw 0 0

0 CyQ + H Dyw (Dyq − I) U 0

0 CzQ Dzw DzqU −γ2

2Iz

≤ 0 (3.2.5)

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

Per quel che riguarda il vincolo di inclusione per la condizione di settore genera-

lizzata, con i passaggi visti nel paragrafo 2.4 si perviene all’equazione (2.3.9). Infine

con una trasformazione dello spazio analoga a quella di equazione (3.2.5) e ponendo

H = KQ, si ottiene la LMI descritta dall’equazione (2.4.5).

2La nonlinearita dell’equazione (3.2.4) risiede nei fattori M (Cy + K) = MCy + MK in cui M eK sono matrici incognite.

45

Page 52: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Teorema 3.2.1. Guadagno L2 nonlineare a tempo discreto.

Per il sistema di controllo anti-windup equazione (3.2.1), per ogni s > 0 si definisce:

γ(s) = minQ,U,H,γ

γ s.t.

He

−12Q AQ Bw BqU 0

0 −12Q 0 0 0

0 0 −12Iw 0 0

0 (CyQ + H) Dyw (Dyq − I) U 0

0 CzQ Dzw DzqU −γ2

2Iz

≤ 0 (3.2.6)

[ui

2

s2 Hi

HTi Q

]≥ 0 ∀i = 1, ..., nu (3.2.7)

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

il problema 3.1.

Come per il caso a tempo continuo, valgono le osservazioni 2.4.1 e 2.4.2 particola-

rizzate per il teorema 3.2.1.

3.2.1 Implicazioni

Le implicazioni del teorema del guadagno L2 nonlineare per sistemi a tempo discreto

sono le medesime della versione per sistemi a tempo continuo (paragrafo 2.4.1).

3.3 Sintesi di anti-windup statico a tempo discreto

con prestazione regionale o globale

Problema 3.2. [5] Siano le matrici del processo P e del controllore C fissate, sin-

tetizzare le matrici del compensatore anti-windup statico Λ che garantiscono buona

connessione, stabilita interna e prestazione ottimizzata (problema 3.1) per il sistema

di controllo anti-windup a tempo discreto (equazione (3.3.1), figura 3.2).

46

Page 53: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Figura 3.2: Sistema di controllo anti-windup a tempo discreto con compensatoreanti-windup statico.

H :

x+= Ax + Bww + (Bq + BLΛ)qy = Cyx + Dyww + (Dyq + DyLΛ)qz = Czx + Dzww + (Dzq + DzLΛ)q

(3.3.1)

q = dz(yc)

In altre parole si cerca un compensatore anti-windup statico Λ ottimo, che garanti-

sca per il ciclo chiuso ottenuto dall’interconnessione del processo3 e del controllore4

attraverso saturazione e compensatore anti-windup5 Λ, le proprieta:

1. Buona connessione.

2. Stabilita.

3. Prestazione garantita ottimizzata.

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

V (x) = xT Px con P = P T > 0

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

e descritto dall’equazione (1.4.7).

47

Page 54: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Per garantire stabilita e prestazione occorre impostare la seconda disequazione di

Lyapunov inserendo la proprieta di settore generalizzata (equazione (2.3.6)), come

nell’equazione (3.2.3), particolarizzata per il sistema di controllo anti-windup H (equa-

zione (3.3.1)):

4V (x)+1

γ2zTz−wTw<0 ∀x ∈ EPs ∃M =diagmi :qTM(yc−q+Kx)≥0

Applicando la S-Procedure (la cui trattazione si rimanda a [1]) viene annessa la GS

(equazione (2.3.6)) nella disequazione di Lyapunov:

4V (x) +1

γ2zT z − wT w + 2qT M(yc − q + Kx) < 0 (3.3.2)

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

complicata. Per chiarezza si esplicita una variabile alla volta:

I 4V

4V = x+TPx+ − xT Px

= (Ax+Bww+(Bq+BLΛ) q)T P (Ax+Bww+(Bq+BLΛ) q)−xT Px

=

xwq

T

AT

BTw

(Bq+BLΛ)T

P

AT

BTw

(Bq+BLΛ)T

T

P 0 00 0 00 0 0

xwq

Applicando lo Schur Complement6 si ottiene:

ξxwq

T

−P−1 A Bw (Bq + BLΛ)AT −P 0 0BT

w 0 0 0

(Bq + BLΛ)T 0 0 0

ξxwq

(3.3.3)

6Nello specifico la formulazione dello Schur Complement riportata nell’equazione (1.4.5) in [2].

48

Page 55: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

I 1γ2 z

T z

1

γ2zTz = (Czx+Dzww+(Dzq+DzLΛ)q)T 1

γ2(Czx+Dzww+(Dzq+DzLΛ)q)

=

xwq

T

CTz

DTzw

(Dzq + DzLΛ)T

1

γ2

CTz

DTzw

(Dzq + DzLΛ)T

T

xwq

Applicando lo Schur Complement7 si ottiene:

xwql

T

0 0 0 CTz

0 0 0 DTzw

0 0 0 (Dzq + DzLΛ)T

Cz Dzw (Dzq + DzLΛ) −γ2Iz

xwql

(3.3.4)

I 2qT M(yc − q + Kx)

2qTM(yc−q+Kx) = 2qTM((Cy+K)x+Dyww+(Dyq+DyLΛ−I) q)

= qTM((Cy+K)x+Dyww+(Dyq+DyLΛ−I) q)+

+((Cy+K)x+Dyww+(Dyq+DyLΛ−I) q)TMq

Che espresse in forma di LMI diventa:

xwq

T

0 0 (Cy+K)TM0 0 DT

ywM

M(Cy+K) MDyw

[M (Dyq+DyLΛ−I)+

+(Dyq+DyLΛ−I)T M

]

xwq

(3.3.5)

Sostituendo le equazioni (3.3.3), (3.3.4) e (3.3.5) nell’equazione (3.3.2) si ottiene:

ξxwql

T

−P−1 A Bw Bq+BLΛ 0AT −P 0 (Cy+K)TM CT

z

BTw 0 −Iw DT

ywM DTzw

(Bq+BLΛ)T M(Cy+K) MDyw

M(Dyq+DyLΛ)++(DT

yq+ΛTDTyL)M

−2M

(Dzq+DzLΛ)T

0 Cz Dzw Dzq+DzLΛ −γ2Iz

ξxwql

7Nello specifico la formulazione dello Schur Complement riportata nell’equazione (1.4.6) in [2].

49

Page 56: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

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

−P−1 A Bw Bq+BLΛ 0AT −P 0 (Cy+K)TM CT

z

BTw 0 −Iw DT

ywM DTzw

(Bq+BLΛ)T M(Cy+K) MDyw

M(Dyq+DyLΛ)++(DT

yq+ΛTDTyL)M

−2M

(Dzq+DzLΛ)T

0 Cz Dzw Dzq+DzLΛ −γ2Iz

< 0 (3.3.6)

L’equazione (3.3.6) e una disequazione matriciale nonlineare, in quanto presenta

prodotti tra matrici incognite:

1. M e Λ in M(Dyq + DyLΛ) + (DTyq + ΛT DT

yL)M − 2M

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

Per rendere lineare l’equazione (3.3.6) e necessario imporre una trasformazione di coor-

dinate[

ξ, x, w, q, l]moltiplicando per una opportuna matrice8 T1 = diag (I, Q, I, U, I) =

diag (I, P−1, I,M−1, I) a destra e sinistra e cancellare le nonlinearita sostituendo i pro-

dotti di variabili decisionali con nuove variabili, ovvero ponendo H = KQ e X = ΛU .

In questo modo l’equazione (3.3.6) diventa:

He

−12Q AQ Bw (Bq + BLΛ)U 0

0 −12Q 0 0 0

0 0 −12Iw 0 0

0 (Cy + K) Q Dyw (Dyq + DyLΛ− I)U 0

0 CzQ Dzw (Dzq + DzLΛ)U −γ2

2Iz

< 0

ed infine:

He

−12Q AQ Bw BqU + BLX 0

0 −12Q 0 0 0

0 0 −12Iw 0 0

0 CyQ + H Dyw DyqU + DyLX − U 0

0 CzQ Dzw DzqU + DzLX −γ2

2Iz

< 0 (3.3.7)

8M e una matrice diagonale definita positiva, percio U = M−1 e anche essa diagonale definitapositiva.

50

Page 57: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

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

Per quel che riguarda il vincolo di inclusione per la condizione di settore genera-

lizzata, con i passaggi visti in paragrafo 2.3 si perviene all’equazione (2.3.9). Infine

con una trasformazione dello spazio analoga a quella dell’equazione (2.5.7) e ponendo

H = KQ, si ottiene la LMI (3.3.8):

[0 IQ 0

] [P KT

i

Kiui

2

s2

] [0 QI 0

]=

[ui

2

s2 Hi

HTi Q

]≥ 0 ∀i = 1, ..., nu (3.3.8)

Teorema 3.3.1. Guadagno L2 nonlineare per anti-windup statico a tempo

discreto.

Sia H (equazione (3.3.1)) il sistema di controllo anti-windup statico, per ogni s > 0

si definisce:

γ(s) , minQ,U,H,X,γ

γ s.t. (3.3.9)

He

−12Q AQ Bw BqU + BLX 0

0 −12Q 0 0 0

0 0 −12Iw 0 0

0 CyQ + H Dyw DyqU + DyLX − U 0

0 CzQ Dzw DzqU + DzLX −γ2

2Iz

< 0 (3.3.10)

[ui

2

s2 Hi

HTi Q

]≥ 0 ∀i = 1, ..., nu (3.3.11)

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

e non decrescente e risolve il problema 3.1 e Λ = XU−1 e il compensatore ottimo

anti-windup statico che risolve il problema 3.2.

Il teorema 3.3.1 generalizza il teorema 3.2.1 (introducendo la sintesi di Λ) e percio

ha anche le stesse implicazioni (vedasi paragrafo 3.2.1). Inoltre valgono le stesse

osservazioni del teorema9 2.5.1: osservazioni 2.5.1, 2.5.2, 2.5.3 e 2.5.4 particolarizzate

per il teorema 3.2.1.

9Versione per sistemi a tempo continuo del teorema 3.3.1.

51

Page 58: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 3 Analisi e sintesi a tempo discreto §3.4 Minimo guadagno L2 nonlineare

3.4 Minimo guadagno L2 nonlineare

Analogamente a quanto visto nel paragrafo 2.6 per i sistemi a tempo continuo, e

possibile definire il minimo guadagno L2 nonlineare γmin(s) per sistemi anti-windup

a ciclo chiuso a tempo discreto, come il lower bound sul guadagno L2 nonlineare γ(s)

(equazione (3.3.9)). γmin(s) definisce il limite di migliore prestazione ottenibile, ed e

calcolato nel medesimo modo descritto nel paragrafo 2.6 ma sostituendo all’equazione

(2.5.9) l’equazione (3.3.9).

52

Page 59: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Capitolo 4

Sintesi di anti-windup statico atempo continuo con prestazionenonlineare ottimizzata

In questo capitolo vengono presentati due algoritmi per la sintesidi anti-windup statico, Λα1 e Λα2, a tempo continuo con prestazio-ne nonlineare piu performante rispetto al anti-windup statico conprestazione globale Λ (definizione 2.5.1).

4.1 Compensatori Λg (a tempo continuo)

Il compensatore anti-windup statico con prestazione globale Λg (definizione 2.5.1),

garantisce un guadagno L2 del sistema limitato per ogni riferimento (disturbo) w ∈ L2.

Λg e ottenuto dalle matrici X e U ottime, minimizzando l’equazione (2.5.9) con s = ∞.

In virtu dell’osservazione 2.5.1 la seconda LMI (disequazione (2.5.11)) non e mai

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

γ(s)s=∞ , minQ,U,H,X,γ

γ s.t. (4.1.1)

0 > He

AQ Bw BqU + BLX 00 − I

20 0

CyQ + H Dyw DyqU + DyLX − U 0

CzQ Dzw DzqU + DzLX −γ2

2I

53

Page 60: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

4.2 Compensatori Λα (a tempo continuo)

I compensatori statici anti-windup con prestazione globale Λα garantiscono un gua-

dagno L2 del sistema di controllo anti-windup a ciclo chiuso:

I Limitato per ogni riferimento (o disturbo) w.

I Migliore rispetto al guadagno L2 del compensatore globale Λg (equazione (4.1.1))

in quanto sintetizzato con una politica che minimizza la distanza tra minimo

guadagno L2 nonlineare (vedasi paragrafo 2.6) e guadagno L2 nonlineare che

compete al sistema di controllo anti-windup con compensatore Λα.

I metodi di sintesi presentati sfruttano come lower bound il minimo guadagno L2

nonlineare (paragrafo 2.6) e nella fattispecie associano ad ogni sua coppia di valori1

(sk, γmin(sk)) un set di LMI specifico, simile a quello presentato nel teorema 2.5.1,

dipendente dalla variabile decisionale α.

La differenza che caratterizza i due diversi algoritmi risiede nella funzione obiettivo

che ottimizzano e nell’utilizzo della variabile decisionale α.

I Il primo minimizza una variabile scalare α comune a tutti i set di LMI, vincoli

dell’ottimizzazione.

I Il secondo minimizza una funzione obiettivo pari alla somma pesata rispet-

to al guadagno L2 nonlineare, di variabili decisionali αk di cui ogni variabile

caratterizza un solo set di LMI, vincoli dell’ottimizzazione.

1γmin(sk) e il minimo guadagno L2 nonlineare definito nel paragrafo 2.6, per segnali esogeni anorma L2 minore di sk.

54

Page 61: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

4.2.1 Sintesi di anti-windup con algoritmo α1

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

minimizza la variabile scalare α dell’equazione (4.2.1) soggetta ai vincoli definiti nel-

l’equazione (4.2.2) e nell’equazione (4.2.3) i quali contengono, come dati, le coppie di

valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare (paragrafo 2.6). La minimiz-

zazione di α implica una prestazione a ciclo chiuso dovuta a Λα1 quanto piu vicina a

quella del minimo guadagno L2 nonlineare.

Operativamente:

1. Si scelgano Nα punti sk sull’intervallo Is, di cui uno2 in sk = ∞.

2. Si calcoli il minimo guadagno L2 nonlineare γmin(sk), ∀sk ∈ Is.

3. Si minimizzi α (equazione (4.2.1)) nelle variabili α,Qk,Hk,X e U

Teorema 4.2.1. Sintesi Λα1.

Sia H il sistema di controllo anti-windup statico definito nell’equazione (2.5.1), note

le coppie di valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare γmin(s) (vedasi

paragrafo 2.6), si definisce:

αmin , minα,Qk,Hk,X,U

α s.t. (4.2.1)

0 > He

AQk Bw BqU + BLX 00 − I

20 0

CyQk + Hk Dyw DyqU + DyLX − U 0

CzQk Dzw DzqU + DzLX −(1 + α)γ2

min(sk)

2I

(4.2.2)

0 ≤[

ui2

s2k

Hki

HTki

Qk

], ∀i = 1, ..., nu k = 1, ..., Nα (4.2.3)

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

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

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

55

Page 62: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

In figura 4.1 e riportato, a titolo di esempio, il confronto tra il diagramma del

guadagno L2 nonlineare relativo al compensatore Λα1 , il diagramma relativo al com-

pensatore Λg e il minimo guadagno L2 nonlineare per il sistema “aereo F8” la cui

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

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

100

101

102

103

104

101.3

101.4

Guadagno L2 nonlineare su intervallo: [0 4] (valori s) e N

alfa = 20

Compensatore ottimo TC globaleCompensatore ottimo TC per alfa 1Minimo guadagno L

2 nonlineare TC

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

4.2.2 Sintesi di anti-windup con algoritmo α2

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

minimizza la funzione obiettivo∑Nα

k=1 γ2min(sk)αk dell’equazione (4.2.4) soggetta ai

vincoli definiti nell’equazione (4.2.5) e nell’equazione (4.2.6) i quali contengono, come

dati, le coppie di valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare (vedasi

56

Page 63: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

paragrafo 2.6). La minimizzazione di∑Nα

k=1 γ2min(sk)αk implica una prestazione a ciclo

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

Operativamente:

1. Si scelgono Nα punti sk sull’intervallo Is, di cui uno3 in sk = ∞.

2. Si calcola il minimo guadagno L2 nonlineare γmin(sk), ∀sk ∈ Is.

3. Si minimizza la funzione obiettivo∑Nα

k=1 γ2min(sk)αk (equazione (4.2.4)) nelle

variabili αk,Qk,Hk,X e U

Teorema 4.2.2. Sintesi Λα2.

Sia H il sistema di controllo anti-windup statico definito nell’equazione (2.5.1), note

le coppie di valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare, si definisce il

vettore:

αmin , argminαk,Qk,Hk,X,U

Nα∑

k=1

γ2min(sk)αk s.t. (4.2.4)

0 > He

AQk Bw BqU+BLX 00 − I

20 0

CyQk+Hk Dyw DyqU+DyLX − U 0

CzQk Dzw DzqU+DzLX −(1 + αk)γ2

min(sk)

2I

(4.2.5)

0 ≤[

ui2

s2k

Hki

HTki

Qk

], ∀i = 1, ..., nu k = 1, ..., Nα (4.2.6)

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

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

In figura 4.2 e riportato, a titolo di esempio, il confronto tra il diagramma del

guadagno L2 nonlineare relativo al compensatore Λα2 , il diagramma relativo al com-

pensatore Λg e il minimo guadagno L2 nonlineare per il sistema “aereo F8” la cui

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

57

Page 64: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

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

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

100

101

102

103

104

101.3

101.4

101.5

Guadagno L2 nonlineare su intervallo: [0 4] (valori s) e N

alfa = 20

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

2 nonlineare TC

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

4.2.3 Osservazioni

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

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

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

guadagno L2 nonlineare. ¤X

Osservazione 4.2.2. La prestazione ottenuta dai Λα e fortemente influenzata da:

1. Il numero Nα di coppie di valori (sk, γmin(sk)) scelte per effettuare la sintesi.

58

Page 65: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

2. La larghezza dell’intervallo Is su cui si prelevano le coppie di valori (sk, γmin(sk))

scelte per effettuare la sintesi.

¤X

Osservazione 4.2.3. La sintesi di Λ tramite gli algoritmi di cui sopra non previene

i problemi collegati alla massima derivata della soluzione esplicita del loop algebrico4

indotto da v2. Per ridurre questa derivata e necessario introdurre un ulteriore vincolo,

detto vincolo di Lipschitz 5, definito in dettaglio in [9], sufficiente per ridurre tale

derivata massima (costante di Lipschitz). ¤X

Osservazione 4.2.4. In fase di sintesi e necessario annettere all’insieme Is, un punto

in s = ∞. Infatti ad s = ∞ corrisponde una LMI nella formulazione del problema di

ottimizzazione (equazione (4.2.2), equazione (4.2.5)) che vincola la prestazione di Λα

ad essere globale (si vedano la definizione 2.5.1 e l’osservazione 2.5.4). ¤X

4v2 = Λq = Λ(yc − u) = Λ(Ccxc + Dcyy + Dcww + v2 − u)5Per dettagli relativi al vincolo di Lipschitz strettamente attinenti a questi algoritmi vedasi

paragrafo A.6.

59

Page 66: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Capitolo 5

Sintesi di anti-windup statico atempo discreto con prestazionenonlineare ottimizzata

In questo capitolo vengono presentati due algoritmi per la sintesidi anti-windup statico, Λα1 e Λα2, a tempo discreto con presta-zione globale piu performante rispetto al anti-windup statico conprestazione globale Λ (definizione 2.5.1).

5.1 Compensatori Λg (a tempo discreto)

Il compensatore anti-windup statico con prestazione globale Λg (definizione 2.5.1),

garantisce un guadagno L2 del sistema limitato per ogni riferimento (disturbo) w ∈ L2.

Λg e ottenuto dalle matrici X e U ottime, minimizzando l’equazione (3.3.9) con s = ∞.

In virtu dell’osservazione 2.5.1 la seconda LMI (equazione (3.3.11)) non e mai attiva,

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

γ(s)s=∞ , minQ,U,H,X,γ

γ s.t. (5.1.1)

0 > He

−12Q AQ Bw BqU + BLX 0

0 −12Q 0 0 0

0 0 −12Iw 0 0

0 CyQ + H Dyw DyqU + DyLX − U 0

0 CzQ Dzw DzqU + DzLX −γ2

2Iz

< 0

60

Page 67: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

5.2 Compensatori Λα (a tempo discreto)

I compensatori statici anti-windup con prestazione globale Λα garantiscono un gua-

dagno L2 del sistema di controllo anti-windup a ciclo chiuso:

I Limitato per ogni riferimento (o disturbo) w.

I Migliore rispetto al guadagno L2 del compensatore globale Λg (equazione (5.1.1))

in quanto sintetizzato con una politica che minimizza la distanza tra minimo

guadagno L2 nonlineare (vedasi paragrafo 3.4) e guadagno L2 nonlineare che

compete al sistema di controllo anti-windup con compensatore Λα.

I metodi di sintesi presentati sfruttano come lower bound il minimo guadagno L2

nonlineare (paragrafo 3.4) e nella fattispecie associano ad ogni sua coppia di valori1

(sk, γmin(sk)) un set di LMI specifico, simile a quello presentato nel teorema 3.3.1,

dipendente dalla variabile decisionale α.

La differenza che caratterizza i due diversi algoritmi risiede nella funzione obiettivo

che ottimizzano e nell’utilizzo della variabile decisionale α.

I Il primo minimizza una variabile scalare α comune a tutti i set di LMI, vincoli

dell’ottimizzazione.

I Il secondo minimizza una funzione obiettivo pari alla somma pesata rispet-

to al guadagno L2 nonlineare, di variabili decisionali αk di cui ogni variabile

caratterizza un solo set di LMI, vincoli dell’ottimizzazione.

1γmin(sk) e il minimo guadagno L2 nonlineare definito nel paragrafo 3.4, per segnali esogeni anorma L2 minore di sk.

61

Page 68: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

5.2.1 Sintesi di anti-windup con algoritmo α1

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

minimizza la variabile scalare α dell’equazione (5.2.1) soggetta ai vincoli definiti nel-

l’equazione (5.2.2) e nell’equazione (5.2.3) i quali contengono, come dati, le coppie di

valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare (paragrafo 3.4). La minimiz-

zazione di α implica una prestazione a ciclo chiuso dovuta a Λα1 quanto piu vicina a

quella del minimo guadagno L2 nonlineare.

Operativamente:

1. Si scelgano Nα punti sk sull’intervallo Is, di cui uno2 in sk = ∞.

2. Si calcoli il minimo guadagno L2 nonlineare γmin(sk), ∀sk ∈ Is.

3. Si minimizzi α (equazione (5.2.1)) nelle variabili α,Qk,Hk,X e U

Teorema 5.2.1. Sintesi Λα1.

Sia H il sistema di controllo anti-windup statico definito nell’equazione (3.3.1), note

le coppie di valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare γmin(s) (vedasi

paragrafo 3.4), si definisce:

αmin , minα,Qk,Hk,X,U

α s.t. (5.2.1)

0 > He

−12Qk AQk Bw BqU+BLX 00 −1

2Qk 0 0 0

0 0 −12Iw 0 0

0 CyQk+Hk Dyw DyqU+DyLX−U 0

0 CzQk Dzw DzqU+DzLX −(1+α)γ2

min(sk)

2Iz

(5.2.2)

0 ≤[

ui2

s2k

Hki

HTki

Qk

], ∀i = 1, ..., nu k = 1, ..., Nα (5.2.3)

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

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

2Annettere un punto s all’infinito e necessario per garantire la prestazione globale.

62

Page 69: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

5.2.2 Sintesi di anti-windup con algoritmo α2

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

minimizza la funzione obiettivo∑Nα

k=1 γ2min(sk)αk dell’equazione (5.2.4) soggetta ai

vincoli definiti nell’equazione (5.2.5) e nell’equazione (5.2.6) i quali contengono, come

dati, le coppie di valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare (paragra-

fo 3.4). La minimizzazione di∑Nα

k=1 γ2min(sk)αk implica una prestazione a ciclo chiuso

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

Operativamente:

1. Si scelgono Nα punti sk sull’intervallo Is, di cui uno3 in sk = ∞.

2. Si calcola il minimo guadagno L2 nonlineare γmin(sk), ∀sk ∈ Is.

3. Si minimizza la funzione obiettivo∑Nα

k=1 γ2min(sk)αk (equazione (5.2.4)) nelle

variabili αk,Qk,Hk,X e U

Teorema 5.2.2. Sintesi Λα2.

Sia H il sistema di controllo anti-windup statico definito nell’equazione (3.3.1), note

le coppie di valori (sk, γmin(sk)) del minimo guadagno L2 nonlineare, si definisce il

vettore:

3Annettere un punto s all’infinito e necessario per garantire la prestazione globale.

63

Page 70: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

αmin , argminαk,Qk,Hk,X,U

Nα∑

k=1

γ2min(sk)αk s.t. (5.2.4)

0 > He

−12Qk AQk Bw BqU+BLX 00 −1

2Qk 0 0 0

0 0 −12Iw 0 0

0 CyQk+Hk Dyw DyqU+DyLX−U 0

0 CzQk Dzw DzqU+DzLX −(1+αk)γ2

min(sk)

2Iz

(5.2.5)

0 ≤[

ui2

s2k

Hki

HTki

Qk

], ∀i = 1, ..., nu k = 1, ..., Nα (5.2.6)

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

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

5.2.3 Osservazioni

Per gli algoritmi a tempo discreto valgono alcune delle considerazioni a tempo conti-

nuo viste nel precedente capitolo, nello specifico valgono sia l’osservazione 4.2.1 che

l’osservazione 4.2.3, inoltre si osserva che:

Osservazione 5.2.1. La prestazione ottenuta dai Λα e fortemente influenzata da:

1. Il numero Nα di coppie di valori (sk, γmin(sk)) scelte per effettuare la sintesi.

2. La larghezza dell’intervallo Is su cui si prelevano le coppie di valori (sk, γmin(sk))

scelte per effettuare la sintesi.

3. Il tempo di campionamento del sistema di controllo.

¤X

Osservazione 5.2.2. In fase di sintesi e necessario annettere all’insieme Is, un punto

in s = ∞. Infatti ad s = ∞ corrisponde una LMI nella formulazione del problema di

64

Page 71: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Page 72: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Capitolo 6

Simulazioni

In questo capitolo vengono mostrati i risultati degli algoritmi pre-cedentemente presentati su due sistemi dinamici soggetti a satura-zione. Verra mostrato come l’introduzione del compensatore anti-windup recuperi la prestazione persa a causa del windup, garan-tendo proprieta globali, e che i compensatori Λα hanno prestazionimigliori rispetto al compensatore Λg.

6.1 Simulazioni

Validare una teoria con degli esempi e quanto di piu utile per mostrare in modo chiaro

potenzialita e limiti della teoria sviluppata.

Gli algoritmi dei capitolo 4 e capitolo 5 sono stati implementati in ambiente Mat-

Lab con l’ausilio di tool specifici per LMI: tool di interfaccia e definizione (Yalmip)

e tool di risoluzione di problemi di minimizzazione (Se.Du.Mi.), ottenendo un soft-

ware che sintetizza compensatori anti-windup statici. A questa prima parte, di sin-

tesi, si affianca la seconda parte, strettamente simulativa, nella quale il compensato-

re anti-windup statico appena sintetizzato viene inserito in un sistema di controllo

anti-windup e processato in ambiente Simulink (figura 6.1 e figura 6.2).

Il calcolo del guadagno L2 nonlineare dei sistemi di controllo anti-windup

66

Page 73: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 6 Simulazioni §6.1 Simulazioni

Figura 6.1: Schema Simulink per il confronto tra risposte dei sistemi di controllo.

sintetizzati1 segue direttamente dal teorema2 2.4.1 per sistemi a tempo continuo e dal

teorema3 3.2.1 per sistemi a tempo discreto.

Le traiettorie dei sistemi di controllo anti-windup sintetizzati sono simulate dal

modello Simulink di figura 6.1: nello specifico in blocchi la cui struttura e mostra-

ta in figura 6.2a. Come visto nella definizione di controllore non saturato (equazione

(1.4.2)), a fianco all’ingresso uc = y si trovano due ulteriori ingressi (v1, v2, definiti nel-

l’equazione (1.4.7) in generale e nell’equazione (6.1.1) in particolare), provenienti dal

compensatore anti-windup e atti a pilotare il sistema di controllo in zona nonlineare.

v = Λq =

v1 = Λ1q : Λ1 ∈ Rnc×nu

v2 = Λ2q : Λ2 ∈ Rnu×nu(6.1.1)

1Schema di controllo in figura 1.4 e figura 6.2, in cui il blocco Λ =[Λ1

Λ2

]e sostituito rispettivamente

da Λg, Λα1 e Λα2 .2Nello specifico dall’osservazione 2.5.3 e dall’osservazione 2.4.2.3Nello specifico dall’osservazione 2.5.3 e dall’osservazione 2.4.2 particolarizzate per sistemi a

tempo discreto.

67

Page 74: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 6 Simulazioni §6.1 Simulazioni

q

u

v2

v1

yc

y

1

plant

plant

Saturation

Lambda _2K*u

Lambda _1

K*u

Dead Zone

Controller

y −r

v 1y _controllore

r

1

(a) Sistema di controllo anti-windup con compensatore Λα2 .

(b) Schema equivalente H: modello con deadzone.

Figura 6.2: Schema Simulink di ciclo chiuso con anti-windup.

Ovviamente in assenza di anti-windup, v1 e v2 sono nulli.

Il modello Simulink di figura 6.1, inoltre, simula le traiettorie del sistema non

saturato (figura 1.2) e del sistema saturato (figura 1.3): in questo modo si hanno a

disposizione le traiettorie del sistema (uscite misurate e ingresso di controllo) necessa-

rie per una valutazione qualitativa della bonta dei compensatori sintetizzati ottenuta

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

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

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

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

un recupero, seppur parziale, della prestazione persa a causa del windup.

I modelli utilizzati fanno uso di uscite di prestazione progettate ad hoc:

1. per il sistema massa molla smorzatore ([4], [8]) si vuole garantire il tracking della

massa, percio viene implementata come uscita di prestazione da minimizzare,

l’errore tra la traiettoria di riferimento e la posizione della massa;

68

Page 75: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

2. per il sistema aereo F8 ([3], [7]) si vuole ridurre il degrado di prestazione dovuto

all’overshoot e al settling time dell’angolo di pitch, percio viene implementata co-

me uscita di prestazione da minimizzare, l’errore sull’angolo e sull’accelerazione

angolare del pitch.

Queste uscite sono utili in fase di sintesi del compensatore, meno in fase simulativa,

ragion per cui di seguito vengono riportate solo le risposte nel tempo relative alle uscite

misurate y (e non quelle relative alle uscite di prestazione z).

6.2 Esempio 1: sistema massa molla smorzatore

(TC)

Figura 6.3: Sistema massa molla smorzatore.

Si consideri l’equazione del moto di un sistema massa-molla smorzatore (figura 6.3)

descritta dal sistema dinamico:

xp =

[0 1

− km

− fm

]xp +

[01m

]up (6.2.1)

yp =[1 0

]xp (6.2.2)

Dove xp ,[q q

]Trappresenta la posizione e la velocita della massa m connessa alla

molla di costante elastica k, f il coefficiente di smorzamento e up il forzamento esterno

F esercitato sulla massa. A questo sistema fisico si associa il sistema dinamico, la cui

69

Page 76: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

struttura e formalizzata nell’equazione (1.4.1), descritto dalle matrici:

Ap Bpu Bpw

Cpy Dpyu Dpyw

Cpz Dpzu Dpzw

=

0 1 0 0−6.667 −0.007 8.333 0−1 0 0 0−1 0 0 1

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

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

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

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

funzione a gradini figura 6.4.

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

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

matrici:

[Ac Bcu Bcw

Cc Dcu Dcw

]=

−2.5 0 0 0 1.5811193.65 −80 19.365 122.47 0

50 0 0 31.623 0316.23 −122.47 31.623 200 0

70

Page 77: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

6.2.1 Guadagno L2 nonlineare e risposta nel tempo

Sintesi di Λ

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

problema di ottimizzazione dato dell’equazione (4.1.1):

Λg =

−0.620410.711998.94420.80889

Per quel che riguarda il calcolo dei compensatori Λα l’algoritmo e piu comples-

so. Scelti Nα = 20 valori di s, di cui Nα − 1 nell’intervallo4 Is = [10−3; 103] e

uno5 in s = ∞, si calcola il relativo minimo guadagno L2 nonlineare (paragrafo

2.6). Questo e l’ingrediente base per il calcolo dei compensatori Λα, i quali sono ot-

tenuti risolvendo rispettivamente i problemi di minimo definiti nell’equazione (4.2.1)

e nell’equazione (4.2.4):

Λα1 =

−0.443390.453216.25530.81083

Λα2 =

−0.636470.72699.166

0.80042

Guadagno L2 nonlineare

In figura 6.5 e riportato il diagramma dei guadagni nonlineari (Minimo e relativo ai

sistemi anti-windup con Λg, Λα1 e Λα2) su un intervallo Is ragionevole, che mostra,

come ci si aspettava, che:

1. Il minimo guadagno L2 nonlineare sottende i guadagni nonlineari di tutti i

sistemi di controllo anti-windup sintetizzati6.

4Significa scegliere Nα − 1 valori di s logaritmicamente equispaziati su un intervallo Is, e perognuno associare il vincolo di prestazione garantita ∀w : ‖w‖2 < s.

5La necessita di introdurre un punto in s = ∞ e giustificata nel paragrafo 4.2.3.6γmin(·) e il Lower bound.

71

Page 78: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

2. I tre compensatori sintetizzati hanno prestazione globale garantita7.

3. I due compensatori Λα hanno una prestazione garantita non peggiore8 di Λg

nella zona di interesse.

10−3

10−2

10−1

100

101

102

103

100

101

102

103

Guadagno L2 nonlineare su intervallo: [−3 3] (valori s) e N

alfa = 20

Minimo guadagno L2 nonlineare TC

Compensatore ottimo TC per alfa 1Compensatore ottimo TC per alfa 2Compensatore ottimo TC globale

Figura 6.5: Sistema massa molla smorzatore. Diagramma del minimo guadagno L2

nonlineare (celeste), del guadagno L2 nonlineare relativo a Λg (rosso), a Λα1 (verde)e a Λα2 (blu): i due compensatori Λα hanno una prestazione garantita globale nonpeggiore (non piu grande) di Λg nella zona di interesse. Nello specifico Λα2 (blu)ha guadagno L2 praticamente identico al Λg (rosso); Λα1 (verde) e leggermente piupiccolo nell’intervallo di interesse.

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

72

Page 79: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

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

e α: infatti, essendo variabile di minimizzazione, tanto piu e piccola α, tanto piu

i guadagni L2 nonlineari relativi a Λα1 e a Λα2 sono vicini al minimo guadagno L2

nonlineare.

Nello specifico, per la coppia (Nα, Is) = (20, [10−3; 103]) scelta i valori minimi

calcolati sono rispettivamente:

α1 = 6.891 α2 =

0.0559690.0970030.839344.88269.37286.8013.59161.85140.959590.48750.23190.097590.0334160.00800410.000884280.000185450.000834720.00140560.00171560.0021667

Risposta nel tempo

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

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

25 sec. fornisce le traiettorie rappresentate in figura 6.6.

L’introduzione della saturazione sull’ingresso di controllo provoca il windup del

sistema, che come mostrato in figura 6.7 genera un’evidente fenomeno oscillatorio che

causa la perdita di stabilita.

73

Page 80: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

0 5 10 15 20 25−1

−0.5

0

0.5

1

Ou

tpu

t

[TC] Traiettorie unconstrained del sistema

y1 unconstrained

0 5 10 15 20 25−10

−5

0

5

10

Time (s)

Inp

ut

u1 unconstrained

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

0 5 10 15 20 25−30

−20

−10

0

10

20

30

Ou

tpu

t

[TC] Traiettorie saturate VS unconstrained del sistema

y1 constrained

0 5 10 15 20 25−10

−5

0

5

10

Time (s)

Inp

ut

u1 constrained

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

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

stazione persa e soprattutto garantire la stabilita asintotica persa nell’introduzione

della saturazione.

74

Page 81: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

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

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

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

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

mente, tra i sistemi anti-windup.

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

seppur piu lentamente di Λα1 .

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

piu velocemente del non saturato.

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

quella del compensatore Λg.

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

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

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

sec.

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

praticamente identico.

75

Page 82: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

05

1015

2025

−1

−0.

8

−0.

6

−0.

4

−0.

20

0.2

0.4

0.6

0.81

Con

fron

to tr

a ris

post

e in

usc

ita [T

C]

y 1 glo

bale

y 1 α1

y 1 α2

y 1 unc

onst

rain

ed

Fig

ura

6.8:

Ris

pos

tain

usc

ita

per

ilsi

stem

anon

satu

rato

(cel

este

)e

per

isi

stem

idico

ntr

ollo

anti

-win

dup

con

com

pen

sato

reΛ

g(r

osso

),Λ

α1

(ver

de)

α2

(blu

)del

sist

ema

mas

sam

olla

smor

zato

rea

cicl

och

iuso

.R

ifer

imen

to(p

unti

nat

o).

Λα

1e

Λα

2

sono

sinte

tizz

atisu

=20

punti

,I s

=[1

0−3;1

03].

76

Page 83: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

05

1015

2025

−10−

8

−6

−4

−20246810

Con

fron

to tr

a se

gnal

i di c

ontr

ollo

[TC

]

u 1 glo

bale

u 1 α1

u 1 α2

u 1 unc

onst

rain

ed

Fig

ura

6.9:

Seg

nal

edi

contr

ollo

per

ilsi

stem

anon

satu

rato

(cel

este

)e

per

isi

stem

idi

contr

ollo

anti

-win

dup

con

com

-pen

sato

reΛ

g(r

osso

),Λ

α1

(ver

de)

α2

(blu

)del

sist

ema

mas

sam

olla

smor

zato

rea

cicl

och

iuso

.Liv

elli

di

satu

razi

one

(punti

nat

o).

Λα

1e

Λα

2so

no

sinte

tizz

atisu

=20

punti

,I s

=[1

0−3;1

03].

77

Page 84: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Le traiettorie del compensatore anti-windup globale Λg sono riportate in figu-

ra 6.10. Le traiettorie del compensatore anti-windup globale Λα1 sono riportate in

0 5 10 15 20 25−1

−0.5

0

0.5

1O

utp

ut

[TC] Traiettorie AW globale VS unconstrained del sistema

y1

AWg

0 5 10 15 20 25−10

−5

0

5

10

Time (s)

Inp

ut

u1

AWg

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

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

in figura 6.12.

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

e α: per la coppia (Nα, Is) = (20, [10−3; 103]) scelta i valori minimi calcolati sono

rispettivamente:

α1 = 6.891 sup α2 = 9.3728

Quindi il compensatore che nell’intervallo Is ha migliore prestazione nonlineare e Λα1 .

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

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

|w| = 3.873 al sistema di controllo anti-windup (figura 6.1) per T = 25 secondi.

78

Page 85: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

0 5 10 15 20 25−1

−0.5

0

0.5

1

Ou

tpu

t

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

y1

AW a1

0 5 10 15 20 25−10

−5

0

5

10

Time (s)

Inp

ut

u1

AW a1

Figura 6.11: Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e nonsaturato (tratteggiato) del sistema massa molla smorzatore a ciclo chiuso. Il com-pensatore anti-windup Λα1 e stato sintetizzato risolvendo l’equazione (4.2.1) e garan-tisce stabilita e prestazione globale. Λα1 e leggermente piu veloce di Λg. Livelli disaturazione sull’ingresso (puntinato) attivi.

0 5 10 15 20 25−1

−0.5

0

0.5

1

Ou

tpu

t

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

y1

AW a2

0 5 10 15 20 25−10

−5

0

5

10

Time (s)

Inp

ut

u1

AW a2

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

79

Page 86: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

6.3 Esempio 2: sistema aereo F8 (TC)

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

dinamico:

A =

−0.8 −0.0006 −12 00 −0.014 −16.64 −32.21 −0.0001 −1.5 01 0 0 0

Bpu =

−19 −3−0.66 −0.5−0.16 −0.5

0 0

Cpy =

[0 0 0 10 0 −1 1

]Dpyu =

[0 00 0

]

Bpw = 04x2 Dpzu = Dpyw = 02x2

Cpz =

[0 0 0 3

4

−0.8 −0.0006 −12 0

]Dpzw =

[−34

00 0

]

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

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

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

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

non saturato a ciclo chiuso, ottenuto con tecnica LQG/LTR, e descritto dalle matrici:

Ac =

[Aa + BaG−HCa 0

G 0

]Bcy = −Bcw =

[H0

]

Cc =[0 I

]Dcy = Dcw = 02x2

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

HT =

[−0.844 −11.54 −0.86 −47.4 4.68 4.820.819 13.47 0.25 15 −4.8 0.14

]

G =

[−52.23 −3.36 73.1 −0.0006 −94.3 1072−3.36 −29.7 −2.19 −0.006 908.9 −921

]

80

Page 87: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Aa =

[0 0

Bpu Ap

]Ba =

[I2

04x2

]Ca =

[02x2 Cpyu

]

6.3.1 Guadagno L2 nonlineare e risposta nel tempo

Sintesi di Λ

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

problema di ottimizzazione dato dell’equazione (4.1.1):

Λg =

−3826.09 2412.3714817.27 −16488.92

26.15 −72.96−55138.10 −106842.72−3.17 −16.86−79.13 −21.80−3843.96 2403.2714782.24 −16468.96−5.37 3.963.53 −5.71

Per quel che riguarda il calcolo dei compensatori Λα l’algoritmo e piu complesso.

Scelti Nα = 20 valori di s, di cui Nα − 1 nell’intervallo9 Is = [100; 104] e uno10

in s = ∞, si calcola il relativo minimo guadagno L2 nonlineare (paragrafo 2.6).

Questo e l’ingrediente base per il calcolo dei compensatori Λα, i quali sono otte-

nuti risolvendo rispettivamente i problemi di minimo definiti nell’equazione (4.2.1) e

nell’equazione (4.2.4):

9Significa scegliere Nα − 1 valori di s logaritmicamente equispaziati su un intervallo Is, e perognuno associare il vincolo di prestazione garantita ∀w : ‖w‖2 < s.

10La necessita di introdurre questo punto e giustificata nel paragrafo 4.2.3.

81

Page 88: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Λα1 =

−86.22 15.01133.87 −125.226.71 −1.39

105.43 19.37−0.96 −0.13−4.96 −0.20−86.64 14.88133.42 −125.97−0.12 0.233.49 −0.07

Λα2 =

−30.58 1.4379.92 −17.224.83 0.1918.72 1.040.02 0.04−1.44 −0.07−30.71 1.4278.73 −17.390.75 0.02−0.35 0.75

Guadagno L2 nonlineare

In figura 6.13 e riportato il diagramma dei guadagni nonlineari (Minimo e relativo ai

sistemi anti-windup con Λg, Λα1 e Λα2 .) su un intervallo Is ragionevole, che mostra,

come ci si aspettava, che:

1. Il minimo guadagno L2 nonlineare sottende i guadagni nonlineari di tutti i

sistemi di controllo anti-windup sintetizzati11.

2. I tre compensatori sintetizzati hanno prestazione globale garantita12.

3. I due compensatori Λα hanno una prestazione garantita migliore13 di Λg nella

zona di interesse.

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

e α: infatti, essendo variabile di minimizzazione, tanto piu e piccola α, tanto piu

i guadagni L2 nonlineari relativi a Λα1 e a Λα2 sono vicini al minimo guadagno L2

nonlineare.

Nello specifico, per la coppia (Nα, Is) = (20, [100; 104]) scelta i valori minimi

calcolati sono rispettivamente:

11γmin(·) e il Lower bound.12Linea orizzontale tratteggiata, pari al guadagno L2 dei compensatori Λ, ottenuto per s = ∞.13Per prestazione garantita migliore si intende un guadagno L2 piu piccolo.

82

Page 89: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

100

101

102

103

104

101.3

101.4

101.5

Guadagno L2 nonlineare su intervallo: [0 4] (valori s) e N

alfa = 20

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

2 nonlineare TC

Figura 6.13: Sistema aereo F8 a tempo continuo. Diagramma del minimo guadagnoL2 nonlineare (celeste), del guadagno L2 nonlineare relativo a Λg (rosso), a Λα1 (verde)e a Λα2 (blu): i due compensatori Λα hanno una prestazione garantita globale migliore(piu piccola) di Λg nella zona di interesse.

α1 = 0.4719 α2 =

0.868730.947171.09221.28271.49431.72712.01161.98221.62571.47011.42271.40521.37521.34141.3161.2931.27781.26

1.24891.2355

83

Page 90: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Risposta nel tempo

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

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

5 sec. fornisce le traiettorie rappresentate in figura 6.14.

−1 0 1 2 3 4 5−2

0

2

4

6

8

10

12

Ou

tpu

t

[TC] Traiettorie unconstrained del sistema

y1 unconstrained

y2 unconstrained

−1 0 1 2 3 4 5−40

−20

0

20

40

60

80

Time (s)

Inp

ut

u1 unconstrained

u2 unconstrained

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

L’introduzione della saturazione sull’ingresso di controllo provoca il windup del

sistema, che come mostrato in figura 6.15 produce overshoot inaccettabili, ovvero-

sia una perdita di prestazione che impedisce il soddisfacimento di tutte le specifiche

richieste nel sistema di controllo non saturato.

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

prestazione persa nell’introduzione della saturazione limitando overshoot e fenomeni

oscillatori che rallentano l’uscita.

In figura 6.16 e riportato il confronto tra risposta in uscita per il sistema non

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

84

Page 91: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

−1 0 1 2 3 4 5−5

0

5

10

15

Ou

tpu

t

[TC] Traiettorie saturate VS unconstrained del sistema

y1 constrained

y2 constrained

−1 0 1 2 3 4 5−40

−20

0

20

40

60

80

Time (s)

Inp

ut

u1 constrained

u2 constrained

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

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

sec.

I Il compensatore Λα2 produce la risposta in uscita che converge piu veloce-

mente, tra i sistemi anti-windup, e in generale si comporta meglio durante tutto

l’intervallo di simulazione nonostante il diagramma dei guadagni L2 di figu-

ra 6.13 promuova Λα1 come migliore compensatore. Questa incongruenza e solo

apparente, infatti il diagramma di figura 6.13 identifica la stima minima del

guadagno L2 da w a z (un upper bound sul vero guadagno L2 del sistema) cioe

rappresenta una misura conservativa di prestazione, una sovrastima.

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

seppur piu lentamente di Λα2 .

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

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

85

Page 92: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

prestazione globale di Λg.

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

mente del non saturato.

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

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

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

T=5 sec.

86

Page 93: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

−1

01

23

45

−2024681012

Con

fron

to tr

a ris

post

e in

usc

ita [T

C]

y 1 glo

bale

y 1 α1

y 1 α2

y 1 unc

onst

rain

ed

−1

01

23

45

−2024681012

y 2 glo

bale

y 2 α1

y 2 α2

y 2 unc

onst

rain

ed

Fig

ura

6.16

:R

ispos

tein

usc

ita

per

ilsi

stem

anon

satu

rato

(cel

este

)e

per

isi

stem

idico

ntr

ollo

anti

-win

dup

con

com

pen

-sa

tore

Λg

(ros

so),

Λα

1(v

erde)

α2

(blu

)del

sist

ema

aere

oF8

aci

clo

chiu

so.

Rifer

imen

to(p

unti

nat

o).

Λα

1e

Λα

2so

no

sinte

tizz

atisu

=20

punti

,I s

=[1

00;1

04].

87

Page 94: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

−1

01

23

45

−40

−30

−20

−100102030

Con

fron

to tr

a se

gnal

i di c

ontr

ollo

[TC

]

u 1 glo

bale

u 1 α1

u 1 α2

u 1 unc

onst

rain

ed

−1

01

23

45

−40

−20020406080

u 2 glo

bale

u 2 α1

u 2 α2

u 2 unc

onst

rain

ed

Fig

ura

6.17

:Seg

nal

idico

ntr

ollo

per

ilsi

stem

anon

satu

rato

(cel

este

)e

per

isi

stem

idico

ntr

ollo

anti

-win

dup

con

com

-pen

sato

reΛ

g(r

osso

),Λ

α1

(ver

de)

α2

(blu

)del

sist

ema

aere

oF8

aci

clo

chiu

so.

Liv

elli

disa

tura

zion

e(p

unti

nat

o).

Λα

1e

Λα

2so

no

sinte

tizz

atisu

=20

punti

,I s

=[1

00;1

04].

88

Page 95: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Le traiettorie del compensatore anti-windup globale Λg sono riportate in figu-

ra 6.18. Le traiettorie del compensatore anti-windup globale Λα1 sono riportate in

−1 0 1 2 3 4 5−2

0

2

4

6

8

10

12O

utp

ut

[TC] Traiettorie AW globale VS unconstrained del sistema

y1

AWg

y2

AWg

−1 0 1 2 3 4 5−40

−20

0

20

40

60

80

Time (s)

Inp

ut

u1

AWg

u2

AWg

Figura 6.18: Traiettorie del sistema di controllo anti-windup globale (continuo) enon saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-windup globale e stato sintetizzato risolvendo l’equazione (4.1.1) e garantisce stabilitae prestazione globale. Livelli di saturazione sull’ingresso (puntinato) attivi.

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

in figura 6.20.

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

e α: per la coppia (Nα, Is) = (20, [100; 104]) scelta i valori minimi calcolati sono

rispettivamente:

α1 = 0.4719 sup α2 = 2.0116

Quindi il compensatore che nell’intervallo Is ha migliore prestazione nonlineare e Λα1 .

Ciononostante applicando il riferimento sopra definito con |w| = 31.6228 e simulando

89

Page 96: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

−1 0 1 2 3 4 5−2

0

2

4

6

8

10

12

Ou

tpu

t

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

y1

AW a1

y2

AW a1

−1 0 1 2 3 4 5−40

−20

0

20

40

60

80

Time (s)

Inp

ut

u1

AW a1

u2

AW a1

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

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

all’istante T = 5 secondi e:

Tipo di Sistema di controllo y1(T ) y2(T )non saturato 0.13897 0.11792

Saturato 0.14034 0.17139anti-windup Globale 0.61925 0.54214

anti-windup α1 0.37337 0.32777anti-windup α2 0.1301 0.11329

Cio mostra (y1α2= 0.1301 e y2α2

= 0.11329) che per questo riferimento specifico

il compensatore che si comporta meglio e Λα2 .

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

90

Page 97: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

−1 0 1 2 3 4 5−2

0

2

4

6

8

10

12

Ou

tpu

t

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

y1

AW a2

y2

AW a2

−1 0 1 2 3 4 5−40

−20

0

20

40

60

80

Time (s)

Inp

ut

u1

AW a2

u2

AW a2

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

91

Page 98: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

6.4 Esempio 3: sistema aereo F8 (TD)

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

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

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

esogeno w ∈ R2 e il riferimento che per gli esempi che seguono e stato fissato a [10; 10]

gradi.

6.4.1 Guadagno L2 nonlineare e risposta nel tempo

Sintesi di Λ

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

problema di ottimizzazione dato dall’equazione (5.1.1):

Λg =

−0.76192 0.123582.7703 −0.92341

0.071102 −0.0019517−11.445 −7.1932−0.012692 0.0032274−0.018129 −0.001616−0.76624 0.122782.7662 −0.922330.40489 0.106411.7191 0.40486

Per quel che riguarda il calcolo dei compensatori Λα l’algoritmo e piu complesso.

Scelti Nα = 10 valori di s, di cui Nα − 1 nell’intervallo15 Is = [101.5; 103] e uno16 in

s = ∞, si calcola il relativo minimo guadagno L2 nonlineare (paragrafo 3.4). Questo

e l’ingrediente base per il calcolo dei compensatori Λα, i quali sono ottenuti risolvendo

rispettivamente i problemi di minimo equazione (5.2.1) ed equazione (5.2.4):

15Significa scegliere Nα − 1 valori di s logaritmicamente equispaziati su un intervallo Is, e perognuno associare il vincolo di prestazione garantita ∀w : ‖w‖2 < s.

16La necessita di introdurre questo punto e giustificata nel paragrafo 5.2.3.

92

Page 99: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Λα1 =

−0.52875 0.0803371.0201 −0.59791

0.071419 −0.00317980.97843 0.09477

−0.0034853 0.0010226−0.022482 −0.0004093−0.53167 0.0796871.0379 −0.602840.24602 0.154712.2459 0.24192

Λα2 =

−0.5247 0.0762911.0009 −0.57733

0.077147 −0.00468251.0546 0.15103

−0.0070692 0.0015498−0.023472 −0.00025436−0.52815 0.075486

1.015 −0.579960.12441 0.175782.924 0.1218

Guadagno L2 nonlineare

In figura 6.21 e riportato il diagramma dei guadagni nonlineari (Minimo e relativo ai

sistemi anti-windup con Λg, Λα1 e Λα2) su un intervallo Is ragionevole, che mostra,

come ci si aspettava, che:

1. Il minimo guadagno L2 nonlineare sottende i guadagni nonlineari di tutti i

sistemi di controllo anti-windup sintetizzati17.

2. I tre compensatori sintetizzati hanno prestazione globale garantita18.

3. I due compensatori Λα hanno una prestazione garantita migliore di Λg nella

zona di interesse.

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

e α: infatti, essendo variabile di minimizzazione, tanto piu e piccola α, tanto piu

i guadagni L2 nonlineari relativi a Λα1 e a Λα2 sono vicini al minimo guadagno L2

nonlineare.

Nello specifico, per la coppia (Nα, Is) = (10, [101.5; 103]) scelta i valori minimi

calcolati sono rispettivamente:

17γmin(·) e il Lower bound.18Linea orizzontale tratteggiata, pari al guadagno L2 dei compensatori Λ, ottenuto per s = ∞.

93

Page 100: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

102

103

101.2

101.3

101.4

101.5

101.6

Guadagno L2 nonlineare su intervallo: [1.5 3] (valori s) e N

alfa = 10

Compensatore ottimo TD globaleCompensatore ottimo TD per alfa 1Compensatore ottimo TD per alfa 2Minimo guadagno L

2 nonlineare TD

Figura 6.21: Sistema aereo F8 a tempo discreto. Diagramma del minimo guadagno L2

nonlineare (celeste), del guadagno L2 nonlineare relativo a Λg (rosso), a Λα1 (verde)e a Λα2 (blu): i due compensatori Λα hanno una prestazione garantita migliore (piupiccola) di Λg nell’intervallo di interesse.

α1 = 0.32433 α2 =

0.00558550.0193740.105510.181830.272880.335180.202660.148570.143260.29612

Risposta nel tempo

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

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

su 5 sec fornisce le traiettorie rappresentate in figura 6.22. L’introduzione della satu-

razione sull’ingresso di controllo causa il windup del sistema, che come mostrato in

94

Page 101: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

−1 0 1 2 3 4 50

2

4

6

8

10

12

Ou

tpu

t

[TD] Traiettorie unconstrained del sistema

y1 unconstrained

y2 unconstrained

−1 0 1 2 3 4 5−40

−20

0

20

40

60

80

Time (s)

Inp

ut

u1 unconstrained

u2 unconstrained

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

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

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

non saturato.

−1 0 1 2 3 4 50

2

4

6

8

10

12

14

Ou

tpu

t

[TD] Traiettorie saturate VS unconstrained del sistema

y1 constrained

y2 constrained

−1 0 1 2 3 4 5−40

−20

0

20

40

60

80

Time (s)

Inp

ut

u1 constrained

u2 constrained

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

95

Page 102: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

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

prestazione persa nell’introduzione della saturazione limitando overshoot e fenomeni

oscillatori che rallentano l’uscita.

In figura 6.24 e riportato il confronto tra risposta in uscita per il sistema non

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

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

sec.

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

mente, tra i sistemi anti-windup, e in generale si comporta meglio durante tutto

l’intervallo di simulazione.

I Il compensatore Λα2 produce una risposta in uscita migliore di Λg, seppur piu

lenta di Λα1 .

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

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

prestazione globale.

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

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

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

sec.

96

Page 103: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

−1

01

23

45

024681012C

onfr

onto

tra

rispo

ste

in u

scita

[TD

]

y 1 glo

bale

y 1 α1

y 1 α2

y 1 unc

onst

rain

ed

−1

01

23

45

024681012

y 2 glo

bale

y 2 α1

y 2 α2

y 2 unc

onst

rain

ed

Fig

ura

6.24

:R

ispos

tein

usc

ita

per

ilsi

stem

anon

satu

rato

(cel

este

)e

per

isi

stem

idico

ntr

ollo

anti

-win

dup

con

com

pen

-sa

tore

Λg

(ros

so),

Λα

1(v

erde)

α2

(blu

)del

sist

ema

aere

oF8

aci

clo

chiu

so.

Rifer

imen

to(p

unti

nat

o).

Λα

1e

Λα

2so

no

sinte

tizz

atisu

=10

punti

,I s

=[1

01.5;1

03].

97

Page 104: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

−1

01

23

45

−40

−30

−20

−100102030

Con

fron

to tr

a se

gnal

i di c

ontr

ollo

[TD

]

u 1 glo

bale

u 1 α1

u 1 α2

u 1 unc

onst

rain

ed

−1

01

23

45

−40

−20020406080

u 2 glo

bale

u 2 α1

u 2 α2

u 2 unc

onst

rain

ed

Fig

ura

6.25

:Seg

nal

edico

ntr

ollo

per

ilsi

stem

anon

satu

rato

(cel

este

)e

per

isi

stem

idico

ntr

ollo

anti

-win

dup

con

com

-pen

sato

reΛ

g(r

osso

),Λ

α1

(ver

de)

α2

(blu

)del

sist

ema

aere

oF8

aci

clo

chiu

so.

Rifer

imen

to(p

unti

nat

o).

Λα

1e

Λα

2so

no

sinte

tizz

atisu

=10

punti

,I s

=[1

01.5;1

03].

98

Page 105: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Le traiettorie del compensatore anti-windup globale Λg sono riportate in figu-

ra 6.26. Le traiettorie del compensatore anti-windup globale Λα1 sono riportate in

−1 0 1 2 3 4 50

2

4

6

8

10

12O

utp

ut

[TD] Traiettorie AW globale VS unconstrained del sistema

y1

AWg

y2

AWg

−1 0 1 2 3 4 5−40

−20

0

20

40

60

80

Time (s)

Inp

ut

u1

AWg

u2

AWg

Figura 6.26: Traiettorie del sistema di controllo anti-windup globale (continuo) enon saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il compensatore anti-windup globale e stato sintetizzato risolvendo l’equazione (5.1.1) e garantisce stabilitae prestazione globale. Livelli di saturazione sull’ingresso (puntinato) attivi.

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

in figura 6.28.

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

e α: per la coppia (Nα, Is) = (10, [101.5; 103]) scelta i valori minimi calcolati sono

rispettivamente:

α1 = 0.32433 sup α2 = 0.33518

Quindi il compensatore che nell’intervallo Is ha migliore prestazione nonlineare e

Λα1 . Cio e avvalorato dalla simulazione, infatti applicando il riferimento sopra definito

con |w| = 31.6228 e processando il sistema di controllo anti-windup (figura 6.1), il

99

Page 106: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

−1 0 1 2 3 4 50

2

4

6

8

10

12

Ou

tpu

t

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

y1

AW a1

y2

AW a1

−1 0 1 2 3 4 5−40

−20

0

20

40

60

80

Time (s)

Inp

ut

u1

AW a1

u2

AW a1

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

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

e:

Tipo di Sistema di controllo y1(T ) y2(T )non saturato 0.13874 0.11771

Saturato 0.14107 0.17396anti-windup Globale 0.65542 0.57444

anti-windup α1 0.3209 0.28088anti-windup α2 0.47753 0.42032

Cio mostra (y1α1= 0.3209 e y2α1

= 0.28088) che per questo riferimento specifico

il compensatore che si comporta meglio e Λα1 .

100

Page 107: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

−1 0 1 2 3 4 50

2

4

6

8

10

12

Ou

tpu

t

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

y1

AW a2

y2

AW a2

−1 0 1 2 3 4 5−40

−20

0

20

40

60

80

Time (s)

Inp

ut

u1

AW a2

u2

AW a2

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

101

Page 108: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Capitolo 7

Conclusioni e sviluppi futuri

In questo lavoro di tesi sono state presentate varie soluzioni (algoritmi α) al problema

dell’anti-windup statico con prestazione nonlineare garantita, sia per sistemi a tempo

continuo che per sistemi a tempo discreto, con lo scopo di migliorare le performance

ottenute con algoritmi per la sintesi di anti-windup statico globale Λg gia esistenti in

letteratura.

Gli algoritmi α sono stati implementati in un software in ambiente Matlab specifico

per la progettazione automatica di anti-windup statico con prestazione nonlineare,

che sintetizza il compensatore Λα a partire dalle matrici di sistema di processo e

controllore, e dai parametri progettuali (Nα, Is).

I compensatori Λα1 e Λα2 sintetizzati hanno sempre comportamento migliore

rispetto a Λg nell’intervallo di interesse e assicurano guadagno L2 ingresso/uscita

globale finito; ed e questo l’aspetto originale e rilevante della tesi: compensatori statici

di semplice progettazione, realizzazione fisica e impianto nel sistema di controllo pre-

esistente, con prestazioni migliori rispetto allo stato dell’arte.

Tutti gli algoritmi presentati sono stati sottoposti a verifiche simulative che hanno

avuto esito positivo; un ulteriore passo in avanti in questo lavoro potrebbe essere la

verifica sperimentale della validita dei risultati ottenuti su impianti sotto-dimensionati

102

Page 109: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. 7 Conclusioni e sviluppi futuri

esistenti e l’ampliamento delle tecniche α anche per compensatori anti-windup lineari

dinamici con prestazione nonlineare garantita.

103

Page 110: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Appendice A

Strumenti Matematici

A.1 Nomenclatura generale

Definizione A.1.1. Una matrice quadrata simmetrica M = MT ∈ Rn×n e definita

positiva, indicata con M > 0, se ∀x ∈ Rn, x 6= 0 vale xT Mx > 0

Definizione A.1.2. He(A) = A + AT

A.2 Norma L2 e Spazio L2

Sia y(t) ∈ Rn un segnale definito t ≥ 0, allora l’energia ‖y(·)‖2 di y(t), detta norma

L2 di y(t), e data da:

‖y(·)‖2 =

√∫ ∞

0

y(t)T y(t)dt. (A.2.1)

quandunque l’integrale converga (cioe ‖y(·)‖2 < ∞).

Affiche ‖y(·)‖2 < ∞, e necessario che y(t) sia una funzione convergente: quindi

ogni segnale ad energia finita si annulla asintoticamente1 (non vale l’implica-

zione al contrario); inoltre a segnali con una energia minore (ovvero con una ‖y(·)‖2

piu piccola) corrisponde una maggiore la velocita di convergenza del segnale a zero.

1Questo e vero sotto alcune lievi ipotesi di regolarita su y(·).

104

Page 111: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

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

ad energia finita.

y(t) ∈ L2 ⇔ ‖y(·)‖2 =

√∫ ∞

0

y(t)T y(t)dt < ∞

A.3 Guadagno L2 ingresso/uscita

Sia P un sistema lineare stabile asintoticamente:

P :

x = Ax + Bwz = Cx + Dw

(A.3.1)

Se l’ingresso w(·) e una funzione appartenente allo spazio L2 allora la risposta in uscita

z(·) a partire dallo stato iniziale nullo x(0) = 0 del sistema P (equazione (A.3.1))

appartiene anch’essa allo spazio L2 (Per maggiori dettagli si veda lemma III.2 in [6]).

Quindi ha senso, poiche e limitato, considerare il rapporto:√∫∞0

z(t)T z(t)dt√∫∞

0w(t)T w(t)dt

=‖z(·)‖2

‖w(·)‖2

(A.3.2)

L’estremo superiore dell’insieme dei valori assunti da tale rapporto al variare dell’in-

gresso w(·) ∈ L2 prende nome di guadagno L2 ingresso/uscita del sistema da w a z,

denominato piu brevemente ‖P‖2, ed e dato da:

‖P‖2 , sup‖w(·)‖2=1

‖z(·)‖2 < γ (A.3.3)

Il guadagno L2 ingresso/uscita e un indice di prestazione del sistema P poiche quan-

tifica la massima amplificazione di energia possibile del segnale in ingresso w ∈ L2

sull’uscita di prestazione z. In generale, data una costante positiva γ, il sistema P

ha guadagno L2 ingresso/uscita finito e minore di γ se per ogni funzione d’ingres-

so w(·) ∈ L2 la risposta del sistema a partire da condizioni iniziali nulle soddisfa la

condizione:

‖z(·)‖2 ≤ γ‖w(·)‖2 (A.3.4)

105

Page 112: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. A Strumenti Matematici §A.4 Ottimizzazione Convessa

Teorema A.3.1. Sia il sistema lineare definito nell’equazione (A.3.1) asintoticamen-

te stabile e la sua matrice di trasferimento sia cosı definita:

W (s)=C(sI−A)−1B +D

Allora risulta ‖W‖∞=‖P‖2 (Dimostrazione in [6]).

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

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

A.4 Ottimizzazione Convessa

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

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

Un funzione f e detta funzione convessa se e definita su un insieme convesso Ω e se:

I ∀x, y ∈ Ω, t ∈ [0, 1] vale sempre:

f (tx + (1− t) y) ≤ tf(x) + (1− t) f(y)

I Se f ∈ C1 allora:

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

I Se f ∈ C2 allora:

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

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

e anche un minimo globale.

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

106

Page 113: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. A Strumenti Matematici §A.5 LMI

Figura A.1: Grafico di una funzione convessa.

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

che:

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

allora x∗ e un minimo globale.

A.5 LMI

Le Linear Matrix Inequalities (LMI) e le tecniche LMI sono un potente strumento

di progettazione nell’ambito dei controlli automatici, fortemente sviluppate essenzial-

mente per tre fattori:

1. La varieta di specifiche e vincoli che possono essere descritti tramite LMI.

2. Una volta espresso in termini di LMI, un problema puo essere risolto esattamente

da un algoritmi efficienti di ottimizzazione convessa (detti LMI solvers).

107

Page 114: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. A Strumenti Matematici §A.5 LMI

3. Un problema con molti vincoli o obiettivi potrebbe non avere una soluzione

analitica espressa in termini di equazioni matriciali. Lo stesso problema, espresso

in termini di LMI, potrebbe ammettere una soluzione trattabile.

Una LMI e un espressione del tipo:

F (x) , F0 + x1F1 + ... + xmFm < 0

dove:

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

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

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

Definizione A.5.1. Una LMI e una disuguaglianza matriciale

F (x) < 0

dove F e una funzione affine che associa uno spazio vettoriale V di dimensioni finite

all’insieme delle matrici reali simmetriche n× n chiamato Sn:

F : V→ Sn ,M |M = MT ∈ Rn×n

Tramite un semplice cambiamento di base (da V a Sm) e facile notare che le

caratteristiche delle LMI definite F : V → Sn valgono anche per F : Sm → Sn,

ovvero a seguito di una trasformazione del vettore di variabili decisionali in matrici

(simmetriche) di variabili decisionali.

F (X) = F

(m∑

j=1

xjEj

)= F0 +

m∑j=1

xjF (Ej) = F0 +m∑

j=1

xjFj

108

Page 115: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. A Strumenti Matematici §A.5 LMI

Osservazione A.5.1. Convessita. Una LMI definisce un vincolo convesso su x, cioe

l’insieme Ω , x|F (x) < 0 delle soluzioni di F (x) < 0 e convesso, quindi ∀x, y ∈Ω, t ∈ [0, 1] vale sempre:

F (tx + (1− t) y) = tF (x) + (1− t) F (y) < 0

con F funzione affine ad x, e dove la disuguaglianza segue dal fatto che t > 0 e

1− t > 0. ¤X

I tre problemi generici basati su LMI

Poiche una LMI definisce un insieme convesso Ω nella variabile x, problemi di otti-

mizzazione di una funzione di costo f : Ω → R con Ω , x|F (x) < 0 appartengono

alla classe dei problemi di ottimizzazione convessa.

Date le funzioni affini F, G,H : V→ S esistono tre tipi di problemi generici basati

su LMI:

I Esistenza di una soluzione ammissibile. Si verifica l’esistenza della solu-

zione x ∈ V di F (x) < 0. Si dice che una LMI ammette soluzione (feasible) se

tale soluzione esiste, altrimenti la LMI non ha una soluzione ammissibile (not

feasible o infeasible).

I Problema di minimizzazione di funzione obiettivo lineare. Si considera

una funzione del tipo f : Ω → R del tipo f = cT x, con Ω , x|F (x) < 0 e si

determina il valore ottimo

Vopt = infx∈S

f(x)

In particolare il problema di ottimizzazione con un vincolo LMI ha la forma:

min cT x, s.t. F (x) < 0

109

Page 116: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. A Strumenti Matematici §A.5 LMI

I Problema generalizzato di minimizzazione dell’autovalore Si minimizza

uno scalare λ ∈ R soggetto ai vincoli

λF (x)−G(x) > 0

F (x) > 0

H(x) > 0

Sistemi di LMI

La potenza delle LMI risiede nella loro capacita di esprimere diversi tipi di insiemi

convessi con proprieta piu attraenti rispetto a quelle degli insieme convessi generici.

Un sistema di LMI e un insieme finito di LMI:

F1(x) < 0F2(x) < 0

...Fn(x) < 0

(A.5.1)

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

quazione (A.5.1 ammette le stesse soluzioni della LMI

F (x) =

F1(x) 0 0 00 F2(x) 0 0

0 0. . . 0

0 0 0 Fn(x)

< 0 (A.5.2)

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

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

F (x) < 0 soddisfano anche anche l’equazione (A.5.2) e viceversa.

A.5.1 Schur Complement

Lo Schur Complement (per una trattazione nel dettaglio si vedano [1], [2]) e forse lo

strumento piu importante legato alle LMI: esso infatti permette di trasformare una

110

Page 117: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

certa classe di disuguaglianze nonlineari in disuguaglianze matriciali lineari. Infatti

impostando la seguente LMI:

[Q(x) S(x)ST (x) R(x)

]> 0 (A.5.3)

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

se: R(x) > 0Q(x)− S(x)R−1(x)ST (x) > 0

(A.5.4)

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

stesso procedimento a ritroso e possibile descrivere sistemi di disequazioni nonlineari

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

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

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

[11].

A.6 Vincolo di Lipschitz

Il vincolo di Lipschitz e un vincolo aggiuntivo inserito nella formulazione, non riporta-

to esplicitamente negli algoritmi di sintesi3 di Λg, Λα1 e Λα2 (paragrafo 4 e paragrafo 5),

usato per garantire un bound finito sulla costante di Lipschitz (la massima deriva-

ta del membro destro) del sistema anti-windup a ciclo chiuso, ottenuta attenuando

l’effetto del loop algebrico. Esso e definito in [9] come LMI:

He [(1− ν)U −DyqU −DylX] > 0 (A.6.1)

ν ∈ [0; 1)

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

111

Page 118: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

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

Se 0 < ν < 1 allora l’equazione (A.6.1) diventa quanto piu vincolante tanto piu ν→1.

In questo modo forza l’algoritmo di sintesi a produrre compensatori con membro

destro a bassa costante di Lipschitz.

112

Page 119: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Appendice B

Tools per LMI in ambiente Matlab

Le simulazioni di capitolo 6 sono state ottenute tramite un software scritto in am-

biente Matlab/Simulink. Nello specifico la parte simulativa e prettamente delegata

a Simulink mentre la parte di sintesi e delegata a Matlab e fa uso massivo di 2 tool

specifici per problemi di ottimo basati su LMI:

1. Yalmip

2. Se.Du.Mi.

B.1 Yalmip

Yalmip, acronimo di Yet Another LMI Parser, e un tool free specifico per Matlab, in

principio sviluppato come semplice parser di LMI, ora vera e propria interfaccia di

alto livello comprensiva di solver interni, per la definizione e la risoluzione di problemi

di ottimizzazione su LMI.

B.1.1 Generalita

YALMIP e un linguaggio di modellazione per la definizione e la risoluzione di problemi

di ottimizzazione avanzata.

113

Page 120: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. B Tools per LMI in ambiente Matlab §B.1 Yalmip

La principale caratteristica di Yalmip, che ne motiva l’uso, e lo sviluppo rapido di

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

lab che quindi ne caratterizza la semplicita di utilizzo per chiunque abbia familiarita

con Matlab.

Altra caratteristica fondamentale di Yalmip e l’implementazione automatica di

trucchetti nella modellazione, che permettono all’utente di concentrarsi sulla model-

lazione d’alto livello, mentre Yalmip si interessa della modellazione di basso livello,

ottenendo la massima efficienza e un modello numericamente quanto piu trattabile

possibile.

Il linguaggio di modellazione supporta un gran numero di classi di ottimizzazione,

come: lineare, quadratica, coni del secondo ordine...

L’idea centrale di Yalmip e il concentrarsi squisitamente sul linguaggio e su algo-

ritmi di alto livello, contando su risolutori (solver) esterni per il calcolo. Cionono-

stante, Yalmip implementa algoritmi nativi per l’ottimizzazione globale, programma-

zione intera, programmazione multiparametrica, somma di quadrati e ottimizzazione

robusta.

B.1.2 Guida all’installazione

Per questo lavoro di tesi e stata utilizzata la versione R20080415 di YALMIP. Si noti

che esso e interamente basato su m-codice, ed e quindi semplicissimo da installare1.

1. Rimuovere ogni vecchia versione di YALMIP.

2. Estrarre il contenuto del file yalmip.zip in una cartella a scelta2 e aggiungere

le seguenti subdirectory al path di Matlab:

1Requisiti minimi Windows Xp, MATLAB 7.3 (2006b).2Per coerenza si consiglia di estrarre i file nella cartella /toolbox di Matlab.

114

Page 121: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. B Tools per LMI in ambiente Matlab §B.1 Yalmip

/yalmip

/yalmip/extras

/yalmip/demos

/yalmip/solvers

/yalmip/modules

/yalmip/modules/parametric

/yalmip/modules/moment

/yalmip/modules/global

/yalmip/modules/sos

/yalmip/operators

I solver esterni vanno installati come riportato nel relativo manuale: assicurarsi di

aver aggiunto la directory del solver nel path di Matlab.

Per testare il buon fine dell’installazione, eseguire il comando yalmiptest. Infine,

per una presentazione del tool (e per apprendere velocemente i comandi principali)

tramite esempi, eseguire la dimostrazione yalmipdemo.

Per la soluzione di eventuali problemi si rimanda alla FAQ online e al manuale

online[13].

B.1.3 Comandi principali

Di seguito si presentano i principali comandi Yalmip utilizzati all’interno del codice

del software scritto per risolvere i problemi di ottimizzazione oggetto di questa tesi,

corredati di esempi.

sdpsettings e usato per impostare le opzioni di Yalmip e del solver che si desidera

utilizzare.

115

Page 122: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. B Tools per LMI in ambiente Matlab §B.1 Yalmip

option=sdpsettings(’shift’,0,’verbose’,2,’solver’,’sedumi’);

Le opzioni principali sono:

I shift: impostabile a 0 o 1, permette di inserire vincoli stretti. In Yalmip i

vincoli di disuguaglianza F (x) > 0 sono definiti come F (x) > shiftI. Si noti

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

I verbose: impostabile a 0, 1 o 2, definisce il livello di profondita di informazioni

stampate a schermo durante l’ottimizzazione. Si consiglia il valore 2, per avere

il massimo controllo durante l’esecuzione.

I solver: in questo campo e possibile inserire uno qualsiasi dei solver installati.

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

il tag del solver pari a ’’.

sdpvar e usato per definire le variabili decisionali simboliche di Yalmip. Le principali

tipologia di matrici di variabili decisionali sono:

I Matrice quadrata simmetrica:

Q = sdpvar(Dim.ncl,Dim.ncl,’symmetric’);

I Matrice diagonale:

U = diag(sdpvar(Dim.nu,1))

I Matrice rettangolare:

H = sdpvar(Dim.nu,Dim.ncl);

I Variabile scalare:

116

Page 123: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Cap. B Tools per LMI in ambiente Matlab §B.1 Yalmip

gamma_2 = sdpvar(1,1);

set e usato per definire e mettere insieme i vincoli del problema.

I Definizione matrice PHI del vincolo di Lyapunov:

PHI=(...);

I Creazione del set di vincoli vuoto e inclusione al set del vincolo di Lyapunov:

Constraints = set(He(PHI)<=0);

I Definizione matrice LIP del vincolo di Lipschitz:

LIP=He( (1-nu)*U-SysCL.Dyq*U-SysCL.Dyl*X )

I Inclusione al set dei vincoli esistenti del vincolo di Lipschitz:

Constraints=Constraints+set(LIP>0);

solvesdp minimizza la funzione obiettivo, soggetta ai vincoli definiti via set con

il solver impostato in option. Nell’esempio che segue si minimizza gamma_2 soggetta

ai vincoli Constraints con il solver descritto (con i suoi flag) in option:

solvesdp(Constraints,gamma_2, option);

checkset e usato per verificare l’ammissibilita dei vincoli. Condizione di controllo

di ammissibilita. Se un problema diventa numericamente problematico allora prim

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

fortemente negativo

[prim,dual] = checkset(Constraints);

117

Page 124: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

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

double e usato per estrarre il valore numerico di una variabile decisionale:

Gamma_2=double(gamma_2)

B.2 Se.Du.Mi.

SeDuMi, acronimo di Self-Dual-Minimization, e un pacchetto software per la risolu-

zione di problemi di ottimizzazione soggetti a vincoli lineari, quadratici e semidefiniti,

rilasciato sotto licenza GNU GPL3.

B.2.1 Generalita

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

dual, o piu in generale su coni simmetrici.

Punti di forza di SeDuMi sono principalmente la portabilita su diversi sistemi

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

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

B.2.2 Guida all’installazione

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

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

3

La GNU General Public License e una licenza per software libero. E comunementeindicata con l’acronimo GNU GPL o semplicemente GPL.[. . .]Contrapponendosi allelicenze per software proprietario, la GNU GPL assicura all’utente liberta di utilizzo,copia, modifica e distribuzione. (http://it.wikipedia.org/wiki/GNU GPL)

Una copia di GNU GPL e consultabile al sito:http://sedumi.ie.lehigh.edu/component/option,com docman/task,doc download/gid,25/Itemid,76/

118

Page 125: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

una cartella a scelta4 e aggiungerla al path di Matlab.

Per la soluzione di eventuali problemi si rimanda al Forum e al manuale online

[14].

B.2.3 Comandi principali

SeDuMi e utilizzato come solver da Yalmip, al quale si interfaccia autonomamente, e

provvede unicamente calcolare il minimo della funzione obiettivo data.

4Per coerenza si consiglia di estrarre i file nella cartella /toolbox di Matlab.

119

Page 126: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

Elenco delle figure

1.1 Funzione di Saturazione. . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2 Sistema di controllo a ciclo chiuso non saturato. . . . . . . . . . . . . 13

1.3 Ciclo chiuso saturato. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4 Ciclo chiuso anti-windup. . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.1 Schema equivalente H di sistema a tempo continuo saturato: modello

con deadzone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.2 Proprieta di settore globale, sector[0, K]; per nonlinearita tipo satura-

zione e deadzone la proprieta di settore globale vale conK=I. . . . . 25

2.3 Sistema di controllo anti-windup a tempo continuo con compensatore

anti-windup statico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.4 Esempio di minimo guadagno L2 nonlineare per un sistema “massa

molla smorzatore”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.1 Schema equivalente H di sistema a tempo discreto saturato: modello

con deadzone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.2 Sistema di controllo anti-windup a tempo discreto con compensatore

anti-windup statico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

120

Page 127: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

ELENCO DELLE FIGURE ELENCO DELLE FIGURE

4.1 Esempio di confronto tra prestazioni per un sistema “aereo F8”: come

lecito aspettarsi nell’intervallo di interesse γmin(s) ≤ γα1(s) ≤ γG(s). . 56

4.2 Esempio di confronto tra prestazioni per un sistema “aereo F8”: come

lecito aspettarsi nell’intervallo di interesse γmin(s) ≤ γα2(s) ≤ γG(s). . 58

6.1 Schema Simulink per il confronto tra risposte dei sistemi di controllo. 67

6.2 Schema Simulink di ciclo chiuso con anti-windup. . . . . . . . . . . . 68

6.3 Sistema massa molla smorzatore. . . . . . . . . . . . . . . . . . . . . 69

6.4 Segnale di riferimento che si vuole far inseguire al sistema massa molla

smorzatore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6.5 Sistema massa molla smorzatore. Diagramma del minimo guadagno L2

nonlineare (celeste), del guadagno L2 nonlineare relativo a Λg (rosso), a

Λα1 (verde) e a Λα2 (blu): i due compensatori Λα hanno una prestazio-

ne garantita globale non peggiore (non piu grande) di Λg nella zona di

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

tico al Λg (rosso); Λα1 (verde) e leggermente piu piccolo nell’intervallo

di interesse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.6 Traiettorie non saturate del sistema massa molla smorzatore a ciclo

chiuso. Livelli di saturazione sull’ingresso (puntinato) non attivi. . . . 74

6.7 Traiettorie saturate (continuo) e non saturate (tratteggiato) del si-

stema massa molla smorzatore a ciclo chiuso. Livelli di saturazione

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

121

Page 128: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

ELENCO DELLE FIGURE ELENCO DELLE FIGURE

6.8 Risposta in uscita per il sistema non saturato (celeste) e per i siste-

mi di controllo anti-windup con compensatore Λg (rosso), Λα1 (verde),

Λα2 (blu) del sistema massa molla smorzatore a ciclo chiuso. Rife-

rimento (puntinato). Λα1 e Λα2 sono sintetizzati su Nα = 20 punti,

Is = [10−3; 103]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

6.9 Segnale di controllo per il sistema non saturato (celeste) e per i sistemi

di controllo anti-windup con compensatore Λg (rosso), Λα1 (verde),

Λα2 (blu) del sistema massa molla smorzatore a ciclo chiuso. Livelli di

saturazione (puntinato). Λα1 e Λα2 sono sintetizzati su Nα = 20 punti,

Is = [10−3; 103]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

6.10 Traiettorie del sistema di controllo anti-windup globale (continuo) e

non saturato (tratteggiato) del sistema massa molla smorzatore a ciclo

chiuso. Il compensatore anti-windup globale e stato sintetizzato risol-

vendo l’equazione (4.1.1) e garantisce stabilita e prestazione globale.

Livelli di saturazione sull’ingresso (puntinato) attivi. . . . . . . . . . 78

6.11 Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non sa-

turato (tratteggiato) del sistema massa molla smorzatore a ciclo chiuso.

Il compensatore anti-windup Λα1 e stato sintetizzato risolvendo l’equa-

zione (4.2.1) e garantisce stabilita e prestazione globale. Λα1 e legger-

mente piu veloce di Λg. Livelli di saturazione sull’ingresso (puntinato)

attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

122

Page 129: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

ELENCO DELLE FIGURE ELENCO DELLE FIGURE

6.12 Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e non

saturato (tratteggiato) del sistema massa molla smorzatore a ciclo chiu-

so. Il compensatore anti-windup Λα2 e stato sintetizzato risolvendo l’e-

quazione (4.2.4) e garantisce stabilita e prestazione globale. Livelli di

saturazione sull’ingresso (puntinato) attivi. . . . . . . . . . . . . . . . 79

6.13 Sistema aereo F8 a tempo continuo. Diagramma del minimo guada-

gno L2 nonlineare (celeste), del guadagno L2 nonlineare relativo a Λg

(rosso), a Λα1 (verde) e a Λα2 (blu): i due compensatori Λα hanno una

prestazione garantita globale migliore (piu piccola) di Λg nella zona di

interesse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6.14 Traiettorie non saturate del sistema aereo F8 a ciclo chiuso. Livelli di

saturazione sull’ingresso (puntinato) non attivi. . . . . . . . . . . . . 84

6.15 Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistema

aereo F8 a ciclo chiuso. Livelli di saturazione sull’ingresso (puntinato)

attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6.16 Risposte in uscita per il sistema non saturato (celeste) e per i sistemi

di controllo anti-windup con compensatore Λg (rosso), Λα1 (verde), Λα2

(blu) del sistema aereo F8 a ciclo chiuso. Riferimento (puntinato). Λα1

e Λα2 sono sintetizzati su Nα = 20 punti, Is = [100; 104]. . . . . . . . . 87

6.17 Segnali di controllo per il sistema non saturato (celeste) e per i sistemi

di controllo anti-windup con compensatore Λg (rosso), Λα1 (verde),

Λα2 (blu) del sistema aereo F8 a ciclo chiuso. Livelli di saturazione

(puntinato). Λα1 e Λα2 sono sintetizzati su Nα = 20 punti, Is = [100; 104]. 88

123

Page 130: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

ELENCO DELLE FIGURE ELENCO DELLE FIGURE

6.18 Traiettorie del sistema di controllo anti-windup globale (continuo) e

non saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il

compensatore anti-windup globale e stato sintetizzato risolvendo l’e-

quazione (4.1.1) e garantisce stabilita e prestazione globale. Livelli di

saturazione sull’ingresso (puntinato) attivi. . . . . . . . . . . . . . . . 89

6.19 Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non

saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il com-

pensatore anti-windup Λα1 e stato sintetizzato risolvendo l’equazione

(4.2.1) e garantisce stabilita e prestazione globale, inoltre fornisce una

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

(puntinato) attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

6.20 Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e non

saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il com-

pensatore anti-windup Λα2 e stato sintetizzato risolvendo l’equazione

(4.2.4) e garantisce stabilita e prestazione globale. Λα2 e, inoltre, netta-

mente il miglior compensatore per velocita di convergenza e per errore

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

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

6.21 Sistema aereo F8 a tempo discreto. Diagramma del minimo guada-

gno L2 nonlineare (celeste), del guadagno L2 nonlineare relativo a Λg

(rosso), a Λα1 (verde) e a Λα2 (blu): i due compensatori Λα hanno

una prestazione garantita migliore (piu piccola) di Λg nell’intervallo di

interesse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.22 Traiettorie non saturate del sistema aereo F8 a ciclo chiuso. Livelli di

saturazione sull’ingresso (puntinato) non attivi. . . . . . . . . . . . . 95

124

Page 131: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

ELENCO DELLE FIGURE ELENCO DELLE FIGURE

6.23 Traiettorie saturate (continuo) e non saturate (tratteggiato) del sistema

aereo F8 a ciclo chiuso. Livelli di saturazione sull’ingresso (puntinato)

attivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6.24 Risposte in uscita per il sistema non saturato (celeste) e per i sistemi

di controllo anti-windup con compensatore Λg (rosso), Λα1 (verde), Λα2

(blu) del sistema aereo F8 a ciclo chiuso. Riferimento (puntinato). Λα1

e Λα2 sono sintetizzati su Nα = 10 punti, Is = [101.5; 103]. . . . . . . . 97

6.25 Segnale di controllo per il sistema non saturato (celeste) e per i sistemi

di controllo anti-windup con compensatore Λg (rosso), Λα1 (verde), Λα2

(blu) del sistema aereo F8 a ciclo chiuso. Riferimento (puntinato). Λα1

e Λα2 sono sintetizzati su Nα = 10 punti, Is = [101.5; 103]. . . . . . . . 98

6.26 Traiettorie del sistema di controllo anti-windup globale (continuo) e

non saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il

compensatore anti-windup globale e stato sintetizzato risolvendo l’e-

quazione (5.1.1) e garantisce stabilita e prestazione globale. Livelli di

saturazione sull’ingresso (puntinato) attivi. . . . . . . . . . . . . . . . 99

6.27 Traiettorie del sistema di controllo anti-windup Λα1 (continuo) e non

saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il com-

pensatore anti-windup Λα1 e stato sintetizzato risolvendo l’equazio-

ne (5.2.1) e garantisce stabilita e prestazione globale. E il migliore

tra i compensatori anti-windup sintetizzati seppur mantenga un errore

di inseguimento dopo 5 sec. non trascurabile. Livelli di saturazione

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

125

Page 132: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

ELENCO DELLE FIGURE ELENCO DELLE FIGURE

6.28 Traiettorie del sistema di controllo anti-windup Λα2 (continuo) e non

saturato (tratteggiato) del sistema aereo F8 a ciclo chiuso. Il com-

pensatore anti-windup Λα2 e stato sintetizzato risolvendo l’equazione

(5.2.4) e garantisce stabilita e prestazione globale. Livelli di saturazione

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

A.1 Grafico di una funzione convessa. . . . . . . . . . . . . . . . . . . . . 107

126

Page 133: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

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

Page 134: Sintesi di antiwindup statico con prestazione nonlineare ottimizzata

BIBLIOGRAFIA BIBLIOGRAFIA

[6] Alberto Isidori, “Sistemi di controllo II”, Siderea, 1998.

[7] P. Kapasouris, M. Athans, G. Stein, “Design of feedback control systems for stable

plants with saturating actuators”, In Proceedings of the Conference on Decision

and Control, Austin (TX), USA, December 1988.

[8] Luca Zaccarian and Andrew R. Teel, “A common framework for anti-windup,

bumpless transfer and reliable designs”, Automatica (B), 38(10):1735-1744, 2002.

[9] G. Grimm, A.R. Teel, and L. Zaccarian, “Establishing Lipschitz properties of mul-

tivariable algebraic loops with incremental sector nonlinearities”, In Conference on

Decision and Control, Maui (HI), USA, December 2003.

[10] K.J. Astrom and L. Rundqwist, “Integrator Windup and How to Avoid It”, In

Proceedings of the 1989 American Control Conference.

[11] Pascal Gahinet, Arkadi Nemirovski, Alan J. Laub and Mahmoud Chilali,

“LMI Control Toolbox User’s Guide”, copyright 1995 by The MathWorks, Inc.

http://www.mathworks.com/access/helpdesk_r13/help/pdf_doc/lmi/lmi.pdf

[12] Xiaoxin Liao, Pei Yu, Reinhard Laubenbacher, Angela Stevens, “Absolute

Stability of Nonlinear Control Systems”, Springer, 2008.

[13] J. Lofberg, “YALMIP: A Toolbox for Modeling and Optimization in MA-

TLAB”, In Proceedings of the CACSD Conference, Taipei, Taiwan, 2004

http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php

[14] J.F.Sturm, “Using SeDuMi 1.02, a Matlab toolbox for opti-

mization over symmetric cones”, August 1998 - October 2001

http://sedumi.ie.lehigh.edu/component/option,com_frontpage/Itemid,1/

128