Vous êtes sur la page 1sur 21

Retour detat et Observateur

1 Le retour detat
Soit le syst`eme lineaire stationnaire deni par sa representation detat (A, B, C, 0).
_
x(t) = Ax(t) + Bu(t)
y(t) = Cx(t)
(1)
o` u x(t) R
n
represente letat du syst`eme, u(t) R
m
est la commande et y(t) R
p
est
la sortie mesuree du syst`eme. Ce syst`eme peut etre represente par le schema bloc suivant
1.
u(t)
_
x(t) = Ax(t) + Bu(t)
y(t) = Cx(t)
y(t)
Figure 1: Schema bloc dun mod`ele espace dtat
1.1 Rappel
On desire asservir le syst`eme `a une valeur y
ref
(t) tout en imposant les dynamiques du
regime transitoire et en maintenant une erreur petite ou nulle en regime permanent. Mod-
ier le regime transitoire du syst`eme (1), cest modier les poles de la matrice dynamique
A. On implante ainsi une loi de commande
1
par retour detat qui prend en compte les
valeurs de letat ` a linstant t :
x(t) =

x
1
(t)
.
.
.
x
n
(t)

.
La loi de commande
2
secrit alors :
u(t) = Kx(t) + v(t)
1
Cette technique sappelle egalement commande par placement de poles car elle permet de placer les
p oles de la boucle fermee nimporte o` u dans le plan complexe.
2
Limplantation de cette commande par retour detat necessite la mesure de tous les etats du syst`eme
ce qui est une hypoth`ese assez forte.
1
o` u K R
mn
est une matrice appelee gain du retour detat et v(t) est une nouvelle entree
pour le syst`eme en boucle fermee (eventuellement ce dernier signal peut representer la
consigne). Cest une commande en boucle fermee car elle depend des signaux internes
du syst`eme meme si elle ne prend pas en compte directement la sortie du syst`eme y(t)
comme le montre la gure 2.
u(t)
_
x(t) = Ax(t) + Bu(t)
y(t) = Cx(t)
y(t)
x(t)
+
-
v(t)
K
Figure 2: Le schema bloc du retour detat
Remarque 1 Dans le cas dun syst`eme ` a une entree, la commande par retour detat
secrit u(t) = Kx(t) + v(t) =
n

i=1
k
i
x
i
(t) + v(t) avec K = [k
1
, . . . , k
n
].
Le syst`eme en boucle fermee secrit donc :
_
x(t) = (ABK)x(t) + Bv(t)
y(t) = Cx(t)
(2)
et est represente par le schema bloc compact de la gure 3
Remarque 2 Nous pouvons modier tous les p oles du syst`eme ssi le syst`eme est com-
mandable , cest-`a-dire ssi la paire (A, B) verie le crit`ere de commandabilite rg(C) = n
avec
C =
_
B AB A
2
B ... A
n1
B

v(t)
_
x(t) = (A BK)x(t) + Bu(t)
y(t) = Cx(t)
y(t)
Figure 3: Le schema bloc du retour detat version 2
2
1.2 Calcul du gain de retour detat K dans le cas SISO
Soit le syst`eme deni par le triplet (A, B, C) et letat x(t). On suppose que le syst`eme est
commandable, cest-` a-dire que la matrice de commandabilite est de rang plein. Soit le
nouvel etat x
c
(t) associe au syst`eme mis sous forme commandable represente par le triplet
(A
c
, B
c
, C
c
). Letat x
c
ainsi que les matrices A
c
, B
c
, C
c
sont determinees par la matrice de
passage P
c
, avec:
x = P
c
x
c
A
c
= P
1
c
AP
c
, B
c
= P
1
c
B, C
c
= CP
c
La loi de commande par retour detat secrit donc sous la forme
u(t) = Kx(t) + v(t) =
Kc
..
KP x
c
(t) + v(t)
o` u K
c
est un gain du retour detat dans la base commandable. Une fois K
c
determine, un
simple calcul K = K
c
P
1
permet de calculer le retour detat dans la base initiale. Dans
la base commandable, les matrices A
c
et B
c
secrivent ainsi :
A
c
=

0 1 0 . . . 0
0 0 1
.
.
. 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 . . . 1
a
0
a
1
. . . . . . a
n1

B
c
=

0
.
.
.
.
.
.
0
1

o` u les coecients a
i
, i {0, n1} sont les coecients du polyn ome caracteristique associe
`a la matrice A, P
A
() = det(I
n
A) =
n
+a
n1

n1
+ +a
0
. La matrice dynamique
du syst`eme boucle par le retour detat secrit alors
A
c
BK
c
=

