Observateur d'état
# Observateur d'état

En automatique et en théorie de l'information, un observateur d'état est une extension d'un modèle représenté sous forme de représentation d'état. Lorsque l'état d'un système n'est pas mesurable, on conçoit un observateur qui permet de reconstruire l'état à partir d'un modèle du système dynamique et des mesures d'autres grandeurs.

## Historique

La théorie de l' observateur d'état a tout d'abord été introduite par Kalman et Bucy pour un système linéaire dans un environnement stochastique (Filtre de $Kalman-Bucy)^,.$ Puis Luenberger (en) a fait une théorie générale des observateurs pour les systèmes linéaires déterministes, introduisant notamment les notions d'observateur réduit et d'observateur $minimal^,.$ Les observateurs linéaires ont donné lieu à des travaux récents, allant vers une généralisation toujours plus $poussée^,.$ Pour les systèmes non linéaires, le filtre de Kalman étendu reste très utilisé malgré les résultats importants obtenus récemment sur les observateurs non linéaires à grand gain. Une problématique très importante est celle de la robustesse des observateurs. Un apport fondamental est celui de Doyle et Stein, avec le procédé LTR ("Loop Transfer $Recovery")^,$ dont une interprétation entièrement algébrique a pu être donnée dans le cas $monovariable^,.$

## Position du problème

Considérons le système linéaire suivant :

${\begin{cases}{\dot {x}}=Ax+Bu\\y=Cx\end{cases}}$

La mise en œuvre de la commande par retour d'état $u(x)$ a besoin de capteurs permettant de donner à chaque instant $t$ une valeur approximative de l'état $x(t)$. Deux types de capteurs de natures différentes sont utilisés. Le premier est celui des capteurs physiques, provenant de l'instrumentation. Ces capteurs sont parfois trop coûteux ou difficiles à réaliser pour des raisons techniques. On peut donc être amené à concevoir un second type de capteurs—des capteurs logiciels, appelés plus communément des observateurs. Ces derniers sont des algorithmes fondés sur un modèle du système et utilisant une information pertinente donnée par des capteurs physiques. Ces capteurs logiciels délivrent à chaque instant $t$ une estimation en ligne des variables d'état non mesurées du système.

## Architecture avec un observateur

Si $x$ désigne l'état (non mesuré) du système, ${\hat {x}}$ représente l'estimation de l'état faite par l'observateur.

L'estimation de l'état se fait en recopiant de façon virtuelle la dynamique du système en prenant en compte non seulement la commande $u$, mais aussi les sorties du système (les mesures) $y$ dans le but de corriger les écarts éventuels.

## Observateur d'état complet

Soit le système linéaire suivant :

${\begin{cases}{\dot {x}}=Ax+Bu\\y=Cx\end{cases}}$

Un observateur dynamique a la forme suivante :

${\begin{cases}{\dot {\hat {x}}}=A{\hat {x}}+Bu+L(y-{\hat {y}})\\{\hat {y}}=C{\hat {x}}\end{cases}}$

On vient corriger l'évolution de l'état grâce au modèle en fonction de l'écart constaté entre la sortie observée et la sortie reconstruite par l'observateur : $(y-{\hat {y}})$.

On peut réécrire l'observateur de la manière suivante :

${\dot {\hat {x}}}=(A-LC){\hat {x}}+Bu+Ly$

on vérifie bien que l'observateur reconstruit l'état $x$ en fonction de la commande $u$ et des mesures $y$ comme sur le schéma ci-dessus.

