• Non ci sono risultati.

Applicazione di un sistema di monitoraggio e diagnostica di controllori predittivi

N/A
N/A
Protected

Academic year: 2021

Condividi "Applicazione di un sistema di monitoraggio e diagnostica di controllori predittivi"

Copied!
102
0
0

Testo completo

(1)

introduzione iii

1 controllo predittivo multi-variabile 1

1.1 Introduzione ed aspetti generali . . . 1

1.1.1 Struttura gerarchica di un sistema di controllo odierno . . . 1

1.1.2 Schema a blocchi e principio di funzionamento di un MPC . . . 4

1.2 Controllore predittivo in variabili di stato . . . 5

1.2.1 Stimatore . . . 7

1.2.2 Ottimizzazione di stato stazionario . . . 9

1.2.3 Ottimizzazione dinamica . . . 13

1.2.4 Predittore . . . 17

1.3 Proprietà dei modelli in variabili di stato . . . 18

1.3.1 Raggiungibilità, controllabilità e stabilizzabilità 19 1.3.2 Osservabilità e rilevabilità . . . 20

1.4 Identificazione del modello . . . 20

1.4.1 Introduzione ed aspetti generali . . . 21

1.4.2 Tecniche di identificazione . . . 24

1.4.3 Introduzione alle tecniche PE . . . 25

1.4.4 Tecniche subspace . . . 26

2 monitoraggio e diagnostica di mpc 31 2.1 Overview: valutazione e monitoraggio delle prestazioni 31 2.2 Definizione di errore di predizione . . . 33

2.3 Tecniche basate sull’errore di predizione . . . 33

2.4 Rumore bianco . . . 34

2.4.1 Test di bianchezza . . . 35

2.5 Procedura di diagnostica applicata . . . 38

2.5.1 Introduzione . . . 38

2.5.2 Analisi del processo che genera l’errore di pre-dizione . . . 39

2.5.3 Ricalcolo del filtro . . . 42

3 il processo di topping 45 3.1 Introduzione . . . 45

3.2 Caratterizzazione di un grezzo e delle sue frazioni . . 46

3.2.1 Distillazioni TBP e ASTM-D86 . . . 46

3.3 Descrizione del processo di topping . . . 47

3.3.1 Preriscaldamento del grezzo . . . 48

3.3.2 Distillazione pre-flash . . . 49 3.3.3 Riscaldamento del grezzo ad alta temperatura . 50

(2)

3.3.5 Pump-around . . . 52

3.4 Modellazione del processo di topping . . . 53

3.4.1 Fasi della modellazione . . . 53

3.4.2 Specifiche dei prodotti . . . 54

3.4.3 Scelta del grezzo . . . 55

3.5 Scelta del controllo di base . . . 56

3.6 MV e CV del controllo avanzato . . . 58

4 estensione della tecnica di diagnostica 61 4.1 Fase 1: interfaccia Matlab-UNISIM . . . 61

4.2 Fase 2: identificazione . . . 63

4.2.1 Introduzione: modelli strutturati . . . 63

4.2.2 Organizzazione di CV ed MV . . . 63

4.2.3 Raccolta dati ed identificazione . . . 64

4.2.4 Ricomposizione del modello complessivo e del filtro . . . 67

4.3 Fase 3: caso simulato di riferimento . . . 70

4.4 Fase 4: estensione del metodo di diagnostica . . . 78

5 applicazione del metodo di diagnostica e analisi dei risultati 80 5.1 Applicazione del metodo di diagnostica . . . 80

5.1.1 Risultati dopo ricalcolo del filtro ottimale . . . . 80

5.1.2 Risultati dopo reidentificazione . . . 86

5.2 Osservazioni conclusive . . . 93

(3)

In ambito industriale c’è da sempre la necessità di impiegare al me-glio le risorse di cui si dispone. Negli ultimi anni, complici un alto grado di conoscenza in termini di processi produttivi e il notevole sviluppo e la diffusione di impianti operanti, il discriminante per la competitività di un’azienda è diventato il livello di ottimizzazione. Per garantire il funzionamento in condizioni ottimali è importante monitorare le prestazioni del sistema di controllo e diagnosticare le eventuali cause di malfunzionamento.

In quest’ambito si collocano i controllori predittivi (Model Predictive Control, MPC) che rappresentano ad oggi la tecnologia di controllo avanzato più diffusa nell’industria chimica. Questi sistemi sono di fatto degli ottimizzatori che ad ogni tempo di campionamento risolvo-no un problema di ottimizzazione vincolata al fine di determinare i valori di stazionario ottimali del processo; l’azione di controllo neces-saria al raggiungimento di questi target viene quindi calcolata effet-tuando una predizione del comportamento futuro del sistema su un opportuno orizzonte temporale; ciò prevede l’utilizzo di un modello dinamico del processo.

Lavori precedenti (Harrison e Qin (2009) [1], Micchi (2008) [2] e

De Luca (2011) [3]) hanno evidenziato l’utilità dell’errore di

predizio-ne come parametro per valutare le condizioni di operatività di un controllore MPC.

Per errore di predizione (ek) si intende la differenza tra i valori reali

delle uscite misurate al tempo k e i valori delle stesse predetti dal mo-dello interno al controllore al tempo di campionamento precedente.

Nel presente lavoro ci si propone di:

• applicare il metodo di diagnostica proposto da De Luca a mo-delli dinamici complessi (in termini di CV e MV);

• convalidare ed estendere la tecnica di diagnostica proposta. Nel Capitolo 1 viene descritta la struttura di un controllore predit-tivo in variabili di stato e vengono introdotti gli aspetti legati all’iden-tificazione del modello dinamico del processo.

Nel Capitolo 2 viene presentata e descritta la strategia di monitorag-gio e diagnostica di MPC proposta da De Luca [3].

Il Capitolo 3 presenta il processo di topping quale caso studio scelto; viene inoltre descritto il modello di simulazione dinamica sviluppato con il software Honeywell UniSimDesign; Nel capitolo 4 si descrive l’applicazione e l’estensione del metodo di diagnostica proposto al caso studio.

(4)

plicazione della procedura in esame.

(5)

1

C O N T R O L L O P R E D I T T I V O M U L T I

-V A R I A B I L E

1.1

introduzione ed aspetti generali

Il controllo predittivo multi-variabile (MPC, acronimo di Model Pre-dictive Control) si è sviluppato a partire dalla fine degli anni ’70 e rappresenta, ad oggi, la tecnologia di controllo avanzato più diffusa nell’industria di processo1

. Alcuni tra i principali fattori che hanno reso l’MPC una tecnologia di successo sono i seguenti:

• facilità di gestione di sistemi multi-variabili non quadrati;

• facilità di gestione di dinamiche complesse (risposte inverse, ritardi, risposte oscillanti);

• facilità di gestione di vincoli sulle variabili controllate e su quel-le manipolate (portare l’impianto verso i suoi limiti);

• possibilità di realizzare un’ottimizzazione economica.

1.1.1 Struttura gerarchica di un sistema di controllo odierno

Per capire come è inserito un controllo avanzato di tipo MPC all’in-terno di un sistema di controllo odierno si può far riferimento allo schema concettuale mostrato in Figura 1. Come è possibile osserva-re, il sistema di controllo assume nel suo complesso una struttura gerarchica, all’interno della quale ogni singola sezione deve svolgere determinate funzioni.

Partendo dal basso della struttura, si incontra per primo il control-lo di base che agisce direttamente sul processo mediante gli attua-tori; esso deve consentire il funzionamento continuo (in genere) del processo. Il flusso di informazioni tra il processo e la sala controllo

1 I controllori predittivi sono nati in ambito industriale per fronteggiare le sempre più stringenti richieste produttive come ottimizzazione economica, minore variabilità della qualità dei prodotti e massimo sfruttamento delle capacità produttive. L’attua-le largo interesse nelL’attua-le tecniche MPC ha avuto inizio con il lavoro di ricerca svolto da due gruppi industriali. La Shell Oil (Houston, TX) ha descritto il suo Dynamic Matrix Control (DMC) nel 1979, mentre una tecnica simile , nota sul mercato con la sigla IDCOM, è stata pubblicata nel 1978 da una piccola azienda francese, ADER-SA. Da allora sono state sviluppate migliaia di applicazioni in tutto il mondo con particolare riguardo alle raffinerie e agli impianti petrolchimici.

(6)

Figura 1: Struttura gerarchica di un sistema di controllo odierno.

dell’impianto è gestito dal DCS (Distributed Control System); a dispo-sizione degli operatori ci sono vari computer collegati in rete, ognuno dei quali è dedicato ad assolvere a particolari funzioni di controllo. I tipici controllori che fanno parte del controllo di base e che si possono trovare comunemente in un impianto sono:

• FC: controllore di portata;

• LC: controllore di livello;

• PC: controllore di pressione;

• TC: controllore di temperatura.

