Vous êtes sur la page 1sur 49

POLYCOPI

E DE TRAVAUX
PRATIQUES
-
Master - M ecatronique - 1
` ere
Ann ee (S7)
Universit e de Franche-Comt e ` a Besancon
COMMANDE DES SYST
`
EMES MULTIVARIABLES (CSM)
Micky RAKOTONDRABE
t el : 03 81 40 28 03
mail : mrakoton@femto-st.fr
document t el echargeable sur
http://www.femto-st.fr/

micky.rakotondrabe/teaching.php
1
Table des mati` eres
1 POUTRE PI EZO ELECTRIQUE ` A 2DDL : COMMANDE PAR PLACEMENT DE P OLES
ET COMMANDE LIN EAIRE QUADRATIQUE 5
1.1 Le syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Cr eation du syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2 P oles et valeurs propres . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.3 Simulation du syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Commande par retour d etat par placement de p oles . . . . . . . . . . . . . . . 7
1.2.1 Commandabilit e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Mise en equation du syst` eme boucl e . . . . . . . . . . . . . . . . . . . 8
1.2.3 Calcul de la matrice de retour K
c
. . . . . . . . . . . . . . . . . . . . 8
1.2.4 Calcul du pr eltre L . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.5 Simulation du syst` eme boucl e . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Commande optimale Lin eaire Quadratique (LQ) . . . . . . . . . . . . . . . . . 9
1.3.1 Satisfaction des conditions . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.2 Calcul de la matrice de retour K
c
. . . . . . . . . . . . . . . . . . . . 10
1.3.3 Simulation du syst` eme boucl e . . . . . . . . . . . . . . . . . . . . . . 10
2 SYST` EME HYDRAULIQUE ` A TROIS BACS : COMMANDE PAR PLACEMENT DE P OLES
ET OBSERVATEUR DE LUENBERGER 11
2.1 Le syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 Cr eation du syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.2 P oles et valeurs propres . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.3 Simulation du syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Commande par retour d etat par placement de p oles . . . . . . . . . . . . . . . 13
2.2.1 Commandabilit e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2 Mise en equation du syst` eme boucl e . . . . . . . . . . . . . . . . . . . 14
2.2.3 Calcul de la matrice de retour K
c
. . . . . . . . . . . . . . . . . . . . 14
2.2.4 Calcul du pr eltre L . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.5 Simulation du syst` eme boucl e . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Observateur complet ou observateur de Luenberger . . . . . . . . . . . . . . . 14
2.3.1 Observabilit e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.2 Mise en equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.3 Calcul du gain de lobservateur K
o
. . . . . . . . . . . . . . . . . . . 17
2
2.3.4 Simulation du syst` eme avec observateur . . . . . . . . . . . . . . . . . 17
2.4 Observateur et commande par placement de p oles . . . . . . . . . . . . . . . . 17
3 H ELICOPT` ERE : RETOUR D ETAT AVEC ACTION INT EGRALE ET OBSERVATEUR
R EDUIT 18
3.1 Le syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.1 Cr eation du syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.2 P oles et valeurs propres . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.3 Simulation du syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Commande par retour d etat avec action int egrale . . . . . . . . . . . . . . . . 20
3.2.1 Commandabilit e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 Calcul de la matrice de retour K par placement de p oles . . . . . . . . 22
3.2.3 Simulation du syst` eme boucl e . . . . . . . . . . . . . . . . . . . . . . 23
3.3 Observateur r eduit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.1 Cr eation des sous-syst` emes . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.2 Observabilit e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.3 Calcul du gain de lobservateur K
o
. . . . . . . . . . . . . . . . . . . 26
3.3.4 Impl ementation de lobservateur r eduit et de la commande . . . . . . . 26
4 AVION : COMMANDE MODALE ET ESTIMATEUR DE LUENBERGER 27
4.1 Le syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.1 Cr eation du syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1.2 P oles et valeurs propres . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1.3 Simulation du syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 Commande modale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2.1 Commandabilit e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2.2 Calcul de la matrice de retour K
c
et du pr eltre L . . . . . . . . . . . . 32
4.2.3 Simulation du syst` eme boucl e . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Observateur complet ou observateur de Luenberger . . . . . . . . . . . . . . . 33
4.3.1 Observabilit e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.2 Calcul du gain de lobservateur K
o
. . . . . . . . . . . . . . . . . . . 33
4.4 Observateur et commande modale . . . . . . . . . . . . . . . . . . . . . . . . 34
A Alg` ebre lin eaire 35
A.1 Taille dune matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
A.2 Rang dune matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
A.3 Op erateurs transpos ee et adjoint . . . . . . . . . . . . . . . . . . . . . . . . . 36
A.4 Matrices particuli` eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
A.4.1 Matrice identit e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
A.4.2 Matrice nulle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
A.5 Valeurs propres et vecteurs propres . . . . . . . . . . . . . . . . . . . . . . . . 37
A.6 Spectre et rayon spectral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
A.7 Comatrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
A.8 Inverse dune matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3
A.9 Pseudo-inverse dune matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
B Outils de base pour les mod` eles d etat 41
B.1 Ordre du syst` eme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
B.2 Stabilit e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
B.3 Commandabilit e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
B.4 Observabilit e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
C Quelques fonctions de MATLAB 43
C.1 Calcul de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
C.2 Calcul matriciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
C.3 Quelques fonctions de base utilis ees en Automatique . . . . . . . . . . . . . . 46
C.4 Quelques fonctions danalyse et de synth` ese utilis ees en Automatique . . . . . 48
4
Chapitre 1
POUTRE PI

EZO

ELECTRIQUE
`
A 2DDL :
COMMANDE PAR PLACEMENT DE
P

OLES ET COMMANDE LIN

EAIRE
QUADRATIQUE
1.1 Le syst` eme
Une poutre pi ezo electrique est une poutre qui, lorsquon applique une tension electrique sur
ses electrodes, echit. Une poutre ` a deux degr es de libert es (2ddl) echit dans les deux axes x ou
y selon que la tension soit appliqu ee sur les electrodes dans lun ou dans lautre axe (Fig. 1.1).


x
y
poutre pizolectrique
FIG. 1.1 Photo dune poutre pi ezo electrique.
Le mod` ele d etat lin eaire dune poutre pi ezo electrique est :
_
dX
dt
= AX + BU
Y = CX + DU
(1.1.1)
5
La premi` ere equation sappelle equation d etat tandis que la deuxi` eme equation de sortie.
On a :
X est le vecteur d etat,
Y est le vecteur de sortie,
U est le vecteur de commande,
A sappelle matrice d etat,
B sappelle matrice de commande,
C sappelle matrice de sortie,
et D sappelle matrice de liaison directe. D est une matrice nulle dans toute la suite.
On a :
Y =
_

x

y
_
U =
_
U
x
U
y
_
X =
_
_
_
_

x
v
x

y
v
y
_
_
_
_
(1.1.2)
et :
A =
_
_
_
_
0 1 0 0
3.949 10
7
251.4 0 0
0 0 0 1
0 0 2.744 10
7
314.3
_
_
_
_
B =
_
_
_
_
0 0
31595372 9479408
0 0
23324224 6860066
_
_
_
_
C =
_
1 0 0 0
0 0 1 0
_
(1.1.3)
La Fig. 1.2-a montre le sch ema fonctionnel de la poutre tandis que la Fig. 1.2-b donne le
sch ema-bloc d etaill e.
6
U
U
Ux x
y Uy
Y
Y
X
dX
AX BU
dt
Y CX DU

= +

= +

dX
AX BU
dt
Y CX DU

= +

= +


B
A
C
X