La matrice $L$ est appelée matrice de gain et doit être choisie de manière que l'erreur sur l'état converge exponentiellement vers 0, soit ${\tilde {x}}=({\hat {x}}-x)\to 0$. Pour cela, il faut et il suffit que $L$ soit choisie telle que la matrice $A-LC$ ait toutes ses valeurs propres dans le demi-plan gauche (dans le cas discret, cette matrice devrait avoir toutes ses valeurs propres à l'intérieur du disque unité). Une condition nécessaire et suffisante pour qu'une telle matrice existe est que le système soit détectable. Une condition nécessaire et suffisante pour que les valeurs propres de $A-LC$ soient placées dans un ensemble symétrique (par rapport à l'axe réel) arbitraire de $n$ nombres complexes est que le système soit observable.

## Commande par retour d'état reconstruit par un observateur d'état complet

L'observateur ci-dessus possède une caractéristique intéressante connue sous le nom de Principe de séparation : dans le cas d'une commande linéaire, on peut concevoir séparément une commande à retour d'état (en supposant l'état connu) et un observateur d'état complet. En effet, si le système muni du retour d'état est stable, et si l'observateur conçu est stable lui aussi (i.e. les valeurs propres des matrices $A-BK$ et celles de $A-LC$ sont dans le demi-plan gauche) alors le système commandé par retour de l'état reconstruit est stable.

En effet, considérons le système linéaire invariant suivant, observable et commandable, ainsi que l'observateur d'état complet :

${\begin{cases}{\dot {x}}=Ax+Bu\\y=Cx\end{cases}}\qquad {\begin{cases}{\dot {\hat {x}}}=A{\hat {x}}+Bu+L(y-{\hat {y}})\\{\hat {y}}=C{\hat {x}}\end{cases}}$

En réalisant un bouclage $u=-K{\hat {x}}$, la dynamique du système bouclé s'écrit alors :

${\begin{cases}{\dot {x}}=Ax-BK{\hat {x}}\\{\dot {\hat {x}}}=(A-BK){\hat {x}}+L(y-C{\hat {x}})\end{cases}}$

On peut faire le changement de variable suivant, pour écrire l'erreur de reconstruction :

${\tilde {x}}=x-{\hat {x}}$

${\dot {\tilde {x}}}=(A-LC){\tilde {x}}$

En écrivant un nouveau système augmenté, constitué de l'état et de l'erreur de reconstruction, on obtient :

${\begin{pmatrix}{\dot {x}}\\{\dot {\tilde {x}}}\end{pmatrix}}={\begin{pmatrix}A-BK&BK\\0&A-LC\end{pmatrix}}{\begin{pmatrix}x\\{\tilde {x}}\end{pmatrix}}$

Cette matrice est triangulaire par blocs, et par conséquent le spectre du système bouclé est constitué de la réunion disjointe des spectres des blocs diagonaux, c’est-à-dire l'union des spectres du système initial commandé, et du système initial observé. Ainsi la synthèse d'un système commandé par un retour d'état reconstruit par un observateur est particulièrement simple pour les systèmes linéaires invariants, puisqu'on peut synthétiser les deux fonctions séparément.

## Remarques finales

* La commande par retour d'état, quand on n'y adjoint pas un bouclage intégral, constitue un piètre asservissement. Il en est évidemment de même d'une commande par retour d'état reconstruit. Si donc $r$ désigne le signal de référence et $e=y-r$ est l'erreur de consigne, la commande mise en œuvre sera finalement de la forme (à une constante additive près)$u=-K_{p}{\hat {x}}-K_{i}\int e\left(t\right)dt$
* Tandis que les pôles de la commande à retour d'état et bouclage intégral doivent être choisis en fonction des pôles du système en boucle ouverte, ceux de l'observateur doivent être choisis en fonction des zéros de ce système. C'est ce qui résulte de l'algébrisation de la « méthode LTR » évoquée dans l'historique, et qui s'étend au cas où un bouclage intégral est utilisé. Le système en boucle ouverte ayant toujours certains zéros à l'infini, les pôles correspondants de l'observateur seront choisis « suffisamment rapides », notamment par rapport aux autres pôles de la boucle fermée. Ceci conduit à nuancer le Principe de séparation : ce dernier est pleinement valide pour la stabilité du système bouclé à modèle parfait, mais dès que l'on prend en compte la problématique de la robustesse, la question devient un peu plus complexe. D'autre part, les zéros finis du système en boucle ouverte doivent idéalement être des pôles de l'observateur. Ce dernier devant être stable, cela n'est possible que si ces zéros sont « stables » (i.e., dans le demi-plan gauche ouvert dans le cas du temps continu, à l'intérieur du cercle unité dans le cas du temps discret). La situation où cette condition n'est pas remplie est défavorable, indépendamment de la méthode choisie pour réaliser l'asservissement.
* L'observateur est également utilisé en traitement du signal pour filtrer des mesures. C'est dans ce contexte que Kalman a proposé le filtre qui porte désormais son nom.