Le prestazioni del controllo di base dipendono sia dal tuning che dalla dinamica del processo; non essendo possibile intervenire diret-tamente sulla dinamica del processo, è fondamentale focalizzare tutta l’attenzione sul controllo al fine di realizzare una prestazione adegua-ta dei controllo ricorrendo, laddove opportuno, a schemi di control-lo più complessi come il controlcontrol-lo in cascata, il controlcontrol-lo split-range, etc. . .

Un ulteriore possibile causa di non ottimalità a livello di controllo di base è sicuramente il fatto di assumere che i sistemi siano lineari quando in realtà non lo sono. Sempre con riferimento alla Figura1, il livello immediatamente superiore al controllo di base è il controllo avanzato; le funzioni di questo livello di controllo sono molteplici ad esempio:

(7)

• migliorare le prestazioni del controllo di base;

• controllare la qualità dei prodotti nel rispetto di determinati vin-coli di natura processistico o legati alla sicurezza dell’impianto; è immediato che questo aspetto è un qualcosa in più rispetto alla semplice conduzione dell’impianto in automatico;

• “ottimizzare il processo”.

Le variabili manipolate del controllo avanzato sono i set-point dei controllori di base. Lo scopo del controllo avanzato è infatti quello di ottimizzare il processo da un punto di vista dinamico, fornendo i set-point ai controllori di base nel rispetto dei vincoli presenti e degli obiettivi da perseguire; anche le prestazioni del controllo avan-zato dipenderanno, in generale, dal tuning dei vari moduli che lo compongono. Il tuning del controllo avanzato è piuttosto complesso poiché richiede un’ottima conoscenza delle dinamiche del processo in modo tale da realizzare un compromesso tra aspetti economici e i limiti oltre i quali non è possibile portare l’impianto. Il livello di controllo immediatamente superiore al controllo avanzato è quello relativo all’ottimizzazione in tempo reale, (Real Time Optimization) in cui viene effettuata l’ottimizzazione delle varie unità che compongo-no l’impianto. Questo livello è costituito da software avanzati (come i simulatori rigorosi di processo) che richiedono una conoscenza accu-rata della modellistica delle varie apparecchiature. L’ottimizzazione in tempo reale comunica biunivocamente con il controllo avanzato ma non il livello superiore dal quale riceve soltanto i ’set-point’ delle variabili manipolate che ne fanno parte.

I due ultimi livelli di controllo costituiscono il Supply-Chain, ovvero la catena di rifornimento e sono più strettamente legati ad aspetti manageriali e di programmazione della produzione a lungo termine. Il livello di Scheduling solitamente rappresenta una programmazio-ne settimanale del sito produttivo che prende in considerazioprogrammazio-ne vari aspetti come:

• target della produzione in base alla capacità di stoccaggio;

• quantità di materia prima in base alla produzione da raggiun-gere;

• disponibilità delle materie prime, etc. . .

Il livello di Planning invece effettua una programmazione molto più ampia sia su scala temporale che spaziale; alcuni dei principali aspetti che questo livello prende in considerazione sono i seguenti:

• controllo dei vari siti di produzione;

• soste programmate dei vari siti di produzione;

(8)

• variazione della temperatura stagionale, etc. . .

Di solito, la struttura di controllo sopra descritta viene adottata, per intero, soltanto dalle grandi aziende che, disponendo di diversi siti produttivi, hanno necessità di ottimizzare la produzione complessiva tenendo conto di molti fattori legati anche alle zone geografiche in cui i singoli impianti si trovano. Una struttura di controllo di questo tipo analizza la produzione su scala mondiale. Nelle aziende di piccole e medie dimensioni si arriva in genere al livello di controllo avanzato.

1.1.2 Schema a blocchi e principio di funzionamento di un MPC Ad oggi sono stati sviluppati molti algoritmi di tipo MPC, ma tipica-mente si basano sui moduli rappresentati nello schema a blocchi di Figura2.

Figura 2: Schema concettuale di un regolatore MPC.

Le principali funzioni assolte da ciascuno dei blocchi che compon-gono un MPC sono brevemente descritte di seguito.

• Stimatore: ha il compito di aggiornare i valori degli stati predet-ti al tempo di campionamento precedente upredet-tilizzando i valori delle uscite provenienti dall’impianto.

• Modulo di ottimizzazione di stazionario: ha il compito di calcolare i valori ottimali degli stati e degli ingressi.

• Modulo di ottimizzazione dinamica: ha la funzione di calcolare la sequenza di azioni di controllo, in un intervallo di tempo futuro detto orizzonte di controllo, per raggiungere lo stato ottimale del processo.

(9)

Generalmente soltanto la prima azione di controllo viene inviata al-l’impianto, secondo una strategia detta controllo ad orizzonte recessi-vo; al tempo di campionamento successivo, l’algoritmo viene ripetuto includendo le informazioni delle misure provenienti dall’impianto.

Un aspetto importante che caratterizza i controllori MPC è che essi utilizzano un modello matematico del processo per predire la rispo-sta del sistema in un intervallo di tempo futuro detto orizzonte di predizione.

Appare pertanto evidente che le prestazioni di un controllore MPC dipendono molto dall’accuratezza del modello utilizzato per descri-vere la dinamica del processo. Per questo motivo nella progettazione di un MPC la fase più critica consiste nell’identificazione del modello, argomento che verrà trattato ampiamente in seguito.

1.2

controllore predittivo in variabili di

stato

Molti algoritmi MPC commerciali utilizzano modelli di convoluzione per descrivere la dinamica del processo (ad esempio il DMC utilizza un modello di risposta al gradino mentre l’IDCOM utilizza un mo-dello di risposta all’impulso); tuttavia, in questo lavoro di tesi sono stati adottati modelli del processo in variabili di stato poiché risulta-no più semplici e generali da un punto di vista teorico. Si sottolinea inoltre che i controllori predittivi commerciali di nuova generazione utilizzano modelli in variabili di stato.

Il modello a cui si fa riferimento in questo lavoro di tesi è descritto dal seguente sistema discreto lineare tempo invariante al quale viene aggiunto un termine di disturbo integrale necessario all’eliminazione dell’offset.  xk+1 = Axk+ Buk ˆyk = Cxk+ dk (1.1) Dove xk ∈ Rn, uk ∈ Rm, yk ∈ Rp, A ∈ Rn×n, B ∈ Rn×m, C∈Rp×n.

Il termine dk = yk− Cxk è il termine correttivo che rappresenta

l’effetto di disturbi non modellati oppure di errori sul modello. Il termine Cxkè il valore dell’uscita calcolata dal modello non corretto,

mentre ˆyk rappresenta l’uscita del modello corretto.

In questo lavoro di tesi è stato utilizzato l’algoritmo di control-lo MPC sviluppato ed implementato da Frassi [4] e la cui struttura

modulare è rappresentata in Figura3.

I principali blocchi che costituiscono il sistema di controllo sono i seguenti:

(10)

Figura 3: Schema a blocchi del controllore MPC in variabili di stato.

• Stimatore: ha il compito di determinare lo stato attuale del pro-cesso e il disturbo integrale da sommare all’uscita predetta al tempo di campionamento precedente.

• Modulo di stazionario: ha la funzione di determinare i valori ottimali di stazionario degli stati e degli ingressi (xs e us).

• Modulo dinamico: ha lo scopo di calcolare le azioni di controllo ottimali per portare il sistema ai target indicati dal modulo di stazionario.

• Predittore: ha il compito di effettuare la predizione degli stati secondo il modello aumentato e la predizione del disturbo inte-grale una volta calcolata l’azione di controllo ottimale da inviare al processo.

Ad ogni tempo di campionamento l’algoritmo MPC esegue il se-guente schema di calcolo:

passo 1: al tempo k sono note le misure derivanti dall’impianto e

la predizione degli stati e del disturbo integrale;

passo 2: lo stimatore calcola l’errore di predizione ed esegue la

stima degli stati e del disturbo integrale;

passo 3: viene eseguito il modulo di ottimizzazione di stazionario

che fornisce i target degli stati e degli ingressi;

passo 4: il modulo di ottimizzazione dinamica calcola l’azione di

controllo ottimale da inviare all’impianto;

passo 5: il predittore esegue la predizione degli stati e del disturbo

(11)

La notazione adottata in questo capitolo e nei successivi è la seguente: n: numero degli stati del modello;

m: numero degli ingressi; p: numero delle misure;

xs, us: valori di stazionario di stati e ingressi;

¯yc: uscita controllata al set-point;

nd: dimensione del disturbo integrale inteso come vettore; nc: numero delle variabili controllate al set-point;

mv: variabili manipolate (ingressi); cv: variabili controllate (uscite, misure).

Di seguito sono analizzati più dettagliatamente i moduli che com-pongono l’algoritmo MPC focalizzando l’attenzione sulla formulazio-ne matematica delle funzioni che ciascuno di essi assolve.

1.2.1 Stimatore

Con riferimento allo schema di Figura3, lo stimatore è caratterizzato dai seguenti ingressi e uscite:

• dati in ingresso:

misure delle CV derivanti dall’impianto: yk;

azione di controllo applicata all’impianto al tempo di cam-pionamento (k − 1): uk−1;