(a)
(b)
+
+
FIG. 1.2 Sch ema fonctionnel et sch ema-bloc.
1.1.1 Cr eation du syst` eme
Cr eer le syst` eme d etat appel e Get de r ealisation (A,B,C,0) dans Matlab puis dans Simulink.
1.1.2 P oles et valeurs propres
En utilisant Matlab :
calculer les p oles du syst` eme G,
calculer les valeurs propres de la matrice A. Que peut-on dire sur les valeurs propres de
A et les p oles du syst` eme,
` a partir de ces valeurs, que peut-on dire sur la stabilit e du syst` eme.
1.1.3 Simulation du syst` eme
Dans Matlab, simuler la r eponse indicielle, la r eponse impulsionnelle et le diagramme de
Bode du syst` eme,
dans Simulink, simuler la r eponse indicielle du syst` eme.
1.2 Commande par retour d etat par placement de p oles
Dans le but dam eliorer les performances et de rejeter les effets des perturbations eventuelles,
on souhaite commander le syst` eme d etat G. Pour cela, on utilise le sch ema-bloc de la Fig. 1.3.
Dans cette gure, on a :
la consigne (ou r ef erence) not ee Y
c
,
la matrice de retour (ou matrice de retour d etat) not ee K
c
,
et le pr eltre (ou la matrice de pr eltre) not e L.
7
U Y Yc
X
B
A
Kc
L C
X

+ +
+
-
systme
FIG. 1.3 Sch ema-bloc du syst` eme boucl e.
1.2.1 Commandabilit e
Avant de synth etiser un syst` eme de commande, il est important de savoir si le syst` eme est
commandable ou pas. D enir la commandabilit e dun syst` eme.
En utilisant Matlab :
calculer la matrice de commandabilit e not ee C
o
,
d eterminer le rang de la matrice C
o
,
en d eduire si le syst` eme est commandable ou pas.
1.2.2 Mise en equation du syst` eme boucl e
A partir de la Fig. 1.3, donner le nouveau mod` ele d etat, cest-` a-dire, le mod` ele d etat du
syst` eme boucl e.
1.2.3 Calcul de la matrice de retour K
c
dapr` es le nouveau mod` ele d etat, d eterminer lutilit e de la matrice de retour K
c
?
choisir des valeurs propres pour la nouvelle matrice d etat (ABK
c
). Pour cela, vous
partez des valeurs propres de A. Pourquoi ce choix ?
calculer K
c
avec Matlab.
1.2.4 Calcul du pr eltre L
Lorsque le r egime est permanent (p = 0 ou t ou encore
dX
dt
= 0), donner lexpres-
sion de la sortie Y en fonction de la consigne Y
c
,
an dannuler lerreur statique, cest-` a-dire Y = Y
c
, que doit etre la matrice L? calculer
L avec Matlab.
8
1.2.5 Simulation du syst` eme boucl e
En utilisant Matlab, simuler la r eponse indicielle, la r eponse impulsionnelle et le dia-
gramme de Bode du syst` eme boucl e,
de m eme, en utilisant Simulink, simuler la r eponse indicielle du syst` eme boucl e,
commenter sur les performances du syst` eme boucl e par rapport au syst` eme G.
Remarque : si les performances du r egime transitoire ne vous conviennent pas, nh esitez pas
` a modier les valeurs propres de (ABK
c
) puis ` a recalculer K
c
et L.
1.3 Commande optimale Lin eaire Quadratique (LQ)
Dans la section pr ec edente, nous avons choisi nous-m emes les p oles (ou valeurs propres)
du syst` eme boucl e an de pouvoir calculer la matrice de retour K
c
, do` u le nom de placement
de p oles. Dans cette section, un algorithme d etermine automatiquement les p oles du syst` eme
boucl e selon un crit` ere, le correcteur K
c
sen d eduira par la suite. Ce crit` ere sappuie sur la
minimisation de l energie de sortie Y ainsi que l energie de lentr ee U. L energie etant une
forme quadratique des variables concern ees, la fonction de co ut ` a minimiser est donc :
J =
_

0
_
Y
T
Q
y
Y + U
T
RU
_
dt (1.3.1)
o` u Q
y
est une matrice sym etrique d enie positive et R une matrice sym etrique d enie po-
sitive. Les el ements du diagonal de Q
y
(resp. R) permettent de mettre en avant les sorties y
i
de
Y (resp u
i
de U).
Puisquon sint` eresse ` a une commande par retour d etat, il est int eressant de mettre le co ut
J d enie par l equa. 1.3 en fonction de l etat X. En utilisant Y = CX et Y
T
= X
T
C
T
, on
obtient :
J =
_

0
_
X
T
QX + U
T
RU
_
dt (1.3.2)
avec Q = C
T
Q
y
C.
Si les el ements de Q (resp. de R) permettent de pond erer les el ements de X (resp. de U)
entre eux, on poura introduire un coefcient suppl ementaire qui pond` ere l energie de sortie
(ou de l etat) par rapport ` a l energie de lentr ee. L energie totale ` a minimiser devient donc :
J =
_

0
_
X
T
QX + U
T
RU
_
dt (1.3.3)
Si la paire (A, B) est commandable et la paire (A, C) observable, il existe une solution
unique P, matrice sym etrique d enie positive, solution de lEquation Alg ebrique de Riccati
suivante :
A
T
P + PA + QPBR
1
B
T
P = [0] (1.3.4)
9
Ainsi, la matrice de retour d etat qui minimise J est donn ee par :
K
c
= R
1
B
T
P (1.3.5)
1.3.1 Satisfaction des conditions
Dans les questions pr ec edentes, on a vu que (A, B) est commandable. V erier que (A, C)
est observable.
1.3.2 Calcul de la matrice de retour K
c
Choisir les matrices Q et R ainsi que le coefcient ,
calculer la matrice de retour K
c
,
calculer egalement le pr eltre L.
1.3.3 Simulation du syst` eme boucl e
En utilisant Matlab, simuler la r eponse indicielle, la r eponse impulsionnelle et le dia-
gramme de Bode du syst` eme boucl e,
de m eme, en utilisant Simulink, simuler la r eponse indicielle du syst` eme boucl e,
commenter sur les performances du syst` eme boucl e par rapport au syst` eme G.
Remarque : si les performances du r egime transitoire ne vous conviennent pas, nh esitez pas
` a modier les matrices Q et R ainsi que le coefcient puis ` a recalculer K
c
et L.
10
Chapitre 2
SYST
`
EME HYDRAULIQUE
`
A TROIS
BACS : COMMANDE PAR PLACEMENT
DE P

OLES ET OBSERVATEUR DE
LUENBERGER
2.1 Le syst` eme
On consid` ere le syst` eme hydraulique ` a 3 bacs de la Fig. 2.1. Le mod` ele d etat de ce syst` eme
est :
_
dX
dt
= AX + BU
Y = CX + DU
(2.1.1)
On a :
Y =
_
x
1
x
3
_
U =
_
U
1
U
2
_
X =
_
_
x
1
x
2
x
3
_
_
(2.1.2)
et :
A =
_
_
0.332 0.332 0
0.332 0.664 0.332
0 0.332 0.524
_
_
B =
_
_
0.764 0
0 0
0 0.764
_
_
C =
_
1 0 0
0 0 1
_
(2.1.3)
dans lesquelles :
11
les niveaux deau x
1
, x
2
et x
3
constituent le vecteur d etats du syst` eme,
et les d ebits U
1
et U
2
constotuent le vecteur dengtr ee.





