• Non ci sono risultati.

prestazione di diverse tipologie di controllori predittivi per processi lineari multivariabili vincolati

N/A
N/A
Protected

Academic year: 2021

Condividi "prestazione di diverse tipologie di controllori predittivi per processi lineari multivariabili vincolati"

Copied!
145
0
0

Testo completo

(1)

Indice

1 Obiettivi ed organizzazione dell’elaborato 2

2 Model Predictive Control: premessa teorica 4

2.1 Introduzione . . . 4

2.2 Vantaggi Svantaggi . . . 6

2.3 Caratteristiche Principali del MPC . . . 8

2.3.1 MPC nel caso MIMO . . . 8

2.3.2 Orizzonte di Predizione e Orizzonte di Controllo . . . . 8

2.3.3 Le previsioni sono basate su un modello . . . 10

2.3.4 Performance Ottimale o di Sicurezza . . . 10

2.3.5 Tuning . . . 11

2.3.6 Formulazione dei Vincoli . . . 12

3 Aspetti Essenziali del Controllo Predittivo 13 3.1 Struttura del Controllo Predittivo . . . 14

3.1.1 Filtraggio . . . 15

3.1.2 Target Calculation e Dynamic Optimization . . . 17

3.1.3 Predizione . . . 20

3.2 Feed Forward . . . 21

3.3 Analisi di Stabilit`a . . . 24

3.3.1 Stabilit`a nominale in assenza di vincoli . . . 24

3.3.2 Stabilit`a in presenza di vincoli . . . 25

3.4 Vantaggi e Svantaggi delle formulazioni LP e QP . . . 27

(2)

4.1 Introduzione . . . 31

4.2 MPC con Target Calculation e Dynamic Optimization . . . . 33

4.2.1 Definizione del Problema . . . 33

4.2.2 Modulo di Target Calculation . . . 33

4.2.3 Definizione del Problema di Dynamic Optimization . . 37

4.2.4 Calcolo della Funzione di Costo di Dynamic Optimization 37 4.2.5 Modellazione dei Vincoli di Dynamic Optimization . . 41

4.3 MPC senza Target Calculation . . . 48

4.3.1 Definizione del Problema . . . 48

4.3.2 Calcolo Funzione Obiettivo . . . 48

4.3.3 Modellazione dei Vincoli . . . 52

4.4 MPC con un unico modulo per Target Calculation e Dynamic Optimization 57 4.4.1 Definizione del Problema . . . 57

4.4.2 Calcolo Funzione Obiettivo . . . 59

4.4.3 Modellazione dei Vincoli . . . 62

5 Analisi e Robustezza di Controllori Predittivi in Assenza di Vincoli 68 5.1 Introduzione . . . 68

5.2 MPC con Target Calculation e Dynamic Optimization . . . . 69

5.3 MPC senza Target Calculation . . . 71

5.4 MPC con un unico modulo per Target Calculation e Dynamic Optimization 73 5.5 Robustezza agli errori di modello . . . 75

5.6 Verifica di Robustezza del Controllo . . . 78

6 Sviluppo di un modello di simulazione in anello chiuso con MPC 80 6.1 Introduzione . . . 80

(3)

6.6 Impianto . . . 95

6.6.1 Disturbi Misurati . . . 95

6.6.2 Sistema . . . 96

6.6.3 Disturbi non Misurati . . . 97

6.7 Gestione Output . . . 98 6.8 Output.m . . . 99 7 Simulazioni 100 7.1 Introduzione . . . 100 7.2 Tuning . . . 101 7.2.1 Variazioni di Ru . . . 102 7.2.2 Variazioni di S . . . 104 7.2.3 Variazioni di Qy . . . 106 7.2.4 Variazioni di W . . . 108 7.3 CV senza set-point . . . 110

7.4 Variabili Manipolate non Variate durante l’ottimizzazione . . . 111

7.5 Feed Forward Control . . . 112

7.6 Vincoli hard su MV . . . 114

7.6.1 Vincoli hard sui valori delle MV . . . 114

7.6.2 Vincoli hard sulle variazioni delle MV . . . 115

7.7 Opzione DoVis . . . 116

7.7.1 Opzione DoVis con MPCtype= 1 . . . 117

7.7.2 Opzione DoVis con MPCtype = 2 . . . 119

7.7.3 Opzione DoVis con MPCtype= 3 . . . 121

7.8 Diverse Penalizzazioni degli Scostamenti delle CV dai Vincoli . 123 7.9 Variazioni di Ts . . . 126

7.10 Variazioni dell’Orizzonte di Predizione (N) e Controllo (L) . . 128

7.11 Incertezze sul modello . . . 130

8 Conclusioni 132

(4)

Elenco delle figure

2.1 Orizzonte di Predizione . . . 9

2.2 Orizzonte di Controllo . . . 9

2.3 Vincoli hard (sinistra) e soft (destra) . . . 12

3.1 Struttura impianto di controllo MPC . . . 14

3.2 Schema di controllo in Feed Forward . . . 21

3.3 Ottimizzazione LP e QP . . . 28

3.4 Formulazioni di costo di tipo QP . . . 30

5.1 Incertezza Additiva . . . 76

5.2 Analisi di Robustezza: Valori singolari massimi . . . 79

6.1 Struttura di uno schema di controllo predittivo . . . 81

6.2 Contenuto del blocco Pannello di Controllo . . . 86

6.3 Andamento delle variabili di controllo (CV) . . . 88

6.4 Andamento degli ingressi di controllo (MV) . . . 88

6.5 Figura prodotta mediante l’opzione DoVis . . . 89

6.6 Contenuto del blocco MPC . . . 90

6.7 Contenuto del blocco Abilitazione MPC . . . 94

(5)

7.2 Tuning Ru nel caso in cui MPCtype = 3 . . . 103

7.3 Tuning S nel caso in cui MPCtype = 1 . . . 104

7.4 Tuning S nel caso in cui MPCtype = 2 . . . 105

7.5 Tuning S nel caso in cui MPCtype = 3 . . . 105

7.6 Tuning Qx nel caso in cui MPCtype = 1 . . . 106

7.7 Tuning Qx nel caso in cui MPCtype = 2 . . . 107

7.8 Tuning Qx nel caso in cui MPCtype = 3 . . . 107

7.9 Tuning W nel caso in cui MPCtype= 1 . . . 108

7.10 Tuning W nel caso in cui MPCtype= 2 . . . 109

7.11 Tuning W nel caso in cui MPCtype= 3 . . . 109

7.12 CV senza set-point . . . 110

7.13 MV non variate durante l’ottimizzazione . . . 111

7.14 Feed Forward Control nel caso MPCtype = 1 . . . 112

7.15 Feed Forward Control nel caso MPCtype = 2 . . . 113

7.16 Feed Forward Control nel caso MPCtype = 3 . . . 113

7.17 Vincoli Hard sul valore delle MV . . . 114

7.18 Vincoli Hard sulle variazioni delle MV . . . 115

7.19 Vincoli Soft sulle CV nel caso MPCtype = 1 . . . 124

7.20 Vincoli Soft sulle CV nel caso MPCtype = 2 . . . 125

7.21 Vincoli Soft sulle CV nel caso MPCtype = 3 . . . 125

7.22 Effetti delle variazioni di Ts MPCtype= 1 . . . 126

7.23 Effetti delle variazioni di Ts MPCtype= 1 . . . 127

7.24 Effetti delle variazioni di Ts MPCtype= 3 . . . 127

7.25 Variazioni di N e L MPCtype = 1 . . . 128

7.26 Variazioni di N e L MPCtype = 2 . . . 129

7.27 Variazioni di N e L MPCtype = 3 . . . 129

7.28 Incertezza sul modello nel caso MPCtype= 1 . . . 130

7.29 Incertezza sul modello nel caso MPCtype= 2 . . . 131

7.30 Incertezza sul modello nel caso MPCtype= 3 . . . 131

(6)

Universit´a degli Studi di Pisa Facolt´a di Ingegneria UNIVERSITÀ DI PISA 1 34 3 IN S U PR EMÆ DIGN IT A T IS

TESI DI LAUREA IN INGEGNERIA DELL’AUTOMAZIONE

Prestazione di Diverse Tipologie di Controllori Predittivi per Processi Lineari Multivariabili Vincolati

Relatori:

Ch.mo Prof. Ing. M. Innocenti Ch.mo Prof. Ing. M.

(7)
(8)

Capitolo 1

Obiettivi ed organizzazione

dell’elaborato

L’obiettivo principale della tesi `e stato quello di analizzare le prestazioni di tre diverse tipologie di controllori predittivi per processi lineari multivariabili vincolati e sviluppare un modello di simulazione in simulink.

Per facilitare la comprensione del lavoro, il Capitolo 2 dell’elaborato `e sta-to dedicasta-to alla descrizione del controllo predittivo. In particolare vengono chiarite le modalit`a con cui viene determinata la legge di controllo ovvero risolvendo un problema di controllo ottimo a orizzonte finito ad ogni passo di campionamento. Il controllo predittivo infatti disponendo di un modello esplicito del sistema ottimizza, tramite la risoluzione di un problema di costo minimo, il comportamento futuro di un processo lungo un orizzonte tempo-rale, calcolando una sequenza di azioni di controllo.

Al processo generalmente viene fornita solamente la prima delle azione di controllo calcolate, mentre al passo successivo l’intero calcolo viene ripetuto. Lo svantaggio di dover ricavare un modello per le previsioni, ma soprattutto quello di dover risolvere ad ogni passo di campionamento un problema di costo minimo `e ampiamente ripagato da numerosi vantaggi come ad esempio la possibilit`a di controllare processi MIMO non quadrati e vincolati.