stima effettuata al tempo (k − 1) degli stati e del disturbo integrale al tempo di campionamento k: ˆxk|k−1e ˆdk|k−1;

• dati in uscita:

stima del termine correttivo ˆdk|k;

stima degli stati ˆxk|k;

Come osservato in precedenza il modello del processo utilizzato dal controllore è un modello in variabili di stato, lineare, discreto e tempo-invariante come quello descritto dall’equazione1.1.

Nelle ipotesi iniziali si assume che il sistema sia stabilizzabile e ri-velabile2

.

2 La stabilizzabilità di un sistema comporta la possibilità di portare gli stati, e quin-di le uscite, asintoticamente a zero, partendo da un valore non nullo quin-di questi. Analiticamente:

lim

k→∞xk= 0

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

(12)

Come osservato in precedenza lo stimatore fornisce una stima degli stati e del disturbo integrale mediante le misure dell’impianto al fine di ottenere prestazioni del sistema prive di offset; il termine di distur-bo corregge il valore originale degli stati del sistema per portare il valore stimato delle CV a coincidere con il valore misurato.

Per stimare gli stati ed il disturbo integrale lo stimatore utilizza il seguente modello aumentato:

 xk+1 dk+1  =  A Bd 0 I   xk dk  +  B 0  uk (1.2a) ˆyk=  C Dd   xk dk  (1.2b) in cui dk∈Rnd, Bd∈Rn×nd, Dd∈Rp×nd.

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

note (k − 1) misure3

ek = yk− (Cˆxk|k−1+ Ddˆdk|k−1) (1.3)

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

in cui Lx ∈ Rn×p e Ld ∈ Rnd×p sono le matrici dei guadagni del

filtro, rispettivamente, degli stati e del disturbo integrale. Le matrici dello stimatore Lxed Ldpossono essere scelte a piacere, ma in modo

da garantire stabilità, oppure possono essere determinate dalla solu-zione dell’equasolu-zione di Riccati nel discreto associata al modello1.2. L’insieme delle matrici Bd e Dd costituisce il modello del disturbo; a

livello industriale una scelta comune del modello del disturbo e che garantisce stabilità per sistemi stabilili in anello aperto è il cosiddetto output disturbance model: Bd= 0, Dd= I. È importante osservare che i

disturbi integrali non sono controllabili dagli ingressi ma poiché sono osservabili, è possibile utilizzarne la stima per rimuoverne l’influenza dalle variabili controllate.

IL controllore commerciale DMCplus prevede l’utilizzo dell’output disturbance model con l’osservatore definito da Lx= 0ed Ld= I.

La predizione degli stati aumentati è la seguente:  ˆxk+1|k ˆdk+1|k  =  A Bd 0 I   ˆxk|k ˆdk|k  +  B 0  uk (1.5)

3 Il termine [Cˆxk|k−1+ Ddˆdk|k−1]rappresenta la predizione effettuata al tempo (k − 1) delle uscite al tempo k.

(13)

1.2.2 Ottimizzazione di stato stazionario

Con riferimento allo schema di Figura3, il modulo che calcola i target è così strutturato:

• dati in ingresso:

stima del disturbo integrale: ˆdk|k;

parametri di tuning (pesi, vincoli come discusso in segui-to);

set-point: ¯yc;

• dati in uscita:

target degli stati: xs;

target degli ingressi: us.

Come affermato in precedenza l’obiettivo del modulo di staziona-rio è quello di calcolare i target ottimali degli stati e degli ingressi per portare e/o mantenere le variabili misurate nei loro intervalli opera-tivi ed in particolare le variabili controllate al valore di set-point. Ottenuta la stima corrente del disturbo integrale ˆdk|k, il controllore

MPC calcola i valori dei target di stazionario us ed xs risolvendo un

problema di ottimo vincolato in cui la funzione obiettivo da minimiz-zare può essere sia di tipo lineare che di tipo quadratico. Per capire come opera il modulo di stazionario all’interno del sistema di con-trollo complessivo si analizza di seguito la formulazione dei vincoli e della funzione obiettivo sia nel caso lineare che in quello quadratico.

Formulazione dei vincoli

I vincoli, si suddividono principalmente in vincoli di uguaglianza e vincoli di disuguaglianza e possono essere formulati come segue.

• Vincoli lineari di uguaglianza:

equazione di stato stazionario:

xs= Axs+ Bus+ Bdˆdk|k (1.6)

zero-offset sulle CV al set-point:

¯yc= Hy[Cxs+ Ddˆdk|k] (1.7)

dove Hy ∈Rnc×p è una matrice che viene creata

all’inter-no dell’algoritmo e che stabilisce quali CV soall’inter-no controllate al set-point.

MV da non variare durante l’ottimizzazione:

(14)

dove Hu ∈Rnb×mè una matrice che viene creata

all’inter-no dell’algoritmo e che definisce quali MV soall’inter-no bloccate al valore di riferimento4

.

• Vincoli lineari di disuguaglianza:

vincoli “hard” sulle MV:

umin6 us6 umax (1.9)

vincoli sulle variazioni dei target rispetto al valore calcola-to al tempo di campionamencalcola-to precedente5

:

− ∆umin 6 (us− us,old)6 ∆umax (1.10)

vincoli “soft” sulle CV:

ymin− ηs6 (Cxs+ Ddˆdk|k)6 ymax+ ηs; (1.11)

violazioni dei vincoli sulle CV:

ηs> 0. (1.12)

dove ηs∈Rp.

Se il problema di ottimizzazione che prevede la presenza di tutti i vincoli fin qui esaminati risulta infeasible, viene eliminato il vincolo rappresentato dall’eq.(1.8) lasciando al controllore tutti i gradi di li-bertà disponibili.

Nel caso in cui il controllore non riesca a trovare una soluzione com-patibilmente con i vincoli presenti, nel caso di ottimizzazione di ti-po lineare, il vincolo di uguaglianza rappresentato dall’eq.(1.7) viene sostituito da quello seguente:

¯yc = Hy[Cxs+ Ddˆdk|k] − zs+ zs (1.13)

dove vengono presi in considerazione gli scostamenti (zs, zs) dei

tar-get delle CV dai rispettivi set-point. Ai vincoli di disuguaglianza si aggiungono i seguenti:

zs> 0 (1.14)

zs> 0 (1.15)

in cui zs ∈Rnc e zs∈Rnc.

4 Nel software sviluppato da Frassi [4] il riferimento può essere rappresentato dal-lo stesso vettore ad ogni tempo di campionamento (riferimento statico) oppure dal target delle MV calcolato al tempo di campionamento precedente (riferimento dinamico).

5 Il valore calcolato al tempo di campionamento precedente è rappresentato dal vettore us,old.

(15)

Impostazione della funzione obiettivo di tipo lineare

Nell’ottimizzazione di tipo lineare il controllore minimizza la seguen-te funzione obiettivo:

Φ(xs, us, ηs) = rsTus+ qTsηs (1.16)

soggetta ai vincoli definiti dalle equazioni (1.6)-(1.12) I parametri fon-damentali che l’utente deve definire inizialmente sono i coefficienti dei vettori rs ∈Rm eqs∈Rpdi seguito descritti.

• I coefficienti del vettore rs pesano i costi delle MV. Questi

coef-ficienti possono essere positivi (in questo caso un incremento delle corrispondenti MV comportata un aumento della funzio-ne obiettivo) o funzio-negativi (un incremento delle MV corrispondenti fa diminuire il valore della funzione obiettivo).

• I coefficienti del vettore qspesano le eventuali violazioni dei

tar-get delle CV dai vincoli. Questi coefficienti sono sempre rigoro-samente e vengono definiti attraverso i cosiddetti equal concern error di stazionario. In genere si assume:

qs(i) = 1 ECE(i)

É importante sottolineare che per stabilire il segno dei costi delle MV è necessario avere un’ottima conoscenza della dinamica del pro-cesso e del modo in cui le variazioni di tali variabili si ripercuotono sulle specifiche di processo.

Mediante gli “equal concern error” invece, l’utente ha la possibilità di penalizzare in maniera diversa l’eventuale violazione di un vincolo da parte di una certa CV rispetto ad un’altra; in questo caso lo stesso peso penalizza sia la violazione del vincolo superiore che di quello inferiore.

Nel caso in cui il problema risulti infeasible viene minimizzata sem-pre la funzione obiettivo dell’eq.(1.16) ma soggetta ai vincoli descritti dalle eq.(1.6), (1.7), (1.9)-(1.12).

Se il problema risulta ancora infeasible viene modificato il vincolo sulle CV da mantenere al set-point (poiché è l’unico che genera infeasibility) e risolta la seguente funzione obiettivo all’interno della quale si mini-mizza lo scostamento superiore o inferiore (zs, zs) dei target delle CV

dai rispettivi set-point mediante i pesi ps(i)(rigorosamente positivi):

Φ(xs, us, ηs, ¯zs, zs) = rTsus+ qTsηs+ pTszs+ pTszs (1.17)