x1
U1
U2
x2
x3
FIG. 2.1 Un syst` eme hydraulique ` a 3 bacs.
Les Fig. 2.2 repr esentent le sch ema fonctionnel et le sch ema-bloc d etaill e du syst` eme.
U
U
U1 x1
x3 U2
Y
Y
X
dX
AX BU
dt
Y CX DU

= +

= +

dX
AX BU
dt
Y CX DU

= +

= +


B
A
C
X

(a)
(b)
+
+
FIG. 2.2 Sch ema fonctionnel et sch ema-bloc d etaill e.
12
2.1.1 Cr eation du syst` eme
Cr eer le syst` eme d etat appel e Get de r ealisation (A,B,C,0) dans Matlab puis dans Simulink.
2.1.2 P oles et valeurs propres
En utilisant Matlab :
calculer les p oles du syst` eme G,
calculer les valeurs propres de la matrice A. Que peut-on dire sur les valeurs propres de
A et les p oles du syst` eme,
` a partir de ces valeurs, que peut-on dire sur la stabilit e du syst` eme.
2.1.3 Simulation du syst` eme
Dans Matlab, simuler la r eponse indicielle, la r eponse impulsionnelle et le diagramme de
Bode du syst` eme,
dans Simulink, simuler la r eponse indicielle du syst` eme.
2.2 Commande par retour d etat par placement de p oles
Dans le but dam eliorer les performances et de rejeter les effets des perturbations eventuelles,
on souhaite commander le syst` eme d etat G. Pour cela, on utilise le sch ema-bloc de la Fig. 2.3.
Dans cette gure, on a :
la consigne (ou r ef erence) not ee Y
c
,
la matrice de retour (ou matrice de retoure d etat) not ee K
c
,
et le pr eltre (ou la matrice de pr eltre) not e L.
U Y Yc
X
B
A
Kc
L C
X

+ +
+
-
systme
FIG. 2.3 Sch ema-bloc du syst` eme boucl e.
13
2.2.1 Commandabilit e
Avant de synth etiser un syst` eme de commande, il est int eressant de connatre si le syst` eme
est commandable ou pas.
En utilisant Matlab :
calculer la matrice de commandabilit e not ee C
o
,
d eterminer le rang de la matrice C
o
,
en d eduire si le syst` eme est commandable ou pas.
2.2.2 Mise en equation du syst` eme boucl e
A partir de la Fig. 2.3, donner le nouveau mod` ele d etat, cest-` a-dire, le mod` ele d etat du
syst` eme boucl e.
2.2.3 Calcul de la matrice de retour K
c
dapr` es le nouveau mod` ele d etat, d eterminer lutilit e de la matrice de retour K
c
?
choisir des valeurs propres pour la nouvelle matrice d etat (ABK
c
). Pour cela, vous
partez des valeurs propres de A. Pourquoi ce choix ?
calculer K
c
avec Matlab.
2.2.4 Calcul du pr eltre L
Lorsque le r egime est permanent (p = 0 ou t ou encore
dX
dt
= 0), donner lexpres-
sion de la sortie Y en fonction de la consigne Y
c
,
an dannuler lerreur statique, cest-` a-dire Y = Y
c
, que doit etre la matrice L? calculer
L avec Matlab.
2.2.5 Simulation du syst` eme boucl e
En utilisant Matlab, simuler la r eponse indicielle, la r eponse impulsionnelle et le dia-
gramme de Bode du syst` eme boucl e,
de m eme, en utilisant Simulink, simuler la r eponse indicielle du syst` eme boucl e,
commenter sur les performances du syst` eme boucl e par rapport au syst` eme G.
Remarque : si les performances du r egime transitoire ne vous convient pas, nh esiter pas ` a
modier les valeurs propres de (ABK
c
) puis ` a recalculer K
c
et L.
2.3 Observateur complet ou observateur de Luenberger
Dans la section pr ec edente, an de pouvoir utiliser la commande par retour d etat, nous
avons suppos e que lensemble des etats (les el ements de X) etait accessible ` a la mesure. Cepen-
dant, ce nest pas toujours le cas. Entre autres, ici, nous consid erons que seule la sortie Y est
14
mesurable. Ainsi, x
2
nest pas mesurable.
On souhaite donc reconstruire le vecteur d etat X ` a partir des el ements disponibles. La
premi` ere id ee qui vient ` a lesprit pour reconstruire X est de simuler le mod` ele. Si d

X est l etat
estim e (observ e, ou reconstruit), le simulateur aura pour equation :
_
d

X
dt
= A

X + BU

Y = C

X
(2.3.1)
Or, une telle simulation nest pas convenable si lon veut avoir une bonne estimation de X :
le proc ed e r eel et le simulateurs nont pas les m emes conditions initiales, cela d ecalerait
d

X par rapport ` a X,
les param` etres A, B et C du mod` ele sont toujours soumis ` a incertitudes, cela donnerait
de faux r esultats sur d

X,
si le syst` eme est instable
1
, il est impossible de simuler d

X.
Pour eviter ces probl` emes, on introduit donc un terme correcteur dans le mod` ele l equa. 2.3.1.
Ainsi, le mod` ele de lobservateur est d eni par :
_
d

X
dt
= A

X + BU + Ko
_
Y

Y
_

Y = C

X
(2.3.2)
dans laquelle :
d

X est (le vecteur d) l etat estim e,
d

Y est la sortie estim ee,


K
o
est le (la matrice de) gain de lobservateur.
Lobservateur utilise comme entr ee les el ements disponibles Y et U (Fig. 2.4). Comme on
reconstruira lensemble des el ements du vecteur d etat, cet observateur sappelle observateur
complet ou observateur de Luenberger
2
.
1
Le mod` ele d etat de r ealisation (A, B, C, D) est instable si une au moins des valeurs propres de A est ` a partie
r eelle positive.
2
D u ` a David G. Luenberger, 1966.
15
U Y
X
B
A
C
X

+
+
systme
observateur

X
FIG. 2.4 Utilisation dun observateur pour reconstruire l etat X.
La Fig. 2.5 repr esente le sch ema-bloc d etaill e de lobservateur ainsi que du syst` eme.
U Y
X

B
A
C
X

+
-
+
+
B
A
Ko
C
+
+
+
systme
observateur

FIG. 2.5 Sch ema-bloc d etaill e de lobservateur et du syst` eme.


16
2.3.1 Observabilit e
An de synth etiser un observateur pour un syst` eme, il est important de connatre si le
syst` eme est observable ou pas. D enir lobservabilit e dun syst` eme.
En utilisant Matlab, calculer la matrice dobservabilit e not ee O
b
,
puis, d eterminer le rang de la matrice O
b
,
en d eduire si le syst` eme est observable ou pas.
2.3.2 Mise en equation
A partir du mod` ele du syst` eme d enie par l equa. 2.1.1 (avec D = [0]) et du mod` ele de
lobservateur d enie par l equa. 2.3.2, donner lexpression de
d
x
dt
telle que lerreur destimation

x
est d enie par :

x
= X

X (2.3.3)
2.3.3 Calcul du gain de lobservateur K
o
dapr` es l equation de lerreur obtenue pr ec edemment, ` a quoi sert exactement le gain de
lobservateur K
o
?
choisir des valeurs propres pour la matrice (AK
o
C). Pour cela, vous partez des valeurs
propres de (ABK
c
) choisies dans les questions pr ec edentes. Pourquoi ce choix ?
calculer K
o
avec Matlab.
2.3.4 Simulation du syst` eme avec observateur
En utilisant Simulink, appliquer un echelon ` a lentr ee du syst` eme et comparer le vecteur
d etat X ainsi que l etat estim e d

X. Pour cela, mettre des conditions initiales diff erentes de
z ero dans le syst` eme. Essayer egalement de mettre des valeurs diff erentes pour les param` etres
A, B et C dans le syst` eme r eelle (non pas dans lobservateur) an de simuler lincertitude, par
exemple on pourra utiliser :
A =
_
_
0.335 0.33 0.01
0.331 0.66 0.331
0 0.33 0.52
_
_
B =
_
_
0.76 0
0 0
0 0.77
_
_
C =
_
0.998 0 0
0 0 1.02
_
(2.3.4)
2.4 Observateur et commande par placement de p oles
Combiner maintenant lobservateur pr ec edemment calcul e ainsi que la commande par pla-
cement de p oles synth etis ee auparavant dans Simulink puis simuler le syst` eme boucl e.
17
Chapitre 3
H