(9)

· MPC con i moduli di target calculation e dynamic optimization · MPC senza modulo di target calculation

· MPC con un unico modulo per il target calculation e dynamic optimization Dove il modulo di Target Calculation (TC) ha il compito ad ogni passo di campionamento di determinare i valori ottimali di stazionario (target) degli stati e degli ingressi, mentre il modulo di Dynamic Optimization (DO) `e pen-sato allo scopo di calcolare le azioni di controllo ottimali capaci di portare il sistema su quei valori.

L’analisi delle prestazioni `e stata condotta in ambiente Matlab e pi`u in par-ticolare attraverso lo schema simulink SimulatoreMPC appositamente rea-lizzato durante il lavoro di tesi, ed anarea-lizzato sia dal punto di vista imple-mentativo che funzionale all’interno del capitolo Sviluppo di un Modello di

Simulazione in Anello Chiuso con MPC.

Va chiarito che a questo scopo `e stato scelto un modello simulink, e non ad esempio una matlab function, per la sua semplicit`a sia di utilizzo che di ge-stione.

Nel capitolo Analisi e Robustezza di Controllori Predittivi in Assenza di

Vin-coli vengono mostrati, nel caso appunto non vincolato, i passaggi essenziali

tramite i quali ricavare le FdT in forma di stato dei controllori predittivi in esame.

Tale calcolo `e importante non solo per rendere pi`u rapida l’esecuzione degli algoritmi di controllo nel caso uncostrained, ma soprattutto nell’ambito di uno studio di robustezza visto che la quasi totalit`a della teoria di controllo robusto si basa sulla linearit`a sia del controllo che del processo in condizioni nominali.

Nel capitolo Simulazioni vengono analizzate, sulla base dei risultati ottenuti in simulazione, le prestazioni degli algoritmi predittivi in analisi, mentre nel capitolo Conclusioni vengono riassunti i risultati del lavoro di tesi.

Infine in Appendice A viene riportata una breve descrizione dello Shell

hea-vy oil fractionator ovvero il sistema utilizzato per tutte le simulazioni, alla

scopo di chiarire in particolare i significati fisici delle varie grandezze in gioco ovvero delle variabili manipolate, delle variabili controllate, dei disturbi etc.

(10)

Capitolo 2

Model Predictive Control:

premessa teorica

2.1

Introduzione

Come suggerisce il suo nome il Model Predictive Control `e una tecnica di controllo che consente di automatizzare un impianto attraverso la combina-zione di una predicombina-zione ed una strategia di controllo.

In particolare ad ogni istante di campionamento il MPC disponendo di un mo-dello esplicito del sistema, ottimizza, attraverso la minimizzazione di un’op-portuna funzione di costo, il comportamento futuro di un processo lungo un orizzonte temporale, calcolando una sequenza di valori delle variabili di in-gresso chiamate anche variabili manipolabili (MV).

Generalmente per`o soltanto la prima delle azioni di controllo calcolate viene inviata effettivamente all’impianto, mentre al tempo di campionamento suc-cessivo, l’intero calcolo viene ripetuto.

La legge di controllo viene determinata perci`o risolvendo ad ogni passo di campionamento un problema di controllo ottimo a orizzonte finito. Per tale motivo il controllo predittivo si distingue dalle convenzionali metodologie di controllo nelle quali si utilizza un controllore pre-calcolato.

(11)

sono per`o accomunati dalla strategia di controllo sopra indicata.

L’MPC `e finora l’unica tecnica di controllo avanzata che ha riscosso un note-vole successo in ambiente industriale, essendo stata applicata fin dall’inizio per migliorare la gestione ed il controllo di un gran numero di processi che spaziano dagli impianti chimici e petroliferi alle applicazioni robotiche. Tale consenso ha creato come situazione anomala il fatto che, nei primi anni di utilizzo, l’MPC sia stato usato senza che vi fossero dei risultati teorici va-lidi che assicurassero almeno la stabilit`a del sistema a ciclo chiuso, requisito ritenuto a ragione indispensabile nel mondo accademico.

Ci`o ha creato un gap notevole tra la ricerca applicata al controllo e l’utilizzo pratico, che solamente negli ultimi anni, in seguito alle seguenti pubblicazioni, `e stato colmato:

· Stabilit`a nominale [Keerthi and Gilbert, 1988, Mayne and Michalska, 1990, Rawlings and Muske, 1993]

· Ottimalit`a in anello chiuso [Chmielewski and Manousiouthakis, 1996, Sco-kaert and Rawlings, 1998]

· Problematiche di ottimizzazione numerica [Rao et al., 1998, Bemporad et al., 2002]

· Offset/disturbi [Muske and Badgwell, 2002, Pannocchia and Rawlings, 2003]

· Robustezza [Kothare et al., 1996, Kouvaritakis et al., 2000, Pannocchia, 2004]

Oggi infatti ci`o che consente alla grande industria di essere protagonista nel mercato mondiale `e la capacit`a di riuscire a produrre prodotti con qualit`a sempre migliore sfruttando al massimo gli impianti esistenti.

Si pensi ad esempio all’industria petrolifera, dove la richiesta di prodotti con qualit`a chimico fisiche sempre migliori aumenta notevolmente anche nel breve periodo costringendo le grandi societ`a di refining ad ottimizzare la gestione degli impianti con notevoli investimenti.

Nuovi investimenti non mirati tanto a modificare gli impianti esistenti quan-to ad ottimizzarli.

Da ci`o si intuisce immediatamente che per ottimizzare la gestione di un pro-cesso vi `e la necessit`a di sviluppare uno strumento di controllo che sia in grado di sfruttare al massimo l’impianto mantenendo le specifiche di qualit`a dei prodotti. Il controllo predittivo `e senza dubbio la tecnica di controllo che riesce meglio a soddisfare queste esigenze.

(12)

2.2

Vantaggi Svantaggi

I vantaggi del controllo predittivo possono essere cos`ı puntualizzati:

· pu`o essere utilizzato per risolvere problemi di controllo per i quali la sintesi a priori (off-line) di una opportuna legge di controllo risulta diffcile se non addirittura impossibile;

· attraverso di esso `e possibile trattare un insieme molto vario di problemi di controllo: dai processi SISO la cui dinamica `e relativamente semplice, a sistemi pi`u complicati, MIMO, con ritardi finiti e/o a fase non minima; · l’MPC permette di controllare processi soggetti a vincoli sia sugli ingressi che sulle uscite, fornendo ad ogni passo di campionamento la soluzione ottima del problema di controllo vincolato considerato;

· risulta molto utile per controllare processi periodici, soprattutto in robotica dove spesso il riferimento futuro `e noto e periodico;

· applicabilit`a a schemi di feed forward, nel caso in cui alcuni disturbi risul-tino misurabili.

Per quanto riguarda gli svantaggi va ricordato che il vero tallone d’Achille di questa tecnica risiede nel fatto di avere un’approccio di controllo on-line, ed in particolare nel dover risolvere una nuova ottimizzazione ad ogni istante di campionamento. Per tale motivo il controllo predittivo `e ad oggi appli-cato solamente in quei processi la cui dinamica sia sufficientemente lenta da rendere trascurabile il tempo impiegato dall’algoritmo di ottimizzazione nel determinare l’ingresso ottimo.

Inoltre l’implementazione di una legge di controllo MPC richiede l’utilizzo di strumenti di calcolo ben pi`u complessi (e costosi) di quanto si possa avere, per esempio, nel caso si adotti dei semplici controllori PID.

Come `e facile intuire, tali limitazioni assumono un carattere sempre me-no restrittivo col procedere dello sviluppo tecme-nologico ed in particolare con l’abbassamento dei tempi di calcolo in seguito all’introduzione di nuove

(13)

tec-· la necessit`a di dover disporre di un modello dinamico del processo com-porta una fase di elaborazione a partire dai dati dell’impianto che pu`o richiedere un impegno di alcune settimane;

· la non disponibilit`a del modello del processo spesso comporta l’uso di modelli empirici, validi solo con riferimento alle condizioni operative considerate durante le relative prove di identificazione.

In conlusione va ricordato che poich´e l’MPC `e largamente usato e le sue applicazioni sono sempre crescenti `e opinione comune che i suoi vantaggi superino ampiamente gli svantaggi.

(14)

2.3

Caratteristiche Principali del MPC

In questo paragrafo vengono analizzati gli aspetti pi`u caratteristici del con-trollo predittivo allo scopo di sottolineare le grandi potenzialit`a d’impiego di questa tecnica.

2.3.1

MPC nel caso MIMO

Una caratteristica del controllo predittivo riguarda la semplicit`a con cui pos-sono essere gestiti i sistemi multivariabili anche nel caso di sistemi non qua-drati in cui sia presente un elevato grado di interazione fra le variabili di ingresso e quelle di uscita.

Ci`o `e possibile in quanto i controllori MPC hanno a loro disposizione, a diffe-renza di quanto accade con altre tecniche di controllo (es. PID), un modello del sistema controllato e dunque posseggono un maggior quantitativo di in-formazioni che consente loro di raggiungere performance migliori.

L’esperienza ha poi mostrato che il controllo MPC consente di ottenere una buona larghezza di banda, buoni margini di fase e di guadagno (almeno per il caso nominale) anche nel caso in cui vi siano forti interazioni tra ingressi ed uscite.

2.3.2

Orizzonte di Predizione e Orizzonte di Controllo