La funzione obiettivo appena descritta è soggetta ai vincoli descritti dalle seguenti equazioni: (1.6), (1.9)-(1.12), (1.13)-(1.15). É importan-te sottolineare che, in ogni caso, i vincoli delle variabili manipolaimportan-te vengono comunque rispettati.

(16)

Impostazione della funzione obiettivo di tipo quadratico

L’ottimizzazione di stazionario di tipo quadratico prevede la mini-mizzazione della seguente funzione obiettivo:

Φ(xs, us, ηs) = 12[(us− u∗s)TRs(us− u∗s) + ηTsQsηs] (1.18)

Anche in questo caso il problema di minimizzazione è soggetto ai vincoli descritti dalle equazioni (1.6)-(1.12). I parametri fondamentali che l’utente deve definire inizialmente sono i coefficienti delle matrici Rs∈Rm×me Qs∈Rp×pentrambe diagonali e semidefinite positive.

• Gli elementi della matrice Rs (sempre positivi) pesano gli

sco-stamenti del target usdal riferimento delle MV, u∗s

6 .

• I coefficienti della matrice Qs (rigorosamente positivi)

penaliz-zano le eventuali violazioni dei vincoli da parte delle CV. Se il problema risulta infeasible, analogamente all’ottimizzazione di tipo lineare, viene rilasciato il vincolo di uguaglianza sulle MV (eq. 1.8) ed effettuata nuovamente la minimizzazione. Se il modulo di ot-timizzazione non riesce a trovare una soluzione compatibilmente con i vincoli presenti significa che non può essere soddisfatto il vincolo di uguaglianza sulle CV da mantenere al set-point; il modulo procederà quindi alla minimizzazione della seguente funzione obiettivo:

Φ(xs, us, ηs) = 12[(us− u∗s)TRs(us− u∗s) + ηTsQsηs + zTsPszs]

(1.19) in cui Ps ∈ Rnc×nc è una matrice diagonale semidefinita positiva i

cui elementi pesano gli scostamenti dei target delle CV dai rispettivi set-point; il vincolo dell’eq.(1.7) viene sostituito con il seguente:

¯yc = Hy(Cxs+ Ddˆdk|k) + zs (1.20)

Si sottolinea il fatto che, a differenza di quanto accade nella mini-mizzazione di tipo lineare, in questo caso gli eventuali scostamenti dei target delle CVdai rispettivi set-point apportano comunque un incremento della funzione obiettivo. Per questo motivo non viene fat-ta alcuna distinzione tra scosfat-tamenti positivi e negativi. I vincoli di disuguaglianza (1.14) e (1.15) vengono sostituiti da:

zs> 0 (1.21)

All’interno dell’algoritmo di controllo predittivo il problema di otti-mizzazione vincolata di stazionario, in forma lineare o quadratica, viene risolto ad ogni tempo di campionamento ottenendo i valori di 6 In questo caso la minimizzazione è di tipo quadratico e le variazioni delle MV sono

(17)

target per gli ingressi us gli stati xs e le uscite ys = Cxs+ dk. Le

principali differenze tra il problema lineare e quello quadratico sono descritte di seguito. La formulazione LP è più semplice rispetto a quella di tipo QP e richiede minori tempi di calcolo per essere esegui-ta; tuttavia l’azione di controllo generata da un QP è più morbida e meno aggressiva preservando gli attuatori ed il processo in generale da variazioni degli ingressi troppo brusche. La risoluzione dei proble-mi di ottiproble-mizzazione sopra descritti è effettuata mediante algoritproble-mi di calcolo numerico come i metodi del simplesso o del punto interiore che sono utilizzati in MATLABTMad esempio dal comandolinprog.m

(per problemi lineari) e dal comando quadprog.m(per problemi qua-dratici). Per ulteriori approfondimenti riguardo l’implementazione in MATLABTMdel modulo di stazionario si può consultare il lavoro di

tesi di Frassi [4].

1.2.3 Ottimizzazione dinamica

Come si osserva dalla Figura 3, il modulo che calcola l’azione di controllo è così strutturato:

• dati in ingresso:

target degli stati: xs;

target degli ingressi: us;

stima degli stati: ˆxk|k;

stima del disturbo integrale: ˆdk|k;

mediante il modello, noti gli stati sono noti i target delle CV: ys= Cxs+ Ddˆdk|k;

parametri di tuning;

• dati in uscita:

azione di controllo ottimale da inviare all’impianto. I principi su cui si basa il modulo di ottimizzazione dinamica sono rappresentati in Figura4.

Noti i valori dei target degli stati (uscite) e degli ingressi, l’ottimizza-zione dinamica effettua una predil’ottimizza-zione (in anello aperto) delle uscite

ˆyj in un orizzonte j = k + 1, . . . , k + N, attraverso una sequenza di

ingressi futuri ˆuj in un orizzonte j = k, . . . , k + L − 1. Gli interi N ed

L, già visti in precedenza, sono rispettivamente l’orizzonte di predi-zione e l’orizzonte di controllo. La sequenza ottimale viene calcolata risolvendo un problema di ottimo vincolato (generalmente quadrati-co) che tiene conto dell’errore delle CV rispetto al valore di target, dell’azione di controllo necessaria e dei vincoli come quello

(18)

riporta-Figura 4: Interpretazione grafica del modulo di ottimizzazione dinamica.

to di seguito. Il primo vettore della sequenza ottimale viene quindi inviato all’impianto: uk = ˆuk.

Φ({xk+j|k}, { ˆuk+j|k}, {εk+j|k}) = = 1 2 N−1X j=0 k ˆxk+j|k− xsk2 Q+k ˆuk+j|k− usk2R+ +k∆ ˆuk+j|kk2S+kεk+j|kk2W +1 2k ˆxN|kk 2 P

dove la simbologia utilizzata in riferimento al tempo di campiona-mento k è la seguente:

• kxk2

Q= xTQx;

• xs, us: target degli stati e delle MV;

• ˆxk+j|k: predizione degli stati al tempo (k + j);

• ˆuk+j|k: predizione delle MV al tempo (k + j);

• ∆ˆuk+j|k: variazione delle MV fra il tempo (k + j) ed il tempo

(k + j − 1);

• εk+j|k: violazioni predette dei vincoli delle uscite al tempo (k + j);

(19)

Le matrici diagonali che compaiono nella funzione obiettivo hanno il seguente significato:

• Q∈Rn×n: matrice che pesa lo scostamento degli stati predetti dai rispettivi target;

• R∈ Rm×m: matrice che pesa lo scostamento degli ingressi dai relativi target;

• S∈ Rm×m: matrice che pesa le variazioni degli ingressi

sull’o-rizzonte di controllo;

• W ∈ Rp×p: matrice che pesa l’eventuale violazione dei vincoli

da parte delle CV;

• P ∈ Rn×n: matrice che pesa lo scostamento dell’ultima

predi-zione degli stati dai target.

Le matrici sopraelencate devono essere tutte semidefinite positive con la condizione aggiuntiva che (R + S) deve risultare definita positiva. Utilizzando la simbologia introdotta, la formulazione dei vincoli è la seguente:

ˆxk+j+1|k= Aˆxk+j|k+ Bˆuk+j|k+ Bdˆdk|k (1.22a)

umin 6 ˆuk+j|k 6 umax (1.22b)

−∆umin 6 ˆuk+j|k− ˆuk+j−1|k6 ∆umax (1.22c)

ymin− εj 6 ˆyk+j|k6 ymax+ εj (1.22d)

Allo stazionario vale la seguente relazione:

xs= Axs+ Bus+ Bdˆdk|k (1.23a)

mentre sull’orizzonte di predizione si avrà:

ˆxk+j+1|k= Aˆxk+j|k+ Bˆuk+j|k+ Bdˆdk|k (1.24a)

Sottraendo membro a membro rispettivamente le equazioni (1.24a) e (1.23a), ponendo:

wj= ˆxk+j+1|k− xs, vj = ˆuk+j|k− us

∆vk+j|k= ˆuk+j|k− ˆuk+j−1|k

e sostituendo per semplicità all’indice (k + j|k) l’indice j si ottiene il problema di ottimizzazione quadratica in una forma più compatta:

min {wj},{vj},{εj} 1 2 N−1X j=0 kwjk2Q+kvjk2R+k∆vjk2S+kεjk2W + 1 2kwNk 2 P (1.25a)

(20)

soggetta a:

wj+1 = Awj+ Bvj (1.25b)

umin− us 6 vj6 umax− us (1.25c)

−∆umin 6 ∆vj6 ∆umax (1.25d)

ymin− ys− εj 6 Cwj6 ymax− ys+ εj (1.25e)

Per quanto riguarda la matrice P, a livello industriale vengono fatte le seguenti scelte [5]:

• il DMC utilizza P = CTQC, con L  N;

• a volte si utilizza L = N e P soluzione dell’equazione di Lyapu-nov P = Q + ATPA[6];

• un’altra scelta è L = N e P soluzione dell’equazione di Riccati associata al problema (1.25).