ELICOPT
`
ERE : RETOUR D

ETAT
AVEC ACTION INT

EGRALE ET
OBSERVATEUR R

EDUIT
3.1 Le syst` eme
On consid` ere lh elicopt` ere de la Fig. 3.1, o` u d esigne langle de lacet (angle autour de laxe
z) et d esigne langle de tangage (angle autour de laxe y).

rotor de queue
(pour le lacet )
rotor principal
(pour le tangage )
y
(a)
(b)
z
FIG. 3.1 Un h elicopt` ere
Ce syst` eme est non-lin eaire. Toutefois, autour dun point de fonctionnement, lh elicopt` ere
peut etre mod elis e par un syst` eme lin eaire de mod` ele d etat :
18
_
dX
dt
= AX + BU
Y = CX
(3.1.1)
On a :
Y =
_

_
U =
_
U
1
U
2
_
X =
_
_
_
_
_
_
_
_
v

_
_
_
_
_
_
_
_
(3.1.2)
et :
A =
_
_
_
_
_
_
_
_
0 1 0 0 0 0
1.347 0 0.12 0 2.32 1.1
0 0 0 1 0 0
0.21 0 1.87 0 0.23 3
1 0 0 0 0 0
0 0 1 0 0 0
_
_
_
_
_
_
_
_
B =
_
_
_
_
_
_
_
_
1.1 0.8
18 2
0.7 1.2
3 21
0 0
0 0
_
_
_
_
_
_
_
_
C =
_
0 0 0 0 1 0
0 0 0 0 0 1
_
(3.1.3)
dans lesquelles :
les etats v
i
et
i
indiquent respectivement la vitesse et lacc el eration angulaires associ ees
` a langle i ( i {, } ),
et les entr ees el ementaires U
1
et U
2
d esignent des signaux de commande.
Les Fig. 3.2 repr esentent le sch ema fonctionnel et le sch ema-bloc d etaill e du syst` eme.
3.1.1 Cr eation du syst` eme
Cr eer le syst` eme d etat appel e Get de r ealisation (A,B,C,0) dans Matlab puis dans Simulink.
3.1.2 P oles et valeurs propres
En utilisant Matlab :
calculer les p oles du syst` eme G,
calculer les valeurs propres de la matrice A. Que peut-on dire sur les valeurs propres de
A et les p oles du syst` eme,
` a partir de ces valeurs, que peut-on dire sur la stabilit e du syst` eme.
19
U
U
U1
U2
Y
Y
X
dX
AX BU
dt
Y CX DU

= +

= +

dX
AX BU
dt
Y CX DU

= +

= +


B
A
C
X

(a)
(b)
+
+
FIG. 3.2 Sch ema fonctionnel et sch ema-bloc d etaill e.
3.1.3 Simulation du syst` eme
Dans Matlab, simuler la r eponse indicielle, la r eponse impulsionnelle et le diagramme de
Bode du syst` eme,
dans Simulink, simuler la r eponse indicielle du syst` eme.
3.2 Commande par retour d etat avec action int egrale
On sint eresse dans cette section ` a la commande de lh elicopt` ere pour diff erentes raisons :
le stabiliser,
obtenir de meilleures performances de suivi de consigne : erreur statique nulle, dynamique
sans oscillation, etc.
rejeter les effets des perturbations eventuelles.
On a vu que la matrice de retour K
c
permet dam eliorer la dynamique du syst` eme boucl e.
Pour annuler lerreur statique, nous avons utilis e le pr eltre L. Dans ce sujet, nous remplacerons
ce pr eltre par une action int egrale. En effet, lutilisation dun pr eltre nassure pas toujours ler-
reur statique nulle si le mod` ele nest pas parfaitement connu. Le sch ema-bloc du syst` eme boucl e
utilis e est repr esent e par la Fig. 3.3, dans lequel K
i
d esigne la matrice de gain de lint egrateur.
20
U
Z Y Yc
X
B
A
Kc
C
X

+ +
+ -

-
-
systme
Ki
FIG. 3.3 Sch ema-bloc du syst` eme boucl e.
Dapr` es la Fig. 3.3, on a :
_
_
_
dX
dt
= AX + BU
Y = CX
dZ
dt
= Y
c
CX
(3.2.1)
En prenant comme nouveau vecteur d etat
_
X
Z
_
, on obtient le nouveau mod` ele d etat,
appel e syst` eme augment e, suivant :
_

_
d
dt
_
X
Z
_
=
_
A [0]
C [0]
__
X
Z
_
+
_
B
[0]
_
U +
_
[0]
I
_
Y
c
Y =
_
C [0]
_
_
X
Z
_
(3.2.2)
Par ailleurs, toujours dapr` es la Fig. 3.3, on a :
U = (K
c
X + K
i
Z) (3.2.3)
cest-` a-dire :
U =
_
K
c
K
i
_
_
X
Z
_
(3.2.4)
Ainsi, on a un mod` ele d etat d eni par l equa. 3.2.2 et boucl e par un gain de retour K =
_
K
c
K
i
_
. Les matrices du syst` eme augment e sont :
A
aug
=
_
A [0]
C [0]
_
B
aug
=
_
B
[0]
_
C
aug
=
_
C [0]
_
(3.2.5)
Le syst` eme boucl e aura pour repr esentation :
21
_

_
d
dt
_
X
Z
_
=
_
A [0]
C [0]
__
X
Z
_

_
B
[0]
_
_
K
c
K
i
_
_
X
Z
_
+
_
[0]
I
_
Y
c
Y =
_
C [0]
_
_
X
Z
_
(3.2.6)
ou encore :
_

_
d
dt
_
X
Z
_
=
_
ABK
c
BK
i
C [0]
__
X
Z
_
+
_
[0]
I
_
Y
c
Y =
_
C [0]
_
_
X
Z
_
(3.2.7)
Le but est donc de chercher le gain de retour K =
_
K
c
K
i
_
pour obtenir de valeurs
propres convenables pour la nouvelle matrice d etat not ee A, telle que :
A =
_
ABK
c
BK
i
C [0]
_
(3.2.8)
En ce qui concerne lerreur statique, on peut la calculer lorsque
d
dt
_
X
Z
_
= [0]. Appli-
quant cette condition au syst` eme d equa. 3.2.2, on obtient :
_
_
_
(ABK
c
) X = BK
i
Z
CX = Y
c
Y = CX
(3.2.9)
Les deux derni` eres equations du syst` eme d equa. 3.2.9 afrme que Y = Y
c
, cest-` a-dire
lerreur statique est automatiquement nulle.
3.2.1 Commandabilit e
En utilisant Matlab :
calculer la matrice de commandabilit e not ee C
o
du syst` eme,
d eterminer le rang de la matrice C
o
,
en d eduire si le syst` eme est commandable ou pas.
3.2.2 Calcul de la matrice de retour K par placement de p oles
Cr eer les matrices du syst` eme augment e A
aug
, B
aug
et C
aug
avec Matlab,
quelle est la dimension de la matrice d etat A?
proposer des valeurs propres pour la matrice d etat A,
en utilisant la fonction place de Matlab, en d eduire la matrice de retour K,
en d eduire la matrice de retour K
c
et le gain de lint egrateur K
i
.
22
3.2.3 Simulation du syst` eme boucl e
En utilisant Simulink, simuler la r eponse du syst` eme boucl e pour une consigne de type
echelon egale ` a Y
c
=
_

c

c
_
=
_
30

50

_
appliqu ee ` a linstant
_
10s
30s
_
.
Remarque : si les performances du r egime transitoire ne vous conviennent pas, nh esitez pas
` a modier les valeurs propres et recalculer la matrice K.
3.3 Observateur r eduit
Dans la section 2.3, nous avons utilis e un observateur pour estimer le vecteur d etat. Cet
observateur, appel e observateur de Luenberger ou observateur complet, estime lensemble du
vecteur X. Toutefois, si une partie de ce vecteur est d ej` a mesur ee par le biais de la sortie Y , il
nest pas n ecessaire dutiliser un obsrevateur complet. Dans cette partie, on sint eresse ` a estimer
un observateur r eduit pour estimer la partie non-mesur ee de X.
Soit le syst` eme d ecrit par :
_
dX
dt
= AX + BU
Y = CX
(3.3.1)
dans lequel la matrice de sortie est du type :
C =
_
[0] I
_
(3.3.2)
Alors, on peut partitionner le vecteur d etat X en 2 : la partie non-mesur ee not ee V et la
partie mesur ee not ee Y . On peut r e- ecrire le syst` eme d eni par l equa. 3.3.1 comme suit :
_

_
dX
dt
=
d
dt
_
V
Y
_
=
_
A
11
A
12
A
21
A
22
__
V
Y
_
+
_
B
1
B
2
_
U
Y =
_
[0] I
_
_
V
Y
_
(3.3.3)
Dapr` es le mod` ele pr ec edent, on a :
_
_
_
dV
dt
= A
11
V + A
12
Y + B
1
U
dY
dt
= A
21
V + A
22
Y + B
2
U
(3.3.4)
cest-` a-dire :
_
_
_
dV
dt
= A
11
V + (A
12
Y + B
1
U)
_
dY
dt
A
22
Y B
2
U
_
= A
21
V
(3.3.5)
cette derni` ere est equivalente ` a un mod` ele d etat (r eduit par rapport au syst` eme d equa. 3.3.1),
de vecteur d etat V , de sortie
_
dY
dt
A
22
Y B
2
U
_
et dentr ee (A
12
Y + B
1
U) :
23
_
_
_
dV
dt
= A
11
V + entree
sortie = A
21
V
(3.3.6)
Ainsi, on peut estimer l etat V en utilisant lobservateur de Luenberger (voir section 2.3).
Comme V est une partie de X, on parle dobservateur r eduit. La Fig. 3.5 pr esente le sch ema
fonctionnel.
U Y
X
B
A
C
X