Come gi`a sottolineato in precedenza, una delle caratteristiche principali del controllo MPC consiste nel considerare l’implicazione futura delle azioni di controllo non tanto in termini di dinamica in ciclo chiuso, come accade nei controlli classici, ma sulla base del calcolo esplicito del comportamento pre-detto del processo su un determinato orizzonte temporale.

Ci`o consente di restringere la scelta delle traiettorie di ingresso possibili a quelle che non portano difficolt`a nel futuro, scelta che l’algoritmo pu`o sem-pre modificare nel momento in cui vengano raccolte nuove informazioni. Si pensi ad esempio a cosa `e necessario fare quando si vuole attraversare una

(15)

orizzonte di predizione costituito da N campioni ed il cui valore rappresenta

un vero e proprio parametro di tuning.

Figura 2.1: Orizzonte di Predizione

Un altro importante parametro di tuning `e rappresentato dalla lunghezza in campioni L dell’orizzonte di controllo lungo il quale il controllo MPC calcola la sequenza di azioni di controllo future.

Figura 2.2: Orizzonte di Controllo

Ovviamente al crescere di N e L migliorano le prestazioni del controllo a scapito per`o di un maggior costo computazionale dovuto ai calcoli aggiuntivi.

(16)

2.3.3

Le previsioni sono basate su un modello

Allo scopo di predire il comportamento futuro delle uscite di un processo `e necessario disporre di un opportuno modello che nel seguito considereremo sempre in forma di stato.

Per la relativa realizzazione non `e necessario che si modelli tutta la fisica, la chimica ed il comportamento interno. Va ricordato infatti che normalmente tutti questi dettagli vengono presi in considerazione solo se esplicitamente richiesto.

Una regola di base dell’identificazione infatti consiste nell’utilizzare un mo-dello che garantisca un buon equilibrio tra semplicit`a e accuratezza nelle previsioni.

2.3.4

Performance Ottimale o di Sicurezza

La possibilit`a di controllare un processo in modo veramente accurato non pu`o necessariamente prescindere dalla conoscenza di un relativo modello al-trettanto accurato.

Ad esempio quando si sta imparando a giocare a tennis la mente ha solamen-te un modello impreciso riguardo a come i movimenti del braccio influiscono sulla traiettoria della pallina.

Di conseguenza i risultati non potranno che essere modesti. Nel momento in cui viene fatta un po’ di pratica, il modello interno diventa pi`u accurato e di qui la qualit`a del gioco tender`a di certo a migliorare permettendo di aumentare la complessit`a dei colpi e dunque delle strategie di controllo da adottare.

Se dunque per un novizio l’obiettivo principale `e quello di tenere in campo la pallina, un giocatore pi`u esperto, avendo a disposizione una buona conoscen-za dei propri movimenti, ha la possibilit`a di adottare strategie di controllo pi`u complesse basate su uno o pi`u colpi in avanti. Strategie che unite ad una maggiore precisione nei colpi permetteranno di costruire aperture con cui vincere la partita.

(17)

2.3.5

Tuning

Da sempre sia in ambito accademico che industriale c’`e stato un forte inte-resse nel tuning dei controllori per assicurare sia la stabilit`a del sistema che ovviamente il raggiungimento delle performance desiderate.

Nel momento in cui si `e scelta la giusta funzione di costo `e necessario attra-verso il tuning dei parametri prima di tutto garantire la stabilit`a ed inoltre trovare un giusto compromesso tra performance nei diversi loop, buona sen-sitivit`a ed anche un giusto bilanciamento tra velocit`a di risposta ed input

activity.

Classicamente questi trade off vengono definiti attraverso opportune matrici di pesi, e molto spesso mettendo differente enfasi sulle performance di loop diversi in base alla loro importanza.

Poich`e ogni processo ha caratteristiche diverse il processo di tuning deve esse-re necessariamente gestito in base alle caratteristiche particolari del sistema in esame.

(18)

2.3.6

Formulazione dei Vincoli

Uno dei punti di forza del controllo predittivo riguarda la possibilit`a di for-mulare vincoli attraverso i quali tenere in considerazione gi`a nel calcolo delle azioni di controllo di molti aspetti pratici come ad esempio lo sono i limiti sull’attuazione e le saturazioni sulle uscite.

Esistono varie tipologie di vincolo comunemente utilizzate nella tecnologia MPC industriale, anche se in questo lavoro si distingue solamente tra vincoli

hard e soft.

I vincoli hard sono quelli che non devono essere mai violati mentre i vincoli

soft invece, sono quelli che possono essere violati e la cui violazione `e

gene-ralmente minimizzata utilizzando una penalizzazione quadratica all’interno della funzione obiettivo.

Figura 2.3: Vincoli hard (sinistra) e soft (destra)

I vincoli normalmente vengono applicati sul valore assunto dalle variabili di controllo e da quelle manipolabili.

Inoltre `e spesso opportuno utilizzarli anche per contrastare variazioni troppo aggressive delle variabili manipolate, soprattutto nell’ambito delle

(19)

applica-Capitolo 3

Aspetti Essenziali del Controllo

Predittivo

In questo capitolo vengono analizzati alcuni aspetti essenziali rigurdanti il controllo predittivo riguardanti la struttura, l’integrazione del feed forward

control, la stabilit`a ed i vantaggi/svantaggi di una formulazione QP o LP dei

problemi di costo minimo su cui questa tecnica di controllo si basa.

Si introdurr`a inoltre una notazione a cui si far`a riferimento sia nei capitoli seguenti che nel codice di Simulatore MPC, in base alla quale si indica con m il numero delle variabili manipolate (MV), con p il numero delle variabili controllate (CV), con n il numero degli stati dell’impianto, con nc il numero

(20)

3.1

Struttura del Controllo Predittivo

In questo capitolo viene analizzata in maggior dettaglio la struttura di uno schema di controllo predittivo. In figura 3.1 ne viene mostrata una schema-tizzazione relativa al caso pi`u generale

z 1 z 1 DYNAMIC OPTIMIZATION Yc TARGET CALCULATION PREDIZIONE PLANT FILTRAGGIO xk|k xk|k xk|k dk|k dk|k dk|k yk yk yk dk+1|k dk|k−1 xk+1|k xk|k−1 yc w0 us uk uk

Figura 3.1: Struttura impianto di controllo MPC

La struttura di un controllore predittivo `e costituita essenzialmente dai moduli di

· Filtraggio che ha il compito di stimare lo stato corrente xk|k ed il disturbo

integrale dk|k da sommare all’uscita predetta

· Target Calculation che ad ogni passo di campionamento ha il compito di calcolare i valori ottimali di stazionario degli stati xs e degli ingressi us

· Dynamic Optimization che calcola ad ogni passo le azioni di controllo ot-timali su un orizzonte temporale {uj}j=N −1j=k per portare il sistema ai

target

· Predittore che effettua la predizione per il passo di campionamento succes-sivo dello stato xk+1|k e del disturbo integrale dk+1|k

(21)

3.1.1

Filtraggio

All’inizio di ogni passo di campionamento il controllore stima lo stato cor-rente dell’impianto. Una conoscenza accurata dello stato migliora la qualit`a della previsione e di conseguenza le performance del controllore.

Se tutti gli stati del sistema sono misurati il problema della stima `e relati-vamente semplice in quanto il problema si riconduce banalmente alla misura degli effetti del rumore.

Purtroppo per`o normalmente le grandezze interne di un generico impianto non sono misurate ed il controllore `e costretto a stimare il loro valore, oltre a quello del disturbo, sulla base delle misure disponibili.

Per capire il procedimento seguito per stimare la misura corrente dello stato xk|k e del disturbo integrale dk|k, nel caso in cui non sia presente per

sempli-cit`a il disturbo misurato, `e necessario ricordare che il modello del processo utilizzato dal controllore `e un modello in variabili di stato, lineare, discreto e tempo-invariante:

xk+1 = Axk+ Buk+ Bddk (3.1a)

yk= Cxk+ Dddk (3.1b)

in cui xk ∈ Rn, uk ∈ Rm, yk∈ Rp, dk∈ Rp, A ∈ Rn×n, B ∈ Rn×m, C ∈ Rp×n,

Bd∈ Rn×p, Dd∈ Rp×p.

Da notare che come ipotesi iniziali si assume che il sistema sia stabilizzabile e rivelabile.

La stabilizzabilit`a di un sistema comporta la possibilit`a di portare gli stati, e quindi le uscite, asintoticamente a zero, partendo da un valore non nullo di questi.

La rivelabilit`a invece implica la rintracciabilit`a degli stati del sistema che fanno tendere a zero l’errore di predizione e quindi la possibilit`a di far tendere il valore stimato dell’uscita al valore misurato.

In particolare il modulo di filtraggio fornisce la stima degli stati e del disturbo integrale al passo k, basandosi sulla stima di queste stesse grandezze fatte al passo precedente ovvero xk|k−1 e dk|k−1.

Indicando con ek l’errore nella predizione dell’uscita al tempo k1

ek= yk− (Cxk|k−1+ Dddk|k−1) (3.2)

gli stati ed il disturbo integrale vengono stimati come segue:  xk|k dk|k  =  xk|k−1 dk|k−1  +  Lx Ld  ek (3.3) 1[Cxk

|k−1+ Dddk|k−1] rappresenta la predizione effettuata al tempo (k − 1) delle uscite

(22)

in cui Lx ∈ Rn×pe Ld∈ Rnd×p rappresentano i guadagni del filtro,