Nel problema (1.25), in riferimento ai vincoli sulle CV sono state pena-lizzate, per ogni singola uscita, tutte le eventuali violazioni (εj)

sull’o-rizzonte di predizione; nel caso in cui l’utente decida di penalizzare per ogni uscita soltanto l’eventuale violazione massima sull’orizzonte di predizione, la funzione obiettivo viene così modificata:

Φ({wj}, {vj}, εp) = 1 2 N−1X j=0 kwjk2 Q+kvjk2R+ +k∆vjk2S+kεpk2W +1 2kwNk 2 P (1.26)

dove εp ∈ Rp. La formulazione dei vincoli è la stessa del

proble-ma1.25 ad eccezione del vincolo1.25eche viene sostituito da quello seguente:

ymin− ys− εp6 Cwj6 ymax− ys+ εp (1.27) Un’altra considerazione importante riguardo all’impostazione del mo-dulo di ottimizzazione dinamica va fatta circa l’orizzonte di control-lo. Al fine di poter riprodurre le scelte che vengono fatte a livello industriale, è stata introdotta la possibilità di decidere quali variazio-ni permettere agli ingressi sull’orizzonte di predizione. Si possono presentare le seguenti situazioni:

• variazioni degli ingressi permesse su tutto l’orizzonte di predi-zione (L ≡ N);

• è definita una serie continua di variazioni inferiore all’orizzonte di predizione (L finito ed L < N);

• viene effettuata una serie di variazioni arbitrariamente distribui-ta sull’orizzonte di predizione (L non definito).

(21)

In aggiunta a questo, l’utente può fissare che l’ultima variazione per-messa sull’orizzonte di predizione porti gli ingressi ai rispettivi valori di target.

In questi due ultimi casi, al problema di ottimizzazione vengono ag-giunti dei vincoli di uguaglianza che possono essere espressi nella forma seguente:

HLv = hL (1.28)

in cui HL ∈ R(lb·m)×(N·m) è una matrice a blocchi dove lb

rappre-senta il numero delle azioni di controllo bloccate7

e hL ∈Rlb·m è un

vettore di zeri.

Anche il vincolo di uguaglianza che vincola l’ultima variazione per-messa al target viene attivato a discrezione dell’utente; in termini di variabili scostamento il vincolo sarà il seguente:

vL−1= 0

Nel caso generale quindi il modulo di ottimizzazione dinamica de-ve risolde-vere un problema di ottimo vincolato di tipo quadratico in cui sono presenti sia vincoli di uguaglianza che vincoli di disugua-glianza; nel caso in cui il problema risulti infeasible, viene rilasciato il vincolo sull’ultima variazione delle MV al target8

. Per ulteriori detta-gli sull’implementazione in MaTLABTMdel modulo di ottimizzazione dinamica il lettore può consultare il lavoro di Frassi [4].

1.2.4 Predittore

Con riferimento allo schema di Figura3il predittore è così struttura-to:

• dati in ingresso:

azione di controllo: uk;

stima degli stati: ˆxk|k;

stima del disturbo integrale: ˆdk|k;

• dati in uscita:

predizione degli stati: ˆxk+1|k;

predizione del disturbo integrale: ˆdk+1|k.

Una volta che il modulo di ottimizzazione dinamica ha calcolato l’a-zione di controllo ottimale ukda inviare all’impianto, prima di

passa-re al tempo di campionamento successivo viene eseguita la seguente predizione degli stati aumentati:

 ˆxk+1|k ˆdk+1|k  =  A Bd 0 I   ˆxk|k ˆdk|k  +  B 0  uk (1.29)

7 Sull’orizzonte di predizione N, le azioni di controllo bloccate al tempo k + j hanno valore uguale a quelle calcolate al tempo k + j − 1.

(22)

Le equazioni1.4e1.29possono essere condensate in un’unica espres-sione, nota come predittore di Kalman [7]:

 ˆxk+1|k ˆdk+1|k  =  A Bd 0 I   ˆxk|k−1 ˆdk|k−1  + +  B 0  uk+  A Bd 0 I   Lx Ld  ek (1.30)

Dopo che è stata effettuata la predizione, l’algoritmo di controllo pas-sa al tempo di campionamento successivo effettuando l’aggiornamen-to dei dati.

1.3

proprietà dei modelli in variabili di

sta-to

In questa sezione si introducono alcune importanti proprietà di un modello in variabili di stato indispensabili per una buona compren-sione delle tecniche di identificazione e di diagnostica di cui si parla ampiamente nei successivi capitoli..

La formulazione standard di un modello in variabili di stato (State Space) è riportata nell’equazione (1.31):

xk+1 = Axk+ Buk+ wk yk = Cxk+ Duk+ vk

(1.31)

Le matrici A, B, C e i vettori xk, uk e yk sono gli stessi incontrati

nell’equazione (1.1). I vettori, wkRn e vkRp sono, rispettiva-mente, il rumore di processo e il rumore di misura. La matrice D assume valore 0 per sistemi strettamente causali: se fosse D 6= 0, gli ingressi avrebbero effetto immediato sulle uscite, il che non è reali-stico negli impianti. Infatti, come già visto nell’equazione (1.1), si assumerà sempre D = 0.

Si può dimostrare che i poli di un modello descritto da una Fun-zione di Trasferimento sono gli autovalori della matrice A del corri-spondente modello in variabili di stato. Come è noto dai corsi di Teoria dei Sistemi dinamici (si veda ad esempio [8]), condizione

ne-cessaria e sufficiente per la stabilità di un sistema discreto è che tutti gli autovalori di A siano all’interno del cerchio unitario nel piano complesso: in questo caso, si dice che A è Hurwitz in senso discre-to. Nei controllori MPC, come illustrato nella sezione precedente, si aggiungono solitamente p disturbi integrali dk fittizi al modello del

(23)

xk+1= Axk+ Buk+ Bddk+ wxk

dk+1= dk+ wdk

yk= Cxk+ Dddk+ vk

(1.32)

Nell’espressione (1.32) dkRp, mentre la coppia (Bd, Dd) rappre-senta il modello del disturbo.

Il modello in variabili di stato in (1.31) può essere caratterizzato da alcune importanti proprietà, di seguito descritte, come la raggiungi-bilità, la controllabilità (o la stabilizzabilità) e l’osservabilità (o la rile-vabilità). Per una trattazione teorica più approfondita sulle proprietà di un sistema in variabili di stato si può consultare [8].

1.3.1 Raggiungibilità, controllabilità e stabilizzabilità

La raggiungibilità descrive la capacità di raggiungere uno stato desi-derato xf partendo da un qualsiasi stato x0. La controllabilità

espri-me la capacità di raggiungere lo stato xf = 0 ed è quindi un caso

particolare di raggiungibilità. Considerando la seguente equazione di stato:

xk+1= Axk+ Buk (1.33)

e di partire, per semplicità, dallo stato x0= 0, si possono effettuare

una serie di sostituzioni ottenendo: x1 = Bu0 x2 = Ax1+ Bu1= ABu0+ Bu1 .. . xk= Ak−1Bu0+· · · + Buk−1=B · · · Ak−1B    uk−1 .. . u0    e quindi: xk = ∆    uk−1 .. . u0    (1.34)

dove la matrice ∆ = B · · · Ak−1B dell’equazione (1.34) prende il

nome di “matrice di raggiungibilità”; se vale la seguente relazione:

rango ∆ = n per k > n (1.35)

dove n è l’ordine del sistema, si dice che il sistema è controllabile. La stabilizzabilità è una condizione più debole della controllabilità. Un sistema è stabilizzabile se gli stati non controllabili sono stabili; ciò vuol dire che la parte non controllabile del sistema lineare deve

(24)

essere asintoticamente stabile in assenza di controllo, cosicché sia pos-sibile comunque portare (asintoticamente) tutti gli stati del sistema

all’origine. Analiticamente: Gli stati sono da

intendersi in termini di scostamento da un valore di stazionario. lim k→∞xk = 0 1.3.2 Osservabilità e rilevabilità

L’osservabilità misura la capacità di ricostruire la sequenza degli stati del sistema a partire dai suoi dati di output.

Considerando il sistema in (1.33): xk+1 = Axk

yk = Cxk (1.36)

partendo dal tempo k = 0 si può ottenere: y0 = Cx0 y1 = Cx1 = CAx0 .. . yk−1 = CAk−1Bx0 da cui:      y0 y1 .. . yk−1      = Γ x0 (1.37) dove la matrice Γ =      C CA .. . CAk−1     

dell’equazione (1.37) prende il nome

di “matrice di osservabilità”; se vale la relazione (1.38):

rango Γ = n per k > n (1.38)

dove n è l’ordine del sistema, si dice che il sistema è osservabile: que-sto perché, se almeno n righe di Γ sono linearmente indipendenti, l’n-simo componente di x0 può essere calcolato come combinazione

lineare delle variabili di output.

La rilevabilità è una condizione più debole dell’osservabilità: un si-stema è detto rilevabile quando, anche se non è completamente osser-vabile, i modi non osservabili sono asintoticamente stabili.

