Professional Documents
Culture Documents
I - INTRODUCTION
Ce TP a pour objectif d'illustrer le concept d'observation sur des systmes linaires S.I.S.O. (Single
Input Single Output). Les principes et proprits d'un observateur en boucle ouverte et en boucle
ferme (rgl par placement de ples) seront tudis en simulation dans l'environnement logiciel
Matlab/Simulink. Une estimation des variables d'tat sera effectue ensuite en temps rel sur un
systme lectrique du 3me ordre. Enfin, on s'intressera la synthse d'une commande par retour
d'tat estim.
II - ELEMENTS THEORIQUES
1) Gnralits.
Le TP prcdent a montr que la synthse dune commande par retour dtat ncessite la
connaissance de l'tat complet du systme : u(k) = - K x(k). Or, celui-ci nest gnralement pas
mesurable, soit par manque de capteur, soit parce que ltat choisi ne correspond pas une variable
physique du systme. Dans ce cas, il est ncessaire dobtenir une estimation de cet tat partir des
mesures disponibles qui sont gnralement lentre et la sortie du systme commander. Une telle
estimation est possible condition que le systme considr soit observable.
On met donc en place, en parallle sur le systme considr, un reconstructeur dtat ou estimateur
ayant comme entres, les entres et les sorties du systme et dont la sortie est une estimation de
ltat du systme considr. Sous lhypothse de linarit du modle du procd, la structure de base
de l'estimateur est toujours la mme, mais sa ralisation dpendra du contexte choisi : continu ou
discret, dterministe ou stochastique.
Dans le cas o ce modle est un modle dterministe, le reconstructeur dtat sera appel
observateur, ce qui sera le cas dans ce TP. Dans le cas de systmes bruits, o interviennent des
phnomnes alatoires, nous parlerons alors de filtre (filtre de Kalman).
x(k
+ G u(k) .
C'est l'observateur en boucle ouverte (cf. figure 1). Il a l'avantage d'tre simple mettre en uvre,
mais il est trs sensible aux erreurs de modlisation en prsence de u(k). Si l'observateur possde les
mmes conditions initiales que le systme, alors il se comportera comme le systme rel.
TP n2 : Synthse d'observateurs et retour d'tat estim ------------------------------------------------------------------------
TP Espace d'tat
La moindre perturbation sur la sortie le fera dvier du systme rel. Cette mthode correspond au
schma bloc suivant :
u(k)
y(k)
Systme
x (k)
y (k)
Observateur
y(k)
Systme
+
y (k)
Modle
x (k)
Observateur
k1
1
avec a =
p+a
G 2 (p) =
k 2n
p
+ 2 n p + 2n
u(t)
G1(p)
y1(t)
G2(p)
y(t)
k2
avec p1,2 = - n j n 1 2
( p - p1 )( p - p 2 )
TP Espace d'tat
0
1 , B = 0
x& (t ) = A x (t ) + B u (t ) avec A = 0
1 p1 p 2 (p1 + p 2 )
0
x(k)
= x(k)- x(k)
, o x (k) reprsente le vecteur d'tat estim de x(k).
Montrer que, si les conditions initiales du systme sont diffrentes de celles de l'observateur,
%
alors x(k)
0 asymptotiquement si le systme est stable. Quelle est la dynamique
d'annulation de cette erreur ?
b) u(k) est toujours nulle. On suppose que la dynamique du systme est connue avec une
certaine imprcision et par consquent que la dynamique de l'observateur est lgrement
diffrente de celle du systme. L'tat du systme peut alors s'crire : x(k + 1) = F' x(k) avec
F ' = F + ( reprsente l'imprcision sur la dynamique) et celui de l'observateur est dfini
+ 1) = F x(k)
.
par : x(k
%
Dans ces conditions, tablir l'quation laquelle satisfait l'erreur d'estimation x(k)
. En
considrant que, malgr ces incertitudes, le systme est toujours stable, montrer que l'erreur
%
x(k)
0 asymptotiquement. Quelle est la dynamique d'annulation de cette erreur ?
TP Espace d'tat
u(k) = K x(k)
+ y * (k) ,
a) Montrer que le systme en boucle ferme (observateur + retour d'tat) peut se mettre sous la
forme suivante :
G K x(k) G
x(k + 1) F - G K
=
+ y* (k)
x(k+1)
% 0
F - M H x(k)
%
0
b) En dduire qu'il est possible de placer les ples de l'observateur et les ples du retour d'tat
de manire indpendante. Combien de ples au total possde le systme en boucle ferme ?
IV - TRAVAIL EXPERIMENTAL
Slectionner votre rpertoire de travail sous Matlab. Il est demand de crer un fichier script Matlab
(extension .m) contenant l'ensemble des instructions permettant la mise au point de l'observateur. Il
est fortement conseill de dfinir des variables contenant les paramtres du systme continu (ples,
gains, ).
11
TP Espace d'tat
e) Dterminer les valeurs propres de F en utilisant la fonction Matlab eig. Vrifier les valeurs
obtenues en utilisant les ples du systme continu.
f) Faire raliser par votre programme le calcul du gain M de l'observateur pour que les ples de
celui-ci soient positionns en [0,4 0,45 0,5]. Le choix de ces ples vous parat-il judicieux ?
Utiliser les fonctions Matlab place ou acker (en prenant soin dutiliser les matrices
transposes de F et de H (sous Matlab, F' est la transpose de F).
dans le champ "Initial conditions" du bloc 1/z des observateurs. Etudier le comportement et justifier
les rsultats obtenus avec ceux du travail prparatoire (questions 2) a) et 3) b)). Rcuprer les
donnes sous Matlab (voir configuration du scope) et les reprsenter graphiquement. Sauvegarder la
figure.
%
4) Etude en rgime libre : x(0)
0 et F ' = F + .
Etudier le comportement des observateurs en rgime libre en considrant une erreur sur la
dynamique du systme du 1er ordre. Pour cela, modifier le ple de celui-ci de +25% tout en
conservant le mme gain statique et construire une nouvelle fonction de transfert note G1d (on
ne change pas l'observateur).
Introduire G1d dans le schma Simulink et tudier le comportement. Justifier les rsultats obtenus
avec ceux du travail prparatoire (questions 2) b) et 3) b)). Rcuprer les donnes sous Matlab et
les reprsenter graphiquement. Sauvegarder la figure.
%
5) Etude en rgime forc : x(0)
0 et F' = F (utilisation de G1).
%
0 et on considre que la dynamique du systme est parfaitement identifie c'est-On laisse x(0)
dire F' = F. Appliquer un chelon l'instant 40 secondes. Observer les rsultats obtenus et conclure.
TP n2 : Synthse d'observateurs et retour d'tat estim ------------------------------------------------------------------------
12
TP Espace d'tat
TP Espace d'tat
b) Observer la position des ples du systme en boucle ferme (retour d'tat et observateur).
Est-ce conforme la thorie des systmes linaires ?
c) Sous Simulink, reprendre le fichier observateur.mdl et faire un "save as"
observateur_2.mdl. Ne conserver que l'observateur en boucle ferme et modifier le schma
bloc de manire intgrer le retour d'tat. Tester les performances du systme "retour d'tat
estim" d'abord en simulation puis complter le fichier source afin d'asservir le systme en
temps rel. Conclure sur les performances.
Pour terminer, diter un rapport avec la commande PULISH de Matlab.
Les figures Matlab sauvegardes peuvent tre introduites dans le fichier .html gnr. Il es conseill
de les commenter.
14