• Non ci sono risultati.

Introduzione al controllo basato su modello

N/A
N/A
Protected

Academic year: 2021

Condividi "Introduzione al controllo basato su modello"

Copied!
17
0
0

Testo completo

(1)

Model Predictive Control

L7

(2)

Introduzione

• I tipici processi industriali sono in genere complessi, hanno numerosi input ed output nonché disturbi e producono elevate quantità in continuo o

discontinuo.

• Esistono in aggiunta dei vincoli economici ed ambientali che dettano delle condizioni relative alla:

• qualità dei prodotti

• utilizzo dell'energia

• sicurezza industriale e dell'ambiente

• Spesso i dati relativi alla qualità del prodotto finale non sono disponibili o misurabili in linea.

• Quando poi si abbiano dei frequenti cambiamenti della

qualità/specifiche/grado del prodotto finale occorre che l'impianto operi in condizioni non stazionarie.

• A ciò si aggiunge la necessità di effettuare procedure di avvio e spegnimento (anche di emergenza).

(3)

Introduzione

• I tipici processi industriali sono quindi caratterizzati dai seguenti problemi di controllo:

1. Il processo è quasi sempre multivariabile

• numerose variabili controllate: y1, y2,…, yn

• numerose variabili manipolate: u1, u2,…, un

• numerose variabili disturbate: d1, d2,…, dn 2. Comportamento dinamico complesso

• time delays (tempi di ritardo) dovuti all’inerzia del sistema (materiale ed energetica), trasporto materiale all'interno dei tubi, lunghi tempi di misura ed analisi

(4)

Introduzione

3. Non linearità intrinseca del sistema

4. Vincoli operativi differenziati ed articolati

• vincoli sulle variabili di input e di output

• vincoli sulla velocità di cambiamento delle variabili di input

• vincoli sul valore ottimale delle variabili di input (e.g., valore economico)

• vincoli processistici o di legge

• vincoli hard e soft

(5)

Un sistema di controllo ideale dovrebbe:

• essere multivariabile e gestire tempi di ritardo, risposta inversa, vincoli, disturbi misurati e non misurabili

• ottimizzare lo sforzo controllistico

• essere in grado di inferenziare dalle misure disponibili quelle non disponibili

• essere robusto rispetto agli errori di modellazione ed al rumore delle misure

• essere in grado di gestire gli startup e gli shutdown (programmati e di emergenza) come pure gli stazionari dell’impianto

Introduzione al controllo basato su modello

(6)

• Il primo controllo di tipo MPC nasce in ambito industriale nel 1978 con un articolo di Richalet e coautori e nel 1979 con dei lavori pubblicati dalla Shell.

• In quegli anni si inizia a parlare di model based control.

• Le principali tappe evolutive sono:

• DMC: Dynamic Matrix Control 1979, (processi Shell) Cutler & Ramaker, Prett & Gilette

• Applicazione ad un’unità di fluid catalytic cracking

• MAC: Model Algorithmic Control Æ commercializzato come IDCOM

Controllo basato su modello

(7)

Applicabilità del MPC

• Non tutti i processi produttivi richiedono l’utilizzo di una strategia di controllo di tipo Model Predictive Control: MPC.

• In genere i processi che più sono adatti ad una logica di tipo MPC sono caratterizzati da:

• Più variabili di input e output con notevoli interazioni tra i singoli loop di controllo

• Un numero uguale o differente di variabili di input/output (i.e.

rispettivamente sistemi quadratici o rettangolari)

• Dinamiche complesse ed articolate

• Vincoli sulle variabili di input e output

(8)

Applicabilità del MPC

ysp = y set point (traiettoria del sp) y = y modello

yr = y reale, misurata u = variabile manipolata

y(k-1)

y(k) y(k+1)

u(k)

Futuro Passato

k k+1 k+2 k+3 k+4 k+5

Orizzonte

yr(k-1)

yr(k) ysp(k-1)

ysp(k)

ysp(k+1)

(9)

Elementi caratteristici del MPC

• Traiettoria di riferimento del sistema, set point ottimale variabile nel tempo: ysp

• Risposta del modello predittivo, y. Risposta nel futuro: y(k+1), y(k+2), … a fronte degli input presenti e passati : u(k), u(k−1), u(k−2), …

• Il modello M viene utilizzato per calcolare una sequenza di atti di controllo che soddisfano una opportuna funzione obiettivo:

• minimizzazione della risposta del sistema y rispetto alla traiettoria: ysp ottimale o di set point

• minimizzare lo sforzo controllistico

(10)

Elementi caratteristici del MPC

• Ciò corrisponde a determinare una sorta di modello inverso M*, che fornisce la sequenza ottimale u(k), u(k+1),…, u(k+m−1)

N.B.: in realtà non si determina un modello inverso M* bensì si risolve numericamente un problema di ottimo.

• Stima dell’errore ε attuale esistente tra modello M e realtà R:

e suo utilizzo per le previsioni future.

( ) ( )

k y kr y k

ε = −

(11)

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( )

1 1

2 2 2

( ), ( 1), , ( 1)

1

2

min

, ,

p p p

c

k h k h k h

y y y u u T T

k k k h

j k i k l k

y sp

y y r real model

sp

MAX y

MAX

j j i i l

j k j

j k k k k k

j

j j

j Max Min

+ + − + −

+ + − = + = =

⎧ ⎫

⎪ ⎡ + ⎤ + ⎡ + ⎤ + ⎪

⎨ ⎣ ⎦ ⎣ ⎦ ⎬

⎪ ⎪

⎩ ⎭

⎡ + ⎤ −

⎣ ⎦

= = − = −

⎧ ⎡ − ⎤⎫ −

⎪ ⎪

= ⎨ ⎢ ⎥⎬ +

⎪ ⎣ ⎦⎪

⎩ ⎭

∑ ∑ ∑

u u u ω e PF ω Δu PF ω δu

y δ y

e δ y y y y

y

y y y

PF 0 0

y

( ) ( ) ( )

( ) ( )

( ) ( ) ( )

( ) ( ) ( )

2

2 2

1 1

, ,

MIN MIN

MIN MAX

MAX MIN

u

MAX MIN

i i

i i

i

i i

i Max Min

l l l

⎧ ⎡ ⎤⎫

⎪ ⎪

⎨ ⎢ ⎥⎬

⎪ ⎣ ⎦⎪

⎩ ⎭

− −

= ≤ ≤

⎧ ⎡ − ⎤⎫ ⎧ ⎡ − ⎤⎫

⎪ ⎪ ⎪ ⎪

= ⎨ ⎢ ⎥⎬ +⎨ ⎢ ⎥⎬

⎪ ⎣ ⎦⎪ ⎪ ⎣ ⎦⎪

⎩ ⎭ ⎩ ⎭

= −

y y

u u

Δu Δu Δu Δu

u

u u u u

PF 0 0

u u

δu u u

Formalizzazione matematica del MPC

(12)

Formalizzazione matematica del MPC

( ), ( min1), , ( 1)

{ }

...

k k+ k h+ −c

u u u

(13)

( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( )

2 ( ), ( 1), , ( 1)

1

2 2

min ...

, ,

p

c

k h

y y y

k k k h

j k

y sp

y y r real model

sp

MAX MIN

y

MAX MIN

j j

j k j

j k k k k k

j

j j

j Max Min

+

+ + − = +

⎧ ⎫

⎪ ⎡ + ⎤ + ⎪

⎨ ⎣ ⎦ ⎬

⎪ ⎪

⎩ ⎭

⎡ + ⎤−

⎣ ⎦

= = − = −

⎧ ⎡ − ⎤⎫ ⎧ ⎡ − ⎤⎫

⎪ ⎪ ⎪ ⎪

= ⎨ ⎢ ⎥⎬ +⎨ ⎢ ⎥⎬

⎪ ⎣ ⎦⎪ ⎪ ⎣ ⎦⎪

⎩ ⎭ ⎩ ⎭

u u u

ω e PF

y δ y

e δ y y y y

y

y y y y

PF 0 0

y y

Formalizzazione matematica del MPC

(14)

( ) ( )

( ) ( ) ( )

( ) ( )

( ) ( ) ( )

1

2 ( ), ( 1), , ( 1)

2 2

min ... ...

1 1

, ,

p

c

k h

u u

k k k h

i k

MIN MAX

MAX MIN

u

MAX MIN

i i

i i

i i

i

i i

i Max Min

+ −

+ + − =

⎧ ⎫

⎪ + ⎡ + ⎤ + ⎪

⎨ ⎣ ⎦ ⎬

⎪ ⎪

⎩ ⎭

− −

= ≤ ≤

⎧ ⎡ − ⎤⎫ ⎧ ⎡ − ⎤⎫

⎪ ⎪ ⎪ ⎪

= ⎨ ⎢ ⎥⎬ +⎨ ⎢ ⎥⎬

⎪ ⎣ ⎦⎪ ⎪ ⎣ ⎦⎪

⎩ ⎭ ⎩ ⎭

u u u

ω Δu PF

u u

Δu Δu Δu Δu

u

u u u u

PF 0 0

u u

Formalizzazione matematica del MPC

In genere è negativoΔuMIN

(15)

Formalizzazione matematica del MPC

( ) ( ) ( ) ( )

1

2 ( ), ( min1), , ( 1) ... ...

p

c

k h

T T

k k k h

l k

T T

l

l l l

+ −

+ + − =

⎧ ⎫

⎪ + + ⎪

⎨ ⎬

⎪ ⎪

⎩ ⎭

= −

u u u

ω δu

δu u u

T = target, può coincidere con il valore di steady state OTTIMALE delle variabili manipolate (e.g., condizioni nominali operative)

(16)

Formalizzazione matematica del MPC

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( )

1 1

2 2 2

( ), ( 1), , ( 1)

1

2

min

, ,

p p p

c

k h k h k h

y y y u u T T

k k k h

j k i k l k

y sp

y y r real model

sp

MAX y

MAX

j j i i l

j k j

j k k k k k

j

j j

j Max Min

+ + − + −

+ + − = + = =

⎧ ⎫

⎪ ⎡ + ⎤ + ⎡ + ⎤ + ⎪

⎨ ⎣ ⎦ ⎣ ⎦ ⎬

⎪ ⎪

⎩ ⎭

⎡ + ⎤ −

⎣ ⎦

= = − = −

⎧ ⎡ − ⎤⎫ −

⎪ ⎪

= ⎨ ⎢ ⎥⎬ +

⎪ ⎣ ⎦⎪

⎩ ⎭

∑ ∑ ∑

u u u ω e PF ω Δu PF ω δu

y δ y

e δ y y y y

y

y y y

PF 0 0

y

( ) ( ) ( )

( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( )

( )

2

2 2

, ,

1

. . ,

, , , , 1

, ,

MIN MIN

MIN MAX

MAX MIN

u

MAX MIN

T T

i i

i i

i

i i

i Max Min

l l l

s t t

t

⎧ ⎡ ⎤⎫

⎪ ⎪

⎨ ⎢ ⎥⎬

⎪ ⎣ ⎦⎪

⎩ ⎭

− −

= ≤ ≤

⎧ ⎡ − ⎤⎫ ⎧ ⎡ − ⎤⎫

⎪ ⎪ ⎪ ⎪

= ⎨ ⎢ ⎥⎬ +⎨ ⎢ ⎥⎬

⎪ ⎪ ⎪ ⎪

⎧⎪ =

⎨ ′ =

⎣ ⎦ ⎣ ⎦

⎩ ⎭ ⎩ ⎭

= −

y y

u u

Δu Δu Δu Δu

u

u u u u

PF 0 0

u u

δu u

h y u d 0 f y y u d 0

u

(17)

Elementi critici del MPC

( )

c p

y

u T y

model

T

h h

k y y

u u ω ω ω δ

= Δ

Riferimenti

Documenti correlati

• Regola 3: Anche se le stringhe di formato della scanf() assomigliano molto a quelle della printf(), hanno una semantica leggermente differente (leggete il manuale!). • Regola

 saves pertinent information including last instruction executed and data values in registers in the PCB (process control block).  branches to

caratteri ordinari, in questo caso la scanf si aspetta l’introduzione proprio di quei caratteri in quella esatta sequenza. I caratteri letti sono scartati ad uno ad uno

whose name is distinct from all other existing files, and opens the file for binary writing and reading (as if the mode string "wb+" were used in an fopen() call). If

Consideriamo due tipi di file i file di testo ed i file binari; i primi utilizzati quando l’informazione da memorizzarvi e’ di tipo testo cioe’ sequenze di caratteri; i secondi

Il FEEDBACK INFERENZIALE non può misurare le variabili da controllare e quindi ne misura altre inferenziando il valore di quelle da controllare e regolando le variabili manipolate.

¨  Se la stringa di formato contiene un white space, la scanf legge zero o più white space, che verranno scartati, fino al primo carattere non white space.

 An efficient means of transferring data directly between I/O and memory for large data transfers since programmed I/O is suitable only for slow devices and individual