rispettiva-mente degli stati e del disturbo integrale, che possono essere scelte a piacere, ma in modo comunque da garantire stabilit`a. 2

(23)

3.1.2

Target Calculation e Dynamic Optimization

Nella formulazione pi`u generale un controllore predittivo `e composto da un modulo di Target Calculation (TC) che ad ogni passo di campionamento ha il compito di determinare i valori ottimali di stazionario degli stati e degli ingressi, e da un modulo di Dynamic Optimization (DO) pensato allo scopo di calcolare le azioni di controllo ottimali per portare il sistema ai target. In particolare il modulo di Target Calculation ha il compito di calcolare i tar-get di stazionario il pi`u vicino possibile a quelli ricevuti dal livello di controllo superiore (ottimizzazione economica locale), senza violare i vincoli sugli in-gressi e sulle uscite.

I target degli ingressi e degli stati vengono ricalcolati ad ogni passo di campio-namento in quanto i relativi valori ottimali possono cambiare continuamente a causa di disturbi che entrano nel processo e/o di operazioni in linea com-piute dagli operatori.

Fissati i set-point delle variabili controllate, i target degli stati e degli ingressi vengono calcolati risolvendo un problema del tipo seguente

min us,xs,ǫ h (us− us,old)T Rs(us− us,old) + ǫTQsǫ+ zTsPszs i (3.4) soggetta a xs= Axs+ Bus+ Bddk|k HyCxs+ zs = yc− Dddk|k umin ≤ us≤ umax ymin− ǫ ≤ Cxs+ dk|k ≤ ymax+ ǫ ǫ≥ 0 dove

· Rs ∈ Rm×m pesa la variazione dei target delle MV

· Qs ∈ Rp×p pesa la violazione dei vincoli da parte dei target delle CV

· Ps ∈ Rnc×nc pesa lo scostamento tra set-point e target delle CV

mentre Hy ∈ Rnc×p serve per selezionare le CV controllate al set-point.

La stima dei disturbi costanti dk|k nel feedback dell’uscita appare in modo

esplicito in questo passo in modo tale da poterne effettuare una rimozione. Noti i valori dei target degli stati e degli ingressi, l’ottimizzazione dinamica effettua una predizione (in anello aperto) delle uscite yj in un orizzonte j =

(24)

j = k, . . . , k + L + 1. L’indice intero N indica la lunghezza dell’orizzonte di predizione, mentre L indica la lunghezza dell’orizzonte di controllo.

Classicamente la sequenza ottimale viene calcolata risolvendo ad ogni passo di campionamento k un problema di ottimo vincolato del tipo seguente

min {u}N −1j=k,ǫ N−1X j=k n xk+j|k− xs T Qx xk+j|k− xs  + ∆uT k+jS∆uk+j+ ǫTW ǫ o (3.5) soggetta a: xk+j+1|k = Axk+j|k+ Buk+j+ Bddk+j|k yk+j = Cxk+j|k+ Dddk|k uk+j = us, con j ≥ L umin ≤ uk+j ≤ umax

−∆umin ≤ uk+j − uk+j−1≤ ∆umax

ymin− ǫ ≤ yj ≤ ymax+ ǫ

ǫ≥ 0

Utilizzando i valori di stazionario si pu`o riscrivere il precedente problema 3.5 in una forma pi`u compatta, ponendo

wi = xk+i|k − xs, vi = uk+i− us

e tenendo conto che

xs= Axs+ Bus+ Bddk|k, ys = Cxs+ Dddk|k

si ottiene il seguente problema di ottimizzazione min {vi}N −1i=k ,ǫ N−1 X i=k  wiTQxwi+ ∆vTi S∆vi+ ǫTW ǫ (3.6) soggetto a:

(25)

· Qx ∈ Rn×n pesa lo scostamento degli stati predetti dai rispettivi target

· Qz ∈ Rnc×nc pesa lo scostamento delle CV dai rispettivi target

· Ru ∈ Rm×m pesa lo scostamento degli ingressi dai relativi target

· S ∈ Rm×m pesa le variazioni degli ingressi sull’orizzonte di controllo

· W ∈ Rp×p pesa l’eventuale violazione dei vincoli da parte delle CV

· P ∈ Rn×n pesa lo scostamento dell’ultima predizione degli stati dai target

E’importante ricordare che tutte le matrici peso devono essere semidefinite positive con la condizione aggiuntiva che Ru+ S deve risultare definita

posi-tiva.

Si noti inoltre che i vincoli sul valore massimo umax ∈ Rm e minimo umin ∈

Rm oltre che sul valore delle variazioni in avanti ∆u

max ∈ Rm e all’indietro

∆umin ∈ Rm delle MV sono di tipo hard, mentre i vincoli sul valore massimo

(26)

3.1.3

Predizione

Una volta che il modulo di ottimizzazione dinamica ha calcolato l’azione di controllo ottimale uk da inviare all’impianto, prima di passare al tempo di

campionamento successivo viene effettuata la seguente predizione  xk+1|k dk+1|k  =  A Bd 0 I   xk|k dk|k  +  B 0  uk+  Bdm 0  dkm (3.7)

Da notare che i risultati di questo modulo vengono raccolti ed utilizzati dal modulo di Filtraggio al passo di campionamento successivo.

(27)

3.2

Feed Forward

E’ frequente il caso in cui gli effetti di alcuni disturbi possano essere antici-pati e approssimativamente cancellati da opportune azioni di controllo. Ci`o `e possibile, lavorando nell’ipotesi che il disturbo venga misurato prima che entri nel sistema, tramite il feed forward control, che nella relativa reiezione risulta pi`u efficace del controllo in retroazione. Il controllo in feedback inter-viene infatti solamente dopo che gli effetti del disturbo diventano apparenti. Di seguito viene riportato un generico schema di controllo feed forward, do-ve viene mostrato come il disturbo misurato possa attrado-versare dinamiche comuni a quelle relative al segnale di controllo

Figura 3.2: Schema di controllo in Feed Forward

Cos`ı come viene proposto nella figura precedente il feed forward non pu`o funzionare in quanto l’esatta cancellazione della dinamica del disturbo misu-rato richiederebbe la funzione di trasferimento esatta tra il disturbo e l’uscita ed in particolare un’esatta inversione del modello.

Dal momento che niente di tutto ci`o `e possibile, il feed forward control de-ve essere usato in combinazione con il controllo in feedback. In particolare il feed forward control viene adottato per rimuovere la maggior parte degli effetti del disturbo misurato, mentre per eliminarne il resto viene utilizzato il controllo in feedback.

Una delle peculiarit`a del controllo predittivo riguarda la facilit`a con cui que-sta tecnica riesca facilmente ad incorporare il feed forward control. Per far ci`o basta semplicemente includere gli effetti del disturbo misurato nelle pre-dizioni delle uscite future.

Di seguito indicando con mdm, ndm e pdm rispettivamente il numero di

in-gressi, degli stati e delle uscite della dinamica relativa al disturbo misurato, viene mostrato come includere tale dinamica all’interno delle predizioni

(28)

Adm ∈ Rndm×ndm, Bdm ∈ Rndm×mdm, Cdm∈ Rpdm×ndm

Per la reiezione di un disturbo di cui si conosca la dinamica `e necessario tenere in conto i relativi effetti sugli stati e sulle uscite del sistema su tutto l’orizzonte di predizione.

A tale scopo la scelta che `e stata fatta `e quella di effettuare la seguente estenzione dello stato.

xk+1 =  A 0 0 Adm  | {z } A xk+  B 0  | {z } B uk+  Bd 0  | {z } Bd dk|k+  0 Bdm  | {z } Bdm dkm (3.8)

mentre alla legge di aggiornamento dell’uscita viene fatta assumere la forma seguente yk =  C Cdm  | {z } C xk+ Dddk|k+ Ddmdkm (3.9) dove A∈ R(n+ndm)×(n+ndm), B ∈ R(n+ndm)×m, C ∈ Rp×(n+ndm) Bd∈ R(n+ndm)×p, Dd∈ Rp×p, Bdm∈ R(n+ndm)×mdm Ddm ∈ Rp×mdm

Dove si assume che il disturbo influenzi il valore delle uscite solo dopo essere stato misurato.

Il vettore colonna degli stati X ∈ R(n+ndm)·N che il sistema assumer`a sull’o-rizzonte di predizione pu`o essere cos`ı espresso:

X = eAxk+ eBU + eBdmdekm+ eBddk|k (3.10)  x0     B 0 · · · 0 AB B . .. ...   

(29)

e Bdm =         Bdm 0 · · · 0 ABdm Bdm . .. ... A2Bdm ABdm Bdm . .. ... .. . ... ... . .. 0 AN−1 AN−2B dm · · · ABdm Bdm         ∈ R[(n+ndm)·N ]×mdm·N e dkm =        dkm dkm ... ... dkm        ∈ Rmdm·N, Be d=        Bd ABd A2B d ... AN−1B d        ∈ R[(n+ndm)·N ]×p·N e A=      A A2 ... AN     ∈ R [(n+ndm)·N ]×(n+ndm), U =      u0 u1 ... uN−1     ∈ R m·N

Nel seguito della tesi per semplicit`a di notazione si considera n e non n + ndm

il numero degli stati del sistema anche nel caso venga scelto di inserire il disturbo misurato nelle previsioni, come invece sarebbe pi`u corretto fare. Inoltre sempre per semplicit`a si fa notare che sull’orizzonte di predizione il disturbo misurato si considera costante ed uguale a quello valutato al passo attuale. Niente per`o vieta in generale qualora si disponesse di informazio-ni aggiuntive su questi ingressi non mainformazio-nipolabili, di implementare strategie diverse.

(30)

3.3

Analisi di Stabilit`

a

Di seguito si discute sulla stabilit`a prima nel caso nominale in assenza di vincoli, e poi nel caso pi`u generale.

3.3.1

Stabilit`

a nominale in assenza di vincoli

