Agrégation externe de sciences industrielles de l'ingénieur (SII)
et ingénierie électrique
Observateur et Estimateur d’état
Pr. BENSAID Mounir
Observateur et estimateur d’état
Principe général
La mise en œuvre de la commande par retour d'état a besoin de capteurs permettant de
donner à chaque instant la valeur de l'état x(t) .
Il arrive souvent que toutes les variables d’état d’un système ne soient pas accessibles à
la mesure pour deux raisons : les capteurs sont parfois trop coûteux ou difficiles à
réaliser pour des raisons techniques.
Dans ce cas, l’implémentation directe de la commande u(t) = r(t) - K x( t ) est impossible.
L’idée est donc de reconstruire l’état x(t) à partir des informations disponibles, c.-à-d. la
sortie y(t) et la commande u(t) .
On utilise pour cela un système dynamique permettant d’approximer x(t) .
Ce système est en quelque sorte un capteur logiciel.
C’est un algorithme fondé sur un modèle du système et utilisant une information
pertinente donnée par des capteurs physiques.
2
Automatique
Observateur et estimateur d’état
Principe général
Ce capteur logiciel délivre à chaque instant t une estimation en ligne des variables
d'état non mesurées du système.
On parle alors :
d’observateur d’état
de reconstructeur d’état
d’estimateur d’état, ou encore
de filtre.
3
Automatique
Observateur et estimateur d’état
Architecture de l’observateur
L’architecture générale d’un observateur est donnée par la figure suivante :
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(t) , mais aussi la sortie du
système (les mesures) y(t) dans le but de corriger les écarts éventuels:
On définit un signal d’erreur 𝜖(t) comme suit : z(t) = Tx(t) +𝜖 𝑡
L’objectif est de construire l’observateur c’est−à−dire de choisir convenablement F, G,
H, M, N, T telle que:
Automatique 4
Observateur et estimateur d’état
Architecture de l’observateur
D’autre part, nous voulons également ”controller” la manière dont l’erreur tend vers 0,
c’est-à-dire le régime transitoire de l’erreur. Or, en utilisant l’expression de z(t) et de y(t),
on peut réécrire 𝑥(𝑡)
ො de la manière suivante :
Automatique 5
Observateur et estimateur d’état
Architecture de l’observateur
Posons
il vient que Si l’erreur converge asymptotiquement vers zéro
alors 𝑥(𝑡)
ො converge asymptotiquement vers x(t).
Calculons la dynamique de l’erreur, c’est-à-dire :
Imposons les relations suivantes :
Nous obtenons alors la relation 𝜖ሶ 𝑡 = 𝐹𝜖(𝑡)
La matrice F doit alors être choisie de manière à assurer la stabilité asymptotique de 𝜖(t) et la
convergence de 𝜖(t) vers 0.
Automatique 6
Observateur et estimateur d’état
Architecture de l’observateur
F est donc une matrice stable.
Pour résumer, un observateur défini par un système dynamique admet une erreur
regie par 𝜖ሶ 𝑡 = 𝐹𝜖(𝑡) ssi les équations matricielles suivantes sont vérifiées:
Il reste ensuite d’imposer que les valeurs propres de F soient à parties réelles
négatives pour impliquer la stabilité asymptotique de l’erreur et la convergence
vers 0 de 𝜖 (t).
Automatique 7
Observateur et estimateur d’état
L’observateur Identité
Afin de résoudre les équations matricielles, on choisit :
L’unique relation à résoudre est :
On obtient alors l’observateur identité :
Il faut ensuite déterminer le gain de l’observateur G tel que
soit une matrice stable. Ce calcul s’effectue en imposant le polynôme
caractéristique de F (noté Pdes ()) et en résolvant l’équation Pdes ()= PA-GC () .
Automatique 8
Observateur et estimateur d’état
L’observateur Identité
Remarque Celui-ci peut également s’écrire :
Cela correspond finalement à une recopie du système original auquel un terme
correctif dépendant de l’erreur est ajouté.
Automatique 9
Observateur et estimateur d’état
L’observateur Identité
Méthode directe
Cette méthode consiste a calculer le gain G tel que
Pour ce faire poser :
Automatique 10
Observateur et estimateur d’état
Exemple
Automatique 11
Observateur et estimateur d’état
Simulation
On obtient les simulations suivantes pour une entrée nulle u(t) = 0 et des
conditions initiales pour le système
Automatique 12
Observateur et estimateur d’état
Commande par retour d’état et observateur identité
L'observateur d’état qu’on a vu est aussi appelé observateur de Luenberger (ou de
Kalman-Luenberger).
Cet observateur possède une caractéristique intéressante connue sous le nom de principe
de séparation .
Dans le cas d'une commande linéaire par retour d'état, les travaux de synthèse de
commande et de synthèse d'observateur peuvent se faire de façon indépendante.
En effet, si le système commandé est stable, et si l'observateur ainsi conçu est stable
c.à.d. les matrices (A − BK) et (A − GC) possèdent des valeurs propres à partie réelle
négative, alors le système commandé par retour de l'état estimé (reconstruit) est stable.
Automatique 13
Observateur et estimateur d’état
Commande par retour d’état et observateur identité
On considère le système linéaire suivant (commandable et observable), pourvu d’un
observateur d’état :
En réalisant un bouclage par retour d'état :
la dynamique du système bouclé s'écrit alors :
Si on considère le changement de variable suivant (pour écrire l'erreur de reconstruction)
d’où, en remplaçant,
Automatique 14
Observateur et estimateur d’état
Commande par retour d’état et observateur identité
En écrivant un nouveau système augmenté, constitué de l'état et de l'erreur d’estimation,
on obtient :
Cette matrice est triangulaire par blocs, et donc le spectre (valeurs propres) du système
en boucle fermée est constitué de l'union des spectres des blocs diagonaux, c'est-à-dire
l'union des spectres du système d'origine commandé, et du système d'origine observé.
Ainsi la synthèse d'un système commandé par un retour d'état reconstruit par un
observateur est spécifiquement simple pour les systèmes linéaires invariants, puisque
on peut synthétiser les deux fonctions séparément.
Automatique 15
Observateur et estimateur d’état
Commande par retour d’état et observateur identité
Remarques :
Pour le placement de pôles, on a tout intérêt à ce que l'observateur soit plus rapide
que le système, de manière à ce qu'il puisse le poursuivre.
Ainsi il faudra que l'abscisse spectrale de l'observateur soit plus négative que celle
du système commandé.
Du fait de sa nature dynamique (intégration des signaux de mesure) l'observateur
est aussi utilisé en traitement du signal pour filtrer des mesures. C'est dans ce
contexte que Kalman à publié le filtre qui porte désormais son nom.
L'abscisse spectrale ne doit pas être trop négative, pour limiter la sensibilité au bruit
de l'observateur.
En pratique, on utilise des valeurs comprises entre 2 et 5 fois celle de l'abscisse
spectrale du dispositif commandé.
Automatique 16
Observateur et estimateur d’état
Commande par retour d’état et observateur identité
Le schéma du contrôleur/observateur est donné par la figure
suivante :
Une commande fondée sur un retour d'état reconstruit n'est pas robuste aux erreurs
de modélisation. Ce fait est assez intuitif car on passe par une approche basée
modèle pour reconstruire notre état, par conséquent la précision de l'état reconstruit
dépend de la pertinence du modèle utilisé.
Automatique 17
Observateur et estimateur d’état
Exemple
Soit le système suivant :
Vérification de la commandabilité
0 1 0 0 0 0 1
C ( A, B ) B A2 B 0 1 6
A 0 0 1 B 0
AB
1 1 6 31
1 5 6
Rang(M) = 3 = n contrôlable
Pôles désirés en BF : 1,BF 2 4 j; 10
Cela mène à : s 2 4 j s 2 4 j s 10 s3 14s2 60s 200
Polynôme caractéristique : 1 2 3
det sI A s3 6s2 5s 1 Donc a1 6
1 0 0
a2 5
a3 1 T 0 1 0
0 0 1
Construire la matrice de transformation T = CW.
1 0 0
Matrice W : a2 a1 1 5 6 1
K 200 1 60 5 14 6 0 1 0
W a1 1 0 6 1 0 0 0 1
199 55 8
Automatique 1 0 0 1 0 0 18
Observateur et estimateur d’état
Exemple 1 0 0
A
C * 0 1 0
2
Vérifier si le système est observable O C * A*C * *
0 0 1
Rang(N) = 3 = n observable.
0 0 1
1
Obtenir la matrice de transformation Q : Q WOT Q 0 1 6
1 6 31
*1,2 4 8 j
si on choisi les valeurs propres suivantes:
3 10
Cela mène à :
s 4 8 js 4 8 j s 10 s 3
18s2 160s 800
1 2 3
n an
Calcul de la matrice de gains G : G Q n1 n1 a
a
1 800 1 12
1 1
0 0
G 0 1 6 160 5 83
Automatique
1 6 31 18 6 241 19
Observateur et estimateur d’état
Exemple
% Entrée des matrices A et B % Extraction des coefficients
» A=[0 1 0; 0 0 1; -1 -5 -6]; » a1 = JA(2); a2 = JA(3); a3 = JA(4);
» B = [0;0;1]; % Définition des matrices W et Q
» C = [0 0 1]; » W = [a2 a1 1; a1 1 0 ; 1 0 0];
% Déterminer la matrice d’observabilité » Q = inv(W*N’);
» N=obsv(A,C)’; % Calcul du polynôme caractéristique désiré
en définissant la matrice diagonale J
% Déterminer le rang de N
» J=[-4-8*j 0 0 ; 0 -4+8*j 0; 0 0 -10];
» r=rank(N)
» JJ=poly(J)
r=3
JJ = 1 18 160 800
% Puisque le rang est de 3,
% Extraction des coefficients désirés
le placement des pôles est possible
» aa1 = JJ(2); aa2 = JJ(3); aa3 = JJ(4);
% Calcul du polynôme caractéristique
% Calcul de la matrice de gains Ke
» JA = poly(A)
» Ke=Q*[aa3-a3;aa2-a2;aa1-a1]
JA =1.0000 6.0000 5.0000
Ke = 12.000 83.000 241.0000
1.0000
Automatique 20
Observateur et estimateur d’état
Exemple SUR SIMULINK
[B G]
Sous-système : Observateur
Automatique 21
Observateur et estimateur d’état
Exemple SUR SIMULINK
(résultats)
Amplitude
y =x1
erreur sur y
x2
x3 Temps (min)
Automatique 22
Observateur et estimateur d’état
Exemple SUR SIMULINK
Automatique 23
Observateur et estimateur d’état
Exemple SUR SIMULINK
Temps (min)
Automatique 24