1.4

identificazione del modello

Come affermato in precedenza l’identificazione di un modello del-la dinamica del processo rappresenta una fase cruciale nel progetto

(25)

di un controllore MPC. In questa sezione viene analizzata schemati-camente la procedura tipischemati-camente utilizzata a livello industriale e si effettua inoltre una panoramica sulle principali tecniche di identifica-zione. In ultima analisi viene descritta una tecnica di identificazione sviluppata recentemente e che è stata utilizzata in questo lavoro di tesi.

1.4.1 Introduzione ed aspetti generali

Nel progetto di un MPC l’identificazione consiste nel trovare un mo-dello matematico del processo a partire dai dati di impianto. In ac-cordo con quanto riportato in [9], l’identificazione consta di diverse

fasi che possono essere rappresentate graficamente con il diagramma a blocchi mostrato in Figura5.

Figura 5: Fasi del processo di identificazione [9].

I concetti espressi nel diagramma di Figura 5 possono essere rias-sunti nei seguenti punti:

• Una qualche conoscenza a priori del sistema (Prior knoledge) dà la possibilità di definire una valida strategia di raccolta dati (Ex-periment Design), scegliere una famiglia di modelli che

(26)

posso-no approssimare adeguatamente il sistema (Choose model set) e stabilire un opportuno criterio di fitting (Choose criterion of fit).

• Si effettua una raccolta di dati (Data).

• I dati, la famiglia di modelli e il criterio di fitting vengono im-piegati per calcolare un appropriato set di parametri (Calculate model).

• Il modello ottenuto deve essere convalidato (Validate model) per valutarne le prestazioni. Se questo modello soddisfa i requisi-ti, viene confermato come modello del processo, altrimenti è necessario rivedere le fasi precedenti.

Experiment design

La fase di Experiment Design è basilare in un processo di identificazio-ne. Questa fase consiste nel definire un segnale di input che possa eccitare in modo opportuno il sistema al fine di ricavarne più infor-mazioni possibile. In questo senso, i dati sfruttati per l’identificazione devono essere sufficientemente ampi ed informativi per ottenere un modello del processo adeguato. Per questo motivo i segnali di input devono essere persistentemente eccitanti9

. In generale ci sono due approcci:

input ol: si invia al processo una sequenza di input predefinita:

non è richiesto alcun controllore, ma si interrompe la norma-le marcia dell’impianto, dato che i prodotti ottenuti in questa fase non rispetterebbero gli standard di qualità previsti;

input cl: è presente un sistema di controllo. Si inviano al sistema

una sequenza di set-point ed il controllore provvede a calco-lare gli ingressi appropriati per raggiungere i nuovi set-point. Rispetto al caso OL è più complicato in quanto richiede la pre-senza del controllore, ma ha il vantaggio di poter essere svolto nelle normali condizioni di marcia dell’impianto.

Dopo di ciò, va scelto il tipo di input da inviare al sistema:

step test: consiste nel cambiare il valore di una singola variabile

per un intervallo di tempo sufficiente al raggiungimento dello stazionario, per poi riportarlo al valore originario. Spesso, do-po il primo gradino, se ne imdo-pone un altro, di pari ampiezza ma segno opposto, prima di riportare il sistema alla situazione originaria (Figura6).

9 Un segnale quasi-stazionario uk è definito persistentemente eccitante di ordine n (pen) se esistono n pulsazioni distinte ω1 6= ω2 6= · · · 6= ωn in cui la densità

spetrale φu(ω)di ukè non nulla e positiva. Per maggiori dettagli si può consultare

(27)

Figura 6: Segnale a gradino per lo step test.

gbn: si tratta di un segnale binario puramente casuale (l’acronimo

GBN sta per Generalized Binary Noise). È particolarmente uti-le perché eccita il sistema in una larga banda di frequenze co-sicché le informazioni derivanti da questi dati sono abbastan-za complete. Per costruire questo segnale occorre definire un parametro di probabilità δ ∈N e rispettare queste regole:

• per il primo tempo di campionamento, scelto un valore t, viene generato un numero casuale 0 < x 6 1, quindi:

u0 = 

t se 0 < x6 0.5 −t se 0.5 < x 6 1

• per i successivi tempi di campionamento, si sceglie un valore per δ in modo che:

uk =



−uk−1 se 0 < x6 1δ uk−1 se 1δ < x6 1

Si capisce dunque che δ rappresenta il tempo medio di in-versione per uk. In altre parole, sono necessari δ tempi

di campionamento, in media, perché il segnale GBN cam-bi segno. Pertanto, più grande è δ, minore è il numero di cambi di segno di uk. Questo è importante perché un

basso numero di cambi di segno vuol dire una maggiore potenza a basse frequenze e viceversa.

(28)

Figura 7: Esempio di una sequenza GBN.

1.4.2 Tecniche di identificazione

Dato l’affermarsi di schemi di controllo basati su un modello del pro-cesso, l’ottenimento di un modello adeguato ha assunto sempre mag-giore importanza al fine di ottenere prestazioni ottimali. Per questo motivo, nel corso degli ultimi decenni, sono state sviluppate nume-rose tecniche di identificazione, con lo scopo di ottenere un modello adeguato partendo da un set di informazioni minimo.

Gli algoritmi di identificazione si dividono in due principali categorie: metodi basati sull’errore di predizione (PE) e metodi Subspace Identi-fication (SID). I metodi PE sono stati studiati per un lungo periodo e molti aspetti teorici possono essere considerati ormai maturi (si veda [9] per maggiori dettagli). Uno dei principali svantaggi di questo tipo

di metodi è che, tranne in casi particolari, la determinazione numerica dei parametri deriva dalla risoluzione di problemi di ottimizzazione non lineare: a seconda delle dimensioni del problema, influenzate sia dalla complessità del modello, sia dalla dimensione del tempo di campionamento, questo può essere impraticabile. Per di più, in ge-nerale, il problema di ottimizzazione da risolvere è non-convesso, e questo può impedire al risolutore di trovare una soluzione globale tra i vari minimi locali.

I metodi SID, invece, sono relativamente recenti; essi realizzano operazioni di proiezione lineare delle matrici dei dati seguite da una decomposizione in valori singolari (SVD) per determinare modelli state-space di ordine basso. In questo modo la fattibilità numerica dei metodi SID è assicurata.

(29)

1.4.3 Introduzione alle tecniche PE

Una famiglia di modelli (model set) è l’insieme dei modelli con la me-desima struttura ma con valori differenti dei parametri. Per esempio:

yk+ α1yk−1= β1uk−1+ vk (1.39)

rappresenta la famiglia dei modelli ARX con na = 2e nb= 1. I

me-todi PEM cercano, all’interno di una famiglia, il modello che produce output con valori più vicini a quelli reali. Sono perciò necessari:

• una famiglia di modelli tra cui scegliere il migliore;

• un metodo di fitting dei dati.

Ogni modello è funzione di diversi parametri, indicati come ¯β: il miglior modello sarà quello associato a ¯β∗ che minimizza l’errore secondo un dato criterio. Analiticamente, data una funzione f che descriva l’errore, si ha:

¯β∗=

arg min

¯ β

f( ¯β)

Questo calcolo si effettua costruendo un predittore, cioè un’espres-sione che permetta di predire i valori di y al tempo k usando i va-lori degli input e degli output negli istanti precedenti. Riscrivendo l’esempio (1.39):

yk = −α1yk−1+ β1uk−1+ vk (1.40)

è chiaro che la migliore predizione di ykche può essere ottenuta con

i valori deterministici al tempo k − 1 è data da:

ˆyk,µ= −α1yk−1+ β1uk−1 =yk−1 uk−1 µ (1.41)

dove µ =−α1 β1

 .

Il termine vk dell’eq. (1.40) rappresenta la parte stocastica del proces-so, che non può essere descritta con equazioni deterministiche. Ora, si supponga di voler minimizzare la differenza tra il valore reale (yk)

e quello predetto ( ˆyk,µ) per ottenere una stima di µ (indicata con ˆµ).

Usando un metodo lineare dei minimi quadrati per il fitting dei dati:

ˆµ = arg min µ (y −ˆyµ) T(y −ˆy µ) (1.42) dove y =      y1 y2 .. . yN      e ˆyµ =      ˆy1,µ ˆy2,µ .. . ˆyN,µ      (1.43)

(30)

Definendo: x =      y0 u0 y1 u1 .. . yN−1 uN−1      (1.44) e riscrivendo la (1.43) come: ˆyµ= (1.45)

si ottiene la soluzione del problema: ˆµ = x+y, dove x+ è la

pseudo-inversa della matrice x. Questa operazione fornisce una stima dei parametri µ e permette di definire il modello, tra quelli della famiglia ¯β, che approssima meglio i dati. È ovvio che, se la famiglia di modelli non descrivesse adeguatamente il processo, il risultato così ottenuto sarebbe scarso.

1.4.4 Tecniche subspace