0 1 0 . . . 0
0 0 1
.
.
. 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 . . . 1
a
0
k
c1
a
1
k
c2
. . . . . . a
n1
k
cn

La matrice A
c
B
c
K
c
est sous forme commandable et on peut alors aisement calculer
le polyn ome caracteristique du syst`eme en boucle fermee P
AcBcKc
() = det(I
n
A
c
+
B
c
K
c
) =
n
+ (a
n1
+ k
cn
)
n1
+ + (a
0
+ k
c1
). Or, nous voulons placer les poles
3
de la boucle fermee en p
1
, , p
n
. Le polyn ome caracteristique de la boucle fermee est
donc uniquement determine par le choix des poles desires et nous avons donc la relation
suivante:
( p
1
)( p
2
) . . . ( p
n
) = P
des
() =
n
+ f
n1

n1
+ + f
0
= P
AcBcKc
()
Nous en tirons donc les valeurs du gain K
c
permettant dobtenir le polyn ome desire et
donc de placer les poles en p
1
, , p
n
:

k
c1
= a
0
+ f
0
k
c2
= a
1
+ f
1
.
.
.
k
cn
= a
n1
+ f
n1
(3)
Le gain du correcteur K dans la base initiale secrit alors :
K = [f
0
a
0
, . . . , f
n1
a
n1
]P
1
c
Remarque 3 Le calcul de la matrice de passage P
c
nest pas tr`es complique dans le cas
SISO. Notons que la matrice de passage doit verier :
AP
c
= P
c
A
c
, B = P
c
B
c
Ces deux derni`eres equations peuvent etre resolues matriciellement en notant P =
_
P
1
, . . . , P
n

La derni`ere equation B = P
c
B
c
nous permet dobtenit directement P
n
= B. Lutilisation
de la premi`ere equation nous permet alors de resoudre terme ` a terme lequation pour
obtenir :

P
n
= B
P
n1
= AB + a
n1
B
P
n2
= A
2
B + a
n1
AB + a
n2
B
.
.
.
P
1
= (A
n1
+ a
n1
A
n2
+ . . . + a
1
I)
Remarquons que cette derni`ere equation peut secrire dune mani`ere plus compact:
P = [B, AB, A
2
B, , A
n1
B]

a
1
a
2
. . . a
n1
1
a
2
. . . . . . 1 0
.
.
.
a
n1
1 0 . . . 0
1 0 . . . . . . 0

(4)
On reconnait la matrice de commandabilite C.
Finalement, nous pouvons proposer le theor`eme suivant:
4
Theor`eme 1 Soit le syst`eme commandable deni par le triplet (A, B, C), les coecients
du polyn ome caracteristique de A sont notes a
i
, i {0, n 1}, i.e. det(I A) =

n
+ a
n1

n1
+ . . . + a
0
. Soient p
1
, . . . , p
n
les p oles desires du syst`eme en boucle ferme.
Les coecients du polyn ome dont les racines sont p
i
, i {1, . . . , n} sont notes f
i
, i
{0, n1}. Le gain du retour detat K permettant de placer les p oles du syst`eme en boucle
fermee en (p
1
, . . . , p
n
) secrit alors :
K = [f
0
a
0
, . . . , f
n1
a
n1
](CA)
1
o` u C represente la matrice de commandabilite de la paire (A, B), A represente une matrice
dependant uniquement des coecients du polyn ome caracteristique de la matrice A:
A =

a
1
a
2
. . . a
n1
1
a
2
. . . . . . 1 0
.
.
.
a
n1
1 0 . . . 0
1 0 . . . . . . 0

1.3 Application
1.3.1 Une premi`ere methode
Soit le syst`eme denie par le quadruplet {A, B, C, D} avec
A =
_
1 1
1 0
_
, C =
_
0 1