+
+
systme
observateur
rduit

X=

V
Y



FIG. 3.4 Sch ema fonctionnel du yst` eme avec observateur r eduit.
Lobservateur a pour mod` ele :
_

_
d

V
dt
= A
11

V + entree + K
o
_
sortie

sortie
_

sortie = A
21

V
(3.3.7)
cest-` a-dire :
d

V
dt
= A
11

V + (A
12
Y + B
1
U) + K
o
__
dY
dt
A
22
Y B
2
U
_
A
21

V
_
(3.3.8)
ou encore :
d

V
dt
= (A
11
K
o
A
21
)

V + (A
12
Y + B
1
U) + K
o
_
dY
dt
A
22
Y B
2
U
_
(3.3.9)
Le gain K
o
est le gain de lobservateur r eduit. Cette equation n ecessite la d erivation de Y ,
ce qui est un inconv enient. On se propose donc de r ealiser le changement de variable suivant :
24
Z =

V K
o
Y
dZ
dt
=
d

V
dt
K
o
dY
dt
(3.3.10)
En appliquant ce changement de variable dans l equa. 3.3.9, on a :
dZ
dt
+K
o
dY
dt
= (A
11
K
o
A
21
) (Z + K
o
Y )+(A
12
Y + B
1
U)+K
o
dY
dt
+K
o
(A
22
Y B
2
U)
(3.3.11)
Apr` es simplication et mise en forme, on obtient le mod` ele suivant pour notre observateur :
_
_
_
dZ
dt
= (A
11
K
o
A
21
) Z + ((A
11
K
o
A
21
) K
o
+ A
12
K
o
A
22
) Y + (B
1
K
o
B
2
) U

V = Z + K
o
Y
(3.3.12)
La Fig. 3.5 donne le sch ema-bloc d etaill e du syst` eme avec lobservateur r eduit.
U
Y X

B
A
C
X

+
+
+
+
+
+
+
B1-KoB2
Ko
A11-KoA21
(A11-KoA21)Ko+A12-KoA22
systme
observateur
rduit

X=

V
Y




FIG. 3.5 Syst` eme avec observateur r eduit.
3.3.1 Cr eation des sous-syst` emes
Avec Matlab, cr eer les sous-matrices A
11
, A
12
, A
21
, A
22
, B
1
et B
2
.
3.3.2 Observabilit e
Le syst` eme r eduit a pour mod` ele le syst` eme d equa. 3.3.6. An de pouvoir observer sont
etat V , il est important de connatre si ce syst` eme est observable ou non.
25
En utilisant Matlab :
calculer la matrice dobservabilit e not ee O
b
,
puis, d eterminer le rang de la matrice O
b
,
en d eduire si le syst` eme est observable ou pas.
3.3.3 Calcul du gain de lobservateur K
o
Choisir des valeurs propres pour la matrice (A
11
K
o
A
21
). Pour cela, vous partez des
valeurs propres de (ABK
c
) choisies dans la synth` ese de la commande dans la section
pr ec edente. Pourquoi ce choix ?
calculer K
o
avec Matlab.
3.3.4 Impl ementation de lobservateur r eduit et de la commande
Impl ementer sous Simulink lobservateur r eduit,
le syst` eme n etant pas stable, impl ementer egalement dans le m eme chier la commande
synth etis ee dans la section pr ec edente,
simuler le syst` eme avec observateur et commande. Pour cela, mettre des conditions ini-
tiales non-nulles dans le syst` eme. Essayer egalement de mettre des valeurs diff erentes
pour les param` etres A, B et C dans le syst` eme r eelle (non pas dans lobservateur) an de
simuler lincertitude, par exemple on pourra utiliser :
A =
_
_
_
_
_
_
_
_
0 1.1 0 0 0 0.02
1.35 0 0.2 0 2.3 1
0 0 0 1 0 0
0.2 0 1.89 0 0.21 3
1.1 0.05 0 0 0 0
0 0 1 0 0 0
_
_
_
_
_
_
_
_
B =
_
_
_
_
_
_
_
_
1.2 0.8
18.1 2
0.71 1.2
3.1 20
0 0
0 0
_
_
_
_
_
_
_
_
C =
_
0 0 0 0 1 0
0 0 0 0 0 1
_
(3.3.13)
26
Chapitre 4
AVION : COMMANDE MODALE ET
ESTIMATEUR DE LUENBERGER
4.1 Le syst` eme
On consid` ere lavion de la Fig. 4.1, o` u d esigne langle de lacet (angle autour de laxe z),
d esigne langle de tangage (angle autour de laxe y) et v d esigne la vitesse longitudinale (suivant
laxe x de lavion).
x
y
z


v
FIG. 4.1 Un avion.
Le mod` ele de lavion peut etre approxim e par un syst` eme lin eaire de mod` ele d etat :
_
dX
dt
= AX + BU
Y = CX
(4.1.1)
On a :
Y =
_
_

v
_
_
U =
_
_
U
1
U
2
U
3
_
_
X =
_
_
_
_
_
_

v
_
_
_
_
_
_
(4.1.2)
27
et :
A =
_
_
_
_
_
_
0 1 0 0 0
3 1.2 1.1 1.3 24
0 0 0 1 0
2.1 1.8 9 5.5 2
0 0.8 0 0.4 3.3
_
_
_
_
_
_
B =
_
_
_
_
_
_
0 0 0
1.1 0.1 0.2
0 0 0
0.2 1.3 0
0.05 0.1 3
_
_
_
_
_
_
C =
_
_
1 0 0 0 0
0 0 1 0 0
0 0 0 0 1
_
_
(4.1.3)
dans lesquelles :
les etats v
i
indiquent la vitesse angulaire associ ee ` a langle i ( i {, } ),
et les entr ees el ementaires U
1
, U
2
U
3
d esignent des signaux de commande.
Les Fig. 4.2 repr esentent le sch ema fonctionnel et le sch ema-bloc d etaill e du syst` eme.
U
U
U1

v
U2
U3
Y
Y
X
dX
AX BU
dt
Y CX DU

= +

= +

dX
AX BU
dt
Y CX DU

= +

= +


B
A
C
X

(a)
(b)
+
+
FIG. 4.2 Sch ema fonctionnel et sch ema-bloc d etaill e.
4.1.1 Cr eation du syst` eme
Cr eer le syst` eme d etat appel e Get de r ealisation (A,B,C,0) dans Matlab puis dans Simulink.
4.1.2 P oles et valeurs propres
En utilisant Matlab :
calculer les p oles du syst` eme G,
28
calculer les valeurs propres de la matrice A. Que peut-on dire sur les valeurs propres de
A et les p oles du syst` eme,
` a partir de ces valeurs, que peut-on dire sur la stabilit e du syst` eme.
4.1.3 Simulation du syst` eme
Dans Matlab, simuler la r eponse indicielle, la r eponse impulsionnelle et le diagramme de
Bode du syst` eme,
dans Simulink, simuler la r eponse indicielle du syst` eme.
4.2 Commande modale
La commande modale consiste ` a calculer une commande dans la base modale (base des
valeurs propres). Reprenons le syst` eme d etat :
_
dX
dt
= AX + BU
Y = CX + DU
(4.2.1)
Soit T la matrice de transformation modale qui transforme la matrice A en une matrice
diagonale not ee . On a :
=
_
_
_
_
_
_