L’idea di base di queste tecniche di identificazione è che, se un model-lo descrive un processo in modo appropriato, i dati che esso genera dovrebbero giacere sullo stesso iperpiano sul quale si trovano i dati reali. In particolare, eliminando il contributo del rumore da dati reali, proiettando i dati in un piano particolare, si possono recuperare tutte le informazioni deterministiche sull’impianto. Una trattazione teori-ca del signifiteori-cato geometrico di proiezione delle matrici di dati esula dallo scopo di questa tesi; per ulteriori approfondimenti si rimanda al lavoro di Micchi [2]. Inoltre, per avere una panoramica dettagliata

sulle tecniche SID il lettore può consultare l’articolo di Qin [10].

Notazione

Data una matrice B ∈ Rn×m, si indica con vec(B) ∈Rnm il vettore colonna ottenuto incolonnando una sotto l’altra tutte le colonne di B. Date quattro matrici (A, B, C, D) di dimensioni opportune e un intero n > 2, si indica con Tn(A, B, C, D) la seguente matrice di Toeplitz triangolare a blocchi:       D 0 · · · 0 CB D . .. ... .. . . .. ... 0 CAn−2B · · · CB D       =       Tn1(·) 0 · · · 0 Tn2(·) Tn1(·) . .. ... .. . . .. . .. 0 Tnn(·) · · · Tn2(·) Tn1(·)      

conOn(A, C) si indica la matrice di osservabilità estesa: On(A, C) =CT ATCT · · · (An)TCTT

conCn(A, B) si indica la matrice di controllabilità estesa invertita:

(31)

Data una sequenza di variabili (y0, y1, · · · , yL−1) di dimensione L e

due interi p ed f, si definiscono:

yfi =yp+i−1 yp+i · · · yL−f+i−1

 per i=1,...,f ypi=yi−1 yi · · · yL−f−p+i−1  per i=1,...,f Yf =yTf1 yTf2 · · · yT ff T Yp= h yTp1 yTp2 · · · yT pf iT

dove Yf e Yp sono matrici di Hankel a blocchi. I due numeri interi

fe p prendono il nome rispettivamente di orizzonte futuro e orizzonte passato e il loro significato pratico all’interno di un algoritmo SID sarà più chiaro nel seguito dell’elaborato.

Aspetti generali

Un processo lineare stocastico può essere scritto nella seguente process form:

xk+1 = Axk+ Buk+ wk

yk = Cxk+ Duk+ vk (1.46)

dove yk ∈ Rl, xk ∈ Rn, uk ∈ Rm, wk ∈ Rn e vk ∈ Rl sono,

ri-spettivamente, le uscite, gli stati, gli ingressi, il rumore degli stati e il rumore di misura del processo, mentre A ∈ Rn×n, B ∈ Rn×m, C∈ Rl×n, D ∈Rl×m sono le matrici del processo. È noto che, se il

sistema è osservabile, si può progettare il filtro di Kalman per questo sistema per stimarne gli stati:

ˆxk+1 = Aˆxk+1+ Buk+ K(yk− Cˆxk− Duk) (1.47)

dove K è la matrice dei guadagni del filtro di Kalman ottenuta dall’e-quazione di Riccati. Definendo:

ek = (yk− Cˆxk− Duk) (1.48)

come termine di “innovazione”, il modello del processo (1.46) può essere scritto nella seguente innovation form:

xk+1 = Axk+ Buk+ Kek yk = Cxk+ Duk+ ek

(1.49)

oppure, alternativamente, nella seguente predictor form: xk+1= AKxk+ BKuk+ Kyk

yk= Cxk+ Duk+ ek (1.50)

dove AK= A − KCe BK = B − KD. Una volta definito il processo, si

introducono le seguenti assunzioni [10]:

a1. La coppia (A, B) è controllabile, la coppia (A, C) è osservabile, la

(32)

a2. Il termine ek è un rumore bianco, stazionario, a media nulla e

con covarianza:

E [ejeTj] = Re, E [eieTj] = 0 per i 6= j (1.51)

con Re definita positiva.

a3. I dati sono raccolti per L tempi di campionamento, dal tempo 0

al tempo L − 1.

a3.1 In anello aperto: E [uieTj] = 0 ∀i, j

a3.2 In anello chiuso, se D = 0: E [uieTj] = 0 per i < j,

per-ciò ui può essere calcolato in feedback con yi; se D 6= 0:

E [uieTj] = 0 per i 6 j, perciò ui può essere calcolato in

feedback con yi−1(o con gli ingressi precedenti).

a4. La sequenza degli ingressi {uk} è quasi-stazionaria e

persistente-mente eccitante di ordine f + p [9].

Dati due numeri interi f e p, detti orizzonte di predizione futuro ed orizzonte di predizione passato, si definiscono le matrici di Hankel a blocchi Uf∈ Rmf×N, Ef ∈ Rlf×Ne Yf ∈ Rlf×N, con N = L − f − p + 1

e si scrive la relazione base:

Yf= Γfxf+ HfUf+ GfEf (1.52)

dove Γf = Of(A, C) ∈ Rlf×n, Hf = (T )f(A, B, C, D) ∈ Rlf×mf e Gf = (T )f(A, K, C, I) ∈ Rlf×lf. Successivamente, si definiscono le matrici

(xp, Yp, Up) in maniera analoga a quanto fatto per (xf, Yf, Uf), ma

con gli elementi shiftati di p istanti di tempo all’indietro. Perciò si avrà:

xf = ApKxp+ LzZp (1.53)

dove Lz = [Cp(AK, K),Cp(AK, BK)] e Zp = [YpT, UTp]. Poiché AK è

strettamente Hurwitz, si può scegliere p sufficientemente grande da rendere trascurabile il termine ApK; pertanto si può scrivere:

Yf= ΓfLzZp+ HfUf+ GfEf (1.54)

Si sottolinea che per un orizzonte passato p finito, in generale questa approssimazione introduce un condizionamneto (bias) nella struttura del modello. Da qui in poi i diversi metodi subspace si differenziano nel modo di calcolare Γf, Lze Hf. I metodi SID tradizionali, ad

esem-pio, non sfruttano il fatto che Hfsia una matrice triangolare inferiore.

Se i dati sono raccolti in anello aperto, la matrice Ef è scorrellata da

Uf, cioè N1EfUf → 0 se N → ∞. In questo modo la 1.54 può esse-re risolta con un metodo dei minimi quadrati per otteneesse-re le stime di (ΓfL

z, Hf); si ricavano quindi le matrici del modello al termine di

un’operazione di decomposizione in valori singolari (SVD) che ha come scopo una riduzione dell’ordine del modello. Di seguito si riporta

(33)

nel dettaglio il metodo subspace utilizzato in questo lavoro, che ap-partiene alla classe dei cosiddetti PARSIMonious Subspace Identification Methods10

.

Una recente tecnica SID: PARSIM-K

Questo metodo, come gli altri metodi SID, sfrutta la relazione (1.53), ma usa la “predictor form” (1.50) per ricavare la seguente relazione base [11]:

Yf = ΓKfxf+ HfKUf+ GfKEf = ΓKfLzZp+ HKfUf+ GfKEf (1.55)

dove ΓKf = Of(AK, C) ∈ Rlf×n, HfK = Tf(AK, BK, C, 0) ∈ Rlf×mf e

GfK=Tf(AK, K, C, 0) ∈ Rlf×lf.

Inoltre, si sfrutta la struttura triangolare a blocchi di Hf

K e GfK per

riscrivere la (1.55) come:

yf1 = ΓKf1LzZp+ Hf1Kuf1+ef1

yfi = ΓKfiLzZp+ HfiKufi+ GfiKyf1+˜yfiefi per i = 2, ..., f

dove ˜yf2 = Hf1Kuf2 e ˜yfi =

Pi−1 j=1H fj Kuf(i-j+1)+ Pi−1 j=1G fj Kyf(i-j+1) per i = 3, ..., f.

A questo punto, si calcolano sequenzialmente i termini [(ΓKfiLz), HfiK, GfiK]:

\ [(ΓKf1Lz), Hf1K] =arg min (Γf1 K Lz),Hf1K kyf1− ΓKf1LzZp− Hf1Kuf1k2F =yf1 Zp uf1 + (1.56a) \ [(Γfi KLz), HfiK, GfiK] =arg min (Γf1 K Lz),H f1 K,G fi K kyf1− ΓKf1LzZp − Hf1Kuf1− GfiKyf1−˜yfik2F = (yfi− ˜yfi)   Zp uf1 yf1   + per i = 2, ..., f (1.56b)

Ad ogni step di calcolo i, i termini ˜yfi per i = 2, .., f sono noti perché

dipendono dai parametri (H\fjK, GfjK), con j < i, calcolati negli step precedenti. Inoltre, la pseudo-inversa va calcolata soltanto allo step i = 2.

Se D = 0, la (1.56a) si riduce a: \(Γf1

K Lz) = yfiZ+p e dHf1K = 0. Inoltre, se

D6= 0, dall’assunzione A3.2, si ha che uf1è indipendente da ef1anche