, B =
_
1
0
_
, D = 0 (5)
On desire placer les poles du syst`eme
3
en -3 et -4. Le polyn ome caracteristique desire
secrit donc P
des
() =
2
+ 7 + 12. La premi`ere etape est de verier que le syst`eme est
commandable. La matrice de commandablite secrit
C =
_
B AB

=
_
1 1
0 1
_
et est de rang 2. Calculons ABK et le polyn ome caracteristique associe P
ABK
().
A BK =
_
1 1
1 0
_

_
1
0
_
_
k
1
k
2

=
_
1 k
1
1 k
2
1 0
_
On obtient donc le polyn ome caracteristique P
ABK
() =
2
+ (1 +k
1
) + 1 + k
2
.
En boucle fermee, ce polyn ome caracteristique admet comme racine -3 et -4 et en egalant
P
ABK
() = P
des
() = ( + 3)( + 4) =
2
+ 7 + 12, on obtient la valeur de k
1
et k
2
, et
donc la valeur de K, K =
_
6 11

.
3
Imposer des poles en -3 et -4 permet dobtenir un regime transitoire aperiodique de constante de
temps 1/3
5
1.3.2 Methode 2
La seconde methode utilise la forme compagne de commande
4
represente par le quadruplet
{A
c
, B
c
, C
c
, D
c
}. Le syst`eme dans la base compagne de commande secrit alors :
_
x
c
(t) = A
c
x(t) + B
c
u(t)
y(t) = C
c
x(t)
(6)
avec
A
c
=
_
0 1
1 1
_
, C
c
=
_
1 0

, B
c
=
_
0
1
_
, D
c
= 0
La relation entre les deux representations secrit ` a laide du changement de base suivant :
x(t) = P
c
x
c
(t)
avec P
c
=
_
0 1
1 0
_
.
La commande implantee est donc de la forme u(t) = K
c
x
c
(t) + v(t). Le syst`eme en
boucle fermee secrit dans la base compagne de commande :
_
x
c
(t) = (A
c
B
c
K
c
)x
c
(t) + B
c
v(t)
y(t) = C
c
x
c
(t)
(7)
Calculons A
c
B
c
K
c
:
A
c
B
c
K
c
=
_
0 1
1 k
1
1 k
2
_
Cette matrice reste en forme compagne de commande, il est donc inutile de calculer le
polyn ome caracteristique. Par identication, nous obtenons :
1 k
1c
= 12, 1 k
2c
= 7
La matrice recherchee est donc K
c
=
_
11 6

.
Or, nous voulons ecrire le retour detat en fonction des etats x(t) initiaux. Le calcul
de linverse de la matrice de changement de base nous permet de calculer aisement le gain
du retour detat K dans la base initiale. K = K
c
P
1
c
=
_
6 11