1
0 0
0
2
0
.
.
.
.
.
.
.
.
.
0 0
n
_
_
_
_
_
_
= T
1
AT (4.2.2)
o` u
i
sont les valeurs propres de A.
En appliquant le changement de variable X = TZ sur le mod` ele d eni par le syst` eme
d equa. 4.2.1, on obtient :
_
dZ
dt
= T
1
ATZ + T
1
BU
Y = CTZ + DU
(4.2.3)
cest-` a-dire, on obtient le mod` ele d etat dans la base modale :
_
dZ
dt
= Z + U
Y = Z + DU
(4.2.4)
Dans cette nouvelle base, on a :
Z qui est le vecteur d etat correspondant, dont les el ements sont appel es coordonn ees
modales,
= T
1
AT qui est la matrice d etat,
= T
1
B qui est la matrice dentr ee,
= CT qui est la matrice de sortie,
29
et D qui est la matrice de liaison directe.
Appelons q le nombre dentr ee, egal au nombre de sortie, du syst` eme :
q = dim(U) = dim(Y ) (4.2.5)
Naturellement, lordre du syst` eme not e n (telle que n = dim(X) = dim(Z)) est sup erieur
ou egal au nombre dentr ees :
n q (4.2.6)
Lobjectif de la commande modale consid er ee ici consiste ` a imposer une valeur propre (ou
un p ole) entr ee el ementaire entree
i
et etat el ementaire etat
i
. Pour cela, il a fallu d ecoupler le
syst` eme, do` u lanalyse et la synth` ese dans la base modale. Comme n q, on partitionne l etat
Z en deux parties :
Z =
_
Z
q
Z
nq
_
(4.2.7)
o` u Z
q
est le vecteur compos e des q etats el ementaires dont on souhaite am eliorer les perfor-
mances par placement de p oles et Z
nq
les n q etats restant.
L equation d etat du syst` eme d equa. 4.2.4 devient donc :
d
dt
_
Z
q
Z
nq
_
=
_

q
[0]
[0]
nq
__
Z
q
Z
nq
_
+
_

q

nq
_
U (4.2.8)
cest-` a-dire :
_
dZ
q
dt
=
q
Z
q
+
q
U
dZ
nq
dt
=
nq
Z
nq
+
nq
U
(4.2.9)
On souhaite placer les p oles de la premi` ere equation d etat du syst` eme d equations pr ec edent.
Le placement se fera plus facilement, par identication, vu que l equation est dans la base mo-
dale. Proposons les p oles suivant :
P
cq
=
_
_
_
_
_

c1
0 0
0
c2
0
.
.
.
.
.
.
.
.
.
0 0
cq
_
_
_
_
_
(4.2.10)
alors on peut ecrire :
dZ
q
dt
=
q
Z
q
+
q
U = P
cq
Z
q
(4.2.11)
cest-` a-dire :

q
U = (
q
P
cq
) Z
q
(4.2.12)
30
On peut donc dire que la commande U ` a appliquer, pour obtenir les valeurs propres d enies
dans P
cq
, doit etre :
U =
1
q
(
q
P
cq
) Z
q
(4.2.13)
Or, le vecteur d etat disponible nest pas Z mais le vecteur X. A partir du changement de
variable Z = T
1
X, on a :
Z
q
= T
1
q
X (4.2.14)
On obtient nalement :
U =
1
q
(
q
P
cq
) T
1
q
X (4.2.15)
La Fig. 4.3 repr esente le sch ema-bloc du syst` eme boucl e et la matrice de retour est donc
donn ee par :
Kc =
1
q
(
q
P
cq
) T
1
q
(4.2.16)
Consid erant D = [0]
1
Le pr eltre L est calcul ee ` a partir de la relation suivante :
L =
_
C (BK
c
A)
1
B
_
1
(4.2.17)
U Y Yc
X
B
A
Kc
L C
X

+ +
+
-
systme
FIG. 4.3 Sch ema-bloc du syst` eme boucl e.
Remarques. Dans la commande modale, nous avons plac e les q premi` eres valeurs propres du
syst` eme boucl e. On d emontre ici que cela ninuence pas sur les nq valeurs propres restantes
et que ces derni` eres sont egales aux n q valeurs propres du syst` eme ` a commander.
En introduisant U =
1
q
(
q
P
cq
) Z
q
dans les deux equa. 4.2.9, on a :
1
Il est toujours possible de se ramener au cas o` u D = [0] en faisant un changement de variable sur Y .
31
_
dZ
q
dt
= P
cq
Z
q
dZ
nq
dt
=
nq
Z
nq
+
nq

1
q
(
q
P
cq
) Z
q
(4.2.18)
ou encore :
d
dt
_
Z
q
Z
nq
_
=
_
P
cq
[0]

nq

1
q
(
q
P
cq
)
nq
__
Z
q
Z
nq
_
=
bf
_
Z
q
Z
nq
_
(4.2.19)
Les valeurs propres du syst` eme en boucle ferm ee sont les solutions du polyn omes ca-
ract eristique donn e par :
det (
bf
I
bf
) = det (P
cq
) det (
nq
) (4.2.20)
Il apparat donc que les q premi` eres valeurs propres (ou p oles) du syst` eme en boucle ferm ee
sont les valeurs propres d enies dans P
cq
tandis que les n q restantes sont celles donn ees par

nq
, ces derni` eres etant celles du syst` eme ` a commander.
4.2.1 Commandabilit e
En utilisant Matlab :
calculer la matrice de commandabilit e not ee C
o
de lavion,
d eterminer le rang de la matrice C
o
,
en d eduire si le syst` eme est commandable ou pas.
4.2.2 Calcul de la matrice de retour K
c
et du pr eltre L
quelle est la valeur de q pour le cas de lavion ?
calculer la matrice des valeurs propres et la matrice de transformation modale T de
lavion,
calculer T
1
et en d eduire ,
d eduire des calculs pr ec edents les matrices
q
,
q
et T
1
q
,
proposer la matrice P
cq
des q premi` eres valeurs propres pour le syst` eme boucl e,
calculer la matrice de retour K
c
,
calculer le pr eltre L.
4.2.3 Simulation du syst` eme boucl e
Impl ementer sous Simulink le correcteur puis simuler la r eponse indicielle du syst` eme
boucl e,
commenter sur les performances du syst` eme boucl e.
Remarque : si les performances du r egime transitoire ne vous conviennent pas, nh esitez pas
` a modier les valeurs propres de dans P
cq
puis ` a recalculer K
c
et L, ou changer compl` etement
les q etats ` a commander.
32
4.3 Observateur complet ou observateur de Luenberger
Le vecteur d etat X, ou du moins une partie de ses el ements, nest pas directement mesu-
rable. Il est donc n ecessaire de lestimer. Pour cela, on utilise lobservateur complet ou observa-
teur de Luenberger vu dans la section 2.3. La Fig. 4.4 pr esente le sch ema-bloc de lavion et de
lobservateur.
U Y
X

B
A
C
X

+
-
+
+
B
A
Ko
C
+
+
+
systme
observateur

FIG. 4.4 Sch ema-bloc d etaill e de lobservateur et du syst` eme.


