# Gestore del riferimento

In automatica, il gestore del riferimento (o Command Governor) è un dispositivo che permette di risolvere problemi di controllo vincolato. Viene inserito a monte di un sistema già stabilizzato da un opportuno controllore (detto compensatore primale) ed il suo funzionamento si basa su tecniche di controllo predittivo che permettono di gestire opportunamente il riferimento da fornire al sistema controllato.
Tramite il modello e la conoscenza dello stato attuale, esso effettua delle predizioni per valutare e correggere un'eventuale violazione dei vincoli nel futuro. In tal caso agisce sul riferimento del sistema controllato, sostituendolo con un riferimento il più possibile vicino a quello originale che garantisca però il soddisfacimento dei vincoli.
Più precisamente , le uscite modificate del Gestore del Riferimento corrispondono a ingressi costanti corrispondenti a configurazioni di equilibrio in cui i vincoli sono soddisfatti sia a regime che durante il transitorio.
Ad ogni passo di campionamento si risolve un problema di ottimizzazione vincolata con vincoli lineari in cui la funzione obiettivo da minimizzare è la norma della differenza tra il riferimento originale e quello determinato dal Command Governor (CG).
Iniziamo la nostra discussione presentando dapprima il problema a cui il CG cerca di fornire una soluzione , il problema del Tracking Vincolato. Ne daremo di seguito una definizione del tutto generale , con riferimento a modelli tempo discreti lineari tempo invarianti.

## Tracking Vincolato

Supponiamo che il processo che si intende controllare sia rappresentato nello spazio di stato dal seguente modello LTI tempo discreto
$x_{k+1}=Ax_{k}+Bu_{k}+Dw_{k}$
$y_{k}=Cx_{k}$
con $x(0)=x_{0}$ stato iniziale del processo , $w_{k}$ disturbo agente sul processo , con $w_{k}\in D$ $\forall k\geq 0$ compatto. Supponiamo inoltre che il sistema sia soggetto a vincoli stato ingresso
$x_{k}\in X\subset R^{n}$ $u_{k}\in U\subset R^{m}$
Noto il riferimento $r_{k}$ , il problema del tracking vincolato consiste nella definizione di una opportuna azione di controllo (se esiste)
u$_k${\textstyle u_{k}}
tale che
* i vincoli siano sempre soddisfatti , $x_{k}\in X$ $u_{k}\in U$ $\forall k\geq 0$.
* per $k>>1$ sufficientemente elevato $||y_{k}-r_{k}||\leq \epsilon$
con $\epsilon \geq 0$ piccolo a piacere , $\forall x_{0}\in R^{n}$ e $\forall w\in D\subset R^{d}$.
Idealmente, si vorrebbe che , oltre alla condizione sui vincoli sia verificato che
$||y_{k}-r_{k}||\longrightarrow 0$ , $k\longrightarrow \infty$
la distanza tende ad annullarsi asintoticamente.

## Principio Di Funzionamento

Come ribadito in precedenza il problema a cui il CG cerca di fornire una soluzione è il problema del Tracking Vincolato. Partiamo innanzitutto presentando lo schema della soluzione , in modo da capire come tale strategia risolve il problema posto.
A partire dallo schema sopra riportato, cerchiamo di capire il funzionamento del Gestore del Riferimento. Si ricordi come ribadito in precedenza che il CG lavora su sistemi asintoticamente stabili o sistemi precompensati. La presenza del Primal Controller di fatto ha come unico scopo quello di rendere (a ciclo chiuso) il processo , asintonticamente stabile. In particolare nello schema precedente abbiamo indicato con $x_{p}(t)$ lo stato del processo e con $x_{c}(t)$ lo stato del controllore.
Il Gestore del Riferimento (CG) ha come ingressi il riferimento $r(t)$ e lo stato complessivo del sistema precompensato $x(t)$ , mentre in uscita abbiamo il segnale $g(t)$ che rappresenta una versione opportunatamente modificata del riferimento. Sulla base dello stato corrente e del riferimento il CG determina (in predizione) se a partire dall'istante corrente fino all'infinito i vincoli sono soddisfatti , cioè , con riferimento allo schema proposto , se $c(k)\in C$ $\forall k\geq t$.
Se in predizione il gestore del riferimento si "accorge" che i vincoli non risultato soddisfatti $(\exists k:c(k)\notin C)$ , il CG modifica il valore del riferimento $r(t)$ in una versione $g(t)$ tale che la condizione sui vincoli non risulta violata su un orizzonte temporale seminfinito.
Come vedremo successivamente , obiettivo del CG è quello di massimizzare la regione di operatività lineare del processo , cioè , le versioni modificate del riferimento sono ingressi costanti corrispondenti a configurazioni di equilibrio in cui vincoli sono soddisfatti sia nel transitorio che a regime.