Main Content

Progettazione di un controllo lineare-quadratico-gaussiano (LQG)

Il controllo lineare-quadratico-gaussiano (LQG) è una moderna tecnica stato-spazio per la progettazione di regolatori dinamici e di servo controller ottimali con azione integrale (noti anche come setpoint tracker). Questa tecnica permette di bilanciare le performance di regolazione/tracking e lo sforzo di controllo, tenendo conto dei disturbi di processo e del rumore di misura.

Per la progettazione di regolatori LQG e di setpoint tracker si effettuano i seguenti passaggi:

  1. Costruzione del guadagno LQ ottimale.

  2. Costruzione di un filtro di Kalman (stimatore di stato).

  3. Formazione della progettazione LQG attraverso la connessione del guadagno LQ ottimale e del filtro di Kalman.

Per ulteriori informazioni sull’uso della progettazione LQG per la creazione di regolatori LQG, vedere Progettazione di un controllo lineare-quadratico-gaussiano (LQG) per la regolazione.

Per ulteriori informazioni sull’uso della progettazione LQG per la creazione di servo controller LQG, vedere Progettazione di un controllo lineare-quadratico-gaussiano (LQG) con azione integrale.

Questi argomenti sono incentrati sul caso a tempo continuo. Per informazioni sulla progettazione LQG a tempo discreto, vedere le pagine dei riferimenti relative a dlqr e kalman.

Progettazione di un controllo lineare-quadratico-gaussiano (LQG) per la regolazione

È possibile progettare un regolatore LQG per regolare l’output y in prossimità dello zero nel seguente modello.

L’impianto di questo modello sperimenta dei disturbi (rumore di processo) w ed è azionato dai controlli u. Per generare questi controlli, il regolatore si basa sulle misure rumorose y. Lo stato dell’impianto e le equazioni di misura assumono la forma di

x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

e sia w che v sono modellati come rumore bianco.

Nota

Per la progettazione LQG è necessario un modello stato-spazio dell’impianto. È possibile utilizzare ss per convertire altri formati di modello nel formato stato-spazio.

Per progettare i regolatori LQG è possibile utilizzare le tecniche di progettazione riportate nella seguente tabella.

Per progettare un regolatore LQG utilizzando...Utilizzare i seguenti comandi:

Una tecnica di progettazione veloce, in un unico passaggio, quando ciò che segue è vero:

  • È necessario il controller LQG ottimale e che E(wv') o H siano diverse da zero.

  • Tutti gli input noti (deterministici) sono input di controllo e tutti gli output sono misurati.

  • Gli stati dell’integratore sono ponderati indipendentemente dagli stati degli impianti e dagli input di controllo.

lqg

Una tecnica di progettazione più flessibile, in tre passaggi, che consente di specificare:

  • Le variabili arbitrarie G e H.

  • Gli input noti (deterministici) che non sono controlli e/o gli output che non sono misurati.

  • Uno schema di ponderazione flessibile per gli stati dell’integratore, gli stati dell’impianto e i controlli.

lqr, kalman e lqgreg

Per ulteriori informazioni, vedere

Costruzione del guadagno di feedback dello stato ottimale per la regolazione

È possibile costruire il guadagno LQ ottimale a partire dai seguenti elementi:

  • Matrici di sistemi stato-spazio

  • Matrici di ponderazione Q, R e N, che definiscono il bilanciamento tra performance di regolazione (la velocità con cui x (t) arriva a zero) e sforzo di controllo.

Per costruire il guadagno ottimale, digitare il seguente comando:

K= lqr(A,B,Q,R,N)

Questo comando calcola la matrice di guadagno ottimale K per cui la legge di feedback dello stato u=Kx minimizza la seguente funzione di costo quadratico per il tempo continuo:

J(u)=0{xTQx+2xTNu+uTRu}dt

Il software calcola la matrice di guadagno K risolvendo un’equazione algebrica di Riccati.

Per informazioni sulla costruzione del guadagno LQ ottimale, compresa la funzione di costo minimizzata dal software per il tempo discreto, vedere la pagina dei riferimenti di lqr.

Costruzione dello stimatore dello stato di Kalman

È necessario uno stimatore dello stato di Kalman per la regolazione LQG e il servo controllo, perché non è possibile implementare un feedback dello stato LQ ottimale senza una misura completa dello stato.

Si costruisce la stima dello stato x^ in modo tale che u=Kx^ rimanga ottimale per il problema di feedback dell’output. Lo stimatore dello stato di Kalman si costruisce a partire dai seguenti elementi:

  • Modello di impianto stato-spazio sys

  • Dati di covarianza del rumore, Qn, Rn e Nn

    La seguente figura mostra le dimensioni richieste per Qn, Rn e Nn. Se Nn è 0, lo si può omettere.

    Dimensioni richieste per Qn, Rn, e Nn

Nota

Lo stimatore dello stato di Kalman si costruisce nello stesso modo sia per la regolazione che per il servo controllo.

Per costruire lo stimatore dello stato di Kalman, digitare il seguente comando:

[kest,L,P] = kalman(sys,Qn,Rn,Nn);

Questo comando calcola uno stimatore dello stato di Kalman, kest con le seguenti equazioni d’impianto:

x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

dove w e v sono modellate come rumore bianco. L è il guadagno di Kalman e P la matrice di covarianza.

Il software genera questa stima di stato utilizzando il filtro di Kalman

ddtx^=Ax^+Bu+L(yCx^Du)

con gli input u (controlli) e y (misurazioni). I dati di covarianza del rumore

E(wwT)=Qn,E(vvT)=Rn,E(wvT)=Nn

determinano il guadagno di Kalman L attraverso un’equazione algebrica di Riccati.

Il filtro di Kalman è uno stimatore ottimale per la gestione del rumore bianco gaussiano. Nello specifico, minimizza la covarianza asintotica
    limtE((xx^)(xx^)T)

dell’errore di stima xx^.

Per ulteriori informazioni, vedere la pagina dei riferimenti relativa a kalman. Per un esempio completo di implementazione del filtro di Kalman, vedere Filtri di Kalman.

Formazione del regolatore LQG

Per formare il regolatore LQG, collegare il filtro di Kalman kest e il guadagno LQ ottimale K digitando il seguente comando:

regulator = lqgreg(kest, K);
Questo comando forma il regolatore LQG mostrato nella seguente figura.

Il regolatore ha le seguenti equazioni stato-spazio:

ddtx^=[ALC(BLD)K]x^+Lyu=Kx^

Per ulteriori informazioni sulla formazione dei regolatori LQG, vedere lqgreg e LQG Regulation: Rolling Mill Case Study.

Progettazione di un controllo lineare-quadratico-gaussiano (LQG) con azione integrale

È possibile progettare un servo controller con azione integrale per il seguente modello:

Il servo controller che si progetta garantisce che l’output y esegua il tracking del comando di riferimento r e, al contempo, la reiezione dei disturbi di processo w e del rumore di misura v.

L’impianto della figura precedente è soggetti ai disturbi w ed è azionato dai comandi u. Il servo controller si basa sulle misure del rumore y per generare questi controlli. Lo stato dell’impianto e le equazioni di misura hanno la forma

x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

e sia w che v sono modellati come rumore bianco.

Nota

Per la progettazione LQG è necessario un modello stato-spazio dell’impianto. È possibile utilizzare ss per convertire altri formati di modello nel formato stato-spazio.

Per progettare i servo controller LQG è possibile utilizzare le tecniche di progettazione riportate nella seguente tabella.

Per progettare un servo controller LQG utilizzando...Utilizzare i seguenti comandi:

Una tecnica di progettazione veloce, in un unico passaggio, quando ciò che segue è vero:

  • È necessario il controller LQG ottimale e che E(wv') o H siano diverse da zero.

  • Tutti gli input noti (deterministici) sono input di controllo e tutti gli output sono misurati.

  • Gli stati dell’integratore sono ponderati indipendentemente dagli stati degli impianti e dagli input di controllo.

lqg

Una tecnica di progettazione più flessibile, in tre passaggi, che consente di specificare:

  • Le variabili arbitrarie G e H.

  • Gli input noti (deterministici) che non sono controlli e/o gli output che non sono misurati.

  • Uno schema di ponderazione flessibile per gli stati dell’integratore, gli stati dell’impianto e i controlli.

lqi, kalman e lqgtrack

Per ulteriori informazioni, vedere

Costruzione del guadagno di feedback dello stato ottimale per il servo controllo

Il guadagno LQ ottimale si costruisce a partire da

  • Modello di impianto stato-spazio sys

  • Matrici di ponderazione Q, R e N, che definiscono il bilanciamento tra performance del tracker e sforzo di controllo

Per costruire il guadagno ottimale, digitare il seguente comando:

K= lqi(sys,Q,R,N)

Questo comando calcola la matrice di guadagno ottimale K per cui la legge di feedback dello stato u=Kz=K[x;xi] minimizza la seguente funzione di costo quadratico per il tempo continuo:

J(u)=0{zTQz+uTRu+2zTNu}dt

Il software calcola la matrice di guadagno K risolvendo un’equazione algebrica di Riccati.

Per informazioni sulla costruzione del guadagno LQ ottimale, compresa la funzione di costo minimizzata dal software per il tempo discreto, vedere la pagina dei riferimenti di lqi.

Costruzione dello stimatore dello stato di Kalman

È necessario uno stimatore dello stato di Kalman per la regolazione LQG e il servo controllo, perché non è possibile implementare un feedback dello stato LQ ottimale senza una misura completa dello stato.

Si costruisce la stima dello stato x^ in modo tale che u=Kx^ rimanga ottimale per il problema di feedback dell’output. Lo stimatore dello stato di Kalman si costruisce a partire dai seguenti elementi:

  • Modello di impianto stato-spazio sys

  • Dati di covarianza del rumore, Qn, Rn e Nn

    La seguente figura mostra le dimensioni richieste per Qn, Rn e Nn. Se Nn è 0, lo si può omettere.

    Dimensioni richieste per Qn, Rn, e Nn

Nota

Lo stimatore dello stato di Kalman si costruisce nello stesso modo sia per la regolazione che per il servo controllo.

Per costruire lo stimatore dello stato di Kalman, digitare il seguente comando:

[kest,L,P] = kalman(sys,Qn,Rn,Nn);

Questo comando calcola uno stimatore dello stato di Kalman, kest con le seguenti equazioni d’impianto:

x˙=Ax+Bu+Gwy=Cx+Du+Hw+v

dove w e v sono modellate come rumore bianco. L è il guadagno di Kalman e P la matrice di covarianza.

Il software genera questa stima di stato utilizzando il filtro di Kalman

ddtx^=Ax^+Bu+L(yCx^Du)

con gli input u (controlli) e y (misurazioni). I dati di covarianza del rumore

E(wwT)=Qn,E(vvT)=Rn,E(wvT)=Nn

determinano il guadagno di Kalman L attraverso un’equazione algebrica di Riccati.

Il filtro di Kalman è uno stimatore ottimale per la gestione del rumore bianco gaussiano. Nello specifico, minimizza la covarianza asintotica
    limtE((xx^)(xx^)T)

dell’errore di stima xx^.

Per ulteriori informazioni, vedere la pagina dei riferimenti relativa a kalman. Per un esempio completo di implementazione del filtro di Kalman, vedere Filtri di Kalman.

Formazione del servo controller LQG

Per formare un servo controller LQG con due gradi di libertà, collegare il filtro di Kalman kest e il guadagno LQ ottimale K digitando il seguente comando:

servocontroller = lqgtrack(kest, K);
Questo comando forma il servo controller LQG illustrato nella seguente figura.

Il servo controller ha le seguenti equazioni stato-spazio:

[x^˙x˙i]=[ABKxLC+LDKxBKi+LDKi00][x^xi]+[0LII][ry]u=[KxKi][x^xi]

Per ulteriori informazioni sulla formazione dei servo controller LQG, compresa la formazione di un servo controller LQG con un grado di libertà, consultare la pagina dei riferimenti di lqgtrack.

Vedi anche

| | | | |

Argomenti complementari