4.3.1 Observabilit e
An de synth etiser un observateur pour un syst` eme, il est important de savoir si le syst` eme
est observable ou pas. D enir lobservabilit e dun syst` eme.
En utilisant Matlab, calculer la matrice dobservabilit e not ee O
b
,
puis, d eterminer le rang de la matrice O
b
,
en d eduire si le syst` eme est observable ou pas.
4.3.2 Calcul du gain de lobservateur K
o
Choisir des valeurs propres pour la matrice (AK
o
C). Pour cela, vous partez des valeurs
propres du syst` eme en boucle ferm ee donn ees dans les questions pr ec edentes, ces valeurs
propres etant donn ees par P
cq
et
nq
. Pourquoi ce choix ?
calculer K
o
avec Matlab.
33
4.4 Observateur et commande modale
Combiner maintenant lobservateur pr ec edemment calcul e ainsi que la commande modale
synth etis ee auparavant dans Simulink. Appliquer un echelon ` a lentr ee du syst` eme et comparer
le vecteur d etat X ainsi que l etat estim e

X. Pour cela, mettre des conditions initiales diff erentes
de z ero dans le syst` eme.
34
Annexe A
Alg` ebre lin eaire
A.1 Taille dune matrice
La taille (dimension) dune matrice est not ee (n, m) (ou dim(A) = (n, m)), n etant le
nombre de lignes et m le nombre de colonnes :
A =
_
_
_
_
_
_
a
11
a
12
a
1m
a
21
a
22

.
.
.
.
.
.
.
.
.
a
n1
a
nm
_
_
_
_
_
_
(A.1.1)
Si la matrice est carr ee, cest-` a-dire m = n, on parle dune matrice carr ee de taille ou dordre
n. La matrice A est rectangulaire si elle nest pas carr ee.
A.2 Rang dune matrice
Soit une matrice de taille (n, m). Le rang de la matrice A not e rang (A) est la taille maxi-
male des sous-matrices carr ees inversibles extraites de A. On a les propri et es suivantes :
rang (A) min(n, m)
rang (A + B) rang (A) + rang (B)
rang (AB) min(rang (A) , rang (B))
(A.2.1)
Si A est une matrice carr ee dordre n et inversible, alors :
rang (A) = n (A.2.2)
35
A.3 Op erateurs transpos ee et adjoint
Soit A C
n.m
une matrice complexe de taille (n, m).
La transpos ee, not ee A
T
et de taille (m, n), de la matrice A est obtenue en echangeant les
lignes et les colonnes de A. Exemple :
A =
_
_
j 9
1 2 j
3 0
_
_
(A.3.1)
alors :
A
T
=
_
j 1 3
9 2 j 0
_
(A.3.2)
Ladjoint dune matrice complexe not e A

est la matrice transpos ee et conjugu ee (transcon-


jugu ee) correspondante :
A(j)

= A(j)
T
(A.3.3)
exemple :
A

=
_
j 1 3
9 2 + j 0
_
(A.3.4)
On a :
(AK
o
C)
T
= A
T
C
T
K
T
o
(A.3.5)
A.4 Matrices particuli` eres
A.4.1 Matrice identit e
La matrice identit e, dordre n et not ee I
n
, est une matrice carr ee diagonale dont les el ements
du diagonal sont 1 :
I
n
=
_
_
_
_
_
_
1 0 0
0 1
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1
_
_
_
_
_
_
(A.4.1)
36
A.4.2 Matrice nulle
La matrice nulle, de taille (n, m), est une matrice dont tous les el ements sont nuls.
[0] = 0
nm
=
_
_
_
_
_
0 0 0
0 0 0
.
.
.
.
.
.
0 0 0
_
_
_
_
_
(A.4.2)
A.5 Valeurs propres et vecteurs propres
Les valeurs propres, not ees
i
(i = 1 n), dune matrice carr ee A dordre n sont les
racines du polyn ome suivant :
det (I
n
A) = 0 (A.5.1)
o` u lop erateur det () d esigne le d eterminant. Le polyn ome det (I
n
A) sappelle po-
lyn ome caract eristique de A.
On a la propri et e suivante :

i
(A) =
i
_
A
T
_
(A.5.2)
On note la matrice diagonale dont les el ements sont les valeurs propres
i
de A :
=
_
_
_
_
_
_

1
0 0
0
2
0
.
.
.
.
.
.
.
.
.
0 0
n
_
_
_
_
_
_
(A.5.3)
Achaque valeur propre
i
, on associe un vecteur propre v
i
telle que la matrice Ase comporte
comme un scalaire :
Av
i
=
i
v
i
(A.5.4)
Par ailleurs, on peut retrouver la matrice ` a partir de A gr ace ` a une matrice de transforma-
tion T, appel ee matrice de transformation modale :
= T
1
AT (A.5.5)
les colonnes de la matrice de transformation modale T etant les vecteurs propres v
i
de A :
T =
_
v
1
v
2
v
n
_
(A.5.6)
37
A.6 Spectre et rayon spectral
Le spectre indique lensemble des valeurs propres
i
(A) de la matrice carr ee A.
Le rayon spectral not e (A) est le plus grand des modules des
i
:
(A) = max |
i
(A)| (A.6.1)
A.7 Comatrice
Soit la matrice carr ee A :
A =
_
_
_
_
_
_
a
11
a
12
a
1n
a
21
a
22
.
.
.
a
2n
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
a
nn
_
_
_
_
_
_
(A.7.1)
Alors la comatrice de A est :
com(A) =
_
_
_
_
_
_
A
11
A
12
A
1n
A
21
A
22
.
.
.
A
2n
.
.
.
.
.
.
.
.
.
.
.
.
A
n1
A
n2
A
nn
_
_
_
_
_
_
(A.7.2)
o` u les coefcients A
ij
, appel es cofacteurs de A, se calculent comme suit :
A
ij
= (1)
i+j
m
ij
(A) (A.7.3)
Dans lexpression pr ec edente, m
ij
(A) est appel e mineur de A et est egal au d eterminant de
la sous-matrice obtenue en eliminant la i
` eme
ligne et la j
` eme
colonne de A (Fig. A.1).
38
11 12 1 1
21 22 2
1
1 2
j n
n
i ij in
n n nj nn
a a a a
a a a
a a a A
a a a a





=













ij
A






=







sous-matrice
FIG. A.1 Construction de la sous-matrice an de calculer le mineur m
ij
(A).
A.8 Inverse dune matrice
Soit la matrice carr ee A de taille n d enie pr ec edemment. A est inversible, ou r eguli` ere ou
encore non-singuli` ere, si et seulement si son d eterminant est non-nul :
det (A) = 0 (A.8.1)
Cela revient ` a dire que son rang est complet :
rang (A) = n (A.8.2)
La matrice inverse, ou simplement linverse, de A est d enie par :
A
1
=
1
det (A)
(com(A))
T
(A.8.3)
On a la relation suivante :
AA
1
= A
1
A = I
n
(A.8.4)
39
A.9 Pseudo-inverse dune matrice
Linverse dune matrice ne sappliquant que sur les matrices carr ees, on utilise la pseudo-
inverse pour la g en eralisation. La pseudo-inverse, appel ee egalement pseudo-inverse de Moore-
Penrose, dune matrice M de taille (n, m) est not ee M
+
et a les propri et es suvantes :
MM
+
M = M
M
+
MM
+
= M
+
_
MM
+
_