Supponendo che il processo reale sia uguale al modello utilizzato nel regola-tore e che (al tempo iniziale) lo stato del processo sia uguale allo stato del modello si osserva che il termine di correzione `e nullo a qualunque tempo:

dk|k = 0 ∀k

e si ha quindi che i valori dei target per gli stati e gli ingressi sono costanti nel tempo.

Ridefinendo quindi

xk ← xk− xs, uk← uk− us

`e possibile esprimere l’ingresso di controllo come

uk= K1xk+ K2uk−1 (3.11)

Dove i valori di K1 e K2 dipendono dal tipo di algoritmo MPC scelto. Si

consideri il seguente stato aumentato del sistema mediante il precedente input ξk =  xk uk−1  (3.12) la cui evoluzione `e data da

ξk+1 =  A 0 0 0  ξk+  B I  uk (3.13) Sostituendo 3.11 in 3.13 si ottiene ξk+1 =  A 0 0 0  +  B I  K1 K2   ξk=  A+ BK1 BK2 K1 K2  ξk= Aξk (3.14)

(31)

3.3.2

Stabilit`

a in presenza di vincoli

Lo studio della stabilit`a in presenza di vincoli risale ai primi anni ’90, ed il lavoro probabilmente pi`u importante `e dovuto a Rawlings e Muske [RM93] in cui si dimostra che scegliendo N = ∞ e riscrivendo il problema di ottimizza-zione in maniera opportuna si ottiene un regolatore che `e stabile in presenza di vincoli per qualsiasi scelta delle matrici dei pesi Qx ed S.

Per semplicit`a di esposizione si consideri soltanto il caso con vincoli sugli ingressi. Assumendo N = ∞ il problema di ottimizzazione dinamica pu`o essere riscritto nel seguente modo

min {vi}i=∞i=0 ∞ X i=0  wiTQxwi+ ∆vTi S∆vi (3.15) Rawlings e Muske [RM93] riscrivono il precedente problema ad orizzonte infinito in una forma trattabile da un punto di vista numerico

min {vi}i=∞i=0 L X i=0  wiTQxwi+ ∆vTi S∆vi +  wL vL−1 T P  wL vL−1  (3.16) soggetta a: wi+1 = Awi+ Bvi umin− us≤ vi ≤ umax− us

−∆umax ≤ ∆vi ≤ ∆umax

in cui la matrice P che definisce cost to go ovvero il costo dall’orizzonte L fino all’ orizzonte N = ∞, viene calcolata come soluzione della seguente equazione di Lyapunov

P = Qx+ ATP A (3.17)

Da notare che tale soluzione esiste solo nel caso in cui A sia stabile cio`e nel caso in cui abbia tutti gli autovalori all’interno del cerchio unitario.

Nel caso di sistemi instabili invece, occorre fattorizzare A nella parte stabile ed in quella instabile, azzerare tutti i modi instabili alla fine dell’orizzonte di predizione e calcolare P solo sui modi stabili.

Nel 1998 Scokaert e Rawlings [SR98] calcolano P come soluzione della se-guente dall’equazione di Riccati:

P = Qx+ ATP A− ATP B(Ru+ BTP B)−1BTP A (3.18)

Questa formulazione a differenza della precedente si pu`o applicare indistin-tamente sia a sistemi stabili che instabili.

(32)

Si ricorda inoltre per completezza che per la stabilit`a `e necessario che si verifichi

(33)

3.4

Vantaggi e Svantaggi delle formulazioni

LP e QP

Storicamente i problemi di costo minimo erano formulati come problemi LP (Linear Programming) ovvero nella seguente forma

min x c Tx (3.19) soggetta a Ax≥ b x≥ 0 (3.20)

Ci`o era dovuto al fatto che i problemi LP potevano essere risolti molto pi`u velocemente dei problemi di tipo QP (Quadratic Programming) in quan-to esisteva una maggiore esperienza (specialmente nei contesti industriali e commerciali) circa la relativa risoluzione, grazie alla disponibilit`a di software altamente affidabile e ben ottimizzato.

Con il tempo l’importanza di queste ragioni `e andata rapidamente decre-scendo in quanto sono stati fatti grandi passi nello sviluppo di algoritmi e programmi per la risoluzione di problemi di tipo QP, che presentano invece la forma seguente min x 1 2x THx + fTx (3.21) soggetta a Ainx 6 bin Aeqx= beq

Ma la ragione pi`u importante legata alla sempre maggiore utilizzazione di problemi QP nell’ambito del controllo predittivo, `e di natura concettuale. A tale proposito va fatto notare che le soluzioni dei problemi di tipo LP si trovano quasi sempre sull’intersezione di vincoli e occasionalmente su un sin-golo vincolo, mentre le soluzioni dei problemi QP possono essere distanti dai vincoli, su un singolo vincolo od in casi estremamente rari sull’intersezione di vincoli.

Allo scopo di analizzare le differenze tra problemi LP e QP viene riporta-ta la figura 3.3 nella quale viene analizzato un problema costo di minimo caratterizzato da due sole variabili di decisione: x1 e x2.

(34)

x1

x2 x2

x1 Increasing V

Figura 3.3: Contorni di costo e vincoli nel caso LP (sinistra), e QP (destra). Il punto nero rappresenta la soluzione ottima.

La linea spessa rappresenta i vincoli di diseguaglianza lineari mentre la regione limitata da queste stesse linee rappresenta la feasible region del pro-blema in analisi.