se i dati sono raccolti in anello chiuso, dato che uk è in feedback con

yk−1.

(34)

A questo punto, si incolonnano i termini \(Γfi

KLz) per ottenere \(ΓKfLz),

e si effettua una decomposizione in valori singolari (SVD) troncata:

W1(Γ\KfLz)W2 =UnSnVnT+Rn (1.57)

dove (Un,Sn,Vn)sono i termini della SVD associati agli n valori

sin-golari più grandi eRn rappresenta l’errore commesso trascurando i

rimanenti fl − n termini della decomposizione SVD.

Le “matrici peso” usate nella decomposizione sono scelte in manie-ra analoga agli altri algoritmi PARSIM [12], cioè W1 = I e W2 =

(ZpΠ⊥U

fZ T p)1/2.

Dopo di ciò, si calcola Γf

K = W

−1

1 UnS

1/2

n e, successivamente, si

sti-mano (AK, C) via minimi quadrati (LS) sfruttando la proprietà di

in-varianza temporale di ΓKf.

Note le stime ( cAK, ˆC), si effettua, con un unico problema dei minimi quadrati, il calcolo delle matrici ( cBK, ˆD, ˆK)e dello stato iniziale cx0; a tal fine, si indica con q l’operatore di “shift” in avanti e si definisce la matrice di funzioni di trasferimento F(q) = ˆC(qI − cAK)−1. Si può dunque scrivere, per k = 0, ..., L − 1:

yk = (F(q)BK+ D)uk+ F(q)Kyk+ ˆC cAKkx0+ ek = ϕ1kvec(BK) + ϕ2kvec(D) + ϕ3kvec(K) + ϕ4kx0+ ek

(1.58)

dove ϕ1k = F(q)⊗ uT

k, ϕ2k = I⊗ uTk, ϕ3k = F(q)⊗ yTk e ϕ4k = ˆC cAK k

. A questo punto si calcolano ( \vec(BK), \vec(D), \vec(K),cx0):

     \ vec(BK) \ vec(D) \ vec(K) c x0      T =    y0 .. . yL−1    T   ϕ10 ϕ20 ϕ30 ϕ40 .. . ϕ1L−1 ϕ2L−1 ϕ3L−1 ϕ4L−1    (1.59)

e, dopo aver ricostruito ( cBK, ˆD, ˆK), si calcolano:

ˆ

(35)

2

M O N I T O R A G G I O E D I A G N O S T I

-C A D I M P -C

Come precedentemente affermato, nonostante il rapido e continuo sviluppo della tecnologia MPC sotto vari aspetti negli ultimi decenni, il campo della valutazione e monitoraggio delle prestazioni di questi controllori (rispettivamente CPA e CPM1

) è quello che ha attirato mi-nor attenzione. Tuttavia, di recente, questi aspetti stanno diventando sempre più oggetto di ricerca e costituiscono l’argomento di questa tesi.

In questo Capitolo, dopo una breve panoramica sulle tecniche CPA e CPM maggiormente affermatesi negli ultimi anni, si approfondisce il concetto di errore di predizione focalizzando l’attenzione sulla sua utilità nel campo della diagnostica. Successivamente viene introdot-to il concetintrodot-to di rumore bianco e si descrivono alcuni dei più noti test per valutare la bianchezza di un set di dati. Infine viene presentata e descritta la strategia di monitoraggio e diagnostica di controllori predittivi sviluppata da De Luca [3] e che è stata applicata in questo

lavoro di tesi.

2.1

overview: valutazione e monitoraggio

delle prestazioni

Di seguito si ripropone una breve overview sulle tecniche CPA e CPM in accordo con quanto riportato in [13], [14], [2] e [3]. Lo scopo di un

sistema di valutazione e monitoraggio delle prestazioni di un control-lore (ed eventuale diagnosi di malfunzionamento) è quello di assicu-rare che il sistema di controllo abbia prestazioni in linea con le speci-fiche. In accordo con quanto riportato in [15], un approccio unitario

alla valutazione delle prestazioni di un sistema di controllo prevede:

1. la valutazione delle potenzialità del sistema di controllo;

2. l’introduzione di opportuni parametri statistici per il monito-raggio delle prestazioni del controllore;

3. lo sviluppo di metodologie di diagnostica che evidenzino le cause di degrado delle prestazioni del controllore.

1 CPA e CPM sono gli acronimi rispettivamente di Controller Performance Assessment e Controller Performance Monitoring.

(36)

Una volta definiti dei criteri di valutazione delle prestazioni, si pren-de a riferimento un insieme di dati relativi ad un periodo di funziona-mento in condizioni accettabili (emphbenchmarking) e si procede con il monitoraggio delle prestazioni del controllore per poterne trovare eventuali variazioni significative. Nel caso in cui venga rilevato un degrado delle prestazioni, si rende necessario individuare la causa di tale subottimalità.

La metodologia di monitoraggio delle prestazioni di un sistema di controllo (CPM) basata sul controllo a varianza minima (MVC, Mini-mum Variance Control) e sulla varianza delle variabili controllate pro-posta da Harris nel 1989 [16] ha dato il via ai recenti studi nell’ambito

delle valutazioni delle prestazioni.

Più di recente, con l’affermarsi dei sistemi di controllo MPC, basati su un modello del processo, si è aperta una nuova frontiera nel cam-po della valutazione e del monitoraggio delle prestazioni di sistemi di controllo2

. Ad esempio, nel 2002, Patwardhan e Shah [17] hanno

proposto la valutazione delle prestazioni attraverso il confronto con le sue prestazioni storiche assumendo come misura delle prestazioni il valore atteso della funzione di costo del controllore MPC per un certo intervallo di tempo. Schafer e Cinar [13] hanno proposto una

metodo-logia che sfrutta una misura della qualità delle prestazioni basata sul rapporto tra le prestazioni storiche e quelle realmente ottenute per il monitoraggio, ed un rapporto tra le prestazioni di design e quelle realmente ottenute per la diagnostica.

Loquasto e Seborg [18], [19] hanno proposto un approccio di tipo

PCA (Principal Component Analysis): tale analisi è basata sull’idea che i dati provenienti da un impianto che non lavora in condizioni otti-mali possano essere divisi in diverse classi (Pattern Classification), a seconda del problema che ha causato il deterioramento delle presta-zioni. I set di dati vengono assegnati alle differenti classi sulla base di alcune proprietà statistiche: nel caso di Loquasto e Seborg è stato adottato un approccio PCA con l’introduzione dei parametri T2 e Q utilizza.

Argawal et al. [20] hanno introdotto nel 2007 un approccio

proba-bilistico alla valutazione delle prestazioni dei controllori MPC basa-to sull’analisi dei vincoli. Accanbasa-to a questa mebasa-todologia, gli aubasa-tori hanno inoltre introdotto alcune regole per il tuning del controllore MPC che derivano direttamente dalle considerazioni fatte sui vinco-li. Il loro lavoro è particolarmente interessante perché essi hanno focalizzato l’attenzione sulla miglior prestazione raggiungibile usan-do uno schema MPC. Recentemente, nel 2008, Yu e Qin [21] hanno

adottato un approccio statistico al problema dell’analisi delle presta-zioni, basato su un’analisi della covarianza dei dati. In altre parole,

2 Mentre, tradizionalmente, il benchmarking è sempre stato data-driven, cioè basato su dati di processo raccolti ad hoc, per i controllori MPC la disponibilità di un modello del processo ha offerto nuove opportunità in ottica CPA e CPM

Figura

Figura 3: Schema a blocchi del controllore MPC in variabili di stato.
Figura 11: Tipiche curve ASTM delle principali frazioni ottenibili dalla distillazione atmosferica di un grezzo.
Tabella 3: Composizione degli idrocarburi leggeri.
Tabella 4: Distribuzione dei tagli [ 30 ].
+7

Riferimenti

Documenti correlati

Tuttavia può essere non privo di interesse proporre di assumere in una costellazione di filosofia morale e interculturale la ventralità del corpo come problema, descriverne sulla

The present note tackles the issue of citizen science, a new data collection methodology for research project that generates sustainability benefits, and that is recently

La lettura della deliberazione come fondamento della libertà umana testimonia una scelta ermeneutica da parte di Heidegger molto significativa, prontamente messa in luce

Massimo Maria Brignoli (Milano) ; Michèle Pezzagno (Brescia) ; Gianluca Frediani (Ferrara) ; Michele Zazzi (Parma) ; Michele Ercolini (Firenze) , Sergio Zevi e Saverio

This Special Issue of TeMA - Journal of Land Use, Mobility and Environment, collects twenty-seven contributes of international researchers and technicians in form of

Other mentions concern: women’s political agenda and representation in urban deci- sion making , women’s economic empowerment, decent job agenda, domestic work and women in

There is an important rela- tionship between the physical and social urban space and older person’s health, and ur- ban planners and key actors in the built environment particularly

Al fine di approfondire le conoscenze relative alla anatomia patologica macro e microscopica lo studente potrà frequentare il laboratorio di anatomia patologica assistendo