Vai al contenuto
Controllo Digitale

Controllo ottimo LQ e controllo predittivo

Regolatore lineare quadratico con equazione di Riccati dimostrata per programmazione dinamica, esempio scalare in forma chiusa, LQG, controllo predittivo con orizzonte mobile e vincoli.

Allocare i poli lascia aperta una domanda: dove metterli? Più veloci significa comandi più grandi, più lenti significa errori che durano di più. Il controllo ottimo risponde scrivendo il compromesso come un costo da minimizzare, e il controllo predittivo estende l’idea ai vincoli che ogni impianto reale ha: attuatori che saturano, temperature e pressioni da non superare. In questa lezione vediamo il regolatore lineare quadratico (LQ) discreto con la derivazione dell’equazione di Riccati, un esempio scalare risolto in forma chiusa, e il controllo predittivo con l’orizzonte mobile, i vincoli e le sue applicazioni.

Il regolatore lineare quadratico

Per il sistema x(k+1) = \Phi x(k) + \Gamma u(k) si cerca la sequenza di comandi che minimizza

    \[ J = \sum_{k=0}^{\infty}\left(x(k)^TQx(k) + u(k)^TRu(k)\right) \]

con Q semidefinita positiva (quanto pesa l’errore) e R definita positiva (quanto pesa il comando). Aumentare R rispetto a Q chiede un regolatore più “parsimonioso”.

Teorema. La soluzione ottima è una retroazione dello stato u = -Kx con

    \[ K = (R + \Gamma^TP\Gamma)^{-1}\Gamma^TP\Phi \]

dove P è la soluzione simmetrica definita positiva dell’equazione algebrica di Riccati

    \[ P = Q + \Phi^TP\Phi - \Phi^TP\Gamma(R + \Gamma^TP\Gamma)^{-1}\Gamma^TP\Phi \]

e il costo minimo partendo da x è x^TPx.

Dimostrazione (programmazione dinamica). Sia V(x) il costo minimo partendo da x. Per il principio di ottimalità di Bellman, il primo passo ottimo minimizza il costo del passo più il costo minimo dallo stato successivo:

    \[ V(x) = \min_u\left[x^TQx + u^TRu + V(\Phi x + \Gamma u)\right] \]

Si prova con V(x) = x^TPx. La quantità tra parentesi è quadratica in u; il gradiente rispetto a u è 2Ru + 2\Gamma^TP(\Phi x + \Gamma u), e annullandolo:

    \[ u = -(R + \Gamma^TP\Gamma)^{-1}\Gamma^TP\Phi x = -Kx \]

È un minimo perché la matrice R + \Gamma^TP\Gamma è definita positiva. Sostituendo u, tutti i termini sono della forma x^T(\cdot)x, e l’uguaglianza V(x) = x^TPx vale per ogni x se e solo se P soddisfa l’equazione di Riccati. ∎

Se (\Phi, \Gamma) è raggiungibile e lo stato è “visto” dal costo ((\Phi, Q^{1/2}) osservabile), la soluzione esiste, è unica e l’anello chiuso è asintoticamente stabile. In pratica l’equazione si risolve numericamente, con un’istruzione nei programmi di calcolo.

Esempio: un integratore

Si prenda x(k+1) = x(k) + u(k), con Q = 1 e R = r. Con \Phi = \Gamma = 1 l’equazione di Riccati diventa

    \[ P = 1 + P - \frac{P^2}{r + P} \quad\Rightarrow\quad P^2 - P - r = 0 \quad\Rightarrow\quad P = \frac{1 + \sqrt{1 + 4r}}{2} \]

e K = P/(r + P), con polo in anello chiuso 1 - K = r/(r + P).

rPKpolo 1 - K
0110 (deadbeat)
11,6180,6180,382
103,700,2700,730
10010,50,0950,905

Con comando gratuito (r = 0) l’ottimo è il deadbeat (lezione sul controllo deadbeat); con comando costoso il regolatore diventa sempre più lento. Per r = 1 compare la sezione aurea, P = (1 + \sqrt{5})/2. Il progettista non sceglie più i poli, ma i pesi, che hanno un significato fisico diretto. Il controllo LQ continuo ha anche margini garantiti (guadagno infinito, almeno 60° di fase); nel discreto i margini sono un po’ minori ma restano buoni.

Insieme al filtro di Kalman (lezione sugli osservatori) il regolatore LQ forma il controllo LQG, ottimo quando i disturbi e i rumori sono gaussiani, e grazie al principio di separazione i due si progettano indipendentemente.

Il controllo predittivo

Il regolatore LQ non sa niente dei limiti: se il comando ottimo supera la saturazione dell’attuatore, viene semplicemente tagliato, e l’ottimalità e a volte la stabilità si perdono. Il controllo predittivo (MPC, model predictive control) mette i vincoli dentro il problema.

Orizzonte mobile del controllo predittivo
A sinistra dell’istante k i campioni misurati dell’uscita y; a destra la previsione dell’uscita, tratteggiata, che raggiunge il riferimento r, ottenuta con la sequenza di comandi pianificata u sull’orizzonte di N passi. Solo il primo comando, in rosso, viene applicato; all’istante successivo tutto si ricalcola.

A ogni campione il regolatore:

  1. misura (o stima con un osservatore) lo stato attuale;
  2. usando il modello, prevede l’evoluzione dell’uscita per i prossimi N passi in funzione della sequenza di comandi futuri u(k), \dots, u(k+N-1);
  3. sceglie la sequenza che minimizza un costo quadratico (errore rispetto al riferimento più sforzo di comando) rispettando i vincoli: limiti sui comandi, sulla loro velocità di variazione, sulle uscite e sugli stati;
  4. applica solo il primo comando, scarta gli altri, e al campione successivo ripete tutto con la nuova misura.

Il passo 3 è un problema di programmazione quadratica: costo quadratico, vincoli lineari, una soluzione unica che algoritmi efficienti trovano in microsecondi o millisecondi. Il passo 4, l’orizzonte mobile, rende lo schema una vera retroazione: gli errori del modello e i disturbi vengono corretti a ogni ciclo.

Alcune proprietà:

  • senza vincoli attivi, il controllo predittivo è una retroazione lineare fissa; con orizzonte infinito coincide con il regolatore LQ;
  • la stabilità si garantisce aggiungendo un costo terminale pari al costo LQ x^TPx dello stato finale, ed eventualmente un vincolo terminale;
  • conosce in anticipo i cambiamenti di riferimento e i disturbi misurabili, e può cominciare a reagire prima che avvengano;
  • gestisce naturalmente i sistemi con molti ingressi e uscite accoppiati (lezione sui sistemi multivariabili di Controllo dei processi).

Il controllo predittivo è nato alla fine degli anni Settanta nelle raffinerie, dove i processi sono lenti e c’è tempo per calcolare, e oggi è lo standard per il controllo avanzato dei processi. Con i processori moderni è arrivato ai sistemi veloci: gestione del motore e della guida autonoma nelle automobili, droni, convertitori di potenza ed elettronica di trazione, dove la versione “a insieme finito” sceglie direttamente lo stato degli interruttori (lezioni di Elettronica di potenza).

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x