Main Content

Design d'une commande linéaire-quadratique-gaussienne (LQG)

Le contrôle linéaire-quadratique-gaussien (LQG) est une technique moderne à base d'espace d'état pour le design de régulateurs dynamiques optimaux et de servo contrôleurs à action intégrale (également connus sous le nom de setpoint trackers). Cette technique vous permet de faire un compromis entre les performances de régulation/suivi de consigne et la consommation, mais aussi de prendre en compte les perturbations du processus et le bruit des mesures.

Pour concevoir des régulateurs LQG et des setpoint trackers, effectuez les étapes suivantes :

  1. Construisez le gain LQ-optimal.

  2. Construisez un filtre de Kalman (estimateur d'état).

  3. Formez le design de la commande LQG en connectant le gain LQ-optimal et le filtre de Kalman.

Pour plus d'informations sur l'utilisation du design LQG pour créer des régulateurs LQG, veuillez consulter Design linéaire-quadratique-gaussienne (LQG) pour la régulation.

Pour plus d'informations sur l'utilisation du design LQG pour créer des servo-contrôleurs LQG, veuillez consulter Design linéaire-quadratique-gaussienne (LQG) d'un servo-contrôleur avec action intégrale.

Ces thèmes se concentrent sur le cas du temps continu. Pour plus d'informations sur le design LQG en temps discret, consultez les pages de référence dlqr et kalman.

Design linéaire-quadratique-gaussienne (LQG) pour la régulation

Vous pouvez concevoir un régulateur LQG pour réguler la sortie y autour de zéro dans le modèle suivant.

Le système physique dans ce modèle subit des perturbations (bruit de traitement) w et est contrôlée par u. Le régulateur s'appuie sur les mesures avec du bruit y pour générer ces contrôles. Les équations d'état et de mesure du système physique prennent la forme de

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

et w et v sont tous les deux modélisés comme un bruit blanc.

Remarque

Le design LQG nécessite un modèle de représentation d'état du système physique. Vous pouvez utiliser ss pour convertir d'autres formats de modèles en modèle de représentation d'état.

Pour concevoir des régulateurs LQG, vous pouvez utiliser les techniques de design présentées dans le tableau suivant.

Pour concevoir un régulateur LQG en utilisant...Utilisez les commandes suivantes :

Une technique de design rapide, en une seule étape, lorsque les éléments suivants sont vrais :

  • Vous avez besoin du contrôleur LQG optimal et soit E(wv') ou H est non nul.

  • Toutes les entrées connues (déterministes) sont des entrées de contrôle et toutes les sorties sont mesurées.

  • Les états de l'intégrateur sont pondérés indépendamment des états des systèmes physiques et des entrées du système de contrôle.

lqg

Une technique de design plus souple, en trois étapes, qui vous permet de spécifier :

  • G et H arbitraires.

  • Des entrées connues (déterministes) qui ne sont pas des contrôles et/ou des sorties qui ne sont pas mesurées.

  • Un schéma de pondération flexible pour les états de l'intégrateur, les états du système physique et les contrôles.

lqr, kalman et lqgreg

Pour plus d’informations, consultez

Construction du gain optimal par retour d'état pour la régulation

Vous construisez le gain LQ-optimal à partir des éléments suivants :

  • Matrices du système d'espace d'état

  • Les matrices de pondération Q, R et N, qui définissent le compromis entre les performances de régulation (à quelle vitesse x(t) arrive à zéro) et la consommation.

Pour construire le gain optimal, saisissez la commande suivante :

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

Cette commande calcule la matrice de gain optimal K, pour laquelle la loi sur le retour par état u=Kx minimise la fonction de coût quadratique suivante en temps continu :

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

Le software calcule la matrice de gain K en résolvant une équation algébrique de Riccati.

Pour plus d'informations sur la construction d'un gain LQ-optimal, y compris la fonction de coût que le software minimise pour le temps discret, consultez la page de référence lqr.

Construction de l'estimateur d'état de Kalman

Vous avez besoin d'un estimateur d'état de Kalman pour la régulation LQG et la servocommande, car vous ne pouvez pas implémenter un retour par état optimal LQG sans mesure d'état complète.

Vous construisez l'estimation de l'état x^ de sorte que u=Kx^ reste optimal pour le problème de rétroaction de sortie. Vous construisez le gain de l'estimateur d'état de Kalman à partir des éléments suivants :

  • Modèle de représentation d'état d'un système physique sys

  • Données de covariance du bruit Qn, Rn et Nn

    La figure suivante montre les dimensions requises pour Qn, Rn et Nn. Si Nn est 0, vous pouvez l'omettre.

    Dimensions requises pour Qn, Rn et Nn

Remarque

Vous construisez l'estimateur d'état de Kalman de la même manière pour la régulation et la servocommande.

Pour construire l'estimateur d'état de Kalman, saisissez la commande suivante :

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

Cette commande calcule un estimateur d'état de Kalman, kest avec les équations du système physique suivantes :

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

w et v sont modélisés comme un bruit blanc. L est le gain de Kalman et P la matrice de covariance.

Le software génère cette estimation d'état en utilisant le filtre de Kalman

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

avec les entrées u (contrôles) et y (mesures). Les données de covariance du bruit

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

détermine le gain de Kalman L par une équation algébrique de Riccati.

Le filtre de Kalman est un estimateur optimal lorsqu'on a affaire à un bruit blanc gaussien. Spécifiquement, il minimise la covariance asymptotique
    limtE((xx^)(xx^)T)

de l'erreur d'estimation xx^.

Pour plus d'informations, consultez la page de référence kalman. Pour un exemple complet d'implémentation d'un filtre de Kalman, voir Filtrage Kalman.

Formation du régulateur LQG

Pour former le régulateur LQG, connectez le filtre de Kalman kest et le gain LQ-optimal K en saisissant la commande suivante :

regulator = lqgreg(kest, K);
Cette commande forme le régulateur LQG illustré dans la figure suivante.

Le régulateur a les équations d'espace d'état suivantes :

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

Pour plus d'informations sur la formation des régulateurs LQG, voir lqgreg et LQG Regulation: Rolling Mill Case Study.

Design linéaire-quadratique-gaussienne (LQG) d'un servo-contrôleur avec action intégrale

Vous pouvez concevoir un servo-contrôleur à action intégrale pour le modèle suivant :

Le servo-contrôleur que vous concevez assure que la sortie y suit la commande de référence r tout en rejetant les perturbations du processus w et le bruit des mesures v.

Le système physique de la figure précédente est soumis à des perturbations w et est contrôlée par u. Le servo-contrôleur s'appuie sur les mesures avec du bruit y pour générer ces contrôles. Les équations d'état et de mesure du système physique sont de la forme

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

et w et v sont tous les deux modélisés comme un bruit blanc.

Remarque

Le design LQG nécessite un modèle de représentation d'état du système physique. Vous pouvez utiliser ss pour convertir d'autres formats de modèles en modèle de représentation d'état.

Pour concevoir les servo-contrôleurs LQG, vous pouvez utiliser les techniques de design présentées dans le tableau suivant.

Concevoir un servo-contrôleur LQG en utilisant...Utilisez les commandes suivantes :

Une technique de design rapide, en une seule étape, lorsque les éléments suivants sont vrais :

  • Vous avez besoin du contrôleur LQG optimal et soit E(wv') ou H est non nul.

  • Toutes les entrées connues (déterministes) sont des entrées de contrôle et toutes les sorties sont mesurées.

  • Les états de l'intégrateur sont pondérés indépendamment des états des systèmes physiques et des entrées du système de contrôle.

lqg

Une technique de design plus souple, en trois étapes, qui vous permet de spécifier :

  • G et H arbitraires.

  • Des entrées connues (déterministes) qui ne sont pas des contrôles et/ou des sorties qui ne sont pas mesurées.

  • Un schéma de pondération flexible pour les états de l'intégrateur, les états du système physique et les contrôles.

lqi, kalman et lqgtrack

Pour plus d’informations, consultez

Construction du gain optimal de retour d'état pour le servo-contrôleur

Vous construisez le gain LQ-optimal à partir de

  • Modèle de représentation d'état d'un système physique sys

  • Les matrices de pondération Q, R et N, qui définissent le compromis entre les performances du tracker et la consommation

Pour construire le gain optimal, saisissez la commande suivante :

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

Cette commande calcule la matrice de gain optimal K, pour laquelle la loi sur le retour par état u=Kz=K[x;xi] minimise la fonction de coût quadratique suivante en temps continu :

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

Le software calcule la matrice de gain K en résolvant une équation algébrique de Riccati.

Pour plus d'informations sur la construction d'un gain LQ-optimal, y compris la fonction de coût que le software minimise pour le temps discret, consultez la page de référence lqi.

Construction de l'estimateur d'état de Kalman

Vous avez besoin d'un estimateur d'état de Kalman pour la régulation LQG et la servocommande, car vous ne pouvez pas implémenter un retour d'état LQG sans mesure d'état complète.

Vous construisez l'estimation de l'état x^ de sorte que u=Kx^ reste optimal pour le problème de rétroaction de sortie. Vous construisez le gain de l'estimateur d'état de Kalman à partir des éléments suivants :

  • Modèle de représentation d'état d'un système physique sys

  • Données de covariance du bruit Qn, Rn et Nn

    La figure suivante montre les dimensions requises pour Qn, Rn et Nn. Si Nn est 0, vous pouvez l'omettre.

    Dimensions requises pour Qn, Rn et Nn

Remarque

Vous construisez l'estimateur d'état de Kalman de la même manière pour la régulation et la servocommande.

Pour construire l'estimateur d'état de Kalman, saisissez la commande suivante :

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

Cette commande calcule un estimateur d'état de Kalman, kest avec les équations du système physique suivantes :

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

w et v sont modélisés comme un bruit blanc. L est le gain de Kalman et P la matrice de covariance.

Le software génère cette estimation d'état en utilisant le filtre de Kalman

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

avec les entrées u (contrôles) et y (mesures). Les données de covariance du bruit

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

détermine le gain de Kalman L par une équation algébrique de Riccati.

Le filtre de Kalman est un estimateur optimal lorsqu'on a affaire à un bruit blanc gaussien. Spécifiquement, il minimise la covariance asymptotique
    limtE((xx^)(xx^)T)

de l'erreur d'estimation xx^.

Pour plus d'informations, consultez la page de référence kalman. Pour un exemple complet d'implémentation d'un filtre de Kalman, voir Filtrage Kalman.

Formation du servo-contrôleur LQG

Pour former un servo-contrôleur LQG à deux degrés de liberté, connectez le filtre de Kalman kest et le gain LQ-optimal K en saisissant la commande suivante :

servocontroller = lqgtrack(kest, K);
Cette commande forme le servo-contrôleur LQG illustré dans la figure suivante.

Le servo-contrôleur a les équations d'espace d'état suivantes :

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

Pour plus d'informations sur la formation de servo-contrôleurs LQG, y compris la manière de former un servo-contrôleur LQG à un degré de liberté, consultez les pages de référence lqgtrack.

Voir aussi

| | | | |

Sujets associés