Le linee spezzate rappresentano invece le curve di livello relative ai costi: nel caso di problemi di tipo LP sono linee dritte (o iper-piani nel caso in cui il numero delle variabili di decisione sia maggiore di 3), mentre per i problemi di tipo QP sono costituite da ellissi (o iper-ellissoidi nel caso pi`u generale). Nei problemi LP il costo aumenta muovendosi nel verso della freccia, mentre nel caso dei problemi QP aumenta mano a mano che ci si allontana dal centro degli ellissi.

Come si pu`o vedere nella parte sinistra della figura, la soluzione ottimale di un problema LP deve sempre necessariamente giacere su almeno un vincolo. Inoltre la soluzione presenta un certo margine di robustezza rispetto alla fun-zione di costo: l’inclinafun-zione dei contorni di costo, infatti, deve normalmente variare di una quantit`a consistente prima che la soluzione del problema possa mutare.

Nel momento in cui per`o la soluzione cambia, salta improvvisamente da un angolo all’altro della feasible region.

Da sottolineare inoltre il fatto che la soluzione ottima risulta molto sensibile ai vincoli e cambia nel momento in cui questi subiscono delle modifiche. La figura precedente nella parte destra mostra come la soluzione ottimale di

(35)

pletamente insensibile ad eventuali cambiamenti sui vincoli se si trova all’in-terno della feasible reagion, e la relativa posizione in questo caso dipende esclusivamente dai pesi su ciascuna variabile di decisione all’interno della funzione obiettivo.

Se invece la soluzione ottimale si trova sulla frontiera di questa regione, cio`e se alcuni vincoli risultano attivi, allora la sua posizione dipende sia dalla funzione di costo che dai vincoli.

Di seguito viene descritto un esempio per chiarire meglio le differenze che si hanno tra problemi QP e LP.

Si supponga che il punto di lavoro ottimale dell’impianto si trovi sull’inter-sezione di pi`u vincoli: se i vincoli sono conosciuti con un elevato grado di precisione, il modello risulta ragionevolmente accurato, e la vera cost

func-tion `e conosciuta solo approssimativamente, allora il comportamento robusto

della soluzione LP risulter`a appropriato. L’algoritmo di controllo predittivo in questo caso tender`a a mantenere l’impianto sul punto operativo ottimale malgrado sia presente un certo livello di incertezza sulla funzione di costo reale.

In pratica per non danneggiare l’impianto, si evita di farlo lavorare in condi-zioni estreme e dunque di portare il relativo punto di lavoro sulla frontiera della feasible region.

Di conseguenza i vincoli reali vengono di solito rimpiazzati da vincoli virtuali, che permettono qualche margine di sicurezza per le inevitabili violazioni di vincolo.

Tali violazioni cresceranno in relazione a disturbi inattesi, errori nel model-lo dell’impianto, errori nelle misure ed errori nelle specificazioni dei vincoli stessi.

Cos`ı in pratica la soluzione LP tenderebbe a mantenere l’impianto su un pun-to operativo fisso, ma che non con alta probabilit`a non costituisce l’ottimo reale.

In quest’ottica la soluzione del problema nella formulazione QP risulta deci-samente migliore.

Nella situazione appena descritta, infatti, la formulazione QP prover`a a man-tenere l’impianto su un punto operativo all’interno della feasible region, vi-cino al punto operativo ottimale.

Attualmente gli strumenti risolutivi dei problemi QP forniscono un elevato grado di flessibilit`a, potenzialemente applicabile on-line sull’impianto dagli operatori che vi lavorano, infatti:

· il punto operativo desiderato, vale a dire il centro degli ellissoidi di iso-costo, pu`o essere movimentato all’interno della feasible reagion agendo sui pesi della funzione di costo.

(36)

x1 x1

x2 x2

Figura 3.4: Uso di una formulazione QP per collocare il punto operativo desiderato all’interno della feasible region. Sinistra: deviazioni di x1 meno

costose di x2. Destra: deviazioni di x2 meno costose di x1

Da notare che nella formulazione LP ci`o pu`o essere fatto solo tramite la ridefinizione dei vincoli.

· i pesi nella funzione di costo possono essere modificati allo scopo di cam-biare il comportamento unconstrained dell’impianto. A tale proposito in figura 3.4 si mostra lo stesso punto operativo, nelle condizioni in cui una variazione di x2 sia pi`u costosa di un’analoga variazione di x1 e

viceversa.

· se i vincoli sono persistentemente attivi, come in figura 3.3, allora la po-sizione del punto operativo sulla frontiera della feasible reagion pu`o essere modificata tramite l’alterazione dei pesi.

La soluzione ottimale pu`o dunque essere spostata su ed in gi`u lungo la linea che rappresenta il vincolo.

In conclusione la formulazione QP ha il grosso vantaggio di fornire un com-portamento lineare a condizione che i vincoli siano inattivi o ne sia attivo un numero fisso.

Tutti gli strumenti di teoria dei controlli lineari possono dunque essere ap-plicati per analizzare il controllore. Ci`o non `e possibile nella formulazione

(37)

Capitolo 4

Sviluppo ed Analisi di Diverse

Formulazioni di Controllo

Predittivo

4.1

Introduzione

Nei seguenti paragrafi vengono analizzate nel dettaglio tre diverse tipologie di controllo predittivo

· MPC con i moduli per il Target Calculation e la Dynamic Optimization · MPC senza il modulo per il Target Calculation

· MPC con un unico modulo per il Target Calculation e la Dynamic

Opti-mization

Per ogni algoritmo MPC vengono innanzitutto formulati i relativi problemi di costo minimo, attraverso la definizione della relativa funzione obiettivo e dei vincoli.

Successivamente vengono riportati i passaggi mediante i quali si riesce a riformulare tali problemi nella forma di seguito riportata in modo tale da poter essere risolti mediante il comando Matlab quadprog.

min x 1 2x THx+ fTx (4.1) soggetta a Ainx 6 bin Aeqx= beq

(38)

Dove H e f identificano la funzione obiettivo da minimizzare sulla base della variabile di decisione x, mentre Ain, bin e Aeq, beq modellano rispettivamente

i vincoli di diseguaglianza e di uguaglianza.

Si noti inoltre che nel seguito, per semplicit`a di notazione, la stima dello stato e del disturbo al passo k, ovvero xk|k e dk|k, verranno indicati rispettivamente

con xk e dk.

Si noti che nel caso in cui non siano presenti vincoli il problema 4.3.1 pu`o essere risolto in forma chiusa attraverso nel modo seguente

(39)

4.2

MPC con Target Calculation e Dynamic

Optimization

4.2.1

Definizione del Problema

Il controllore MPC in esame si basa sull’utilizzo dei moduli di ottimizzazio-ne stazionaria o target calculation e di ottimizzazioottimizzazio-ne dinamica o dynamic

optimization.

Nei seguenti sottoparagrafi viene analizzato il relativo funzionamento descri-vendo in dettaglio la formulazione della funzione obiettivo e dei vincoli dei problemi di costo minimo che risolvono.

4.2.2

Modulo di Target Calculation

Il lavoro del modulo di ottimizzazione stazionaria si basa essenzialmente sulla minimizzazione della seguente funzione obiettivo di tipo quadratico

min us,ǫs 1 2 h (us− us,old) T Rs(us− us,old) + ǫTsQsǫs i (4.2) in cui Rs ∈ Rm×m e Qs ∈ Rp×p sono matrici diagonali semidefinite positive.

In particolare gli elementi della matrice Rs pesano gli scostamenti del target

degli ingressi us dal riferimento us,old (costituito in questo caso dal valore

assunto da us al passo di campionamento precedente), mentre la matrice Qs

penalizza le eventuali violazioni dei vincoli indicate con ǫs∈ Rp da parte dei

target delle CV.

I vincoli di uguaglianza e diseguaglianza che il problema di ottimizzazione stazionaria deve soddisfare sono i seguenti

· Equazione di stato stazionario

xs = Axs+ Bus+ Bddk+ Bdmdkm (4.3)

· Zero-offset sulle CV

¯

yc = Hy[Cxs+ Dddk] (4.4)

dove Hy ∈ Rnc×p `e una matrice che viene creata all’interno

dell’algorit-mo e che seleziona le CV da controllare al set-point ¯yc ∈ Rnc

· MV da non variare durante l’ottimizzazione

(40)

dove Hu ∈ Rnb×m seleziona le MV bloccate

· Vincoli hard sulle MV

umin ≤ us≤ umax (4.6)

· Vincoli hard sulle variazioni dei target rispetto al valore calcolato al tempo

di campionamento precedente

−∆umin ≤ us− us,old≤ ∆umax (4.7)

· Vincoli soft sulle CV

ymin− ǫs ≤ Cxs+ Dddk≤ ymax+ ǫs (4.8)

· Violazione dei vincoli sulle CV

ǫs ≥ 0 (4.9)

dove ǫs∈ Rp

La risoluzione del problema appena esposto pu`o essere ottenuta mediante il comando Matlab quadprog a condizione di riformulare il problema nella forma 4.3.1. Scegliendo come variabile di decisione

x=   xuss ǫs   ∈ R(n+m+p) (4.10) si ricava che H =   00 R0s 00 0 0 Qs   ∈ R(n+m+p)×(n+m+p), f =   −Rs0us,old 0   ∈ R(n+m+p)

(41)

Ain =           0 Im 0 0 −Im 0 0 Im 0 0 −Im 0 C 0 −Ip −C 0 −Ip 0 0 −Ip           ∈ R(4·m+3·p)×(n+m−nb+p) (4.11a) bin =           umax −umin

∆umax+ us,old

∆umin− us,old

ymax− Dddk −(ymin− Dddk) 0           ∈ R(4·m+3·p) (4.11b) Aeq =   InH− A −B 0yC 0 0 0 Hu 0   ∈ R(n+nc+nb)×(n+m+p) (4.11c) beq =   By¯dcdk− H+ ByDdmdddkmk Huus,old   ∈ R(n+nc+nb) (4.11d)

Da notare che Hu ∈ Rnb×m `e una matrice che consente di selezionare le MV

da non variare durante l’ottimizzazione.

Se il problema risulta infeasible viene rilasciato il vincolo di uguaglianza sulle MV ed effettuata nuovamente la minimizzazione.

I vincoli di uguaglianza vengono quindi cos`ı riformulati Aeq =  In− A −B 0 HyC 0 0  ∈ R(n+nc)×(n+m+p) (4.12a) beq =  Bddk+ Bdmdkm ¯ yc− HyDddk  ∈ R(n+nc) (4.12b)

Se il modulo di ottimizzazione stazionaria non riesce ancora una volta a trovare una soluzione significa che non pu`o essere mantenuto il vincolo di uguaglianza sulle CV al set-point.

Di conseguenza `e necessario aggiungere nella funzione obiettivo un termine che pesi gli scostamenti delle CV dai rispettivi target. La funzione di costo diventa quindi min us,ǫs,zs 1 2 h (us− us,old)T Rs(us− us,old) + ǫTsQsǫs+ zTsPszs i (4.13)

(42)

dove Ps ∈ Rnc×nc `e una matrice diagonale semidefinita positiva che pesa

proprio tali scostamenti indicati con zs ∈ Rnc. Quindi il problema appena

esposto pu`o essere riformulato, supponendo che il vettore dei costi x assuma la forma

x= [xs, us, ǫs, zs]T ∈ R(n+m+p+nc) (4.14)

attraverso le seguenti matrici

H =     0 0 0 0 0 Rs 0 0 0 0 Qs 0 0 0 0 Ps     ∈ R(n+m+p+nc)×(n+m+p+nc) (4.15a) f =     0 −Rsus,old 0 0     ∈ R(n+m+p+nc) (4.15b) Aeq =  In− A −B 0 0 HyC 0 0 Inc  ∈ R(n+nc)×(n+m+p+nc) (4.15c) beq =  Bddk+ Bdmdkm yc− HyDddk  ∈ Rn+nc (4.15d)

I vincoli di diseguaglianza non subiscono modifiche sostanziali rispetto al ca-so precedente se non per l’aggiunta nella matrice Ain di tante colonne quante

(43)

4.2.3

Definizione del Problema di Dynamic

Optimiza-tion

Noti i valori dei target degli stati e degli ingressi al passo di campionamento k, l’ottimizzazione dinamica effettua una predizione (in anello aperto) delle uscite yj su un orizzonte j = k + 1, . . . , k + N, attraverso una sequenza di

ingressi differenziali futuri vi = ui−us lungo un orizzonte i = k + 1, . . . , k + L

detto di controllo.

La sequenza ottimale viene calcolata risolvendo un problema di ottimo vin-colato di tipo quadratico su orizzonte finito che pu`o assumere la seguente forma min {vj}N −1j=0,ǫ (N−1 X j=0 wTjQxwj + vjTRuvj+ ∆vjTS∆vj + kǫk2W ) + wT NP wN (4.16) soggetta a wj+1 = Awj + Bvj vj = 0 j ≥ L umin− us≤ vj ≤ umin− us

−∆umin ≤ ∆vj ≤ ∆umax

ymin− ys− ǫ ≤ Cwj ≤ ymin− ys+ ǫǫ ≥ 0

Dove

wj = xk+j− xs ∈ Rn, vj = uk+j− us ∈ Rm

∆vj = vj− vj−1 ∈ Rm, wN = xk+N− xs ∈ Rn

Inoltre ǫ ∈ RN·p nel caso in cui si vogliano pesare tutti gli scostamenti

sul-l’orizzonte di predizione, oppure ǫ ∈ Rp nel caso in cui si voglia penalizzare

solo quello massimo.

Allo scopo di poter risolvere il problema di costo minimo in analisi attraverso il comando Matlab quadprog `e necessario riformularlo nella forma 4.3.1. I due paragrafi successivi sono dedicati rispettivamente al calcolo di H, f e di Ain, bin, Aeq, beq.

4.2.4

Calcolo della Funzione di Costo di Dynamic

Op-timization

Per esprimere la funzione obiettivo nella forma 12xTHx+ xTf di seguito

(44)

esprimerli in funzione di V ed ǫ ovvero delle componenti della funzione di costo x.

Dove V = [v0, v1, ..., vN−1]T ∈ RN·m mentre ǫ ∈ RN·p oppure ∈ Rp a seconda

si voglia penalizzare tutti gli scostamenti sull’orizzonte di predizione delle CV dai rispettivi vincoli oppure solo quello massimo.

· k+N −1X j=k  wjTQxwj + wT NP wN = w0TQxw0+ WT      Qx 0 · · · 0 0 . .. ... ... .. . . .. Qx 0 0 · · · 0 P      | {z } e Qx W

inoltre sapendo che w1 = Aw0+ Bv0 w2 = Aw1+ Bv1 = . . . = A2w0+ ABv0+ Bv1 w3 = Aw2+ Bv2 = . . . = A3w0+ A2Bv0+ ABv1+ Bv2 ... wN = ANw0+ AN−1Bv0+ AN−2Bv1+ AN−3Bv2+ . . . + ABvN−2+ BvN−1 si pu`o scrivere W = eAw0+ eBV (4.18) dove W =      w1 w2 .. . wN     , A˜=      A A2 .. . AN     , B˜ =         B 0 · · · 0 AB B . .. ... A2B AB B . .. ... .. . ... ... . .. 0 AN−1B AN−2B · · · AB B         , v =     v0 v1 ...    , w = x − x ,

(45)

· k+N −1X j=k  vjTRuvj = VT      Ru 0 · · · 0 0 Ru . .. ... .. . . .. ... 0 0 · · · 0 Ru      | {z } e Ru V dove V =      v0 v1 .. . vN−1     ∈ R N·m · k+N −1X j=k  ∆vT j S∆vj = ∆VT      S 0 · · · 0 0 S . .. ... .. . . .. ... ... 0 · · · 0 S      | {z } e S ∆V sapendo che ∆V =      ∆v0 ∆v1 ... ∆vN−1     =      −I 0 ... 0      | {z } ec v−1+         I 0 · · · 0 −I I . .. ... 0 −I I . .. ... ... . .. ... 0 0 · · · −I I         | {z } e D V

dove v−1 = uk−1− us. Sostituendo si ottiene

VTDeTS eeDV + vT

−1CeTS eeCv−1+ 2VTDeTS eeCv−1 (4.20)

· Il termine

k+N −1X j=k

kǫjk2W nel caso in cui si voglia penalizzare solo lo

scosta-mento massimo delle CV dai rispettivi vincoli assume la forma

(46)

mentre invece nel caso in cui si vogliano penalizzare tutti gli scostamenti ǫT      W 0 · · · 0 0 W . .. ... ... ... ... 0 0 · · · 0 W      | {z } f W ǫ (4.22)

Di consegenza ricordando che la variabile di decisione x = [V, ǫ]T, le matrici H ed f che permettono di definire la funzione di obiettivo, nel caso in cui ǫ∈ RN·p, possono essere cos`ı espresse

f = " e DTS eeCv −1+ 12BeT  e Qx+ eQTx  e Aw0 0 # ∈ RN·(p+m) H = " e BTQe xBe+ eRu + eDTS eeD 0 0 Wf # ∈ R[N ·(p+m)]×[N ·(p+m)]

Si noti che nel caso in cui non ci siano vincoli sulle CV, `e necessario eliminare tutti i termini in ǫ, e dunque la variabile di decisione risulter`a pari a x = V .

(47)

4.2.5

Modellazione dei Vincoli di Dynamic

Optimiza-tion

I vincoli modellati in questo lavoro sono di tipo sia hard che soft. Di tipo

hard sono quelli relativi al valore ed alle variazioni assunte dagli ingressi di

controllo sull’orizzonte di predizione, mentre quelli di tipo soft riguardano i valori assunti dalle CV sempre sul medesimo orizzonte.

Nell’analisi dei singoli vincoli per ognuno di essi saranno formulate le matrici Ain, bin o Aeq, beq a seconda si tratti di un vincolo modellabile in forma di

diseguaglianza o di uguaglianza.

Nel caso in cui siano attivi due o pi`u tipologie di vincolo le matrici Ain,

bin, Aeq, beq complessive si determinano impilando le matrici che modellano

i singoli vincoli.

Vincoli Ingresso di Controllo

Questa tipologia di vincolo deve essere usata nel caso in cui sia necessario limitare il valore dei singoli ingressi di controllo tra un valore minimo ed uno massimo.

In particolare `e necessario imporre questa condizione a tutti gli ingressi U = [uk, uk+1, ..., uk+N −1]T sull’orizzonte di predizione. Umin ≤ U ≤ Umax Umin ≤ V + Us ≤ Umax Umin− Us ≤ V ≤ Umax− Us dove V =      v0 v1 ... vN−1     ∈ R N·m, U =      uk uk+1 ... uk+N −1     ∈ R N·m, U s =      us us ... us     ∈ R N·m Umin =    umin .. . umin    ∈ RN·m, Umax =    umax .. . umax    ∈ RN·m

(48)

     I 0 · · · 0 0 0 I . .. ... 0 ... ... ... 0 ... 0 · · · 0 I 0      | {z } Ain  V ǫ  | {z } x ≤      umax− us umax− us .. . umax− us      | {z } bin      −I 0 · · · 0 0 0 −I . .. ... 0 ... ... ... 0 ... 0 · · · 0 −I 0      | {z } Ain  V ǫ  | {z } x ≤      −umin+ us −umin+ us .. . −umin+ us      | {z } bin

Vincoli variazioni ingressi

Questa tipologia di vincolo viene utilizzata nel caso in cui sia necessario porre una limitazione massima sulla variazione delle variabili manipolabi-li. In particolare permette di limitare le variazioni degli ingressi di con-trollo su tutto l’orizzonte di predizione indicate nel seguito con ∆Uk =

[∆uk,∆uk+1, ...,∆uk+N −1]T ∈ RN·m.

∆Umin ≤ ∆Uk ≤ ∆Umin

Ricordando che ∆Umax =    ∆umax ... ∆umax    ∈ RN·m, ∆Umax =    ∆umax ... ∆umax    ∈ RN·m

(49)

dove U =      uk uk+1 ... uk+N −1     ∈ R N·m, U s =      us us ... us     ∈ R N·m

inoltre sapendo che U = V + Us si ricava che

∆Umin− eCuk−1− eDUs ≤ DVe ≤ ∆Umax− eCuk−1− eDUs

dovendo esprimere tali vincoli nella forma Ainx≤ bin si ottiene

h e D 0 i | {z } Ain  V ǫ  | {z } x ≤ ∆Umax− eCuk−1− eDUs | {z } bin h − eD 0 i | {z } Ain  V ǫ  | {z } x ≤ −∆Umin+ eCuk−1+ eDUs | {z } bin Vincoli di Uscita

Tale tipologia di vincoli si rende necessaria qualora si voglia limitare i valori assumibili dalle variabili di controllo su tutto l’orizzonte di predizione Y = [yk+1, yk+2, ..., yk+N] ∈ RN·p tra un valore massimo ed uno minimo.

Ymin− ǫ ≤ Y ≤ Ymax+ ǫ dove Ymin =    ymin ... ymin    ∈ RN·p, Ymax =    ymax ... ymax    ∈ RN·p ǫ= F ǫ

(50)

Dove la matrice F nel caso in cui si voglia penalizzare tutti gli scostamenti delle CV dai rispettivi target ǫj oppure solo lo scostamento maggiore ǫ assume

rispettivamente le seguenti forme (in cui Ip `e la matrice identit`a con p righe

e colonne) F =      Ip 0 · · · 0 0 Ip . .. ... .. . . .. ... 0 0 · · · 0 Ip     ∈ R (p·N )·(p·N ), F =      Ip Ip ... Ip     ∈ R (p·N )·p

Sapendo inoltre che

Y = eEX+ eDddk, X = eAxk+ eBU + eBddk+ eBdmdkm U = V + Us si ottiene Y = eE eAxk+ eE eBddk+ eE eBdmdekm+ eDddk (4.23) dove e A=      A A2 .. . AN     ∈ R (N ·n)×n, Ee =      C 0 · · · 0 0 C . .. ... ... ... ... 0 0 · · · 0 C     ∈ R (N ·p)×(N ·p) e Bd=      Bd ABd ... AN−1B d     ∈ R (N ·n)×p, De d =      Dd Dd ... Dd     ∈ R (N ·p)×p  B 0 · · · 0 

(51)

X =      x0 x1 .. . xN−1     ∈ R N·n, Be =         B 0 · · · 0 AB B . .. ... A2B AB B . .. ... .. . ... ... . .. 0 AN−1 AN−2B · · · AB B         ∈ R(n·N )×(m·N ) U =      u0 u1 .. . uN−1     ∈ R N·m, V =      v0 v1 .. . vN−1     ∈ R N·m, U s =      us us .. . us     ∈ R N·m

dovendo esprimere tali vincoli nella forma Ainx≤ bin si ottiene

h e E eB −F i | {z } Ain  V ǫ  | {z } x ≤ Ymax− eE eAxk− eE eB− eE eBdmdkm− eE eBddk− eDddk | {z } bin h − eE eB F i | {z } Ain  V ǫ  | {z } x ≤ −Y| min+ eE eAxk+ eE eB+ eE e{zBdmdkm+ eE eBddk+ eDdd}k bin

MV da non variare durante l’ottimizzazione

Mediante il controllo predittivo `e possibile in qualsiasi istante non considerare ai fini del controllo una o pi`u MV. Ci`o limita i gradi di libert`a del controllore ma pu`o consentire il proseguio dell’attivit`a lavorativa anche nei casi in cui uno pi`u attuatori dell’impianto non siano in funzione.

I problemi che si incontrano bloccando una o pi`u MV devono essere ricer-cate in una degradazione delle performance e in una limitazione dello spa-zio raggiungibile. Di seguito viene mostrata la formulaspa-zione dei vincoli di uguaglianza che consente di bloccare uno o pi`u ingressi differenziali su tutto l’orizzonte di predizione.

(52)

vincoli del Target Calculation.      Hu 0 · · · 0 0 0 Hu . .. ... 0 ... ... ... 0 0 0 · · · 0 Hu 0      | {z } Aeq        v0 v1 ... vN−1 ǫ        | {z } x =      0 0 ... 0      | {z } beq (4.24)

dove Hu ∈ Rnb×m seleziona le MV da non variare durante l’ottimizzazione.

Orizzonte di Predizione maggiore dell’orizzonte di Controllo

Avendo indicato con N la lunghezza dell’orizzonte di predizione e con L la lunghezza dell’orizzonte di controllo si `e nella situazione in cui N > L. In questo caso il problema di minimo deve essere formulato in modo tale da bloccare ogni variazione nelle azioni di controllo al di fuori dell’orizzonte di controllo. Supponendo che l’orizzonte di controllo sia costituito dai primi L ingressi sull’orizzonte di predizione, il vincolo deve fissare gli ingressi oltre tale orizzonte al valore assunto da vL−1.

    0 · · · 0 −I I 0 · · · 0 0 · · · 0 −I I 0 · · · 0 0 · · · 0 −I I 0 0 0 · · · 0 −I I 0     | {z } Aeq              v0 v1 .. . vL−1 vL ... vN−1 ǫ              | {z } x =      0 0 ... 0      | {z } beq (4.25)

dove I `e la matrice identit`a ∈ R(m×m), b

eq ∈ R(N −L)·m mentre la dimensione

(53)

Nel caso in cui si voglia fissare gli ingressi successivi a quelli appartenenti all’orizzonte di controllo al valore di stazionario (opzione last move = 1) `e necessario riscrivere la 4.41 nel modo seguente

      0 · · · 0 −I I 0 · · · 0 0 · · · 0 −I I 0 · · · 0 0 · · · 0 −I I 0 0 0 · · · 0 −I I 0 0 · · · 0 I 0 · · · 0       | {z } Aeq              v0 v1 .. . vL−1 vL ... vN−1 ǫ              | {z } x =        0 .. . .. . 0 0        | {z } beq (4.26)

e dunque fissare vL−1 = 0 in modo tale che uL−1 e le successive azioni di

(54)

4.3

MPC senza Target Calculation

4.3.1

Definizione del Problema

La tipologia di controllo predittivo presentata in questo paragrafo si basa sul-la minimizzazione delsul-la seguente funzione di costo che penalizza direttamente lo scostamento delle CV dal relativo set-point.

min {uj}k+N −1j=k ,ǫ (k+N −1 X j=k  Hyyj − HyyTc  HyQyHyT Hyyj− HyyTc  + ∆uT jS∆uj + kǫjk2W ) soggetta a xj+1 = Axj + Buj+ Bddk umin ≤ uj ≤ umax

−∆umin ≤ ∆uj ≤ ∆umax

ymin− ǫj ≤ Cxj + Dddk≤ ymax+ ǫj

Dove ǫj ∈ RN·p nel caso in cui si vogliano pesare tutti gli scostamenti

sull’o-rizzonte di predizione, oppure ∈ Rp nel caso in cui si voglia penalizzare solo

quello massimo.

La matrice Hy ∈ Rnc×p serve per selezionare le nc componenti di yj, ¯yc e Qy

che corrispondono alle CV controllate ad un set-point.

Nel seguito per semplicit`a di notazione si effettuano le seguenti sostituzioni zc = Hyyc ∈ Rnc, zj = Hyyj ∈ Rnc, Qz = HyQyHyT ∈ Rnc×nc

Allo scopo di poter risolvere il problema di costo minimo in analisi attraverso il comando Matlab quadprog `e necessario riformulo nella forma . Dove la variabile di decisione x viene cos`ı scelta x = [U, ǫ]T. I due paragrafi successivi sono dedicati rispettivamente al calcolo di H, f e di Ain, bin, Aeq, beq.

(55)

X = eAx0 + eBU + eBddk+ eBdmdekm Y = eEX+ eDddk dove X =      x1 x2 ... xN     ∈ R N·n, Y =      y1 y2 ... yN     ∈ R N·p, U =      u0 u1 ... uN−1     ∈ R N·m e A=      A A2 .. . AN−1     ∈ R N·n×n, D d=      Dd Dd .. . Dd     ∈ R N·p×p, de km =      dkm dkm .. . dkm     ∈ R N·m e B =         B 0 · · · 0 AB B . .. ... A2B AB B . .. ... .. . ... ... . .. 0 AN−1B AN−2B · · · AB B         ∈ RN·n×N ·m, Ee=      C 0 · · · 0 0 C . .. ... .. . . .. ... 0 0 · · · 0 C     ∈ R N·p×N ·p e Bd=         Bd 0 · · · 0 ABd Bd . .. ... A2Bd ABd Bd . .. ... ... ... ... . .. 0 AN−1Bd AN−2Bd · · · ABd Bd         ∈ RN·n×N ·p e Bdm=         Bdm 0 · · · 0 ABdm Bdm . .. ... A2B dm ABdm Bdm . .. ... .. . ... ... . .. 0 AN−1B dm AN−2Bdm · · · ABdm Bdm         ∈ RN·n×N ·mdm

(56)

· k+N −1X j=k (zj − zc) T Qz(zj− zc) = N zTcQzzc + YT      Qz 0 · · · 0 0 Qz 0 ... .. . 0 . .. 0 0 · · · 0 Qz      | {z } e Qz Y − 2zT c      Qz Qz ... Qz      T | {z } ee Qz Y sapendo che Y = eEX+ eDddk = eE  e Axk+ eBU + eBdmdekm+ eBddk  + eDddk (4.27)

escludendo i termini costanti si ottiene

−2zT cQeezE eeBU + UTBeTEeTQez  e E eAxk+ eE eBU + eE eBddk+ eE eBdmdekm  +  xT kAeTEeT + dTkBedTEeT + dTkDed  e QzE eeBU · k+N −1X j=k ∆uT jS∆uj = ∆UT      S 0 · · · 0 0 S . .. ... ... ... ... 0 0 · · · 0 S      | {z } e S ∆U sapendo che ∆U =      −I 0 ... 0      | {z } u−1+         I 0 · · · 0 −I I . .. ... 0 −I I . .. ... ... ... ... ... 0         U (4.28)

(57)

· Il termine

k+N −1X j=k

kǫjk2W nel caso in cui si voglia penalizzare solo lo

scosta-mento massimo delle CV dai rispettivi vincoli assume la forma

N ǫTW ǫ (4.30)

mentre invece nel caso in cui si vogliano penalizzare tutti gli scostamenti

ǫT      W 0 · · · 0 0 W . .. ... ... ... ... 0 0 · · · 0 W      | {z } f W ǫ (4.31)

Sommando i termini appena ottenuti e ricordando che la variabile di decisione x = [U, ǫ]T, la funzione obiettivo pu`o essere riformulata (nel caso in cui si vogliano penalizzare tutti gli scostamenti ǫj delle CV dai rispettivi vincoli

lungo l’orizzonte di predizione) mediante le seguenti matrici

H= " e DTS eeD+ eBTEeTQe zE eeB 0 0 fW # f = " e DTS eeC,− eBTEeTQee z, eBTEeTQey  e E eBd+ eDd  , eBTEeTQe yE eeA, eBTEeTQeyE eeBdm 0 #       u−1 zc dk xk e dkm       dove H ∈ R[(m+p)·N ]×[(m+p)·N ], f ∈ R[(m+p)·N ]

Si noti che nel caso in cui non ci siano vincoli sulle CV, `e necessario eliminare tutti i termini in ǫ, e dunque la variabile di decisione risulter`a pari a x = U.

Figura

Figura 2.1: Orizzonte di Predizione
Figura 2.3: Vincoli hard (sinistra) e soft (destra)
Figura 3.1: Struttura impianto di controllo MPC
Figura 3.2: Schema di controllo in Feed Forward
+7

Riferimenti

Documenti correlati

Esercizi – Equazioni differenziali lineari del secondo

Allo scopo di studiare la Process Reaction Curve, si supponga di fornire un disturbo a gradino sulla portata in ingresso al primo serbatoio tale che essa raddoppi, con sistema in

Al fine di mantenere la temperatura del serbatoio costante, viene introdotto un controllore proporzionale-integrale di temperatura che regola la portata di vapore necessaria per

Si simuli quindi la dinamica del sistema ad anello aperto, riscaldato con la portata di vapore appena calcolata, verificando che il serbatoio raggiunga la temperatura di 70

Sull’uscita  del  secondo  serbatoio  è  posto  un  controllore  di  livello  il  cui  set  point  è  di  6.6  m,  condizione  stazionaria  in  assenza  di 

Con  riferimento  alle  ipotesi  e  assunzioni  di  idealità  discusse  nel  corso  delle  esercitazioni  precedenti,  si  caratterizzi  mediante  il  solo 

Per un sistema omogeneo la prima alternativa non si realizza mai, dunque o esiste un’unica soluzione, la banale, o esistono infi- nite soluzioni.. Come conseguenza del teorema di

[r]