Remarque 4 Il est en general plus facile de determiner lexpression du syst`eme en base


compagne de commande et ensuite de calculer un retour detat dans cette base, plut ot que
de calculer directement le retour detat dans la base initiale. Eectivement, nous evitons
le calcul du polyn ome caracteristique en fonction des inconnues k
i
.
Les courbes de simulation pour une entree dechelon unitaire sont donnes par les courbes
suivantes 4.
Nous avons eectivement modier le comportement du regime transitoire en modiant
les poles du syst`eme. Cependant, il existe une erreur important en regime permanent.
4
Comme le syst`eme est commandable, le forme compagne de commande existe.
6
0 2 4 6 8 10 12
0
0.2
0.4
0.6
0.8
1
Reponse a un echelon
Temps (sec)
A
m
p
l
i
t
u
d
e
systeme en
boucle ouverte
systeme en
boucle fermee
Figure 4: Reponse du syst`eme (5) en BO et BF, asservi par un retour detat
1.4 Reglage du regime permanent- Cas des syst`emes SISO
On suppose que le syst`eme est SISO
5
. Les poles du syst`eme permettent de regler la
dynamique du syst`eme, cest-` a-dire, le regime transitoire. Par contre, cette technique
ne permet pas de regler le probl`eme de la precision. Nous ne pouvons pas choisir le
regime permanent du syst`eme en boucle fermee par le choix de K. Nous proposons une
premi`ere structure de commande permettant dassurer une erreur de position nulle en
regime permanent.
u(t) = Kx(t) + Ny
ref
(t)
o` u N est un gain matriciel permettant de regler le gain statique du syst`eme en boucle
fermee (c.f. gure .
Supposons que la matrice de transfert directe D est nulle. Soit G(p) = C(pI A)
1
B
la fonction de transfert associee. La fonction de transfert du syst`eme en boucle fermee
secrit G
bf
(p) = C(sI A+BK)
1
BN. Supposons que y
ref
(t) = y
ref
est une constante.
Pour que lim
t
y(t) = y
ref
, il est donc necessaire
6
que G
bf
(0) = 1, cest ` a dire
N =
1
C(A + BK)
1
B
5
Single Input Single Output en anglais pour syst`eme avec une entree et une sortie.
6
Le calcul de cette limite est possible car le syst`eme est stable en boucle fermee.
7
u(t)
_
x(t) = Ax(t) + Bu(t)
y(t) = Cx(t)
y(t)
x(t)
+
-
y
ref
(t)
K
N
Figure 5: Commande par retour detat et gain precompensateur
1.5 Application
Si on reprend lexemple precedent, on calcule aisement N = 12 et on obtient les courbes
suivantes (gure ) pour la reponse du syst`eme en boucle fermee.
reponse a un echelon
Temps (sec)
A
m
p
l
i
t
u
d
e
0 1 2 3 4 5 6 7 8 9 10
0
0.2
0.4
0.6
0.8
1
1.2
1.4
systeme en boucle ouverte
systeme en boucle fermee (retour detat plus precompensateur)
Figure 6: Reponse du syst`eme (5) asservi par un retour detat et un precompensateur
8
1.6 Commande par retour detat et action integrale - cas SISO
1.6.1 Insusance du retour detat
Comme nous lavons vu dans les sections precedentes, la commande par retour detat
permet de modier les poles du syst`eme en boucle fermee. Cependant, cette derni`ere ne
permet pas dassurer un erreur de position nulle. Une premi`ere possibilite pour resoudre
le probl`eme est dajouter un gain precompensateur pour assurer un gain statique unitaire
pour la boucle fermee. Une deuxi`eme possibilite reside dans lajout dun integrateur dans
la chaine directe. Pour montrer linteret dune telle commande, choisissons un syst`eme
SISO modelise `a laide de la forme commandable et qui ne poss`ede pas de zeros. Dans ce
cas precis, les etats du syst`eme sont la sortie et ses derives successives.
x(t) =

x
1
(t) = y(t)
x
2
(t) = y(t)
.
.
.
x
n
(t) = y
(n1)
(t)

Le correcteur implante est deni par le retour detat suivant:


u(t) = Kx(t) + e(t)
o` u e(t) est la consigne. Ce retour detat peut donc sexprimer ` a laide du formalisme de
Laplace:
U(p) = E(p)
_
k
1
+ k
2
p + ... + k
n
p
n1
_
Y (p)
On obtient alors le schema bloc du syst`eme boucle suivant : Il apparait clairement que
U(p)
G(p) = C(pI A)
1
B
Y (p)
+
-
E(p)
k
1
+ k
2
p + ... + k
n
p
n1
Figure 7: Le retour detat en utilisant le formalisme de Laplace
le retour detat est une generalisation de la commande proportionnelle derivateur. En
9
notant Q(p) = k
1
+ k
2
p + ... + k
n
p
n1
, le calcul de la boucle fermee entre E(p) et Y (p)
secrit:
Y (p) =
G(p)
1 + Q(p)G(p)
E(p)
Cette fonction de transfert na pas un gain statique unitaire ce qui ne permet pas dobtenir
une erreur de position nulle en boucle fermee. Si on analyse le syst`eme bouclee en terme
de reponse frequentielle, il apparait que le syst`eme boucle ne poss`ede pas deet integrale
dans la chaine directe.
1.6.2 Ajout dune action integrale
Principe
Le principe est dajouter un integrateur dans la chaine directe comme le montre la gure
.
u(t)
_
x(t) = Ax(t) + Bu(t)
y(t) = Cx(t)
y(t)
x(t)
+
+
- -
e(t)
K
x
i
(t)
k
i
x
i
(t)
_
k
i
Figure 8: Commande par retour detat et action integrale
Remarquons que pour des raisons dhomogeneite, on note le signal derreur e(t)
y(t), x
i
(t), le signe moins etant ajoute an dobtenir une expression homog`ene pour
lexpression de la loi de commande.
Les equations de la boucle fermee secrivent :

x(t) = Ax(t) + Bu(t)


y(t) = Cx(t)
x
i
(t) = y(t) e(t)
La loi de commande implantee est denie par:
u(t) = k
i
x
i
(t) Kx(t) =
_
K k
i

_
x(t)
x
i
(t)
_
Cest donc une commande par retour detat pour le syst`eme augmente suivant:
_
x(t)
x
i
(t)
_
=
_
A 0
C 0
_ _
x(t)
x
i
(t)
_
+
_
B
0
_
u(t) +
_
0
1
_
v(t)
10
ou en prenant z(t) =
_
x(t)
x
i
(t)
_
,
_
z(t) =

Az(t) +

Bu(t) +

De(t)
u(t) =

Kz(t)
Lobjectif de la commande est double:
1. Assurer la stabilite du syst`eme augmente (et donc plus particuli`erement le syst`eme
original) en boucle fermee.
2. Assurer une erreur nulle en regime permanent:
lim
t
e(t) y(t) = lim
t
x
i
(t) = 0
Etablissement des equations en regime permanent
En regime permanent, les dierents signaux convergent vers une valeur nie :

lim
t
x(t) = x

lim
t
x
i
(t) = x
i
lim
t
u(t) = u
e
lim
t
e(t) = e
0
Le calcul des points singuliers du syst`eme augmente nous donne alors lequation statique
:
0 =

Az(t) +

Bu(t) +

De(t)
u(t) =

Kz(t)
cest-` a-dire les relations suivantes
0 =

Az

+

Bu
e
+

De
0
u
e
=

Kz

ou
0 = (

A

B

K)z

+

De
0
Etablissement des equations en regime dynamique
An dobserver la convergence des etats vers leurs valeurs en regime permanent, for-
mons lerreur :
(t) =
_
x(t) x
x
i
(t) x
i

_
la dynamique de lerreur est donc regie par lequation dierentielle suivante:
(t) =

A(t) +

Az



B

K(t)

B

Kz

+

De(t)
11
U(p)
G(p) =
1
p3
Y (p) +
+
- -
E(p)
8
x
i
(t)
x
i
(t)
25
p
Figure 9: Commande par retour detat et action integrale pour lexemple (8)
ou
(t) = (

A

B

K)(t) + (

A

B

K)z

+

De(t)
. .
=0
An de prouver que la dynamique de lerreur est stable et tend vers zero pour des temps
susamment grands, il faut choisir

K tel que

A

B

K soit stable. Par ailleurs, le choix
des poles de

A

B

K permet dimposer la vitesse de convergence de lerreur vers zero
et donc de x(t) vers x

. Le probl`eme de la synth`ese dune commande par retour detat


avec action integrale revient donc au calcul classique dun retour detat sur un syst`eme
augmente (

A,

B,

C, 0).
1.6.3 Exemples
Un premier exemple: Soit lexemple tr`es tr`es academique
7
suivant:
_
x(t) = 3x(t) + u(t)
y(t) = x(t)
(8)
On pose alors les matrices du syst`eme augmente:

A =
_
3 0
1 0
_
,

B =
_
1
0
_
On choisit une loi de commande u(t) =

Kz(t) = kx(t) k
i
x
i
(t) an que

A

B

K
ait les poles desires. Le polyn ome caracteristique associe `a

A

B

K secrit P

B

K
() =

2
+(k 3)+k
i
. Supposons que les specications imposent le polyn ome desire P
des
() =

2
+ 5 + 25. On en deduit alors les gains du correcteurs k = 8 et k
i
= 25, ainsi que
le schema bloc du syst`eme asservi dans le domaine de Laplace c.f. gure 9. La reponse
temporelle est donnee par la gure suivante 10.
7
Construire un retour detat sur un syst`eme du premier ordre est equivalent ` a synthetiser une com-
mande proportionnelle. Dans ce cas precis, des outils plus rapides dutilisation sont ` a notre disposition.
12
Reponse indicielle
(sec)
A
m
p
litu
d
e
0 0.5 1 1.5 2 2.5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: G2
Peak amplitude: 1.16
Overshoot (%): 16.3
At time (sec): 0.721
temps de
reponse
Figure 10: Sortie asservie de (8) par un retour detat et action integrale
Un second exemple: Soit le syst`eme modelise par sa fonction de transfert G(p) =
p+1
(p+2)(p+3)
. Sa representation detat sous forme commandable est donnee par :

x(t) =
_
0 1
6 5
_
+
_
0
1
_
u(t)
y(t) =
_
1 1

x(t)
(9)
La dynamique de lerreur pour le syst`eme augmente admet comme equation dierentielle
z(t) = (

A

B

K)z(t) avec

A =

0 1 0
6 5 0
1 1 0

,

B =

0
1
0

On desire obtenir un syst`eme admettant un p ole dominant en -1. On choisit P


des
() =
( + 1)( + 8)( + 9) ce qui permet de calculer

K =
_
11 13 72

.
La reponse temporelle est donnee par la gure suivante 11.
2 Lobservateur de Luenberger
2.1 Rappel
Lobjectif est de reconstruire letat interne dun syst`eme `a laide dun algorithme dy-
namique (un syst`eme dynamique !!). Ce dernier dispositif est appele Observateur. Soit le
13
reponse indicielle
(sec)
A
m
p
lit
u
d
e
0 0.5 1 1.5
0
0.2
0.4
0.6
0.8
1
Figure 11: Sortie asservie de (9) par un retour detat et action integrale
syst`eme
_
x(t) = Ax(t) + Bu(t)
y(t) = Cx(t)
dont nous voulons observer (on dit aussi recalculer) x(t). Lobservateur est un syst`eme
dynamique qui secrit :
_
z(t) = Fz(t) + Gy(t) + Hu(t)
x(t) = Mz(t) + Ny(t)
(10)
o` u u(t), y(t) sont respectivement lentree et la sortie du syst`eme. Remarquons que ce sont
egalement les deux entrees de lobservateur. La sortie de lobservateur est la variable x(t)
(cf 12).
On denit un signal derreur (t) comme suit : z(t) = Tx(t) + (t). Lobjectif est
de construire lobservateur cest-` a-dire de choisir convenablement F, G, H, M, N, T telle
que lim
t
x(t) x(t) = 0. Dautre part, nous voulons egalement controller la mani`ere
dont lerreur tend vers 0, cest-`a-dire le regime transitoire de lerreur. Or, en utilisant
lexpression de z(t) et de y(t), on peut reecrire x(t) de la mani`ere suivante :
x(t) = (MT + NC)x(t) + M(t)
Posons
MT + NC = I,
il vient que x(t) = x(t) + M(t). Si lerreur converge asymptotiquement vers zero,
lim
t
(t) = 0, alors x(t) converge asymptotiquement vers x(t). Calculons la dynamique de
14
u(t)
u(t)
_
x(t) = Ax(t) + Bu(t)
y(t) = Cx(t)
y(t)
y(t)
x(t)
_
z(t) = Fz(t) + Gy(t) + Hu(t)
x(t) = Mz(t) + Ny(t)
Figure 12: Schema bloc de lobservateur: lobservateur vu comme un syst`eme dynamique
lerreur, cest-`a-dire :
_
(t) = z(t) T x(t)
(t) = F(t) + (FT + GC TA)x(t) + (H TB)u(t)
Imposons les relations suivantes :
FT + GC TA = 0
H = TB
Nous obtenons alors la relation (t) = F(t).
La matrice F doit alors etre choisie de mani`ere `a assurer la stabilite asymptotique de
(t) et la convergence de (t) vers 0. F est donc une matrice stable. Pour resumer, un
observateur deni par le syst`eme dynamique (10) admet une erreur regie par (t) = F(t)
ssi les equations matricielles suivantes sont veriees:
MT + NC = I,
FT + GC TA = 0
H = TB
(11)
Il reste ensuite dimposer que les valeurs propres de F soient `a parties reelles negatives
pour impliquer la stabilite asymptotique de lerreur et la convergence vers 0 de (t).
2.2 Lobservateur Identite
An de resoudre les equations matricielles, on choisit :
T=I, M=I, N=0
15
Lunique relation ` a resoudre est :
F=A-GC
On obtient alors lobservateur identite :

z(t) = Fz(t) + Gy(t) + Bu(t)


x(t) = z(t)
z(t) = x(t) + (t)
(12)
Il faut ensuite determiner le gain de lobservateur G tel que F = AGC soit une matrice
stable. Ce calcul seectue en imposant le polynome caracteristique de F (note P
des
())
et en resolvant lequation P
des
() = P
AGC
().
Remarque 5 Celui-ci peut egalement secrire :
_

x(t) = A x(t) + G(y(t) y(t)) + Bu(t)
y(t) = C x(t)
(13)
Cela correspond nalement `a une recopie du syst`eme original auquel un terme correctif
dependant de lerreur y(t) y(t) est ajoute.
2.3 Implantation dun observateur minimal identite
Lidee est de reconstruire uniquement les etats manquants, les autres etant mesures. On
suppose que letat est partionne en deux sous-ensemble x
1
(t) = y(t), x
2
(t). avec donc
x
1
R
p
et x
2
R
np
. Le syst`eme dynamique original peut alors secrire :

x
1
(t) = A
11
x
1
(t) + A
12
x
2
(t) + B
1
u(t)
x
2
(t) = A
21
x
1
(t) + A
22
x
2
(t) + B
2
u(t)
y(t) = x
1
(t)
(14)
An de mettre en valeur les dynamiques de letat inconnu, transformons le syst`eme 14:
x
2
(t) = A
22
x
2
(t) +
u(t)
..
A
21
x
1
(t) + B
2
u(t)
(15)
o u u(t) est une nouvelle commande
8
On pose une nouvelle equation de sortie :
w(t) = x
1
(t) A
11
x
1
(t) B
1
u(t) = A
12
x
2
(t) (16)
Finalement, nous obtenons un nouveau syst`eme dynamique dordre reduit n p.
_
x
2
(t) = A
22
x
2
(t) + u(t)
w(t) = A
12
x
2
(t)
(17)
o` u u et w(t) sont respectivement une nouvelle commande et une nouvelle sortie liees au
syst`eme original par :
8
En eet, cette derni`ere commande est un signal connu car x
1
(t) est la sortie mesuree du syst`eme.
16
u(t) = A
21
x
1
(t) + B
2
u(t)
w(t) = x
1
(t) A
11
x
1
(t) B
1
u(t)
On propose alors de construire un observateur identite pour le syst`eme dordre reduit
(17):
_
z(t) = Fz(t) + Gw(t) + u(t)
x(t) = z(t)
(18)
avec la relation suivante :
z(t) = x
2
(t) + (t)
et la relation matricielle F = A
22
GA
12
. An decrire le syst`eme en fonction des signaux
dentrees y(t) et u(t) du syst`eme original, on transforme lobservateur minimal ainsi :

z(t) = Fz(t) + G
w(t)
..
( x
1
(t) A
11
x
1
(t) B
1
u(t)) +
u(t)
..
A
21
x
1
(t) + B
2
u(t)
x(t) = z(t)
(19)
An deviter la derivee x
1
(t) dans le second membre de la premi`ere equation, on pose
une nouvelle variable s(t) telle que:
s(t) = z(t) Gx
1
(t) = z(t) Gy(t)
pour obtenir nalement:
_
s(t) = Fs(t) + (FGGA
11
+ A
21
)y(t) + (B
2
GB
1
)u(t)
x(t) = s(t) + Gy(t)
(20)
Ces derni`eres equations representent bien un syst`eme dynamique, observateur dentree
u(t) et de sortie y(t) de sortie x
2
(t) et dont letat s(t) est de dimension reduite (s(t)
R
np
) par rapport ` a lobservateur classique de Luenberger.
3 Calcul du gain de lObservateur-Cas SISO
Cette section est consacree au calcul du gain G dans le cas de la synth`ese dun observateur
identite (ou identite reduite). On suppose que le syst`eme est observable. La dynamique
de lerreur entre letat et letat estime secrit sous la forme
(t) = (A GC)(t)
o` u G est le gain de lobservateur. Lobjectif est alors de determiner G an de placer les
poles de AGC en {p
1
, . . . , p
n
}. Or en transposant lexpression de la matrice dynamique
A GC, il vient que cet objectif est equivalent `a determiner un retour detat pour un
syst`eme ctif (A
T
, C
T
). En eet, les valeurs propres de A GC sont egales aux valeurs
propres de A
T
C
T
G
T
. Ainsi, on determine un retour detat ctif

K, pour le syst`eme
(A
T
, C
T
) et on obtient le gain G =

K
T
.
17
4 Application
4.1 Construction dun observateur identite
Soit le syst`eme denie par le quadruplet {A, B, C, D} avec
A =
_
1 1
2 2
_
, C =
_
1 0

, B =
_
1
1
_
, D = 0
On souhaite construire un observateur identite ayant pour p oles -2 et -5.
Les poles de la matrice F sont donc -2 et -5 et le polynome caracteristique associee
est P
des
() =
2
+ 7 + 10.
Calculons la matrice A GC en posant G =
_
g
1
g
2
_
_
1 1
2 2
_

_
g
1
g
2
_
_
1 0

=
_
1 g
1
1
2 g
2
2
_
Le polyn ome caracteristique secrit alors en fonction de g
1
et g
2
:
P
AGC
() =
2
+ (3 + g
1
) + 2g
1
+ g
2
En egalant P
AGC
() = P
des
(), on obtient la valeur de G et F.
G =
_
4
2
_
, F =
_
5 1
0 2
_
On obtient les simulations suivantes (c.f. gures 13,14) pour une entree nulle u(t) = 0
et des conditions initiales pour le syst`eme
_
1
1
_
4.2 Construction dun observateur minimal identite
Reprenons lexemple precedent, seul le premier etat est accessible `a la mesure, nous avons
donc directement les valeurs des dierentes matrices A
11
= 1, A
12
= 1, A
21
= 2, A
22
=
2, B
1
= 1, B
2
= 1. Nous devons ensuite resoudre lequation F = A
21
GA
12
. Nous
choisissons la dynamique de lerreur gr ace aux p oles de F. Ici F R
11
= 5. Nous
trouvons donc G = 7. Lobservateur reduit a donc pour equation dynamique:
_
s(t) = 5s(t) 26y(t) 6u(t)
x(t) = s(t) + 7y(t)
(21)
On obtient les simulations suivantes 15,16 pour une entree nulle u(t) = 0 et des conditions
initiales pour le syst`eme
_
1
1
_
18
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
A
m
p
l
i
t
u
d
e
x
1
x
2
x
2
x
1
Temps
Figure 13: Evolution temporelle des etats x
1
(t), x
2
(t) du syst`eme et x
1
(t), x
2
(t) de
lobservateur
0 1 2 3 4 5 6 7 8 9 10
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
temps
A
m
p
l
i
t
u
d
e

1
(t)
2(t)
Figure 14: Evolution temporelle de lerreur (t) = x(t) x(t)
19
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
1
0.5
0
0.5
1
1.5
2
2.5
3
Temps
A
m
p
l
i
t
u
d
e
x
2
x
2
Figure 15: Evolution temporelle des etats x
2
(t) du syst`eme et x
2
(t) de lobservateur
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
4
3.5
3
2.5
2
1.5
1
0.5
0
0.5
1
Temps
A
m
p
l
i
t
u
d
e

2
(t)
Figure 16: Evolution temporelle de lerreur
2
(t) = x
2
(t) x
2
(t)
20
5 Commande par retour detat et observateur iden-
tite
On suppose dans cette partie que letat nest pas accessible par une mesure. Nous avons
seulement la connaissance de y(t). Nous proposons une commande par retour detat
estime du type :
u(t) = K x(t) + v(t)
o` u x(t) est la sortie du syst`eme dynamique observateur identite et v(t) une nouvelle entree
pour le syst`eme boucle (eventuellement la consigne). Le theor`eme suivant nous justie le
choix de cette structure de commande:
Theor`eme 2 Les poles du syst`eme augmente (dont letat generalise est
_
x(t)
x(t)
_
) asservi
par le retour detat et lobservateur est lunion des p oles de ABK et des p oles de AGC.
La preuve nest pas compliquee, il sut de reecrire la dynamique du syst`eme boucle:

x(t) = Ax(t) + B
u(t)
..
(K x(t) + v(t))
(t) = (A GC)(t)
y(t) = Cx(t)
On obtient ainsi:

d
dt
_
x(t)
(t)
_
=
_
A BK BK
0 A GC
_ _
x(t)
(t)
_
+
_
B
0
_
v(t)
y(t) = Cx(t)
En dautres termes, les dynamiques du syst`emes en boucle fermee sont les dynamiques
du syst`eme boucle boucle par un retour detat auxquelles nous ajoutons les dynamiques
de lobservateur. Cest pourquoi, les dynamiques de lobservateur sont en general choisies
beaucoup plus rapides que les dynamiques du syst`eme boucle par le retour detat.
21