Professional Documents
Culture Documents
Frédéric Rotella
Ecole Nationale d’Ingénieurs de Tarbes
rotella@enit.fr
4 Systèmes discrets 14
4.1 Observateurs prédicteurs ou correcteurs . . . . . . . . . . . . . . . . . . . . . . . 14
4.1.1 Observateur - prédicteur . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1.2 Observateur - correcteur . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1.3 Remarques sur les observateurs de systèmes discrets . . . . . . . . . . . . 16
1
F. Rotella Observateurs
Références 44
2
F. Rotella Observateurs
Modèle d’état x
?
sorties -
entrées - - x̂
Processus - Reconstructeur estimation
de x
3
F. Rotella Observateurs
Comme l’état n’est en général pas accessible, l’objectif d’un observateur consiste, en vue de
réaliser une commande par retour d’état, d’estimer cet état par une variable que nous noterons
x̂(t). Cette estimation est réalisée par un système dynamique dont la sortie sera précisément
x̂(t) et l’entrée sera constituée de l’ensemble des informations disponibles, c’est-à-dire u(t) et
y(t). La structure d’un observateur est de la forme :
·
x̂ (t) = Ax̂(t) + Bu(t) + L(y(t) − ŷ(t)),
ŷ(t) = C x̂(t) + Du(t),
on obtient : ·
x̃ (t) = (A − LC)x̃(t),
ce qui conduit à l’évolution de l’erreur d’estimation à partir de la condition initiale x̃(0) =
x(0) − x̂(0), qui est non nulle de façon générale parce que l’état est a priori inaccesible :
Pour que l’observateur soit utilisable il est nécessaire que cette erreur tende vers 0 lorsque
t augmente. Lorsque cette propriété est satisfaite l’observateur est dit asymptotique, mais il
est évident que c’est une propriété nécessaire au fonctionnement correct d’un observateur. En
conséquence il faudra choisir L telle que les valeurs propres de la matrice A − LC soient toutes
à partie réelle strictement négative.
4
F. Rotella Observateurs
¶³u(t)
processus
µ´
Gv(t) - + × ×- -y(t)
u− u+ (A, B, C, D)
6
?
L
¶³
? R
µ´
-B − LD - + - x̂(t)
6
A − LC ¾
−K ¾
Dans ce cas, une grande liberté est laissée au choix des valeurs propres, mais en pratique on
choisit une dynamique d’erreur plus rapide que celle du processus dans le cas d’une observation
en boucle ouverte ou que celle désirée en boucle fermée. Cependant on ne peut les prendre
infiniment grandes pour deux raisons essentielles : on ne peut utiliser que des gains réalisables
et l’augmentation de la bande passante du reconstructeur ne permet plus de négliger les bruits
qui deviennent prépondérants en haute fréquence.
où v(t) est la nouvelle entrée, K est le gain de retour d’état qui est défini par la structure
désirée pour le système bouclé (i.e. A − BK), et G un gain de prébouclage qui est calculé en
général en fonction du gain statique désiré.
Comme l’état n’est pas accessible, la commande réellement mis en œuvre devient :
et nous allons voir les conséquences d’utiliser la structure de commande par régulateur-observateur
décrite dans la figure 2.
5
F. Rotella Observateurs
2.2 Robustesse
Toute utilisation d’un régulateur dynamique implique une dégradation des marges de sta-
bilité, et un régulateur-observateur ne fait pas exception à cette règle. Nous allons voir dans ce
paragraphe comment juger de la robustesse en stabilité du régulateur-observateur construit ce
qui sera un guide dans le choix du gain de l’observateur. Si les marges obtenues, par un tracé
fréquentiel, ne sont pas satisfaisantes il conviendra de modifier la dynamique de l’observateur.
Le transfert à calculer est celui obtenu lorsque l’on ouvre la boucle juste avant la commande
que l’on applique au système, i.e. des variables u+ aux variables −u− , sur la figure 2, lorsque
le lien entre les deux (×)est ouvert.
On a les relations :
u− (t) = Gv(t) − K x̂(t),
·
x̂ (t) = (A − LC)x̂(t) + (B − LD)u− (t) + Ly(t),
6
F. Rotella Observateurs
7
F. Rotella Observateurs
les méthodes que l’on utilise sont directement transposées des méthodes utilisées pour trouver
un gain de retour d’état qui placePles pôles du système bouclé. Dans ce qui suit nous noterons
par a(p) = det(pI − A) = p + n−1
n i
i=0 ai p et â(p) le polynôme représentant les dynamiques
désirées pour l’observateur :
Y
n X
n−1
n
â(p) = (p − λi ) = p + âi pi ,
i=1 i=0
Cela peut être fait directement ou par la formule de Bass et Gura qui permet la construction
d’un algorithme.
X
n−1
n
det(pI − A + LC) = p + fi (l1 , . . . , ln )pi ,
i=0
où les fi (l1 , . . . , ln ) sont n formes linéaires en les inconnues l1 , . . . , ln , c’est-à-dire que l’on peut
écrire, pour i = 0, . . . , n − 1, fi (l1 , . . . , ln ) = Fi L. Les n égalités :
i = 0, . . . , n − 1, fi (l1 , . . . , ln ) = âi ,
conduisent à :
F L = â,
8
F. Rotella Observateurs
où :
F0 â0
F1 â1
F = .. , â = .. .
. .
Fn−1 ân−1
On obtient donc le gain par :
L = F −1 â.
les relations :
ã = TA O(A,C) L,
9
F. Rotella Observateurs
où :
1 0 ··· ··· 0 C
an−1 1 0 0 CA
..
...
... CA2
TA = an−2 an−1 . , O(A,C) = .
. ... ..
.. 1 0 .
a1 a2 · · · an−1 1 CAn−1
Lorsque la paire (A, C) est observable, O(A,C) est régulière et on obtient :
−1
L = O(A,C) TA−1 ã.
P
qui sont de taille (ν i ×ν j ) où les ν k sont les l indices d’observabilité qui vérifient lk=1 ν k =
n. De plus, ces sous-matrices ont la forme :
0 ··· 0 × 0 ··· 0 ×
. . .. .. ..
ii 1 . . .. × ij . . .
AO = . . , et pour i 6= j, AO = . .. .. ;
0 . . 0 .. .. . .
0 0 1 × 0 ··· 0 ×
10
F. Rotella Observateurs
qui sont de taille (l × ν i ) et qui ont des composantes toutes nulles sauf la composante
(COi )i,ν i qui est égale à 1 ;
— HO est une matrice (l × l) qui a pour structure :
1 0 ··· 0
. . . ..
× 1 .
HO = . . .
.. .. 0
× ··· × 1
Les composantes significatives des matrices (notées ici ×) et les indices d’observabilité sont
donnés par l’application de l’algorithme de Luenberger de construction de la forme canonique.
L’étape suivante consiste à écrire :
où les Lij
O , i = 1 à l, j = 1 sont des vecteurs de dimensions (ν i × 1). Lorsque l’on réalise alors
l’opération AO −LO CO on s’aperçoit que l’on peut fixer les vecteurs Lij O par les règles suivantes :
— les vecteurs LijO avec i 6
= j sont égaux à la dernière colonne de la matrice AijO , ce qui rend
AO diagonale par blocs ;
— on décompose le polynôme caractéristique désiré, soit â(p) en l polynômes âi (p), chacun
de degré ν i :
Yl
â(p) = âi (p);
i=1
— les l relations :
det(pI − AiiO + LiiO [ 0 · · · 0 1 ]) = âi (p),
fournissent directement les LiiO .
Ayant obtenu LO , on obtient L par :
L = TO−1 LO HO−1 .
11
F. Rotella Observateurs
K = R−1 B T P,
AT P + P A − P BR−1 B T P + Q = 0.
Par dualité on peut proposer une forme “optimale” pour le gain de l’observateur sous la
forme :
L = ΠC T Σ−1 ,
où Π est solution de l’équation algébrique de Riccati :
AΠ + ΠAT − ΠC T Σ−1 CΠ + Λ = 0,
où Σ et Λ sont deux matrices définies positives. Dans le cadre du filtrage optimal on peut
donner une interprétation à ces matrices, mais ce point de vue sert surtout de point de départ
à la technique de recouvrement de transfert de boucle que nous avons évoqué plus haut. Cette
technique est avantageuse car elle assure une bonne robustesse en stabilité, cependant elle n’est
utilisable que sur les systèmes carrés à minimum de phase, c’est-à-dire sur ceux dont les zéros
du transfert initial :
F (p) = C(pI − A)−1 B,
sont tous à partie réelle négative.
La procédure LTR consiste à poser :
Λ = BB T + ν 2 M,
Σ = ν 2 N,
où M et N sont définies positives et ν un petit paramètre que l’on va faire tendre vers 0. Dans
ces conditions l’équation algébrique de Riccati devient :
AΠ + ΠAT − ΠC T (ν 2 N)−1 CΠ + BB T + ν 2 M = 0,
et le gain :
L = ΠC T (ν 2 N)−1 . (5)
On en déduit :
ΠC T N −1 CΠ = ν 2 (AΠ + ΠAT + BB T ) + ν 4 M,
12
F. Rotella Observateurs
soit :
lim Π = 0 et lim L(ν 2 N )LT = BB T .
ν→0 ν→0
Ainsi :
1
lim L = BU N −1/2 ,
ν→0 ν
où U est une matrice carrée orthogonale, UU T = I, et N 1/2 est une racine carrée de N,
N = N 1/2 (N 1/2 )T .
Remarque : il existe une infinité de racine carrées d’une matrice définie positive. On peut
cependant en proposer une d’expression simple. En effet, N étant définie positive, il existe une
matrice orthogonale, V, √
et une matrice
©√ diagonale
ª positive, ∆ = diag {di , di > 0} , telles que
N = V ∆V T . En posant ∆ = diag di , on peut écrire :
√
N 1/2 = V ∆V T .
Φ = (pI − A + BK)−1 .
13
F. Rotella Observateurs
4 Systèmes discrets
4.1 Observateurs prédicteurs ou correcteurs
Considérons le système discret stationnaire défini par :
14
F. Rotella Observateurs
Cette structure est identique à celle obtenue dans le cas des systèmes continus. En notant
x̃k+1/k l’erreur de reconstruction xk+1 − x̂k+1/k , il vient :
x̃k+1/k = [A − Lp C]x̃k/k−1 .
Le reconstructeur est asymptotique si le gain Lp est choisi tel que les valeurs propres de la
matrice A − Lp C sont, en module, inférieures à l’unité (on a alors une matrice de Schur). Dans
le cas où la paire (A, C) est observable, ces valeurs propres peuvent être fixées arbitrairement
à l’aide des techniques abordées dans la partie précédente.
ȳk+1 = C x̂k+1/k+1 ,
L’erreur de reconstruction, x̃k+1/k+1 = xk+1 − x̂k+1/k+1 , est définie par l’équation récurrente :
Pour obtenir un reconstructeur asymptotique, Lc doit être choisie telle que [I + Lc C]−1 A
soit une matrice de Schur. Cela n’est pas toujours possible et c’est ce qui rend cette forme
d’observateur peu utilisée en pratique.
15
F. Rotella Observateurs
Prédiction Dans ce cas, ȳk+1 est la meilleure estimation que l’on puisse faire de la sortie à
partir de l’information disponible avant le calcul de x̂k+1/k+1 . On pose donc :
Avec les mêmes notations que précédemment, l’erreur de reconstruction est régie par l’équa-
tion :
x̃k+1/k+1 = [I − Lc C]Ax̃k/k ,
Si le gain Lc est choisi tel que [I − Lc C]A soit de Schur, le reconstructeur obtenu sera
asymptotique. Lorsque la paire (A, CA) est observable, il est toujours possible de trouver Lc
correspondant à des dynamiques fixées a priori pour l’erreur. Cependant, on peut remarquer
que l’on a :
CA C
CA2 CA
O(A,CA) = .. = .. A = O(A,C) A,
. .
n n−1
CA CA
soit, si la paire (A, C) est observable, d’après les inégalités de Sylvester, rang (O(A,CA) ) = rang
A. Ainsi cet observateur ne sera pas utilisé lorsque A a une valeur propre nulle, car on a une
perte d’observabilité.
16
F. Rotella Observateurs
Une autre technique mais qui ne demande pas de passage par la forme canonique observable
consiste à faire les remarques suivantes :
yk
yk+1
Yk = .. = O(A,C) xk + MUk ,
.
yk+n−1
où :
uk 0 ··· 0
uk+1 ... ..
CB .
Uk = .. , M = .. ... ,
. . 0
uk+n−2 CAn−2 B · · · CB
soit, si le système est observable :
−1
xk = O(A,C) (Yk − MUk ).
Cependant, cet obervateur n’étant pas réalisable, il convient de remarquer également que :
xk = Axk−1 + Buk−1 ,
= A2 xk−2 + ABuk−2 + Buk−1 ,
..
.
X
n−1
n−1
= A xk−n+1 + Ai−1 Buk−i ,
i=1
n−1
= A xk−n+1 + ΨUk−n+1 ,
£ ¤ −1
où Ψ = An−2 B · · · AB B . Or xk−n+1 = O(A,C) (Yk−n+1 − MUk−n+1 ), ce qui conduit à
l’observateur réalisable :
³ ´
xk = An−1 O(A,C)
−1
Yk−n+1 + Ψ − An−1 O(A,C)
−1
M Uk−n+1 .
17
F. Rotella Observateurs
18
F. Rotella Observateurs
où n’apparaît aucune dérivation de la sortie. En tenant compte du fait que v̂(t) = ẑ(t) + L̄y(t)
et x̄1 (t) = y(t), (8) se réécrit sous la forme :
˙
ẑ(t) = M̄ ẑ(t) + N̄u(t) + P̄ y(t),
M̄ = Ā22 − L̄Ā12 ,
(9)
N̄ = B2 − L̄B̄1 ,
P̄ = Ā21 + Ā22 L̄ − L̄Ā11 − L̄Ā12 L̄.
Cette équation d’état définit un observateur réduit (d’ordre n − l) pour le système (7), la
variable x̄2 (t) étant reconstruite par :
v̂(t) = ẑ(t) + L̄y(t),
où L̄ est la matrice ((n − l) × l) de gain de cet observateur. Notons l’erreur d’observation
e(t) = x̄2 (t) − v̄(t), il vient :
ė(t) = M̄e(t),
Ainsi, lorsque la paire (Ā22 , Ā12 ) est observable les valeurs propres de M̄ peuvent être fixées
arbitrairement par un choix convenable de L̄.
Démonstration : Il suffit de montrer que si (Ā, C̄) est observable, alors (Ā22 , Ā12 ) l’est
également. Si (Ā, C̄) est observable, on a :
· ¸ sIl − Ā11 −Ā12
sIn − Ā
∀s, rang = rang −Ā21 sIn−l − Ā22 = n,
C̄
Il 0
19
F. Rotella Observateurs
X
l
w= ki xi ,
i=1
20
F. Rotella Observateurs
- 1i x̂1 - w1
- (ordre ν 1 −1) k1
- 2i x̂2 - w2 ¶³
? ŵ
µ´
- processus - (ordre ν 2 −1) k2 - + -
pp pp
u y
pp pp
6
p p
- ni x̂l - wl
- (ordre ν l −1) kl
où deg Di (p) = ν i −1, deg Nui (p) ≤ deg Di (p) et deg Nyi (p) ≤ deg Di (p). Comme les modes de ces
observateurs réduits peuvent être fixés arbitrairement, on peut choisir le gain de l’observateur
tel que :
∀i ∈ {1, . . . , l}, i 6= ν, ∃Pi (s) ∈ R < p >,
deg Pi (p) = ν − ν i et Dν (p) = Pi (p)Di (p),
où R < p > représente l’ensemble des polynômes en la variable p à coefficients réels et ν l’index
d’observabilité du système défini par :
l
ν = max{ν i }.
i=1
Ainsi, il vient :
X
l X
l
Dν (p)ŵ(t) = Dν (p) wi (t) = Dν (p)wi (t),
i=1 i=1
X
l X
l
£ ¤
= Pi (p)Di (p)wi (t) = Pi (p) Nui (p)u(t) + Nyi (p)y(t) ,
i=1 i=1
" l # " l #
X X
= Pi (p)Nui (p) u(t) + Pi (p)Nyi (p) y(t),
i=1 i=1
= Nu (p)u(t) + Ny (p)y(t),
où deg Dν (p) = ν − 1, deg Nu (p) ≤ deg Dν (p), et deg Ny (p) ≤ deg Dν (p).
Ceci indique que l’observateur d’une forme linéaire peut être réalisé par un observateur
d’ordre ν − 1. Dans le cas où ν − 1 < n − l, ce résultat implique une réduction de l’ordre de
l’observateur par rapport à l’emploi d’un observateur réduit.
21
F. Rotella Observateurs
D’après la relation (11) et compte tenu de l’équation de sortie de (10), si w(t) est une
estimation de Kx(t), alors z(t) sera une estimation d’une autre forme linéaire de l’état, par
exemple T x(t). Soient les erreurs d’estimation :
il vient :
e(t) = P (t) + [P T + V C − K]x(t),
˙ (t) = D (t) + [DT − T A + EC]x(t) + [H − T B]u(t).
Si les relations suivantes :
1. D est une matrice de Hurwitz,
2. T A − DT = EC,
3. P T + V C = K,
4. H = T B,
sont vérifiées, alors limt→∞ e(t) = 0, et (10) constitue bien un observateur asymptotique de
la fonctionnelle linéaire. Lorsque D est fixée, et possède des valeurs propres différentes de
celles de A alors la deuxième relation est soluble pour tout E, et dans ce cas le problème
de la construction de l’observateur réside dans la détermination du triplet (E, P , V ) tel que
soit vérifiée la relation 3 (la dernière donnant directement G), le problème principal étant de
construire un observateur de fonctionnelle linéaire minimal, c’est-à-dire où p est le plus petit
possible. Nous allons regarder quelques méthodes permettant de répondre à cette question.
22
F. Rotella Observateurs
Auparavant, montrons que ces relations sont automatiquement vérifiées dans le cas d’un
observateur réduit. En supposant, ce qui ne restreint pas ce résultat mais simplifie les notations,
supposons que C = [ I 0 ] et K = [ K1 K2 ] alors l’observateur réduit correspond à :
D = A22 − LA12 , H = B2 − LB1 ,
E = A21 + A22 L − LA11 − LA12 L,
P = K2 , V = K1 + K2 L, T = [ −L I ],
ce qui donne :
T A = [ A21 − LA11 A22 − LA12 ], DT = [ LA12 L − A22 L A22 − LA12 ],
T B = B2 − LB1 , P T = [ −K2 L K2 ], V C = [ K1 + K2 L 0 ],
qui montre que les trois dernières relations sont vérifiées, la première ne dépendant que du choix
de L. Cette remarque permet d’affirmer que l’ordre d’un observateur de fonctionnelle linéaire
sera compris entre ν − 1 et n − m.
23
F. Rotella Observateurs
Cas général (m > 1) Dans le cas quelconque la détermination de l’ordre minimal de l’obser-
vateur est délicate, et bien souvent on construira un observateur réduit mais non minimal. On
peut appliquer la méthode précédente avec l’équation linéaire (13) à résoudre où la dimension
de X est m × (p + 1)l, mais le problème réside dans le choix de p. En effet une valeur trop
petite peut conduire à un système non soluble, cependant certains algorithmes, comme celui
de Sirisena permettent d’accéder à cette valeur minimale et de déterminer les paramètres de
l’observateur minimal.
Dans le cas où l’on cherche à construire rapidement un observateur (non forcément minimal)
de la fonctionnelle linéaire :
L1 x
L2 x
Lx = .. , Li ∈ Rn , i = 1, . . . , m,
.
Lm x
24
F. Rotella Observateurs
on peut utiliser une méthode interactive basée sur l’algorithme utilisé dans le cas où m = 1.
Cette méthode consiste à construire un ensemble de m observateurs décrits par les équations :
i ∈ {1, . . . , m},
Pi−1
żi (t) = Di zi (t) + Gi u(t) + Ei y(t) + j=1 Kij zj (t),
25
F. Rotella Observateurs
soit le transfert :
(pI − D + HP )z(t) = HGv(t) + (E − HV )y(t).
La commande u s’écrit donc :
£ ¤ £ ¤
u = I − P (pI − D + HP )−1 H Gv(t) − V + P (pI − D + HP )−1 (E − HV ) y(t).
avec :
S(p) = ∆(p)I,
T (p) = [∆(p)I − M(p)H] G,
R(p) = [∆(p)V + M(p)(E − HV )] .
5.3.3 Robustesse
A partir des expressions précédentes il est facile de calculer le transfert de boucle entre u+
et −u− , lorsque v(t) ≡ 0 et lorsque l’on ouvre la régulation juste avant le système. On obtient :
£ ¤
TBO (p) = V + P (pI − D + HP )−1 (E − HV ) C(pI − A)−1 B,
26
F. Rotella Observateurs
un processus. On a en effet des variables qui agissent sur le système mais qui ne peuvent être
mesurées, et l’objectif consiste ici à construire des résidus qui, selon le cas, doivent être sen-
sibles aux défauts ou insensibles aux perturbations, pour ne citer que deux exemples. Nous
verrons que ces observateurs utilisent les principes de base des observateurs de Luenberger avec
des conditions structurelles supplémentaires.Nous n’utiliserons ici que des observateurs d’ordre
complet, les techniques de réduction de la taille des observateurs pouvant bien sûr être utilisées.
Le principe général utilisé consiste à partir du modèle :
où, en plus des termes habituels, Φ(t) et Ψ(t) représentent, par exemple, l’effet des perturba-
tions, d’entrées non mesurées, des défauts de capteurs ou d’actionneurs. Le but ici étant de
détecter ces influences, on utilise un observateur de Luenberger du résidu :
où le résidu r(t) doit vérifier, si on souhaite être insensible à cette influence, limt→∞ r(t) = 0, et
limt→∞ r(t) 6= 0, dans le cas contraire. D’autre part, nous ne décrirons que le cas des systèmes
continus en gardant bien à l’esprit que tout ce que nous verrons peut être traduit dans un cadre
discret.
où f (t) est une entrée inconnue (non mesurée) et R une matrice constante. Utilisons l’observa-
teur :
ż(t) = Dz(t) + Hu(t) + Ey(t),
b(t) = z(t) − My(t).
x
e(t) = x(t) − x
En introduisant la matrice P = I + MC et l’erreur d’observation x b(t), on
obtient :
27
F. Rotella Observateurs
cette dernière expression étant celle utilisée pour générer les résidus. Pour étudier le comporte-
ment asymptotique du résidu on obtient :
ė
x(t) = P ẋ(t) − ż(t),
= Dex(t) + (P A − DP − EC)x(t) + (P B − H)u(t) + P Rf (t).
Pour que limt→∞ r(t) = 0, pour toutes les entrées, connues et inconnues, et pour tout état
initial, il est nécessaire que les conditions suivantes soient vérifiées :
1. D est une matrice de Hurwitz ;
2. P A − DP = EC;
3. H = P B;
4. P R = 0.
Il s’agit donc de trouver un ensemble de matrices (D, E, M ) telles que soient vérifiées les 4
contraintes précédentes. Pour résoudre ce système on traite d’abord la relation 4, ce qui avec
P = I + MC, s’écrit :
MCR = −R.
D’après l’annexe C, cette équation est soluble si et seulement si :
M = −R(CR)+ ,
EC = A − D + MCA − DMC = F.
Ce système est soluble si et seulement F T ∈ Im(C T ), et lorsque cette condition est vérifiée
on obtient une solution possible sous la forme :
E = F C +,
28
F. Rotella Observateurs
R = UR ΣR VRT ,
puis en posant φ(t) = VRT f (t) obtenir avec x(t) ' x̂(t) :
˙ − Az(t) + AMy(t) − Bu(t)).
ΣR φ(t) = URT (x̂(t)
Comme :
˙ = ż(t) = Dz(t) + Hu(t) + Ey(t),
P x̂(t)
si P est inversible, on obtient :
On pourra estimer toutes les entrées inconnues si ΣR est de rang plein en colonnes.
S = US ΣS VST ,
où φ1 (t) et γ 1 (t) sont des vecteurs de dimension s, l’équation d’état initiale s’écrit :
29
F. Rotella Observateurs
Il est bien évident que l’on peut se ramener à un tel modèle lorsque s est inférieur strictement
à la dimension de y(t), ce qui, en d’autres termes signifie que l’on peut trouver des combinaisons
linéaires de mesures qui sont indépendantes des entrées inconnues.
où b(t) représente une défaillance des actionneurs, m(t), une défaillance des capteurs. L’utilisa-
tion d’un observateur d’ordre plein :
˙
x̂(t) = (A − LC)x̂(t) + Bu(t) + Ly(t),
ŷ(t) = C x̂(t),
conduit au résidu :
˙
x̃(t) = (A − LC)x̃(t) + Bb(t) − Lm(t),
ỹ(t) = C x̃(t) + m(t).
Si L est telle que A − LC soit une matrice de Hurwitz, le résidu ỹ(t) tend bien vers 0 en
l’absence de défauts. Le transfert entre les défauts et les résidus s’écrit :
£ ¤
ỹ(t) = C(pI − A + LC)−1 Bb(t) + I − C(pI − A + LC)−1 L m(t),
30
F. Rotella Observateurs
Cette variable est estimée à partir du même système que précédemment, c’est-à-dire :
et l’estimation d’une défaillance capteur est donnée par l’inversion du modèle initial du
système à savoir : £ ¤−1
β(t) = ∆(p) C(pI − A)−1 B ξ(t),
n o
1 −1
où ∆(p) = diag (p+α) i est la matrice de filtres telle que ∆(p) [C(pI − A)−1 B] soit
bicausale. β(t) n’est pas une estimation des défauts mais plutôt d’un filtrage des défauts,
cependant le caractère diagonal de ∆(p) permet l’isolation.
ẋ = Ax + Bu, x ∈ Rn , u ∈ Rm ,
y = Cx, y ∈ Rl .
31
F. Rotella Observateurs
32
F. Rotella Observateurs
6. La transformation :
xC = TC x,
conduit à l’équation d’état :
ẋC = AC xC + BC u,
y = CC xC ,
avec :
AC = TC ATC−1 =
1 ↑
... µ1
···
1
× × ··· × × × ··· × ↓
× × ··· ×
1 ↑
... µ2
···
1
× × ··· × × × ··· × ↓ ,
× × ··· ×
.. .. ... ..
. . .
1
↑
...
µm
···
1
× × ··· × × × ··· × × × ··· × ↓
←− µ1 −→ ←− µ2 −→ ←− µm −→
↑
µ1
1 × × ··· × ↓
↑
µ2
BC = TC B = 0 1 × · · · × ↓ , CC = CTC−1 .
..
.
↑
µm
0 ··· 0 0 1 ↓
7. Par le changement de variables de commande :
uC = HC u,
33
F. Rotella Observateurs
ẋC = AC xC + B C uC ,
y = CC xC ,
avec :
↑
µ1
1 0 0 ··· 0 ↓
↑
µ2
B C = BC HC−1 = 0 1 0 ··· 0 ↓ .
..
.
↑
µm
0 ··· 0 0 1 ↓
et si cette condition est vérifiée, la construction de la forme canonique observable sera construite
en partant du système dual :
ζ̇ = AT ζ + C T υ,
η = B T ζ,
34
F. Rotella Observateurs
initial :
ẋO = AO xO + BO u,
yO = C O xO ,
où xO = TO x, yO = HO y, et :
AO = TO ATO−1 =
× × × ↑
1 × × × ν1
···
... .. .. ..
. . .
↓
1 × × ×
× × × ↑
× 1 × × ν2
.. .. ··· ..
...
. . .
↓ ,
× 1 × ×
.. .. ... ..
. . .
× × ×
↑
× × 1 ×
νl
.. .. ··· ... ..
. . .
× × 1 × ↓
←− ν 1 −→ ←− ν 2 −→ ←− ν l −→
BO = TO B,
1 0 0
0 1 0
0 0 ..
··· .
C O = HO−1 CTO−1 = .. .. .
. . 0
0 0 1
←− ν 1 −→ ←− ν 2 −→ ←− ν l −→
Les indices ν i , i = 1, . . . , l, mis en évidence pour la construction de cette forme s’appellent
les indices d’observabilité.
35
F. Rotella Observateurs
(resp. à droite), (14) échange la i-ième ligne (resp. colonne) et la j-ième ligne (resp. colonne),
(15) multiplie la i-ième ligne (resp. colonne) par le scalaire non nul α, et (16) ajoute α-fois la
j-ième ligne (resp. i-ième colonne) à la i-ième ligne (resp. j-ième colonne) :
1
..
.
1
0 1
1
Eij =
. .. ,
(14)
1
1 0
1
..
.
1
1
..
.
1
Ei (α) = α , (15)
1
. ..
1
1
..
.
1 0 ··· 0 α
..
. 0
.. ..
Eij (α) = . . . (16)
..
. 0
1
..
.
1
Le principe de la construction de la forme de Smith d’une matrice A(m × n) consiste à
effectuer des multiplications par les matrices élémentaires à droite et à gauche pour se ramener
à la matrice S(m × n), forme de Smith de A, telle que :
· ¸
Ir 0
S= . (17)
0 0
36
F. Rotella Observateurs
Théorème 3 Toute matrice A(m × n) de rang r est équivalente à sa forme de Smith S(m × n)
(17).
C’est-à-dire qu’il existe deux matrices régulières P et Q, non uniques telles que S = P AQ.
Ce principe s’étend utilement aux matrices polynomiales (cf. chap. 11). Comme rang A = rang
S, on en déduit que deux matrices de mêmes dimensions sont équivalentes si et seulement si
elles ont même rang.
où ρA désigne le plus grand module obtenu sur l’ensemble des valeurs propres de A
Théorème 4 Pour toute matrice complexe A(m×n) il existe deux matrices unitaires U (m×m)
et V (n × n), telles que :
U ∗ AV = Σ,
où Σ est une matrice réelle (m × n) diagonale, Σ = diag{σ1 , . . . , σ p } , avec p = min{m, n}, et :
σ 1 ≥ σ 2 ≥ · · · ≥ σ p ≥ 0.
Les σ i apparaissant dans ce théorème sont appelées les valeurs singulières de A d’où le nom
de la décomposition en valeurs singulières de A sous la forme :
A = UΣV ∗ .
Comme :
A∗ A = V ΣT ΣV ∗ , et AA∗ = U ΣΣT U ∗ ,
© ª © ª
où ΣT Σ = diag σ 21 , . . . , σ 2p , 0, . . . , 0 est une matrice (n×n) et ΣΣT =diag σ 21 , . . . , σ 2p , 0, . . . , 0 ,
est une matrice (m × m), où p = min(m, n), les valeurs singulières non nulles sont les racines
∗ ∗
carrées des valeurs
£ propres ¤non nulles £ de la matrice
¤ A A mais aussi celles de la matrice AA .
Notons U = u1 · · · um et V = v1 · · · vn , alors les ui et les vi , d’après les expressions
précédentes reçoivent une interprétation en termes de vecteurs propres de AA∗ ou A∗ A :
— pour i = 1, . . . , n :
A∗ Avi = σ 2i vi ,
37
F. Rotella Observateurs
— pour i = 1, . . . , m :
AA∗ ui = σ 2i ui .
Ainsi lorsque X et Y sont des matrices unitaires de dimensions convenables on a :
σi (XAY ) = σ i (A).
Comme on a également :
AV = UΣ, et A∗ U = V ΣT ,
on obtient les relations suivantes, avec p = min(m, n) :
— pour i = 1, . . . , p :
Avi = σ i ui , et A∗ ui = σ i vi ,
— pour i = p + 1, . . . , max(m, n) :
Avi = 0, et A∗ ui = 0.
Géométriquement, les valeurs singulières d’une matrice sont les longueurs des demi-axes de
l’hyper-ellipsoïde défini par :
et vi leur direction. Ainsi v1 est la direction dans laquelle kAxk est la plus grande sur kxk = 1
et vn , la direction dans laquelle kAxk est la plus petite.
X
r
A= σ i ui vi∗ = Ur Σr Vr∗ .
i=1
5.
X
r
σ 2i = trace(A∗ A)
i=1
Le résultat suivant est intéressant car il permet de fournir la meilleure approximation d’une
matrice par une matrice de rang donnée :
38
F. Rotella Observateurs
Pk
Théorème 6 Soit k < rang A, et Ak = i=1 σ i ui vi∗ , alors :
min kA − Bk = kA − Ak k = σ k+1 .
B,rang(B)≤k
Notons σ̄(A) et σ(A) la plus grande et la plus petite valeur singulière d’une matrice A,
d’après la partie précédente on a :
et :
σ(A) = min kAxk2 .
kxk2 =1
max {0, σ̄(A) − 1} ≤ σ̄(A + I), max {0, σ(A) − 1} ≤ σ(A + I),
£ ¤ √
max {σ̄(A), σ̄(B)} ≤ σ̄ A B ≤ 2 max {σ̄(A), σ̄(B)} .
39
F. Rotella Observateurs
Dans le cas où on travaille sur l’ensemble des matrices réelles, la décomposition en valeurs
singulières s’écrit :
A = U ΣV T ,
où Σ conserve le même sens qu’auparavant et U et V sont deux matrices orthogonales, c’est-à-
dire qu’elles vérifient :
UU T = U T U = I,
V V T = V T V = I.
AXA = A.
Soit S la forme de Smith d’une matrice A de rang r et les matrices régulières P et Q telles
que A = P SQ.
De façon plus générale on peut montrer que la forme d’une inverse généralisée X de A(m×n)
peut être construite à partir de sa forme de Smith par X = Q−1 T P −1 , où T est une matrice
(n × m) qui est de la forme : · ¸
Ir X1
T = ,
X2 X3
où X1 , X2 et X3 sont des matrices quelconques de dimensions convenables.
40
F. Rotella Observateurs
41
F. Rotella Observateurs
9.3 Pseudo-inverse
9.3.1 Notion de pseudo-inverse
Comme l’inverse généralisée n’est pas unique, on cherche des matrices plus particulières
vérifiant les 4 propriétés :
P1 : AXA = A;
P2 : XAX = X;
P3 : (AX)T = AX;
P4 : (XA)T = XA.
A partir de la forme de Smith de A (17), A = P SQ, toute matrice vérifiant les deux
premières propriétés est de la forme Q−1 T P −1 , où T est de la forme :
· ¸
Ir X1
T = .
X2 X2 X1
Toute matrice X vérifiant ces 4 propriétés est une pseudo-inverse de A (on dit aussi inverse
au sens de Moore-Penrose), que l’on notera A+ .
A+ = GT (F T AGT )−1 F T ,
= GT (GGT )−1 (F T F )−1 F T .
42
F. Rotella Observateurs
43
F. Rotella Observateurs
b = A+ y + (I − A+ A)z,
x
x = A+ y.
A+ y + (I − A+ A)z,
et si le système est compatible cette solution est exacte, sinon elle ne l’est qu’au sens des
moindres carrés. Le fait de prendre z = 0 conduit à une certaine simplification.
44
F. Rotella Observateurs
Début
©©HHH
i
© ©
HH a1 = 0 ©H
©
? HH©© ?
A+ T −1 T
1 = (a1 a1 ) a1 A+
1 = 0
?
k=2
-
?
dk = A+
k−1 ak
ck = ak − Ak−1 dk
©?HH
i ©© H
©
H ck = 0 H
? HH ©©© ?
bk = (cT c )−1 cT H© bk = (1 + dTk dk )−1 dTk A+
k k k k−1
?
A+k−1 − dk bk
A+
k =
− − − − − − −−
bk
?
©©HHH
k =k+1 ¾ i
© ©
HH k = n ©H
©
HH©©
?
A+ = A+
n
Fin
45
F. Rotella Observateurs
Références
[1] Aström, K., Wittenmark, B., Computer controlled systems, Prentice Hall, 1984.
[2] Borne, P., Dauphin-Tanguy, D., Richard, J.P., Rotella, F., Zambettakis, I., Commande et
optimisation des processus, Technip, 1992.
[3] Doyle, J.C., Stein, G., Robustness with observers, IEEE Trans. Aut. Control, AC-24, pp.
607—611, 1979.
[4] Friedland, B., Observers, chap. 37, pp. 607—618, The Control Handbook, Levine, W.S., ed.,
CRC Press, 1996.
[5] Kailath, T., Linear systems, Prentice-Hall, 1980.
[6] Lewis, F.L., Syrmos, V.L., Optimal control, John Wiley & Sons, 1995.
[7] Luenberger, D.G., Canonical forms for linear multivariable systems, IEEE Trans. Aut.
Control, AC-12, pp. 290—293, 1967.
[8] Luenberger, D.G., An introduction to observers, IEEE Trans. Aut. Control, AC-16, pp.
596—602, 1971.
[9] Maquin, D., Ragot, J., Diagnostic des systèmes linéaires, Hermès, 2000.
[10] Murdoch, Observer design for a linear functional of the state vector, IEEE Trans. Aut.
Control, AC-18, pp.308—310, 1973.
[11] O’Reilly, J., Observers for linear systems, Academic Press, 1983.
[12] Rotella, F., Borne, P., Théorie et pratique du calcul matriciel, Technip, 1995.
[13] Sirisena, H.R., Minimal order observers for linear functions of a state vector, Int. J. Control,
29, n.2, pp. 235—254, 1979.
46