chapitre gouvernabilité et observabilité...
TRANSCRIPT
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 1
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
Chapitre
4 Gouvernabilité et observabilité
4.1. Introduction
4.1.1. Illustration du problème posé4.1.2. Importance pratique de ces notions
4.2. Gouvernabilité des systèmes linéaires invariants4.2.1. Définition4.2.2. Gouvernabilité des systèmes discrets mono-entrée4.2.3. Gouvernabilité des systèmes continus mono-entrée4.2.4. Décomposition d'un système non complètement gouvernable 4.2.5. Transmittance des systèmes non complètement gouvernables 4.2.6. Applications
4.3. Observabilité des systèmes linéaires invariants4.3.1. Définition4.3.2. Observabilité des systèmes discrets mono sortie4.3.3. Observabilité des systèmes continus mono sortie4.3.4. Décomposition d'un système non complètement observable 4.3.5. Applications
4.4. Généralisation4.4.1. Dualité des notions de gouvernabilité et d'observabilité 4.4.2. Application des notions de dualité4.4.3. Structure canonique de Kalman
4.5. Utilisation des commandes « Matlab »4.5.1. Extraction du sous système gouvernable.4.5.2. Extraction du sous système observable.4.5.3. Autre exemple.
4.1. INTRODUCTION
Les notions de gouvernabilité (on dit encore « commandabilité ») et d'observabilité des systèmes linéaires ont été introduites par KALMAN en 1961. Ces notions jouent un rôle fondamental dans la théorie moderne de la commande (commande optimale, filtrage optimal, commande modale, estimateur d'état, etc.). On dira qu'un processus est complètement gouvernable s'il est possible de le transférer d'un état initial donné à un état final désiré en un temps fini à partir du vecteur de commande. Ce processus sera dit complètement observable si toute transition de son état affecte les variables de sortie.
4.1.1. ILLUSTRATION DU PROBLEME POSE
Le système élémentaire du premier ordre admet comme représentation d'état :
xy
buaxx=
+−=&
Sa transmittance est :
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 2
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
BApICpT n1)()( −−= = b
p a+
Le graphe de fluence correspondant est le suivant :
y(t)1/p
a
bu(t) 1/p x(t)x(t)._
1 y(t)1/p
a
bu(t) 1/p x(t)x(t)._
1
Ce rappel étant fait, considérons le schéma fonctionnel suivant1.
u(t)
x1
x2
y(t)+
+
+
+
1,5p+1
− 0,5p−1
1p−2
1p+3
0,2
0,8
v
x3
x4
u(t)
x1
x2
y(t)+
+
+
+
1,5p+1
− 0,5p−1
1p−2
1p+3
0,2
0,8
v
x3
x4 Soit encore :
1/p
1/p 1/p
1/p
u (t) y(t)1,5
−0,51
−1
−3
2
1
1
1
1
0,8
0,21/p
1/p 1/p
1/p
u (t) y(t)1,5
−0,51
−1
−3
2
1
1
1
1
0,8
0,2
a. Recherche d'une représentation d'état
Elle peut être obtenue par exploitation directe du graphe de fluence. On obtient :
[ ] xy
uxx
8,02,000
00
5,05,1
3011021100100001
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡−
+
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
−
=&
L'équation caractéristique du système est : 1 Exemple emprunté au cours de M. FROSSARD professeur à SUPAERO.
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 3
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
)3)(2)(1)(1()det( +−−+=− ppppApIn
La représentation d'état indique que le système est d'ordre 4.
b. Représentation par une équation différentielle
Exprimons v en fonction de u :
5,05,1
22
11
uxxuxx
−=+−=
&
&
v x xv x x uv x x u u v u u v v u u
= += − + += + − + = − + ⇒ − = − +
1 2
1 2
1 2 2 2 2&
&& & & && &
Exprimons y en fonction de v. &
&
, ,
x x vx x vy x x
3 3
4 4
3 4
23
0 2 0 8
= += − +
= +
& , ,&& , , & & &
&& & & && & &
y x x vy x x v v y y v vy y y v v y y y v v
= − += + − + = − += − − + ⇒ + − = −
0 4 2 40 8 7 2 2 66 6
3 4
3 4 -
Eliminons v pour trouver une relation entre y et u. && & & &&& && & && &
&& &
&&& && & &
y y y v v y y y v vv v u uy y y y u u
+ − = − ⇒ + − = −− = − ++ − + = −
6 62
2 5 6 2
Cette équation différentielle est du troisième ordre. Son polynôme caractéristique est : p p p p p p3 22 5 6 1 2 3+ − − = + − +( )( )( )
Le pôle p=1 a disparu ! Le système est du troisième ordre.
c. Représentation par une fonction de transfert
Le schéma fonctionnel donne directement :
T p Y pU p p p
( ) ( )( ) ( )( )
= =+ +
11 3
La transmittance est du second ordre ! Les pôles p = 1 et p = 2 n'apparaissent pas !
d. Commentaires sur les différences constatées
Ecrivons les équations d'état sous forme diagonale en appliquant la transformation modale.
xCy
uBxAx~~
~~~~
=
+=& avec les matrices
⎪⎪⎩
⎪⎪⎨
⎧
=
=
=−
−
CMC
BMB
AMMA
~
~
~
1
1
si vi est un vecteur propre de A
[ ]niii diagMAMvAv λλλλ .... avec aussi 21=ΛΛ==
[ ]nvvvM ...21= ⇒ Λ== − AMMA 1~
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 4
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
Déterminons la matrice de transformation M telle que :
⎪⎩
⎪⎨⎧
=+Λ=⇒=
−
xCMyBuMxxxMx ~
~~~1&
Diagonalisons la matrice dynamique selon les principes du chapitre 1.
Fichier « .m » Résultats dans la fenêtre Matlab % RE_chap4_m1 % ----------- % REPRESENTATION D'ETAT % Cours ING2 - Au 43 U Gouvernabilité et observabilité % Réalisé par M. JL Cougnon % ------------------------- clear all;clc; % RE du système étudié A=[-1 0 0 0; 0 1 0 0; 1 1 2 0; 1 1 0 -3]; B=[1.5;-0.5;0;0]; C=[0 0 0.2 0.8];
%Forme canonique de la RE [M,lambda]=eig(A)
M = 0 0 0.8571 0 0 0 0 0.6963 1.0000 0 -0.2857 -0.6963 0 1.0000 0.4286 0.1741 lambda = 2 0 0 0 0 -3 0 0 0 0 -1 0 0 0 0 1
Mm1=inv(M)
Mm1 = 0.3333 1.0000 1.0000 0 -0.5000 -0.2500 0 1.0000 1.1667 0 0 0 0 1.4361 0 0
% t = indice de la base "tilde" At=lambda Bt=Mm1*B Ct=C*M
At = 2 0 0 0 0 -3 0 0 0 0 -1 0 0 0 0 1 Bt = 0 -0.6250 1.7500 -0.7181 Ct = 0.2000 0.8000 0.2857 0
Ce système d'équations correspond au schéma fonctionnel suivant :
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 5
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
On remarque que :
• les modes −1 et −3 sont reliés à l'entrée et à la sortie ;
• le mode 1 est relié à l'entrée mais pas à la sortie : il est inobservable ;
• le mode 2 est relié à la sortie seulement : il est ingouvernable ;
• la fonction de transfert ne retient que les modes gouvernables et observables ;
• le modèle issu de l’équation différentielle conserve les modes ingouvernables ;
• le modèle issu de la représentation d’état donne une représentation complète.
4.1.2. IMPORTANCE PRATIQUE DE CES NOTIONS
Le mécanisme conduisant à l'ingouvernabilité et à l'inobservabilité résulte d'une simplification entre pôles et zéros qui apparaît dès lors que l'on insère un correcteur (compensateur) en cascade avec le processus pour obtenir certaines propriétés en boucle ouverte. Un mode ingouvernable n'est pas relié à l'entrée. Aussi la réponse qui lui correspond ne dépend-elle que de sa dynamique propre et des conditions initiales, indépendantes de la commande appliquée, qui lui sont attachées. Comme nous le montrerons au chapitre 5, un asservissement avec retour ne peut améliorer les choses. En conclusion s'il existe un mode ingouvernable et inobservable instable il ne peut être compensé compte tenu de son caractère ingouvernable qui exclut la possibilité de trouver une loi de commande permettant de le stabiliser. Bien que n'apparaissant pas en sortie, ce mode génère une instabilité interne et il faut craindre la rupture du système ou, pour le moins, l'apparition d'un fonctionnement non linéaire dû à des saturations.
1p + 1
1p + 3
1
p − 1
1
p − 2
1,75
-0,718
0,2
0,8
0,286
-0,625
+
++
u(t) y(t)
1~x
4~x
2~x
3~x
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 6
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
4.2. GOUVERNABILITE DES SYSTEMES LINEAIRES INVARIANTS
4.2.1. DEFINITION
Un système continu ou discret, linéaire et invariant, décrit par une équation d'état est complètement gouvernable s’il existe une commande u(t) ou ku permettant de le transférer d'un état initial xi à un état final xf en un temps fini.
On peut encore dire qu'un système échantillonné (ou discret) est commandable s'il est possible, à partir d'un état 0x , d'intervenir sur son entrée pour lui imposer un état final xk quelconque en un nombre fini k de périodes d'échantillonnage.
4.2.2. GOUVERNABILITE DES SYSTEMES DISCRETS MONO-ENTREE
Soit un système discret d'ordre n (F est une matrice n x n) dont le comportement est décrit par les équations :
kk
kkk
CxyHuFxx
=+=+1
1212
01
0
2102
03
223
1002
112
001
−−−− +++++=
+++=+=
++=+=
+=
kkkkk
k HuFHu....HuFHuFxFx
......HuFHuHuFxFHuFxx
HuFHuxFHuFxx
HuFxx
1212
01
0 −−−− ++++=− kk
kkkk HuFHu....HuFHuFxFx
[ ] k
kkk
k GUu...
uHF...HFFHHxFx =
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=−
−−
0
112
0
[ ]01 xFxGU k
kk −= −
Il faut appliquer le vecteur de commande Uk pour passer de l'état x0 à l'état xk. Ce vecteur existera à condition que la matrice G soit inversible. Il convient donc de vérifier que :
• G admet autant de colonnes que de lignes k = n (cas SISO) ;
• les n vecteurs H FH F Hn, ,...., −1 sont linéairement indépendants ;
• en un mot que la matrice G est de rang n. Le système est gouvernable si lamatrice :
[ ]HFHFFHHG n 12 .. −= est régulière ⇒ det(G) ≠ 0.
Nous venons de montrer qu'il est possible de commander un système discret d'ordre n en n périodes d'échantillonnage au minimum.
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 7
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
4.2.3. GOUVERNABILITE DES SYSTEMES CONTINUS MONO-ENTREE
a. Critère établi à partir de la représentation modale
Soit le système S (SISO) d'ordre n : ⎩⎨⎧
=+=
)()()()()(
tCxtytButAxtx
Admettons que toutes les valeurs propres iλ de la (nn)-matrice A soient différentes et procédons au changement de variable à partir de la matrice de transformation M formée à partir des vecteurs propres : [ ]nvvvM ...21= .
[ ]iiii λMAMvAv diag avec aussi =ΛΛ== λ
[ ] AMMdττBuMτtExpxtEtx
xCMyBuMxx
xMx
t11
00
1
avec )()( ~)(xp )(~
~~~
~
−−
−
=Λ−Λ+Λ=
=+Λ=
=
∫
&
Soit :
~
000
0000
~...
~~
02
12
1
+
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
x
e............
...e
...e
x
xx
tλ
tλ
tλ
n n
dττu
b
bb
rrr
rrrrrr
e...............
...e
...e
nnnnn
n
nt
τ)(tλ
τ)(tλ
τ)(tλ
n
)( ...
...............
...
...
00
0000
2
1
21
22212
11211
0
2
1
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
∫−
−
−
La composante )(~ txi du n-vecteur )(~ tx est égale à :
[ ] dττubr...brbrexext
niniiτ)(tλ
itλ
iii )( ~~
022110 ∫ −+=
Si tous les éléments de la ligne [ ]ninii brbrbr ...2211 sont nuls, le mode λi n'est pas couplé à l'entrée ; il n'est pas gouvernable. En définitive le système est complètement gouvernable si ∀i [ ]ninii brbrbr ...2211 ≠ [0] c'est à dire si G M B= −1 ne contient pas de ligne de zéro (i.e. si chaque ligne de G contient au moins un élément non nul).
b. Critère établi à partir de la représentation d'état
Soit le système admettant la représentation d’état :
)()()()()(
tCxtytButAxtx
=+=&
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 8
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
[ ]
[ ]⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧
−+=
−+=
∫
∫
τττ
τττ
dBuAExpxAttx
dButAExpxAttx
t
t
)( )(Exp )(
)()( )(Exp )(
00
00
τττ dBuextxet
AAt )( )(0
)(0
)( ∫ −− =−
La formule de SYLVESTER indique qu'une fonction d'une matrice peut s'exprimer sous forme polynomiale :
in
ii
A Ae )(1
0
)( τγτ −= ∑−
=
−
Ainsi :
τττγ duBAxtxet
i
n
i
iAt )()( )(0
1
00
)( −=− ∫∑−
=
−
[ ] nnnAt
t
n
nn
n
i
iAt
GUUBABAABBxtxe
duUUBAxtxe
==−
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
−−
=⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧
=−
−−
−
−
=
− ∫∑
120
)(
0
1
1
01
00
)(
... )(
)(
)(...
)()(
avec )( ττ
τγ
τγτγ
[ ]0)(1 )( xtxeGU At
n −= −−
avec [ ] ... 12 BABAABBG n−=
Pour que ce système S soit complètement gouvernable il faut et il suffit que la matrice G soit de rang n.
[ ] nG rang =
Si le système a « r » entrées (MIMO) la matrice G est une matrice (n x nr).
4.2.4. DECOMPOSITION D'UN SYSTEME NON COMPLETEMENT GOUVERNABLE
Soit le système S { }CBA ,, . Si nq rang(G) <= il existe une matrice M telle que xMx ~= et :
[ ]2111
22
12111 ~~~et 0
~~ ; ~0
~~~ CCCMCBBMBAAAAMMA ==⎥
⎦
⎤⎢⎣
⎡==⎥
⎦
⎤⎢⎣
⎡== −−
avec : ( ) matrice))((~ ; matrice))((~ ; matrice)(~221211 -n-qn-qA-n-qqA-qqA ===
Le sous-système S1 { }1111~,~,~ CBA est entièrement gouvernable.
Le modes non gouvernables sont les valeur propres de 22~A
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 9
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
y(t)
u(t) ~x1
~x2
~A22
~B1
In-q /p
~A12
~C1
~C2
~A11
Iq /p
+
+
+
++
Il s'agit de construire la matrice [ ]21 MMM = de rang n permettant d'obtenir la représentation d'état recherchée. On vérifiera que :
• M1 est formée de q vecteurs linéairement indépendants choisis parmi les n vecteurs colonnes de G.
• M 2 est formée de (n − q) autres vecteurs indépendants.
4.2.5. TRANSMITTANCE DES SYSTEMES NON COMPLETEMENT GOUVERNABLES
[ ] ⎥⎦
⎤⎢⎣
⎡
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−−−
=−=−
−
−
0
~~0
~~~~)()( 1
1
22)(
121121
1 BApI
AApICCBApICpH
qn
qn
[ ] ( )( ) 1
1111
11
22)(
111
211 ~)~(~
0
~ ~0
matrice~ ~~)()( BApICB
ApI
ApICCBApICpH q
qn
qn
−−
−
−− −=⎥
⎦
⎤⎢⎣
⎡⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
−
−=−=
4.2.6. APPLICATIONS
a. Soit le système linéaire continu invariant caractérisé par :
[ ] xy
uxx
001
11
1
121110101
=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−=&
Il est complètement gouvernable puisque :
[ ] [ ] 3 rang821421
0212 =⇒
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−−−−−
−== GBAABBG
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 10
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
b. Soit le système linéaire continu invariant du second ordre caractérisé par :
[ ] xy
uxx
21
11
0211
=
⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡=
1)rang( 2121
=⇒⎥⎦
⎤⎢⎣
⎡= GG
Déterminons le sous système gouvernable et formons la matrice de changement de base M.
[ ] == 21 MMM ⎥⎦
⎤⎢⎣
⎡−
=⇒⎥⎦
⎤⎢⎣
⎡ −
1110
0111 1M
Changeons de base :
[ ]13~ 01~
1022~ 11 ==⎥
⎦
⎤⎢⎣
⎡==⎥
⎦
⎤⎢⎣
⎡−
== −− CMCBMBAMMA
On obtient ainsi :
[ ] xyuxx ~ 13 01~
1022~ =⎥
⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡−
=&
Avec le sous-système gouvernable du premier ordre ⎩⎨⎧
=+=
1
11~3
~2~
xyuxx&
Le mode non gouvernable est 1−=p . On vérifie que la fonction de transfert est :
23)()( 1−
=−= −
pBApICpH n
4.3. OBSERVABILITE DES SYSTEMES LINEAIRES INVARIANTS
4.3.1. DEFINITION
Un système continu ou discret, linéaire et invariant, décrit par une équation d'état est complètement observable à l'instant initial t0 si la connaissance pendant un temps fini
)( 0tt f − du vecteur de sortie et du vecteur de commande détermine de manière unique l'état à l'instant t0 . Toutes les variables d'état doivent influencer les sorties.
4.3.2. OBSERVABILITE DES SYSTEMES DISCRETS MONO SORTIE
Soit le système discret d'ordre n défini par :
kk
kkk
CxyHuFxx
=+=+1
Admettons que le système ne soit soumis à aucune entrée i.e. que { } 0=ku
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 11
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
01
11
02
22
011
00
xCFCxy
......xCFCxy
CFxCxyCxy
kkk
.
−−− ==
==
===
0
11
1
0
......
x
CF
CFC
y
yy
kk
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−
soit
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
−
−
−
−
−1
1
0
1
1
1
01
1
0 .........
kkk y
yy
O
y
yy
CF
CFC
x
Pour que le vecteur 0x puisse être déterminé, la matrice O doit être inversible. Il convient donc de vérifier que :
• O admet autant de colonnes que de lignes k = n ;
• les n lignes C CF CF n, ,...., −1 sont linéairement indépendantes ; • en un mot que la matrice O est de rang n.
Le système est complètement observable si ⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
−1...
nCF
CFC
O si [ ] nO =rang
4.3.3. OBSERVABILITE DES SYSTEMES CONTINUS MONO SORTIE
a. Critère établi à partir de la représentation modale
Soit le système pour lequel on suppose que 0)( =tu :
)()()()(
tCxtytAxtx
==&
Admettons que toutes les valeurs propres de A soient différentes et procédons au changement de variable à partir de la matrice de transformation M :
0~)(Exp~
~~~
~
xt (t)xxCMy
xΛx
xMx
Λ===
=&
avec Λ = −M AM1
x
e............
...e
...e
x
xx
tλ
tλ
tλ
n n
02
1
~
000
0000
~...
~~
2
1
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
aussi 0~~
it
i xex iλ=
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 12
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
~
000
0000
~...
~~
)( 02
12
1
x
e............
...e
...e
CM
x
xx
CMty
tλ
tλ
tλ
n n ⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
[ ]⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
0
20
10
21
22221
11211
21
~...
~~
000
0000
...............
...
...
...2
1
ntλ
tλ
tλ
nnnn
n
n
n
x
xx
e............
...e
...e
mmm
mmmmmm
cccy
n
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
+++
++++++
=
0
20
10
2211
2222121
1212111
~...
~~
.
e000............0...e00...0e
.......
...
...
n
2
1
nt
t
tT
nnnnn
nn
nn
x
xx
mcmcmc
mcmcmcmcmcmc
y
λ
λ
λ
Si [ ] 0...2211 =+++ ninii mcmcmc , le mode λi n'est pas disponible en sortie ; il n'est pas observable. En définitive le système est complètement gouvernable si ∀i c m c m c mi i n ni1 1 2 2+ + +... ≠ 0. Si on pose O CM= cette matrice ne doit pas comporter de colonne nulle.
b. Critère établi à partir de la représentation d'état
)()()()(
tCxtytAxtx
==&
⇒ 0
0
)(Exp )()(Exp)(
xAtCtyxAttx
==
La formule de SYLVESTER indique qu'une fonction d'une matrice peut s'exprimer sous forme polynomiale :
e t AAti
i
ni=
=
−
∑γ0
1( )
Ainsi :
[ ] 01
12
210
0
1
00
1
00
)(....)()()( )(
)()( )(
xCAtCAtCAtCtty
xCAtxAtCxCety
nn
in
ii
in
ii
At
−−
−
=
−
=
++++=
=== ∑∑
γγγγ
γγ
Effectuons n mesures de la sortie )(ty entre 00 =t et ft
0
1110
212120
111110
2
1
...
)(...)()(.........
)(...)()()(...)()(
)(...
)()(
x
CA
CAC
ttt
tttttt
ty
tyty
nnnnn
n
n
n⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−
−
−
γγγ
γγγγγγ
posons
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
−1...
nCA
CAC
O
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 13
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
Pour que ce système soit observable il faut et il suffit que la matrice d'observabilité O soit de rang n.
n
CA
CAC
O
n
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
−1...
rang)(rang
4.3.4. DECOMPOSITION D'UN SYSTEME NON COMPLETEMENT OBSERVABLE
Soit le système S{ }CBA ,, . Si nnO )(rang 1 <= il existe une transformation M telle que xMx ~= et :
[ ]0~~et ~~
~ ; ~~0~~
12
11
2221
111 CCMCBBBMB
AAAAMMA ==⎥
⎦
⎤⎢⎣
⎡==⎥
⎦
⎤⎢⎣
⎡== −−
Le sous-système { }1111~,~,~ CBA est entièrement observable.
Le modes non observables sont les valeur propres de 22~A .
Pour trouver la matrice M on peut appliquer la méthode utilisée pour isoler la partie non gouvernable du système S{ }CBA ,, (Cf. §4.2.4) à son dual Sd { }TTT BCA ,, (Cf. §4.4.1.).
4.3.5. APPLICATIONS
Soit le système linéaire continu invariant (Cf. §4.2.6) caractérisé par :
[ ] xyuxx 001 11
1
121110101
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−=&
Ce système est complètement observable puisque :
3)rang( 022101001
2=⇒
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡= O
CACAC
O
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 14
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
4.4. GENERALISATION
4.4.1. DUALITE DES NOTIONS DE GOUVERNABILITE ET D'OBSERVABILITE
a. Définition
Soit le système « S » (continu ou discret) :
)()()()()(
tCxtytButAxtx
=+=&
Le système dual « Sd » est régi par :
)()(
)()()(
tξBtψ
tυCtξAtξT
TT
=
+=&
yu xB
A
I / p
++
Cyu xB
A
I / p
++
C ν ψ
TA
I /p
++
TCξ
TBν ψ
TA
I /p
++
TCξ
TB
On constate que TO de S est égale à G de Sd. En effet :
Système S Système Sd Gouvernabilité [ ]BAABABBG n 12 .. −=
...
12⎥⎦⎤
⎢⎣⎡=
− TnTTTTTTd CACACACG
Td OG =
Observabilité
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
−1...
nCA
CAC
O T
nTT
TT
T
d G
AB
ABB
O =
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
=
−1...
Aussi l'étude de l'observabilité d'un système peut-elle se ramener à l'étude de la gouvernabilité de son dual. Cette propriété sera plus particulièrement exploitée au chapitre 6 pour le calcul des observateurs d’état.
b. Formules de passage d'une base à une autre dans l'espace dual.
Soit le changement de base xMx ~= , cherchons la relation entre M et dM ?
⎩⎨⎧
=+=
)()()()()(
tCxtytButAxtx&
xMx ~=
⎪⎩
⎪⎨⎧
=+= −−
xCMyuBMxAMMx
~)()(~)(~ 11&
Relation entre M et dM ?
⎪⎩
⎪⎨⎧
=
+=
)()(
)()()(
tBt
tCtAtT
TT
ξψ
υξξ&
ξξ ~dM=
⎪⎩
⎪⎨⎧
=
+= −−
ξψ
νξξ~)(
)(~)(~ 11
dT
Tdd
Td
MB
CMMAM&
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 15
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
Déterminons le système , dual du système .
⎪⎩
⎪⎨⎧
=+= −−
xCMyuBMxAMMx
~)()(~)(~ 11&
⎪⎩
⎪⎨⎧
=
+=−
−
ξψ
νξξ~)(
)(~)(~
1
1
TT
TTTTT
MB
CMMAM&
Le système est identique au système . Par identification on obtient : T
d MM )( 1−=
Cette expression indique que ~)( 1 ξξ TM −= .
4.4.2. APPLICATION DES NOTIONS DE DUALITE
On se reportera au § 4.5.2.
4.4.3. STRUCTURE CANONIQUE DE KALMAN
Soit un système « S » linéaire, stationnaire. Il existe une base de l'espace d'état telle que :
[ ] xCC
uBB
xxxx
AAAAAAAAA
xxxx
dtd
00y
00
00000
00
42
2
1
4
3
2
1
44
3433
2422
14131211
4
3
2
1
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
+=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
Ce système d'équations conduit au schéma bloc suivant où l'on identifie les sous-systèmes gouvernables (G) ou non (nG), observables (O) ou non (nO).
Sous-système 3nG + nO
Sous-système 1G + nO
Sous-système 2G + O
Sous-système 4nG + O
x 1
x 2
x 4
u (t)
y (t)
B1
B2
x 3
C2
C4
A12
A13
A14 A24A34
++
Sous-système 3nG + nO
Sous-système 3nG + nO
Sous-système 1G + nO
Sous-système 1G + nO
Sous-système 2G + O
Sous-système 2G + O
Sous-système 4nG + O
Sous-système 4nG + O
x 1x 1
x 2x 2
x 4x 4
u (t)u (t)
y (t)y (t)
B1
B2
x 3x 3
C2
C4
A12
A13
A14 A24A34
++
En pratique les systèmes sont soumis à des perturbations de type « bruit blanc ». Le sous-
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 16
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
système 4 représente les perturbations observables. Calculons la matrice de transfert H(p) de ce système.
[ ]⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−−−−−−−−
=
−=−
−
00
00000
0000)(
)()(
2
11
44
3433
2422
14131211
42
1
BB
ApIAApIAApIAAAApI
CCpH
BApICpH
[ ]⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
−−
−−
=
−
−
−
−
00
)(000?)(00??)(0???)(
00)( 2
1
144
133
122
111
42BB
ApIApI
ApIApI
CCpH
21
222 )()( BApICpH −−=
La matrice de transfert se réduit à la seule matrice de transfert de la partie gouvernable et observable. Ainsi la représentation externe (fonction de transfert, analyse fréquentielle ...) ne restitue pas toute l'information concernant le système et peut conduire à de graves erreurs dès lors que ce modèle est le seul retenu.
4.5. UTILISATION DES COMMANDES « MATLAB »
4.5.1. EXTRACTION DU SOUS SYSTEME GOUVERNABLE.
Prenons l’exemple traité en introduction au § 4.1.1
Fichier « .m » Résultats dans la fenêtre Matlab % RE_chap4_m1bis % -------------- % REPRESENTATION D'ETAT % Cours ING2 - Au 43 % Réalisé par M. JL Cougnon % ------------------------- % SOUS SYSTEME GOUVERNABLE clear all;clc; % RE du système étudié A=[-1 0 0 0; 0 1 0 0; 1 1 2 0; 1 1 0 -3]; B=[1.5;-0.5;0;0]; C=[0 0 0.2 0.8]; D=0; sys=ss(A,B,C,D);
Le système est un système SISO d’ordre 4. % G=ctrb(A,B);rG=rank(G) % Un mode n'est pas gouvernable O=obsv(A,C);rO=rank(O) % Un mode n'est observable
rG = 3 rO = 3
Le système a un mode non observable et un mode non gouvernable.
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 17
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
% Forme canonique de la RE % Identification des modes [M,lambda]=eig(A) Mm1=inv(M); % t = indice de la base "tilde" Adiag=Mm1*A*M Bdiag=Mm1*B Cdiag=C*M Ddiag=D ; % Idem : sys_1=ss2ss(sys,Mm1)
M = 0 0 0.8571 0 0 0 0 0.6963 1.0000 0 -0.2857 -0.6963 0 1.0000 0.4286 0.1741 lambda = 2 0 0 0 0 -3 0 0 0 0 -1 0 0 0 0 1 Adiag = 2 0 0 0 0 -3 0 0 0 0 -1 0 0 0 0 1 Bdiag = 0 -0.6250 1.7500 -0.7181 Cdiag = 0.2000 0.8000 0.2857 0
Le système présente 4 modes distincts. Cherchons une forme canonique mettant en évidence la partie gouvernable du système. On forme la matrice de changement de base, notée GM, à partir des colonnes indépendantes de G et on ajoute le nombre de colonnes indépendantes nécessaires (Cf. §4.2.4).. % Recherche de la nouvelle base GM=G;GM(:,4)=[1;0;0;0] rGM=rank(GM) % On vérifie que le rang de GM est de 4
GM = 1.5000 -1.5000 1.5000 1.0000 -0.5000 -0.5000 -0.5000 0 0 1.0000 0 0 0 1.0000 -5.0000 0 rGM = 4
% On change de base % On change de base GMm1=inv(GM); Agt=GMm1*A*GM Bgt=GMm1*B Cgt=C*GM Dgt=D; % Idem : sys_2=ss2ss(sys,GMm1) ss_sysg_t=ss(Agt,Bgt,Cgt,Dgt);
Agt = 0 0 3.0000 -1.0000 1.0000 0 1.0000 1.0000 0 1.0000 -3.0000 0 0 0 0 2.0000 Bgt = 1 0 0 0 Cgt = 0 1 -4 0 Dgt = 0
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 18
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
[ ] )(0410)(
)(
0001
)(
2000031011011300
)(~
txty
tutxtx
−=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
+
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
−
=&
( ) ( )
( ) ( ) [ ]0et
0
12
11
2221
111
CgtGMCCgtBgtBgt
BGMBgt
AgtAgtAgt
GMAGMAgt
==⎥⎦
⎤⎢⎣
⎡==
⎥⎦
⎤⎢⎣
⎡==
−
−
Le mode p = 2 n’est pas gouvernable. Isolons le sous système gouvernable du système global à savoir :
111111 , , CgtBgtAgt % Extraction du sous système gouvernablefor i=1:3 BGt(i,1)=Bgt(i); CGt(i)=Cgt(i); for j=1:3 AGt(i,j)=Agt(i,j); end end DGt=0; ss_sysG_t=ss(AGt,BGt,CGt,DGt); AGt BGt CGt DGt
AGt = 0 0 3.0000 1.0000 0 1.0000 0 1.0000 -3.0000 BGt = 1 0 0 CGt = 0 1 -4 DGt = 0
Déterminons les pôles de la partie gouvernable. % Modes gouvernables vpG=eig(AGt)
vpG = 1.0000 -1.0000 -3.0000
Calculons la transmittance du système global. zpk_sys=zpk(ss_sys)
Zero/pole/gain : (s-2) (s-1) -------------------------- (s-2) (s-1) (s+1) (s+3)
On notera que 2 zéros se simplifient avec 2 pôles.
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 19
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
Calculons la transmittance du système global dans la base « tilde ». zpk_sysg_t=zpk(ss_sysg_t)
Zero/pole/gain : (s-1) -------------------- (s-1) (s+1) (s+3)
Le pôle p = 2 s’est simplifié. On notera qu’une simplification du pôle 1 est possible. Ce pôle est le pôle non observable. Calculons la transmittance du sous système gouvernable. zpk_sysG_t=zpk(ss_sysG_t)
Zero/pole/gain : (s-1) -------------------- (s-1) (s+1) (s+3)
Cette transmittance est identique à la précédente. On notera qu’une simplification du pôle 1 est possible. Ce pôle est le pôle non observable. C’est ce que nous allons vérifier dans ce qui suit.
4.5.2. EXTRACTION DU SOUS SYSTEME OBSERVABLE.
Prenons l’exemple traité en introduction au § 4.1.1 % EXTRACTION DU SOUS SYSTEME OBSERVABLE % Formons le système dual Ad=A';Bd=C';Cd=B'; % Vérifions sa non gouvernabilité % complète Gd=ctrb(Ad,Bd) rGd=rank(Gd)
Gd = 0 1.0000 -3.0000 11.0000 0 1.0000 -1.0000 7.0000 0.2000 0.4000 0.8000 1.6000 0.8000 -2.4000 7.2000 -21.6000 rGd = 3
Nous avons formé le système dual :
[ ]ξξψ
υξνξξ
001
01
1
010000000
==
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=+=
T
TT
B
CA&
La matrice de gouvernabilité du système dual est évidemment de rang 3. % Calculons la matrice GMd GMd=Gd;GMd(:,4)=[0;0;0;1] rGMd=rank(GMd) % Revenons dans l'espace normal OM=(inv(GMd))' OMm1=inv(OM)
GMd = 0 1.0000 -3.0000 0 0 1.0000 -1.0000 0 0.2000 0.4000 0.8000 0 0.8000 -2.4000 7.2000 1.0000 rGMd = 4 OM = 3.0000 -0.5000 -0.5000 -0.0000 -5.0000 1.5000 0.5000 4.0000 5.0000 0 0 -4.0000 0 0 0 1.0000
Le changement de base par la matrice de passage M permet d’obtenir une représentation d’état mettant en évidence la partie non complètement observable du système.
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 20
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
[ ]0~~et ~~
~
~~0~~
12
11
2221
111
CCMCBBBMB
AAAAMMA
==⎥⎦
⎤⎢⎣
⎡==
⎥⎦
⎤⎢⎣
⎡==
−
−
% Changeons de base Aot=OMm1*A*OM Bot=OMm1*B Cot=C*OM Dot=D; ss_syso_t=ss(Aot,Bot,Cot,Dot);
Aot = 0.0000 1.0000 -0.0000 -0.0000 -0.0000 0.0000 1.0000 0.0000 6.0000 5.0000 -2.0000 -0.0000 -2.0000 1.0000 0 1.0000 Bot = -0.0000 1.0000 -4.0000 0 Cot = 1 0 0 0
[ ] )(0001)(
)(
04
10
)(
1012025601000010
)(~
txty
tutxtx
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−+
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−
=&
( ) ( )
( ) ( ) [ ]0et
0
12
11
2221
111
CotGMCCotBotBot
BGMBot
AotAotAot
GMAGMAot
==⎥⎦
⎤⎢⎣
⎡==
⎥⎦
⎤⎢⎣
⎡==
−
−
Le mode p = 1 n’est pas observable. Isolons le sous système observable du système global à savoir :
111111 , , CotBotAot % Extraction du sous système observable for i=1:3 BOt(i,1)=Bot(i); COt(i)=Cot(i); for j=1:3 AOt(i,j)=Aot(i,j); end end DOt=0; ss_sysO_t=ss(AOt,BOt,COt,DOt); AOt BOt COt DOt
AOt = 0.0000 1.0000 -0.0000 -0.0000 0.0000 1.0000 6.0000 5.0000 -2.0000 BOt = -0.0000 1.0000 -4.0000 COt = 1 0 0 DOt = 0
Déterminons les pôles de la partie observable.
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 21
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
% Modes observables vpO=eig(AOt)
vpO = -3.0000 -1.0000 2.0000
Calculons la transmittance du système global. % Fonction de transfert zpk_sys=zpk(ss_sys)
Zero/pole/gain: (s-2) (s-1) -------------------------- (s-2) (s-1) (s+1) (s+3)
On notera que 2 zéros se simplifient avec 2 pôles. Calculons la transmittance du sous système observable défini dans la base « tilde ». zpk_sysO_t=zpk(ss_sysO_t)
Zero/pole/gain: (s-2) -------------------- (s+3) (s+1) (s-2)
On notera qu’une simplification du pôle 2 est possible. Ce pôle est le pôle non gouvernable.
4.5.3. AUTRE EXEMPLE.
Fichier « .m » Résultats dans la fenêtre Matlab % RE_chap4_m2 % ----------- % REPRESENTATION D'ETAT % Cours ING2 - Au 43 % Réalisé par M. JL Cougnon % ------------------------- clear all;clc; % Il s'agit de trouver une RE en FC % permettant de mettre en évidence % la partie gouvernable du système : A=[-2 1 0;0 -1 1;0 0 0]; B=[1;1;1];C=[1 0 0];D=[0]; sys=ss(A,B,C,D); % Déterminons les pôles du système Vp=eig(A)
Vp = -2 -1 0
% Etude des matrices G et O du système. G=ctrb(sys) rG=rank(G) O=obsv(sys) rO=rank(O)
G = 1 -1 2 1 0 0 1 0 0 rG = 2 O = 1 0 0 -2 1 0 4 -3 1 rO = 3
Le système est complètement observable alors qu’un mode n’est pas gouvernable. Procédons à un changement de base. Formons M.
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 22
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
% Changement de base % Voir le cours. M=[1 -1 0;1 0 -1;1 0 1];Mm1=inv(M); sys_t=ss2ss(sys,Mm1); [At1,Bt1,Ct1,Dt1]=ssdata(sys_t)
At1= 0 0 1 1 -2 2 0 0 -1 Bt1 = 1 0 0 Ct1 = 1 -1 0 Dt1 = 0
On identifie la partie commandable du système transformé par M : At1 Bt1 Ct1
0 0 -1 1 1 -1 0 1 -2 -2 0 0 0 -1 0
La commande MATLAB "ctrbf" utilisée permet de trouver une représentation d'état mettant en évidence la partie gouvernable du système « sys». T = matrice de passage sum(k)= ordre de gouvernabilité % Utilisons la commande "ctrbf" % T = matrice de passage % sum(k)= ordre de gouvernabilité. [At2,Bt2,Ct2,T,k]=ctrbf(A,B,C)
At2 = -1.0000 0.0000 -0.0000 1.1547 -1.6667 0.4714 0.4082 1.1785 -0.3333 Bt2 = 0 0 -1.7321 Ct2 = -0.0000 0.8165 -0.5774 T = -0.0000 0.7071 -0.7071 0.8165 -0.4082 -0.4082 -0.5774 -0.5774 -0.5774 k = 1 1 0
Voir dans le « help » de la « Control System Toolbox » les conventions adoptées pour la commande "ctrbf" et déterminons le sous système commandable.
At2 Bt2 Ct2 -1 0 0 0 0 0,8165 -0,5774
1,1547 -1,6667 0,4714 0 0,4082 1,1785 -0,3333 -1,7321
4. Gouvernabilité et observabilité des systèmes linéaires continus et discrets 23
RE_chap4_ctrb_obsv Mis à jour le 07/04/2006 Cours de M. Cougnon JL
% On extrait la partie gouvernable du système. Atg=At2(2:3,2:3); Btg=Bt2(2:3); Ctg=Ct2(2:3); sys_gouv=ss(Atg,Btg,Ctg,0);
% Transmittance du système original. tf_sys=zpk(sys) % Transmittance du système gouvernable. tf_sys_t=zpk(sys_t) % Transmittance du système gouvernable. tf_sys_gouv=zpk(sys_gouv)
Zero/pole/gain: (s+1)^2 ------------- s (s+2) (s+1) Zero/pole/gain: (s+1) ------- s (s+2) Zero/pole/gain: (s+1) ------- s (s+2)