= MM
+
_
M
+
M
_

= M
+
M
(A.9.1)
D ecomposons la matrice M par M = BC, avec B de taille (n, k) et C de taille (k, m).
Alors, on peut calculer M
+
par :
M
+
= C

(CC

)
1
(B

B)
1
B

(A.9.2)
40
Annexe B
Outils de base pour les mod` eles d etat
Soit le syst` eme d ecrit par le mod` ele d etat suivant :
_
dX
dt
= AX + BU
Y = CX + DU
(B.0.1)
La premi` ere equation sappelle equation d etat tandis que la deuxi` eme equation de sortie.
On a :
X est le vecteur d etat,
Y est le vecteur de sortie,
U est le vecteur de commande,
A sappelle matrice d etat,
B sappelle matrice de commande,
C sappelle matrice de sortie,
et D sappelle matrice de liaison directe.
B.1 Ordre du syst` eme
Lordre du syst` eme est egal ` a la dimension du vecteur d etat X, ou encore ` a lordre de la
matrice carr ee A. On a :
n = dim(X) (B.1.1)
B.2 Stabilit e
Le syst` eme de r ealisation (A, B, C, D) est strictement stable si et seulement si toutes les
valeurs propres not ees
i
de la matrice d etat A sont ` a parties r eelles strictement n egatives :
Re (
i
(A)) < 0 (B.2.1)
41
Les valeurs propres de A sont egalement les p oles du syst` eme.
B.3 Commandabilit e
Soit la matrice de commandabilit e d enie par :
C
o
=
_
B AB A
2
B A
n1
B

(B.3.1)
Le syst` eme de r ealisation (A, B, C, D) est commandable si le rang de C
o
est egal ` a lordre
du syst` eme :
rang (C
o
) = n (B.3.2)
B.4 Observabilit e
Soit la matrice dobservabilit e d enie par :
O
b
=
_

_
C
CA
CA
2
.
.
.
CA
n1
_

_
(B.4.1)
Le syst` eme de r ealisation (A, B, C, D) est observable si le rang de O
b
est egal ` a lordre du
syst` eme :
rang (O
b
) = n (B.4.2)
42
Annexe C
Quelques fonctions de MATLAB
C.1 Calcul de base
a = cos(5)
a = 0.283662185463226
b = (3 1.5 exp(12)) / log (5)
b = 151685.992508581
log 10 (1e 5)
5
sin(pi/2)
1
tan(pi)
1 .22464679914735e 016
(Normalement z ero, mais il y a la pr ecision num erique de MATLAB)
atan(inf)
1 .5707963267949
_
=

2
_
C.2 Calcul matriciel
A =
_
3 2 5 8; 1 5 6 2; 4 58 100 1e5

43
A =
_
_
3 2 5 8
1 5 6 2
4 58 100 10
5
_
_
c = A(3, 2)
c = 58
V = A(:, 2)
V =
_
_
2
5
58
_
_
U = A(3, :)
U =
_
4 58 100 10
5
_
M = (2 : 3, 2 : 4)
M =
_
5 6 2
58 100 10
5
_
A B
multiplication de deux matrices
A. B
multiplication el ement par el ement
A + B
addition
AB
soustraction
An
A A A... A (n fois), A doit etre carr ee
A

adjoint (transpos ee conjugu ee) de A


transpose (A)
44
transpos ee de A. Cette fonction ne fait pas la conjugu ee, contrairement ` a la fonction pr ec edente
inv(A)
inverse de A (si A carr ee)
pinv(A)
pseudo-inverse de A (si A rectangulaire)
A/B
division ` a gauche de A par B
A\B
division ` a droite de A par B
A./B
division el ement par el ement de A par B, division ` a gauche
A.\B
division el ement par el ement de A par B, division ` a droite
A/c
division des el ements de A par un scalaire c
A c
multiplication des el ements de A par un scalaire c
A + c
addition des el ements de A par un scalaire c
Ac
soustraction des el ements de A par un scalaire c
ones(n, m)
matrice de taille n m d el ements 1
zeros(n, m)
45
matrice de taille n m d el ements 0
eye(n, m)
matrice de taille n m et dont la premi` ere diagonale est 1, le reste des el ements sont 0
rank(A)
rang de la matrice A
det(A)
d eterminant de la matrice A
size(A)
taille (dimension) de la matrice A
length(V )
taille (dimension) dun vecteur V . Si V est une matrice, la fonction renvoye max (size (V ))
[T, ] = eig (A)
donne la matrice de transformation modale T et la matrice des valeurs propres de A
A = diag (V )
cr eation dune matrice diagonale A dont les el ements du diagonal sont fournis par le vecteur
V
C.3 Quelques fonctions de base utilis ees en Automatique
G = tf ([num], [den])
cr eation dune fonction de transfert. Les param` etres [num] et [den] sont des vecteurs conte-
nant les coefcients du num erateur et du d enominateur
G = tf([ 3 2 ], [ 0.1 1.2 1 ])
G =
3p+2
0.1p
2
+1.2p+1
G = ss(A, B, C, D)
46
cr eation dun mod` ele d etat de r ealisation (A, B, C, D). Si D est une matrice nulle, on peut
ecrire G = ss(A, B, C, 0)
eig (A)
calcul des valeurs propres de la matrice d etat A
pole (G)
calcul des p oles du syst` eme G. Le syst` eme Gpeut etre une fonction de transfert ou egalement
un mod` ele d etat
zero (G)
calcul des z eros du syst` eme G. Le syst` eme Gpeut etre une fonction de transfert ou egalement
un mod` ele d etat
G
etat
= ss(G
transfert
)
cr eation dun mod` ele d etat ` a partir de la fonction de transfert G
transfert
G
transfert
= tf(G
etat
)
cr eation dune fonction de transfert ` a partir du mod` ele d etat G
etat
impulse(G)
tracage de la r eponse impulsionnelle de G
step(G)
tracage de la r eponse indicielle de G
bode(G)
tracage du diagramme de BODE de G
nyquist(G)
tracage du diagramme de NYQUIST de G
nichols(G)
tracage du diagramme de BLACK-NICHOLS de G
bodemag(G)
47
tracage de la magnitude (diagramme de BODE en amplitude) de BODE de G
plot(t, y)
tracage dune courbe dont labscisse est donn ee par le vecteur t et lordonn ee par y
grid
mise en place dune grille sur la courbe
hold on
garder la derni` ere gure an de tracer sur celle-ci une autre courbe
plot(t, y,

)
tracage dune courbe y en fonction de t avec une couleur rouge. la fonction help plot permet
dafcher la liste des couleurs ainsi que dautres options
xlabel(

t(s)

)
mise en place de titre t(s) sur laxe des abscisses
ylabel(

y(m` etre)

)
mise en place de titre y(m` etre) sur laxe des ordonn ees
title(

Courbe de r eponse

)
mise en place de titre Courbe de r eponse sur la gure
legend(

, etc)
mise en place de l egendes des diff erentes courbes sur la gure
C.4 Quelques fonctions danalyse et de synth` ese utilis ees en Auto-
matique
C
o
= ctrb (A, B)
calcul de la matrice de commandabilit e C
o
=
_
B AB A
2
B A
n
B

O
b
= obsv (A, C)
calcul de la matrice dobservabilit e O
b
=
_
C CA CA
2
CA
n

T
48
K
c
= place (A, B, P
c
)
calcul de la matrice de retour d etat K
c
par placement de p oles, les p oles etant d enis dans
le vecteur P
c
et sont les valeurs propres de la matrice (ABK
c
)
[Kc, P, P
c
] = lqr (A, B, Q, R)
calcul de la matrice de retour d etat K
c
optimale par la synth` ese Lin eaire Quadratique (LQ).
La fonction donne egalement la matrice P solution de l equation alg ebrique de Riccati ainsi que
les valeurs propres de (ABK
c
) dans le vecteur P
c
49