46
Observation Frédéric Rotella Ecole Nationale d’Ingénieurs de Tarbes [email protected] Table des matières 1 Principe des observateurs 3 2 Utilisation en boucle fermée 5 2.1 Principe de séparation ................................ 6 2.2 Robustesse ....................................... 6 2.3 Forme RST du régulateur-observateur ........................ 7 3 Détermination du gain de l’observateur 8 3.1 Cas monosortie (l = 1) ................................ 8 3.1.1 Calcul direct .................................. 8 3.1.2 Formule de Bass et Gura ........................... 9 3.2 Cas multisortie (l> 1) ................................ 10 3.3 Méthode LTR ..................................... 12 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 5 Simplication des observateurs 17 5.1 Observateur d’ordre réduit .............................. 18 5.1.1 Construction ................................. 18 5.2 Observation d’une fonction linéaire de l’état .................... 20 5.2.1 Réduction de l’ordre de l’observateur .................... 20 5.2.2 Structure générale .............................. 22 5.2.3 Détermination de l’observateur ....................... 23 1

Observateur s

Embed Size (px)

Citation preview

Page 1: Observateur s

Observation

Frédéric RotellaEcole Nationale d’Ingénieurs de Tarbes

[email protected]

Table des matières

1 Principe des observateurs 3

2 Utilisation en boucle fermée 52.1 Principe de séparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Robustesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3 Forme RST du régulateur-observateur . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Détermination du gain de l’observateur 83.1 Cas monosortie (l = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.1.1 Calcul direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.1.2 Formule de Bass et Gura . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 Cas multisortie (l > 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.3 Méthode LTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4 Systèmes discrets 144.1 Observateurs prédicteurs ou correcteurs . . . . . . . . . . . . . . . . . . . . . . . 14

4.1.1 Observateur - prédicteur . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.1.2 Observateur - correcteur . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.1.3 Remarques sur les observateurs de systèmes discrets . . . . . . . . . . . . 16

5 Simplification des observateurs 175.1 Observateur d’ordre réduit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5.1.1 Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.2 Observation d’une fonction linéaire de l’état . . . . . . . . . . . . . . . . . . . . 20

5.2.1 Réduction de l’ordre de l’observateur . . . . . . . . . . . . . . . . . . . . 205.2.2 Structure générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225.2.3 Détermination de l’observateur . . . . . . . . . . . . . . . . . . . . . . . 23

1

Page 2: Observateur s

F. Rotella Observateurs

5.3 Utilisation en boucle fermée et robustesse . . . . . . . . . . . . . . . . . . . . . . 255.3.1 Principe de séparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.3.2 Forme RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.3.3 Robustesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

6 Applications des observateurs 266.1 Observateurs à entrées inconnues . . . . . . . . . . . . . . . . . . . . . . . . . . 27

6.1.1 Estimation des entrées inconnues . . . . . . . . . . . . . . . . . . . . . . 296.1.2 Mesures dépendant des entrées inconnues . . . . . . . . . . . . . . . . . . 29

6.2 Détection de défauts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

7 Annexe : Algorithme de Luenberger 317.1 Forme canonique commandable . . . . . . . . . . . . . . . . . . . . . . . . . . . 327.2 Forme canonique observable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

8 Annexe B : Formes canoniques de matrices 358.1 Forme de Smith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358.2 Décomposition en valeurs singulières . . . . . . . . . . . . . . . . . . . . . . . . 37

9 Annexe C : Inverses généralisées et systèmes linéaires 409.1 Inverse généralisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409.2 Application aux systèmes linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . 419.3 Pseudo-inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

9.3.1 Notion de pseudo-inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . 429.3.2 Formes explicites de la pseudo-inverse . . . . . . . . . . . . . . . . . . . . 429.3.3 Quelques propriétés de la pseudo-inverse . . . . . . . . . . . . . . . . . . 439.3.4 Algorithme de Greville-Albert-Sittler . . . . . . . . . . . . . . . . . . . . 449.3.5 Application aux systèmes linéaires incompatibles . . . . . . . . . . . . . 449.3.6 Résolution d’un système linéaire . . . . . . . . . . . . . . . . . . . . . . . 44

Références 44

2

Page 3: Observateur s

F. Rotella Observateurs

Processus Reconstructeur

Modèle d’état x

--

--

?

entréessorties

xestimationde x

Fig. 1 — Principe d’un estimateur.

De nombreuses méthodes de commande des processus utilisent le principe du retour d’état(commande optimale, découplage, placement de pôles,. . . ). Comme dans la plupart des cas, lesseules grandeurs accessibles du système sont les variables d’entrée et de sortie, il est nécessaire,à partir de ces informations, de reconstruire l’état du modèle choisi pour élaborer la commande.Un reconstructeur d’état ou estimateur est un système (figure 1) ayant comme entrées lesentrées et les sorties du processus réel et dont la sortie est une estimation de l’état de ceprocessus.Sous l’hypothèse de linéarité du modèle du processus, la structure de base de l’estimateur

est toujours la même, mais sa réalisation dépendra du contexte choisi : continu ou discret,déterministe ou stochastique.Dans le cas où ce modèle est un modèle déterministe, le reconstructeur d’état sera appelé

observateur, ce qui sera l’objet de ce cours. Dans le cas de systèmes bruités, où interviennentdes phénomènes aléatoires, nous parlerons alors de filtre et cela constitue l’objet du cours surle filtre de Kalman.

1 Principe des observateurs

Soit un système continu décrit par l’équation d’état (déterministe car non bruitée) :

x(t) = Ax(t) +Bu(t),y(t) = Cx(t) +Du(t),

(1)

où u(t), y(t) et x(t) sont des vecteurs de dimension m, l et n et représentent respectivementla commande, la sortie (mesurée) et l’état du système. Les matrices A, B, C et D sont desmatrices constantes de dimensions convenables.

3

Page 4: Observateur s

F. Rotella Observateurs

Comme l’état n’est en général pas accessible, l’objectif d’un observateur consiste, en vue deréaliser une commande par retour d’état, d’estimer cet état par une variable que nous noteronsx(t). Cette estimation est réalisée par un système dynamique dont la sortie sera précisémentx(t) et l’entrée sera constituée de l’ensemble des informations disponibles, c’est-à-dire u(t) ety(t). La structure d’un observateur est de la forme :

·x (t) = Ax(t) +Bu(t) + L(y(t)− y(t)),

y(t) = Cx(t) +Du(t),

où apparait clairement le terme correctif en fonction de l’erreur de reconstruction de la sortie,y(t) − y(t), et le gain de correction, L, appelé gain de l’observateur est à déterminer. Cettestructure peut être écrite sous la forme :

·x (t) = (A− LC)x(t) + (B − LD)u(t) + Ly(t).

Si on considère l’erreur d’estimation :

x(t) = x(t)− x(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 :

x(t) = exp [(A− LC)t] x(0).

Pour que l’observateur soit utilisable il est nécessaire que cette erreur tende vers 0 lorsquet augmente. Lorsque cette propriété est satisfaite l’observateur est dit asymptotique, mais ilest évident que c’est une propriété nécessaire au fonctionnement correct d’un observateur. Enconséquence il faudra choisir L telle que les valeurs propres de la matrice A−LC soient toutesà partie réelle strictement négative.

Théorème 1 Les valeurs propres de A−LC peuvent être fixées arbitrairement si et seulementsi la paire (A,C) est observable, i.e. :

rang

CCACA2

...CA(n−1)

= n.

4

Page 5: Observateur s

F. Rotella Observateurs

processus(A,B,C,D)

+µ´¶³

+µ´¶³

−K

B − LD

L

A− LC

R6

-- -

?

?- - -

¾

Gv(t)u(t)

y(t)

x(t)

×u−

×u+

Fig. 2 — Commande par régulateur-observateur.

Dans ce cas, une grande liberté est laissée au choix des valeurs propres, mais en pratique onchoisit une dynamique d’erreur plus rapide que celle du processus dans le cas d’une observationen boucle ouverte ou que celle désirée en boucle fermée. Cependant on ne peut les prendreinfiniment grandes pour deux raisons essentielles : on ne peut utiliser que des gains réalisableset l’augmentation de la bande passante du reconstructeur ne permet plus de négliger les bruitsqui deviennent prépondérants en haute fréquence.

2 Utilisation en boucle fermée

En supposant que tout l’état soit accessible, la commande par retour d’état que l’on veutmettre en œuvre est de la forme :

u(t) = Gv(t)−Kx(t),

où v(t) est la nouvelle entrée, K est le gain de retour d’état qui est défini par la structuredésirée pour le système bouclé (i.e. A− BK), et G un gain de prébouclage qui est calculé engénéral en fonction du gain statique désiré.Comme l’état n’est pas accessible, la commande réellement mis en œuvre devient :

u(t) = Gv(t)−Kx(t), (2)

et nous allons voir les conséquences d’utiliser la structure de commande par régulateur-observateurdécrite dans la figure 2.

5

Page 6: Observateur s

F. Rotella Observateurs

2.1 Principe de séparation

L’utilisation de (2) dans (1) conduit à l’équation d’état du système en boucle fermée :"x(t)·x (t)

#=

·A−BK BK

0 A− LC

¸ ·x(t)x(t)

¸+

·BG0

¸v(t),

y(t) =£C −DK DK

¤ · x(t)x(t)

¸+DGv(t).

De ces relations on déduit deux conséquences :— le principe de séparation : les dynamiques du système commandé par un régulateur-observateur en boucle fermée, i.e. les valeurs propres de la matrice :·

A−BK BK0 A− LC

¸sont constituées de la réunion de celles désirées en boucle fermée et celles de l’observateur.Ainsi on peut régler de façon indépendante le problème de la régulation et le problèmede l’observation ;

— la non observabilité et non commandabilité de l’observateur : si l’on calcule le transfertobtenu à l’aide de la structure régulateur-observateur, on arrive à :

TBF(p) = DG+£C −DK DK

¤×·pI −A+BK −BK

0 pI −A+ LC

¸−1 ·BG0

¸,

= DG+ (C −DK)(pI −A+BK)−1BG,

c’est-à-dire le transfert que l’on aurait obtenu si on avait utilisé le retour d’état avec accèscomplet à l’état.

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 ceparagraphe comment juger de la robustesse en stabilité du régulateur-observateur construit cequi 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, lorsquele lien entre les deux (×)est ouvert.On a les relations :

u−(t) = Gv(t)−Kx(t),·x (t) = (A− LC)x(t) + (B − LD)u−(t) + Ly(t),

6

Page 7: Observateur s

F. Rotella Observateurs

ce qui conduit au transfert entre y(t) et u−(t) :

Ty(t)→u−(t) = −K(pI −A+ LC +BK − LDK)−1L.

Ainsi le transfert de u+(t) vers −u−(t) s’écrit :TBO(p) = K(pI −A+ LC +BK − LDK)−1L

£D + C(pI −A)−1B

¤.

Notons que ce transfert est également à comparer au transfert idéal de la boucle ouverteque l’on obtiendrait si l’on avait accès à l’état, soit :

T ∗BO(p) = K(pI −A)−1B,

Si l’on veut que TBO(p) soit aussi proche que possible de T ∗BO(p) il faut choisir K et L telsque :

K(pI −A+ LC +BK − LDK)−1LC ' K,

K(pI −A+ LC +BK − LDK)−1LD ' 0.

Le principe de détermination des gains reposant sur cette technique s’appelle le recouvre-ment de transfert de boucle (Loop Transfer Recovery) et sera décrit ultérieurement.

2.3 Forme RST du régulateur-observateur

En reprenant les calculs précédents on obtient que la commande fournie par le régulateur-observateur s’écrit sous la forme :

u(t) = Tv(p)v(t)− Ty(t)y(t),

où :

Tv(p) = (I −K(pI −A+ LC +BK − LDK)−1(B − LD))G,

Ty(t) = K(pI −A+ LC +BK − LDK)−1L.

En notant∆(p) = det (pI−A+LC+BK−LDK), etM(p) = K [Com(pI −A+ LC +BK − LDK)]T

on obtient la commande écrite sous une forme RST :

S(p)u(t) = T (p)v(t)−R(p)y(t),

avec :

S(p) = ∆(p)I,

T (p) = (∆(p)I −M(p)(B − LD))G,

R(p) = M(p)L.

Dorénavant, et parce que cela est vérifié pour la plupart des processus nous supposerons,pour simplifier les expressions, que D = 0. Dans le cas où D est non nul, une méthode simplepermettant sans aucun changement d’utiliser les résultats qui suivent est de construire le nou-veau vecteur de mesures Y (t) = y(t)−Du(t) = Cx(t).

7

Page 8: Observateur s

F. Rotella Observateurs

3 Détermination du gain de l’observateur

Comme nous l’avons vu le gain de l’observateur est fixé d’après le choix des valeurs propresde la matrice A− LC. Mais comme :

det(pI −A+ LC) = det(pI −AT + CTLT ),

les méthodes que l’on utilise sont directement transposées des méthodes utilisées pour trouverun gain de retour d’état qui place les pôles du système bouclé. Dans ce qui suit nous noteronspar a(p) = det(pI − A) = pn +

Pn−1i=0 aip

i et a(p) le polynôme représentant les dynamiquesdésirées pour l’observateur :

a(p) =nYi=1

(p− λi) = pn +n−1Xi=0

aipi,

où les λi sont les valeurs propres désirées pour A− LC.

3.1 Cas monosortie (l = 1)

Il s’agit de déterminer les n composantes du vecteur L :

L =

l1l2...ln

.Cela peut être fait directement ou par la formule de Bass et Gura qui permet la constructiond’un algorithme.

3.1.1 Calcul direct

En développant det(pI −A+ LC) on obtient :

det(pI −A+ LC) = pn +n−1Xi=0

fi(l1, . . . , ln)pi,

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) = FiL. Les n égalités :

i = 0, . . . , n− 1, fi(l1, . . . , ln) = ai,

conduisent à :FL = a,

8

Page 9: Observateur s

F. Rotella Observateurs

où :

F =

F0F1...

Fn−1

, a =

a0a1...

an−1

.On obtient donc le gain par :

L = F−1a.

3.1.2 Formule de Bass et Gura

On peut écrire :

a(p) = det(pI −A+ LC) = a(p) det(I − (pI −A)−1LC),

et comme det(I −MN) = det(I −NM), on obtient :

a(p) = a(p) det(1− C(pI −A)−1L) = a(p)− a(p)C(pI −A)−1L.

Or la formule de Leverrier-Souriau donne :

a(p)(pI −A)−1 = pn−1I + (A+ an−1I)pn−2 +

(A2 + an−1A+ an−2I)pn−3 + · · ·+(An−1 + an−1An−2 + · · ·+ a2A+ a1I),

ce qui permet d’obtenir, en notant :

a =

an−1 − an−1an−2 − an−2

...a0 − a0

,les relations :

an−1 − an−1 = CL,

an−2 − an−2 = CAL+ an−1CL,

an−3 − an−3 = CA2L+ an−1CAL+ an−2CL,...

a0 − a0 = CAn−1L+ an−1CAn−2L+ · · ·+ a2CAL+ a1CL.

Cet ensemble de relations se met sous la forme matricielle :

a = TAO(A,C)L,

9

Page 10: Observateur s

F. Rotella Observateurs

où :

TA =

1 0 · · · · · · 0

an−1 1 0 0

an−2 an−1. . . . . .

......

. . . 1 0a1 a2 · · · an−1 1

, O(A,C) =

CCACA2

...CAn−1

.Lorsque la paire (A,C) est observable, O(A,C) est régulière et on obtient :

L = O−1(A,C)T−1A a.

3.2 Cas multisortie (l > 1)

Le cas à plusieurs sorties ne peut être traité directement car on arriverait à un système,toujours linéaire mais de à n équations et à nl inconnues, les composantes de L. Pour éviterle problème du choix des inconnues principales et des inconnues secondaires de ce systèmesurdéterminé, nous allons passer par une forme plus simple de l’équation d’état. Cette méthodepeut être vue comme une généralisation de la formule de Bass et Gura.Suivant l’annexe sur les formes canoniques, lorsque le système est observable, on peut, par

les changements de variables : xO = TOx et y = HOyO, ramener l’équation d’état (1) sous laforme canonique observable de Luenberger :

xO(t) = AOxO(t) +BOu(t),yO(t) = COxO(t),

(3)

où AO = TOAT−1O , BO = TOB, et CO = H−1

O CT−1O , mais où les matrices AO, CO et HO

possèdent les structures suivantes :— AO est formée de l2 sous-matrices A

ijO, i = 1 à l, j = 1 à :

AO =

A11O · · · A1lO...

...Al1O · · · All

O

,qui sont de taille (νi×νj) où les νk sont les l indices d’observabilité qui vérifient

Plk=1 νk =

n. De plus, ces sous-matrices ont la forme :

AiiO =

0 · · · 0 ×1. . .

... ×0. . . 0

...0 0 1 ×

, et pour i 6= j, AijO =

0 · · · 0 ×...

......

.........

0 · · · 0 ×

;

10

Page 11: Observateur s

F. Rotella Observateurs

— CO est formée de l sous-matrices CiO, i = 1 à l :

CO =£C1O · · · C l

O

¤,

qui sont de taille (l × νi) et qui ont des composantes toutes nulles sauf la composante(Ci

O)i,νi qui est égale à 1 ;— HO est une matrice (l × l) qui a pour structure :

HO =

1 0 · · · 0

× 1. . .

......

. . . 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 :

a(p) = det(pI −A+ LC),

= det(pI − T−1O AOTO + LHOCOTO),

= det(pI −AO + LOCO),

avec LO = TOLHO et à organiser ce nouveau gain sous la forme :

LO =

L11O · · · L1lO...

...Ll1O · · · Lll

O

,où les Lij

O, i = 1 à l, j = 1 sont des vecteurs de dimensions (νi × 1). Lorsque l’on réalise alorsl’opération AO−LOCO on s’aperçoit que l’on peut fixer les vecteurs L

ijO par les règles suivantes :

— les vecteurs LijO avec i 6= j sont égaux à la dernière colonne de la matrice Aij

O, ce qui rendAO diagonale par blocs ;

— on décompose le polynôme caractéristique désiré, soit a(p) en l polynômes ai(p), chacunde degré νi :

a(p) =lY

i=1

ai(p);

— les l relations :det(pI −Aii

O + LiiO[ 0 · · · 0 1 ]) = ai(p),

fournissent directement les LiiO.

Ayant obtenu LO, on obtient L par :

L = T−1O LOH−1O .

11

Page 12: Observateur s

F. Rotella Observateurs

3.3 Méthode LTR

Une méthode de réglage du gain de retour d’état est basée sur la minimisation du critère :

J =

Z ∞

0

(uTRu+ xTQx)dt, (4)

où R et Q sont deux matrices définies positives et conduit au gain optimal :

K = R−1BTP,

où P est solution de l’équation algébrique de Riccati :

ATP + PA− PBR−1BTP +Q = 0.

Par dualité on peut proposer une forme “optimale” pour le gain de l’observateur sous laforme :

L = ΠCTΣ−1,

où Π est solution de l’équation algébrique de Riccati :

AΠ+ΠAT −ΠCTΣ−1CΠ+ Λ = 0,

où Σ et Λ sont deux matrices définies positives. Dans le cadre du filtrage optimal on peutdonner 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. Cettetechnique est avantageuse car elle assure une bonne robustesse en stabilité, cependant elle n’estutilisable que sur les systèmes carrés à minimum de phase, c’est-à-dire sur ceux dont les zérosdu transfert initial :

F (p) = C(pI −A)−1B,

sont tous à partie réelle négative.La procédure LTR consiste à poser :

Λ = BBT + ν2M,

Σ = ν2N,

où M et N sont définies positives et ν un petit paramètre que l’on va faire tendre vers 0. Dansces conditions l’équation algébrique de Riccati devient :

AΠ+ΠAT −ΠCT (ν2N)−1CΠ+BBT + ν2M = 0,

et le gain :L = ΠCT (ν2N)−1. (5)

On en déduit :ΠCTN−1CΠ = ν2(AΠ+ΠAT +BBT ) + ν4M,

12

Page 13: Observateur s

F. Rotella Observateurs

soit :limν→0

Π = 0 et limν→0

L(ν2N)LT = BBT .

Ainsi :limν→0

L =1

νBUN−1/2,

où U est une matrice carrée orthogonale, UUT = I, et N1/2 est une racine carrée de N,N = N1/2(N1/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 unematrice orthogonale, V, et une matrice diagonale positive, ∆ = diag {di, di > 0} , telles queN = V∆V T . En posant

√∆ = diag

©√diª, on peut écrire :

N1/2 = V√∆V T .

Dans ces conditions, il vient :

limν→0

L =1

νBW√∆−1V T ,

où W est une matrice orthogonale arbitraire.Maintenant il s’agit de montrer que lorsque ν tend vers 0, le transfert TBO(p) :

TBO(p) = K(pI −A+ LC +BK)−1LC(pI −A)−1B,

tend vers le transfert idéal T ∗BO(p) = K(pI −A)−1B. Pour ce faire, posons :

Φ = (pI −A+BK)−1.

Alors, l’utilisation du lemme d’inversion matricielle :

(A+BCD)−1 = A−1 −A−1B(C−1 +DA−1B)−1DA−1,

conduit à écrire :TBO(p) = KΦL[I + CΦL]−1F (p).

Lorsque ν tend vers 0, le transfert TBO(p) tend vers :

KΦ1

νBUN−1/2[I + CΦ

1

νBUN−1/2]−1F (p)

= KΦBUN−1/2[νI + CΦBUN−1/2]−1F (p)−→ KΦB[CΦB]−1F (p).

D’autre part, toujours en utilisant le lemme d’inversion matricielle, on a :

Φ = (pI −A)−1 − (pI −A)−1B[I + T ∗BO(p)]−1K(pI −A)−1,

13

Page 14: Observateur s

F. Rotella Observateurs

ce qui conduit aux relations :

KΦB = T ∗BO(p)[I + T ∗BO(p)]−1,

CΦB = F (p)[I + T ∗BO(p)]−1.

Ainsi, lorsque F (p) est d’inverse stable :

KΦB[CΦB]−1F (p) = T ∗BO(p).

En résumé la procédure LTR se déroule suivant les étapes :

1. On calcule K par la minimisation d’un critère linéaire quadratique (4). Cela n’est pasobligatoire mais cela permet d’assurer de bonnes marges de robustesse a priori.

2. On calcule un gain optimal (5) avec Λ = BBT +ν2M, Σ = ν2N où ν est fixé à une valeurarbitraire.

3. On trace les caractéristiques fréquentielles obtenues avec TBO(jω).

4. On mesure les marges de robustesse. Si elles sont satisfaisantes on garde les gains trouvéssinon on revient à la deuxième étape en diminuant ν.

4 Systèmes discrets

4.1 Observateurs prédicteurs ou correcteurs

Considérons le système discret stationnaire défini par :

xk+1 = Axk +Buk,yk = Cxk,

où k ∈ N, xk ∈ Rn est l’état du modèle, uk ∈ Rm, l’entrée du processus, yk ∈ Rl, la sortiemesurée du processus, et A, B et C sont des matrices de dimensions adaptées.On construit un observateur pour ce système par le principe énoncé dans le cas des systèmes

continus, c’est-à-dire :xk+1 = Axk +Buk +Gk,

oùGk est un terme de correction, seulement ici nous distinguerons plusieurs types de correctionsdonc d’observateurs suivant que la mesure est disponible à l’instant précédent l’estimation ouà l’instant de l’estimation. Dans le premier cas nous construirons un observateur-prédicteurdonnant une estimation de l’état à l’instant k + 1 d’après ce que l’on connait à l’instant k,nous noterons xk+1/k cette prédiction. Dans le deuxième cas, nous construirons un observateur-correcteur, l’estimation de l’état sera alors notée xk+1/k+1.

14

Page 15: Observateur s

F. Rotella Observateurs

4.1.1 Observateur - prédicteur

Dans ce premier cas on envisage Gk = Lp[yk − yk/k−1], où Lp est un gain, ce qui conduit aureconstructeur d’état défini par :

xk+1/k = Axk/k−1 +Buk + Lp[yk − yk/k−1],

avec yk/k−1 = Cxk/k−1. Ce qui peut s’écrire également :

xk+1/k = [A−KpC]xk/k−1 +Buk + Lpyk.

Cette structure est identique à celle obtenue dans le cas des systèmes continus. En notantxk+1/k l’erreur de reconstruction xk+1 − xk+1/k, il vient :

xk+1/k = [A− LpC]xk/k−1.

Le reconstructeur est asymptotique si le gain Lp est choisi tel que les valeurs propres de lamatrice A−LpC sont, en module, inférieures à l’unité (on a alors une matrice de Schur). Dansle 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.

4.1.2 Observateur - correcteur

Dans le cas où yk+1 est connue, on peut envisager que Gk = Lc[yk+1 − yk+1], où Lc est ungain et yk+1 représente l’estimation de la sortie à l’instant k + 1 qui peut être réalisée de deuxfaçons différentes : par anticipation ou par prédiction. L’estimation de xk+1 est fournie par lereconstructeur :

xk+1/k+1 = Axk/k +Buk + Lc[yk+1 − yk+1].

Anticipation Si on suppose connue xk+1/k+1, on pose dans ce cas :

yk+1 = Cxk+1/k+1,

ce qui conduit à écrire l’observateur, sous la forme :

xk+1/k+1 = [I + LcC]−1[Axk/k +Buk + Lcyk+1].

L’erreur de reconstruction, xk+1/k+1 = xk+1− xk+1/k+1, est définie par l’équation récurrente :

xk+1/k+1 = [I + LcC]−1Axk/k.

Pour obtenir un reconstructeur asymptotique, Lc doit être choisie telle que [I + LcC]−1Asoit une matrice de Schur. Cela n’est pas toujours possible et c’est ce qui rend cette formed’observateur peu utilisée en pratique.

15

Page 16: Observateur s

F. Rotella Observateurs

Prédiction Dans ce cas, yk+1 est la meilleure estimation que l’on puisse faire de la sortie àpartir de l’information disponible avant le calcul de xk+1/k+1. On pose donc :

yk+1 = C[Axk/k +Buk],

ce qui conduit à la deuxième forme de reconstructeur-correcteur :

xk+1/k+1 = [I − LcC][Axk/k +Buk] + Lcyk+1.

Avec les mêmes notations que précédemment, l’erreur de reconstruction est régie par l’équa-tion :

xk+1/k+1 = [I − LcC]Axk/k,

Si le gain Lc est choisi tel que [I − LcC]A soit de Schur, le reconstructeur obtenu seraasymptotique. 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 remarquerque l’on a :

O(A,CA) =

CACA2

...CAn

=

CCA...

CAn−1

A = O(A,C)A,

soit, si la paire (A,C) est observable, d’après les inégalités de Sylvester, rang (O(A,CA)) = rangA. Ainsi cet observateur ne sera pas utilisé lorsque A a une valeur propre nulle, car on a uneperte d’observabilité.

4.1.3 Remarques sur les observateurs de systèmes discrets

Quel que soit le type d’observateur choisi, le principe de séparation énoncé dans le casdes systèmes continus reste valide : commande par retour d’état et observateur (prédicteur oucorrecteur) peuvent être déterminés séparément.Comme dans le cas continu, deux approches existent pour le choix du gain du reconstructeur

d’état, l’une basée sur la notion de placement de pôles, l’autre basée sur la minimisation d’uncritère quadratique associé, la procédure LTR pouvant également être appliquée.Cependant, dans le cas des systèmes discrets, il existe un choix particulièrement intéressant

qui consiste à déterminer L tel que la matrice A−LC soit nilpotente, c’est à dire que toutes sesvaleurs propres soient nulles. En effet, dans ce cas on obtient un observateur à réponse pile oùl’erreur est exactement nulle au bout de max {νi} pas où les νi sont les indices d’obesrvabilité.Notons la différence avec un observateur asymptotique où l’erreur d’estimation tend vers 0.Pour calculer le gain L correspondant on reprend la technique développée dans le cas continuet il suffit de prendre LO telle que toutes les composantes significatives de AO − LOCO soientnulles.

16

Page 17: Observateur s

F. Rotella Observateurs

Une autre technique mais qui ne demande pas de passage par la forme canonique observableconsiste à faire les remarques suivantes :

Yk =

ykyk+1...

yk+n−1

= O(A,C)xk +MUk,

où :

Uk =

ukuk+1...

uk+n−2

, M =

0 · · · 0

CB. . .

......

. . . 0CAn−2B · · · CB

,soit, si le système est observable :

xk = O−1(A,C)(Yk −MUk).

Cependant, cet obervateur n’étant pas réalisable, il convient de remarquer également que :

xk = Axk−1 +Buk−1,

= A2xk−2 +ABuk−2 +Buk−1,...

= An−1xk−n+1 +n−1Xi=1

Ai−1Buk−i,

= An−1xk−n+1 +ΨUk−n+1,

où Ψ =£An−2B · · · AB B

¤. Or xk−n+1 = O−1(A,C)(Yk−n+1 −MUk−n+1), ce qui conduit à

l’observateur réalisable :

xk = An−1O−1(A,C)Yk−n+1 +³Ψ−An−1O−1(A,C)M

´Uk−n+1.

5 Simplification des observateurs

Dans les parties précédentes, nous avons déterminé des systèmes observateurs de même di-mension que l’état du système à reconstruire. Nous allons montrer que l’on peut construire,en réalité, des reconstructeurs d’ordre inférieur. Plusieurs principes peuvent être utilisés. Nousregarderons successivement : le reconstructeur réduit de Luenberger qui estime la partie nonaccessible de l’état et les observateurs de fonctionnelles linéaires de l’état qui permettent d’es-timer directement la commande lorsque celle-ci est un retour d’état linéaire. Nous verrons quesi dans le premier cas l’observateur est assez facile à déterminer, il n’en est pas de même dansle deuxième. Cependant cette dernière solution est très intéressante car elle permet d’obtenirdes observateurs de taille beaucoup plus petite (la minimalité est encore un problème ouvert)et donc d’augmenter la robustesse d’une régulation par régulateur-observateur.

17

Page 18: Observateur s

F. Rotella Observateurs

5.1 Observateur d’ordre réduit

5.1.1 Construction

Cet observateur, appelé observateur de Luenberger, utilise le fait que la matrice d’ob-servation soit de rang plein. Cette hypothèse n’est pas restrictive car il suffit alors d’éliminerles composantes de la sortie redondantes. Soit le système (1) avec D = 0, et où après unepermutation des variables d’état, les matrices A, B, C, et le vecteur x sont de la forme :

A =

·A11 A12A21 A22

¸, B =

·B1B2

¸,

C =£C1 C2

¤, x =

·x1x2

¸,

où rang C1 = l, A11 et C1 ∈ Rl×l, x1 ∈ Rl, et B1 ∈ Rl×m.Le changement de variables :

x =

·C1 C20 In−l

¸x,

transforme le système (1) en :

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

y(t) = Cx(t),(6)

où :

x =

·x1x2

¸, A =

·A11 A12A21 A22

¸, B =

·B1B2

¸, C =

£Im 0

¤.

Ces matrices sont définies par :

A11 = [C1A11 + C2A21]C−11 ,

A12 = −A11C2 + [C1A12 + C2A22],

A21 = A21C−11 ,

A22 = A22 −A21C−11 C2,

B1 = C1B1 + C2B2.

L’équation d’état (6) s’écrit donc sous la forme :

˙x1(t) = A11x1(t) + A12x2(t) + B1u(t),

˙x2(t) = A21x1(t) + A22x2(t) +B2u(t),

y(t) = x1(t),

(7)

où la sortie correspond aux l premières composantes d’état, elles n’ont donc pas à être re-construites. La première équation de (7) peut alors être considérée comme une mesure ξ(t)dépendant de x2(t), variables d’état à reconstruire, et de u(t) :

ξ(t) = ˙x1(t)− A11x1(t) = A12x2(t) + B1u(t).

18

Page 19: Observateur s

F. Rotella Observateurs

Suivant le principe de construction des observateurs, on peut proposer comme reconstructeurde x2(t), le vecteur v(t) défini par :

˙v(t) = A21x1(t) + A22v(t) +B2u(t) + L[ξ(t)− ξ(t)],

x1(t) = y(t), ξ(t) = A12v(t) + B1u(t).

L’inconvénient de cette structure est de nécessiter, pour élaborer la mesure ξ(t), la dérivationde la sortie réelle y(t). De façon à contourner cette difficulté, on définit la variable :

z(t) = v(t)− Ly(t),

ce qui permet d’obtenir :

˙z(t) = ˙v(t)− K ˙x1(t),

= A21x1(t) + A22v(t) +B2u(t)−L[A11x1(t) + A12v(t) + B1u(t)],

(8)

où n’apparaît aucune dérivation de la sortie. En tenant compte du fait que v(t) = z(t) + Ly(t)et x1(t) = y(t), (8) se réécrit sous la forme :

˙z(t) = Mz(t) + Nu(t) + P y(t),

M = A22 − LA12,

N = B2 − LB1,

P = A21 + A22L− LA11 − LA12L.

(9)

Cette équation d’état définit un observateur réduit (d’ordre n − l) pour le système (7), lavariable x2(t) étant reconstruite par :

v(t) = z(t) + Ly(t),

où L est la matrice ((n − l) × l) de gain de cet observateur. Notons l’erreur d’observatione(t) = x2(t)− v(t), il vient :

e(t) = Me(t),

Ainsi, lorsque la paire (A22, A12) est observable les valeurs propres de M peuvent être fixéesarbitrairement par un choix convenable de L.

Théorème 2 Si (A,C) est observable, alors (A22, A12) est observable.

Démonstration : Il suffit de montrer que si (A, C) est observable, alors (A22, A12) l’estégalement. Si (A, C) est observable, on a :

∀s, rang·sIn − A

C

¸= rang

sIl − A11 −A12−A21 sIn−l − A22Il 0

= n,

19

Page 20: Observateur s

F. Rotella Observateurs

ce qui est équivalent à :

∀s, rang·

A12sIn−l − A22

¸= n− l,

donc (A22, A12) est une paire observable.Dans le cas où le système initial est observable, on peut appliquer les techniques de dé-

termination du gain à la paire (A22, A12) pour déterminer le gain L. L’observateur réduit dusystème (1) a finalement la structure suivante, en notant x1 et x2 les estimations des vecteursx1 et x2 :

˙z(t) = Mz(t) + Nu(t) + P y(t),

où M , N et P sont définies par les relations (9) et :

x1(t) = C−11 [(I − C2L)y(t)− C2z(t)],

x2(t) = z(t) + Ly(t).

5.2 Observation d’une fonction linéaire de l’état

Dans la plupart des cas, l’observation de l’état d’un système est réalisée pour construire uneloi de commande linéaire de retour d’état de la forme Kx. On peut donc penser à construireun reconstructeur (appelé observateur de fonctionnelle linéaire) estimant directement lavariable w(t) = Kx(t) sans utiliser l’étape intermédiaire d’estimation de l’état. Nous verronsdans ce paragraphe que cela apporte une simplification, par diminution de l’ordre, de la structurede l’observateur utilisé.

5.2.1 Réduction de l’ordre de l’observateur

Si on considère le cas des systèmes mono-entrées, m = 1, la fonctionnelle linéaire à estimerest une forme linéaire de l’état, w = kx, k ∈ Rn. L’utilisation de la méthode de calcul dugain indique que l’observation de l’état d’un système multi-sorties se fait par l’intermédiairede l sous-systèmes chacun observant une partie xi de l’état et dont les ordres sont donnés parles l indices d’observabilité νi, i ∈ {1, . . . , l}, définis à l’annexe sur l’algorithme de Luenberger.L’utilisation du principe de réduction d’ordre détaillé dans la partie précédente permet d’amenerl’ordre de ces sous-systèmes à νi − 1. La décomposition de la variable sous la forme :

w =lX

i=1

kixi,

conduit à la structure de principe de la figure 3. .En considérant le transfert de chacun des observateurs, on peut écrire :

i = {1, . . . , l}, Di(p)wi(t) = N iu(p)u(t) +N i

y(p)y(t),

20

Page 21: Observateur s

F. Rotella Observateurs

processus

k1

k2

kl

i(ordre ν1−1)

i(ordre ν2−1)

i(ordre νl−1)

µ´¶³+

1

2

n

x1

u

x2

y

xl

w1

w2

wl

w

- -

- - - - -

-

-

-- -

?

6ppppp ppppp

Fig. 3 — Utilisation d’bservateurs réduits.

où degDi(p) = νi−1, degN iu(p) ≤ degDi(p) et degN i

y(p) ≤ degDi(p). Comme les modes de cesobservateurs réduits peuvent être fixés arbitrairement, on peut choisir le gain de l’observateurtel que :

∀i ∈ {1, . . . , l}, i 6= ν, ∃Pi(s) ∈ R < p >,

degPi(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’indexd’observabilité du système défini par :

ν =l

maxi=1{νi}.

Ainsi, il vient :

Dν(p)w(t) = Dν(p)lX

i=1

wi(t) =lX

i=1

Dν(p)wi(t),

=lX

i=1

Pi(p)Di(p)wi(t) =lX

i=1

Pi(p)£N i

u(p)u(t) +N iy(p)y(t)

¤,

=

"lX

i=1

Pi(p)Niu(p)

#u(t) +

"lX

i=1

Pi(p)Niy(p)

#y(t),

= Nu(p)u(t) +Ny(p)y(t),

où degDν(p) = ν − 1, degNu(p) ≤ degDν(p), et degNy(p) ≤ degDν(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 del’observateur par rapport à l’emploi d’un observateur réduit.

21

Page 22: Observateur s

F. Rotella Observateurs

5.2.2 Structure générale

L’étude du cas particulier précédent nous a permis de mettre en évidence la réduction de di-mensionnalité apportée par la notion d’observateurs de formes linéaires. Dans cette partie, nousallons préciser, dans le cas général d’une fonctionnelle linéaire, l ≥ 1, la structure de l’observa-teur utilisé. Pour estimer la fonctionnelle linéaire, Kx, K ∈ Rm×n,on utilise un observateur deLuenberger dont la structure générale est :

z(t) = Dz(t) +Hu(t) +Ey(t),

w(t) = Pz(t) + V y(t),(10)

où z(t) ∈ Rp, w(t) ∈ Rm et D, E, H, P , V sont des matrices de dimensions convenables.Notons que l’observateur réduit est de cette forme. La sortie w(t) de cet observateur reconstruiraasymptotiquement la fonctionnelle linéaire si l’on a :

limt→∞

[w(t)−Kx(t)] = 0. (11)

D’après la relation (11) et compte tenu de l’équation de sortie de (10), si w(t) est uneestimation de Kx(t), alors z(t) sera une estimation d’une autre forme linéaire de l’état, parexemple Tx(t). Soient les erreurs d’estimation :

e(t) = w(t)−Kx(t),

(t) = z(t)− Tx(t),

il vient :e(t) = P (t) + [PT + V C −K]x(t),

˙(t) = D (t) + [DT − TA+EC]x(t) + [H − TB]u(t).

Si les relations suivantes :

1. D est une matrice de Hurwitz,

2. TA−DT = EC,

3. PT + V C = K,

4. H = TB,

sont vérifiées, alors limt→∞ e(t) = 0, et (10) constitue bien un observateur asymptotique dela fonctionnelle linéaire. Lorsque D est fixée, et possède des valeurs propres différentes decelles de A alors la deuxième relation est soluble pour tout E, et dans ce cas le problèmede la construction de l’observateur réside dans la détermination du triplet (E, P , V ) tel quesoit vérifiée la relation 3 (la dernière donnant directement G), le problème principal étant deconstruire un observateur de fonctionnelle linéaire minimal, c’est-à-dire où p est le plus petitpossible. Nous allons regarder quelques méthodes permettant de répondre à cette question.

22

Page 23: Observateur s

F. Rotella Observateurs

Auparavant, montrons que ces relations sont automatiquement vérifiées dans le cas d’unobservateur 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 +A22L− LA11 − LA12L,

P = K2, V = K1 +K2L, T = [ −L I ],

ce qui donne :

TA = [ A21 − LA11 A22 − LA12 ], DT = [ LA12L−A22L A22 − LA12 ],

TB = B2 − LB1, PT = [ −K2L K2 ], V C = [ K1 +K2L 0 ],

qui montre que les trois dernières relations sont vérifiées, la première ne dépendant que du choixde L. Cette remarque permet d’affirmer que l’ordre d’un observateur de fonctionnelle linéairesera compris entre ν − 1 et n−m.

5.2.3 Détermination de l’observateur

Cas d’une forme linéaire (m = 1) Dans ce cas, suivant ce qui précède, on a p = ν−1. Soitλi, i ∈ {1, . . . , p} l’ensemble des valeurs propres de D que l’on peut choisir arbitrairement. Laméthode, dite de Murdoch, consiste à décomposer D, à l’aide d’une matrice U régulière, sousla forme :

D = U∆U−1

où ∆ = diagpi=1[λi]. Posons les matrices :

R = U−1T =

r1r2...rp

, etM = U−1E =

m1

m2...mp

,la deuxième condition nécessaire s’écrit alors :

RA−∆R =MC,

soit, pour i ∈ {1, . . . , p} :ri = miC(A− λiIn)

−1. (12)

Si, de plus, on impose pour P la structure :

P = 1pU−1,

où 1p = [1, 1, . . . , 1] ∈ Rp, la troisième condition se met sous la forme :

V C + 1pR = L,

23

Page 24: Observateur s

F. Rotella Observateurs

soit, d’après (12) :

V C +

pXj=1

mjC(A− λjIn)−1 = L.

La multiplication, parQp

i=1(A− λiIn), de chacun des membres de cette égalité, permet dela mettre sous la forme matricielle :

XA = B, (13)

où X = [V,m1, . . . ,mp] est un vecteur inconnu de dimension νl et :

B = LQp

i=1(A− λiIn),

A =

CQp

i=1(A− λiIn)CQp

i=2(A− λiIn)...

CQp

i=1i 6=j(A− λiIn)

...CQp−1

i=1 (A− λiIn)

.

Si la paire (A,C) est observable, et si les λi sont toutes distinctes et ne sont pas valeurspropres de A alors rangA = n et la solution de ce système existe toujours (elle est unique pourνm = n) et elle s’écrit :

X = BA+,où A+ est la pseudo-inverse de A :

A+ = AT (AAT )−1.

La connaissance de X permet alors de calculer tous les paramètres de l’observateur (10).

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. Onpeut appliquer la méthode précédente avec l’équation linéaire (13) à résoudre où la dimensionde X est m × (p + 1)l, mais le problème réside dans le choix de p. En effet une valeur troppetite peut conduire à un système non soluble, cependant certains algorithmes, comme celuide Sirisena permettent d’accéder à cette valeur minimale et de déterminer les paramètres del’observateur minimal.Dans le cas où l’on cherche à construire rapidement un observateur (non forcément minimal)

de la fonctionnelle linéaire :

Lx =

L1xL2x...

Lmx

, Li ∈ Rn, i = 1, . . . ,m,

24

Page 25: Observateur s

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},zi(t) = Dizi(t) +Giu(t) +Eiy(t) +

Pi−1j=1Kijzj(t),

wi(t) = Pizi(t) + Viy(t),

le i-ième observateur estimant la forme linéaire Lix. L’intérêt de cette méthode est de définircette série d’observateurs de façon récursive : le (i+1)-ème étant construit par l’application dela méthode précédente au système (A,B,Ci) avec :

Ci =

CT1...Ti

,où les Tj, j ≤ i, sont les matrices apparaissant aux étapes précédentes de détermination desobservateurs 1 à i. La dimension de l’observateur complet est inférieure à celle que l’on obtien-drait avec m observateurs de formes linéaires en parallèle. En effet, l’index d’observabilité νi àl’étape i est inférieur ou égal à celui de l’étape précédente, car Ti−1 contient au moins une lignelinéairement indépendante des lignes de C ou de Tj, j ∈ {1, . . . , i− 1} (sinon la forme linéaireLi−1 est inutile). On obtient donc un observateur de taille réduite que l’on peut déterminerrapidement.

5.3 Utilisation en boucle fermée et robustesse

5.3.1 Principe de séparation

Dans le cas où les 4 relations qui caractérisent un observateur asymptotique de fonctionnellelinéaire sont vérifiées nous allons voir que le principe de séparation s’applique toujours. En effet,dans ce cas, nous avons les relations de bouclage :

˙(t) = D (t),

w(t) = P (t) +Kx(t),u(t) = Gv(t)− w(t).

Le système bouclé admet donc comme étatX(t) =£x(t) (t)

¤et comme équation d’état :

X(t) =

·A−BK −BP

0 D

¸X(t) +

·BG0

¸v(t),

y(t) =£I 0

¤X(t),

ce qui permet de reprendre le principe de séparation dans notre cas : les pôles en boucle ferméeet ceux de l’observateur peuvent être réglés de façon indépendante.

25

Page 26: Observateur s

F. Rotella Observateurs

5.3.2 Forme RST

La commande à réaliser est de la forme :

u(t) = Gv(t)− Pz(t)− V y(t),

où z(t) est régi par l’équation :

z(t) = Dz(t) +H (Gv(t)− Pz(t)− V y(t)) +Ey(t),

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 )−1H

¤Gv(t)− £V + P (pI −D +HP )−1(E −HV )

¤y(t).

En notant ∆(p) = det (pI −D +HP ) et M(p) = P [Com(pI −D +HP )]T , on obtient lacommande sous forme RST :

S(p)u(t) = T (p)v(t)−R(p)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)−1B,

dont le tracé fréquentiel permet de mesurer les marges de robustesse.

6 Applications des observateurs

Outre la reconstruction de l’état pour élaborer une commande par retour d’état, dont nousavons abondamment parlé dans les chapitres précédents, nous allons voir ici une autre ap-plication importante des observateurs en diagnostic et détection. Dans cet optique on utilisel’observateur pour générer des résidus permettant d’élaborer une décision dans un étage desurveillance et diagnostic du système lorsque des perturbations ou des défauts apparaisent sur

26

Page 27: Observateur s

F. Rotella Observateurs

un processus. On a en effet des variables qui agissent sur le système mais qui ne peuvent êtremesuré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. Nousverrons que ces observateurs utilisent les principes de base des observateurs de Luenberger avecdes conditions structurelles supplémentaires.Nous n’utiliserons ici que des observateurs d’ordrecomplet, 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 :

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

y(t) = Cx(t) +Ψ(t),

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 dedétecter ces influences, on utilise un observateur de Luenberger du résidu :

z(t) = Dz(t) +Hu(t) +Ey(t),

r(t) = Pz(t) + V y(t),

où le résidu r(t) doit vérifier, si on souhaite être insensible à cette influence, limt→∞ r(t) = 0, etlimt→∞ r(t) 6= 0, dans le cas contraire. D’autre part, nous ne décrirons que le cas des systèmescontinus en gardant bien à l’esprit que tout ce que nous verrons peut être traduit dans un cadrediscret.

6.1 Observateurs à entrées inconnues

Considérons le système modélisé par l’équation d’état :

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

y(t) = Cx(t),

où f(t) est une entrée inconnue (non mesurée) et R une matrice constante. Utilisons l’observa-teur :

z(t) = Dz(t) +Hu(t) +Ey(t),bx(t) = z(t)−My(t).

En introduisant la matrice P = I +MC et l’erreur d’observation ex(t) = x(t) − bx(t), onobtient :

ex(t) = Px(t)− z(t),

r(t) = y(t)− by(t) = Cex(t),= CPx(t)− Cz(t),

= (I + CM)y(t)− Cz(t),

27

Page 28: Observateur s

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 :

ex(t) = Px(t)− z(t),

= Dex(t) + (PA−DP −EC)x(t) + (PB −H)u(t) + PRf(t).

Pour que limt→∞ r(t) = 0, pour toutes les entrées, connues et inconnues, et pour tout étatinitial, il est nécessaire que les conditions suivantes soient vérifiées :

1. D est une matrice de Hurwitz ;

2. PA−DP = EC;

3. H = PB;

4. PR = 0.

Il s’agit donc de trouver un ensemble de matrices (D, E, M) telles que soient vérifiées les 4contraintes précédentes. Pour résoudre ce système on traite d’abord la relation 4, ce qui avecP = I +MC, s’écrit :

MCR = −R.D’après l’annexe C, cette équation est soluble si et seulement si :

rang (CR) = rang (R),

et dans ce cas une solution possible (non unique) s’écrit :

M = −R(CR)+,

où A+ désigne la pseudoinverse de A. Dans le cas où CR est de rang plein en lignes, l’expressionde (CR)+ est RTCT (CRRTCT )−1 et on obtient :

M = −RRTCT (CRRTCT )−1.

Après avoir choisi D, la valeur de M conduit à déterminer E comme solution du système :

EC = A−D +MCA−DMC = F.

Ce système est soluble si et seulement FT ∈ Im(CT), et lorsque cette condition est vérifiéeon obtient une solution possible sous la forme :

E = FC+,

Comme généralement C est de rang plein en lignes, C+ = CT(CCT)−1.

28

Page 29: Observateur s

F. Rotella Observateurs

6.1.1 Estimation des entrées inconnues

Dans certains cas il peut être intéressant d’estimer les entrées inconnues f(t). Pour obtenircette estimation on peut utiliser la décomposition en valeurs singulières de R :

R = URΣRVTR ,

puis en posant φ(t) = V TR f(t) obtenir avec x(t) ' x(t) :

ΣRφ(t) = UTR (˙x(t)−Az(t) +AMy(t)−Bu(t)).

Comme :P ˙x(t) = z(t) = Dz(t) +Hu(t) +Ey(t),

si P est inversible, on obtient :

ΣRφ(t) = UTR ((P

−1D −A)z(t) + (AM + P−1E)y(t) + (P−1H −B)u(t).

On pourra estimer toutes les entrées inconnues si ΣR est de rang plein en colonnes.

6.1.2 Mesures dépendant des entrées inconnues

Les développements précédents ont supposé que les entrées inconnues n’intervenaient passur les mesures. Dans le cas où la sortie y(t) dépend de ces entrées sous la forme :

y(t) = Cx(t) + Sf(t),

on utilise la décomposition en valeurs singulières de S :

S = USΣSVTS ,

où, en notant s = rang (S) :

ΣS =

·diagsi=1 {σS,i} 0

0 0

¸.

En notant :

φ(t) = V TS f(t) =

·φ1(t)φ2(t)

¸, γ(t) = UT

S y(t) =

·γ1(t)γ2(t)

¸,

C = UTS C, R = RVS,

où φ1(t) et γ1(t) sont des vecteurs de dimension s, l’équation d’état initiale s’écrit :

x(t) = Ax(t) +Bu(t) + R1φ1(t) + R2φ2(t),

γ1(t) = C1x(t) + [diagsi=1 {σS,i}]φ1(t),γ2(t) = C2x(t).

29

Page 30: Observateur s

F. Rotella Observateurs

La relation intermédiaire fournissant :

φ1(t) = [diagsi=1 {σS,i}]−1 (γ1(t)− C1x(t)),

on obtient le modèle sans entrées inconnues sur les mesures :

x(t) =£A− R1 [diagsi=1 {σS,i}]−1 C1

¤x(t)

+£B R1 [diagsi=1 {σS,i}]−1

¤ · u(t)φ1(t)

¸+ R2φ2(t),

γ2(t) = C2x(t).

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 combinaisonslinéaires de mesures qui sont indépendantes des entrées inconnues.

6.2 Détection de défauts

Bien que basé sur un principe similaire aux observateurs à entrées inconnues, l’objectif est icicomplètement différent puisque les résidus doivent être sensibles à ces défauts et même doiventpermettre de les retrouver et dans ce cas on parle alors de l’isolation des défauts.Considérons le modèle :

x(t) = Ax(t) +B(u(t) + b(t)),

y(t) = Cx(t) +m(t),

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),

y(t) = Cx(t),

conduit au résidu :

˙x(t) = (A− LC)x(t) +Bb(t)− Lm(t),

y(t) = Cx(t) +m(t).

Si L est telle que A − LC soit une matrice de Hurwitz, le résidu y(t) tend bien vers 0 enl’absence de défauts. Le transfert entre les défauts et les résidus s’écrit :

y(t) = C(pI −A+ LC)−1Bb(t) +£I − C(pI −A+ LC)−1L

¤m(t),

ce qui, en tenant compte du lemme d’inversion :

(A+BCD)−1 = A−1 −A−1B(C−1 +DC−1B)−1DA−1,

30

Page 31: Observateur s

F. Rotella Observateurs

peut se mettre sous la forme :£I + C(pI −A)−1L

¤y(t) = C(pI −A)−1Bb(t) +m(t).

A partir de cette relation on peut construire :— en l’absence de défaut actionneur, le système permettant d’isoler les défauts capteurs àpartir des résidus :

η(t) = Aη(t) + Ly(t),

m(t) = Cη(t) + y(t);

— en l’absence de défaut capteur, le système permettant d’isoler les défauts actionneurs àpartir des résidus est construit à partir de la variable ξ(t) définie par :

ξ(t) = C(pI −A)−1Bb(t).

Cette variable est estimée à partir du même système que précédemment, c’est-à-dire :

η(t) = Aη(t) + Ly(t),

ξ(t) = Cη(t) + y(t),

et l’estimation d’une défaillance capteur est donnée par l’inversion du modèle initial dusystème à savoir :

β(t) = ∆(p)£C(pI −A)−1B

¤−1ξ(t),

où ∆(p) = diagn

1(p+α)i

oest la matrice de filtres telle que ∆(p) [C(pI −A)−1B]−1 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.

7 Annexe : Algorithme de Luenberger

Cet algorithme permet de mettre sous une forme canonique, commandable ou observablesuivant le cas, une équation d’état d’un système commandable et observable :

x = Ax+Bu, x ∈ Rn, u ∈ Rm,

y = Cx, y ∈ Rl.

La construction de la forme observable étant duale de la construction de la forme comman-dable, nous détaillerons la première et obtiendrons la deuxième par transposition.

31

Page 32: Observateur s

F. Rotella Observateurs

7.1 Forme canonique commandable

Le test préliminaire de commandabilité à effectuer s’écrit :

rang£B AB A2B · · · An−1B

¤= n,

et si cette condition est vérifiée, la construction de la forme canonique commandable demandeles étapes suivantes.

1. Dans la matrice de commandabilité :

C(A,B) =£B AB A2B · · · An−1B

¤,

en allant de gauche à droite (→), on sélectionne une colonne si elle n’est pas linéairementdépendante des précédentes.

2. En notant B sous la forme :

B =£b1 b2 · · · bm−1 bm

¤où les bi sont des vecteurs de dimension n, on calcule les m indices de commandabilitéµi, pour i = 1, . . . ,m, comme les plus petit entiers k tels que Akbi soit linéairementdépendante des colonnes précédentes. On calcule également les indices cumulés de com-mandabilité σi :

i = 1, . . . ,m, σi =iX

j=1

µj.

3. On réordonne les colonnes sélectionnées au pas 1 pour construire la matrice :

V = b1 Ab1 · · · Aµ1−1b1 b2 Ab2 · · · Aµ2−1b2 · · · · · · bm Abm · · · Aµm−1bm .

4. On calcule V −1, d’où l’on extrait les σi-ièmes lignes. Soient Li, i = 1, . . . ,m, ces lignes.5. On construit la matrices de changement de variables :

TC =

L1L1A...

L1Aµ1−1

L2L2A...

L2Aµ2−1...Lm

LmA...

LmAµm−1

.

32

Page 33: Observateur s

F. Rotella Observateurs

6. La transformation :xC = TCx,

conduit à l’équation d’état :

xC = ACxC +BCu,

y = CCxC,

avec :

AC = TCAT−1C =

1. . .

1× × · · · × × × · · · ×

· · ·× × · · · ×

↑µ1

× × · · · ×

1. . .

1× × · · · ×

· · ·× × · · · ×

↑µ2

↓...

.... . .

...

× × · · · × × × · · · ×· · ·

1. . .

1× × · · · ×

↑µm

↓←− µ1 −→ ←− µ2 −→ ←− µm −→

,

BC = TCB =

1 × × · · · ×

↑µ1↓

0 1 × · · · ×

↑µ2↓

...

0 · · · 0 0 1

↑µm↓

, CC = CT−1C .

7. Par le changement de variables de commande :

uC = HCu,

33

Page 34: Observateur s

F. Rotella Observateurs

où HC est la matrice (m×m) formée des lignes significatives de BC :

HC =

1 × × · · · ×0 1 × · · · ×

...0 · · · 0 0 1

,on arrive finalement à l’équation d’état canonique commandable :

xC = ACxC +BCuC,

y = CCxC,

avec :

BC = BCH−1C =

1 0 0 · · · 0

↑µ1↓

0 1 0 · · · 0

↑µ2↓

...

0 · · · 0 0 1

↑µm↓

.

7.2 Forme canonique observable

Le test préliminaire d’observabilité à effectuer s’écrit :

rang

ACACA2

...CAn−1

= n.

et si cette condition est vérifiée, la construction de la forme canonique observable sera construiteen partant du système dual :

ζ = ATζ + CTυ,

η = BTζ,

sur lequel l’application de l’algorithme précédent conduit à la forme canonique commandable dusystème dual. Une dernière transposition conduit à la forme canonique observable du système

34

Page 35: Observateur s

F. Rotella Observateurs

initial :

xO = AOxO +BOu,

yO = COxO,

où xO = TOx, yO = HOy, et :

AO = TOAT−1O =

×1 ×. . .

...1 ×

××...×

· · ·××...×

↑ν1

↓××...×

×1 ×. . .

...1 ×

· · ·××...×

↑ν2

↓...

.... . .

...××...×

××...×

· · ·×

1 ×. . .

...1 ×

↑νl

↓←− ν1 −→ ←− ν2 −→ ←− νl −→

,

BO = TOB,

CO = H−1O CT−1O =

100...0

010...0

· · ·

00...01

←− ν1 −→ ←− ν2 −→ ←− νl −→

.

Les indices νi, i = 1, . . . , l, mis en évidence pour la construction de cette forme s’appellentles indices d’observabilité.

8 Annexe B : Formes canoniques de matrices

8.1 Forme de Smith

Considérons les matrices élémentaires régulières suivantes qui traduisent des opérationsélémentaires sur les lignes (resp. colonnes) d’une matrice, lorsqu’elles la multiplient à gauche

35

Page 36: Observateur s

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 laj-ième ligne (resp. i-ième colonne) à la i-ième ligne (resp. j-ième colonne) :

Eij =

1. . .

10 11

. . .

11 0

1. . .

1

, (14)

Ei(α) =

1. . .

1α1

. . .

1

, (15)

Eij(α) =

1. . .

1 0 · · · 0 α. . . 0

. . ....

. . . 01

. . .

1

. (16)

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 :

S =

·Ir 00 0

¸. (17)

36

Page 37: Observateur s

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 = PAQ.Ce principe s’étend utilement aux matrices polynomiales (cf. chap. 11). Comme rang A = rangS, on en déduit que deux matrices de mêmes dimensions sont équivalentes si et seulement sielles ont même rang.

8.2 Décomposition en valeurs singulières

Plus utilisée en pratique que la décomposition sous forme de Jordan ou de Smith car plusrobuste d’un point de vue numérique, la décomposition en valeurs singulières d’une matricemet en évidence une matrice diagonale qui lui est équivalente. Elle jouera un rôle fondamentaldans la généralisation au cas multivariable du lieu fréquentiel d’un système linéaire. Dans toutela suite k.k désignera la norme spectrale k.k2 :

kAk2 = √ρA∗A,

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 nomde la décomposition en valeurs singulières de A sous la forme :

A = UΣV ∗.

Comme :A∗A = VΣTΣV ∗, et AA∗ = UΣΣTU∗,

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 racinescarré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

Page 38: Observateur s

F. Rotella Observateurs

— pour i = 1, . . . ,m :AA∗ui = σ2iui.

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 = σiui, et A∗ui = σivi,

— 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 del’hyper-ellipsoïde défini par :

{y, y = Ax, x ∈ Cn, kxk = 1} ,

et vi leur direction. Ainsi v1 est la direction dans laquelle kAxk est la plus grande sur kxk = 1et vn, la direction dans laquelle kAxk est la plus petite.

Théorème 5 Soient σ1 ≥ σ2 ≥ . . . ≥ σr > σr+1 = 0, alors, en désignant par span l’espacevectoriel engendré par un ensemble de vecteurs :

1. rang A = r;

2. N (A) = span {vr+1, . . . , vn} et [N (A)]⊥ = span {v1, . . . , vr};3. I(A) = span {u1, . . . , ur} et [I(A)]⊥ = span {ur+1, . . . , um};4. En posant Ur =

£u1 · · · ur

¤, Vr =

£v1 · · · vn

¤, et Σr = diag{σ1, . . . , σp} , on a :

A =rX

i=1

σiuiv∗i = UrΣrV

∗r .

5.rX

i=1

σ2i = trace(A∗A)

Le résultat suivant est intéressant car il permet de fournir la meilleure approximation d’unematrice par une matrice de rang donnée :

38

Page 39: Observateur s

F. Rotella Observateurs

Théorème 6 Soit k < rang A, et Ak =Pk

i=1 σiuiv∗i , alors :

minB,rang(B)≤k

kA−Bk = kA−Akk = σk+1.

Pour toutes matrices A et B, dont les tailles sont compatibles, on a :

σi+j+1(A+B) ≤ σi+1(A) + σj+1(B),

σi+j+1(AB) ≤ σi+1(A)σj+1(B).

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 :

σ(A) = kAk2 = maxkxk2=1

kAxk2,

et :σ(A) = min

kxk2=1kAxk2.

On dispose des propriétés suivantes :— si λ(A) est une valeur propre de A, alors :

σ(A) ≤ |λ(A)| ≤ σ(A);

— si A−1 existe, alors :

σ(A) =1

σ (A−1)=

1

kA−1k2 ;

— pour tout réel α :σ(αA) = |α|σ(A), σ(αA) = |α|σ(A);

cond2(A) =σ(A)

σ(A).

Lorsque les tailles sont compatibles :

|σ(A)− σ(B)| ≤ σ(A+B) ≤ σ(A) + σ(B),

max {σ(A)σ(B), σ(A)σ(B)} ≤ σ(AB) ≤ σ(A)σ(B),

max {σ(A)− σ(B), σ(B)− σ(A)} ≤ σ(A+B) ≤ min {σ(A) + σ(B), σ(A) + σ(B)} ,

max {0, σ(A)− 1} ≤ σ(A+ I), max {0, σ(A)− 1} ≤ σ(A+ I),

max {σ(A), σ(B)} ≤ σ£A B

¤ ≤ √2max {σ(A), σ(B)} .39

Page 40: Observateur s

F. Rotella Observateurs

Dans le cas où on travaille sur l’ensemble des matrices réelles, la décomposition en valeurssinguliè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 :

UUT = UTU = I,

V V T = V TV = I.

9 Annexe C : Inverses généralisées et systèmes linéaires

9.1 Inverse généralisée

Une matrice régulière A(n×n) admet une inverse unique A−1 telle que, AA−1 = A−1A = I,ce qui donne la relation : AA−1A = A. Par extension, l’inverse généralisée d’une matricequelconque A est la matrice X qui vérifie la relation :

AXA = A.

Soit S la forme de Smith d’une matrice A de rang r et les matrices régulières P et Q tellesque A = PSQ.

Théorème 7 Q−1STP−1 est une inverse généralisée de A.

De façon plus générale on peut montrer que la forme d’une inverse généraliséeX de A(m×n)peut être construite à partir de sa forme de Smith par X = Q−1TP−1, où T est une matrice(n×m) qui est de la forme :

T =

·Ir X1

X2 X3

¸,

où X1,X2 et X3 sont des matrices quelconques de dimensions convenables.

Théorème 8 Toute inverse généralisée X de A, possède les propriétés suivantes :

1. I(AX) = I(A);2. I((XA)T ) = I(AT );

3. I(I −XA) = N (A);4. AX et XA sont idempotentes.

40

Page 41: Observateur s

F. Rotella Observateurs

9.2 Application aux systèmes linéaires

Dans beaucoup d’applications, on doit résoudre le système linéaireAx = y, oùA(m×n) n’estpas carrée ou bien a un déterminant nul. Le système peut alors admettre plusieurs solutions ouaucune. Dans le cas où ce système est soluble, on dit qu’il est compatible.

Théorème 9 Le système Ax = y est soluble si et seulement si rang (A) = rang ([ A y ]).

Supposons qu’il existe une matrice X(n×m) telle que AXA = A, alors :

x = Xy + (I −XA)z,

où z est un vecteur arbitraire, sera une solution du système si et seulement si :

AXy = y.

Cette dernière relation constitue une relation de compatibilité du système.

Théorème 10 Pour le système compatible y = Ax, en notant A{1} une inverse généralisée deA, l’ensemble des solutions est donné par :

x = A{1}y + (In −A{1}A)z,

où z est un vecteur arbitraire de Rn.

Considérons le système linéaire matriciel :

AXB = C,

où A(m × n), B(p × q) et C(m × q) sont données et X(n × p) est une matrice inconnue àdéterminer. Comme :

AXB = AA{1}AXBB{1}B,

une condition de compatibilité s’écrit :

AA{1}CB{1}B = C.

Théorème 11 La solution générale du système compatible AXB = C, s’écrit :

X = A{1}CB{1} + Y −A{1}AYBB{1},

où Y est une matrice arbitraire (n× p).

Soit A {1} l’ensemble des inverses généralisées d’une matrice A, l’application du résultatprécédent à l’équation :

AXA = A,

permet de caractériser A{1} à partir d’un de ses éléments. En effet, comme la solution généraleen est :

X = A{1}AA{1} + Y −A{1}AY AA{1},

il suffit de poser Y = A{1} + Z, pour obtenir :

A{1} = ©A{1} + Z −A{1}AZAA{1}, Z ∈ Rn×mª .41

Page 42: Observateur s

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èresvé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 = PSQ, toute matrice vérifiant les deuxpremières propriétés est de la forme Q−1TP−1, où T est de la forme :

T =

·Ir X1

X2 X2X1

¸.

Toute matrice X vérifiant ces 4 propriétés est une pseudo-inverse de A (on dit aussi inverseau sens de Moore-Penrose), que l’on notera A+.

Théorème 12 A+ existe et est unique.

9.3.2 Formes explicites de la pseudo-inverse

Soit A = FG une décomposition de rang maximal de A, alors :

A+ = GT (F TAGT )−1F T ,

= GT (GGT )−1(F TF )−1F T .

Soit la décomposition de A(m× n) de rang r sous la forme :

A =

·A11 A12A21 A22

¸,

où A11 est régulière de rang r. Notons :

A1 =

·A11A21

¸, A2 =

£A11 A12

¤.

Comme nécessairement A22 = A21A−111 A12, on a :

A+ = AT2 (A

T1AA

T2 )−1AT

1 .

42

Page 43: Observateur s

F. Rotella Observateurs

Soit la décomposition en valeurs singulières de A, A = UΣV T , où U et V sont orthogonales :

Σ =

·Σr 00 0

¸, Σr = diag{σ1, · · · , σr},

les σi étant les valeurs singulières non nulles de A telles que σ1 ≥ σ2 ≥ · · · ≥ σr > 0. Alors,d’après les propriétés précédentes, on aura :

A+ = VΣ+UT ,

avec :

Σ+ =

·Σ−1r 00 0

¸.

9.3.3 Quelques propriétés de la pseudo-inverse

1. Si A est régulière, alors A+ = A−1.2. Si A est de rang plein en colonnes : A+ = (ATA)−1AT , et on obtient A+A = In, mais

AA+ 6= Im.

3. Si A est de rang plein en lignes : A+ = AT (AAT )−1, et on obtient AA+ = Im, maisA+A 6= In.

4. Pour toute matrice A on a l’égalité suivante :

A+ = (ATA)+AT = AT (AAT )+.

5. Soit FG, une factorisation de rang maximal de A, alors A+ = G+F+. Dans le cas parti-culier où r = 1, on peut écrire :

A+ =AT

F TAGT=

AT

GATF.

6. Il faut noter qu’en général (AB)+ 6= B+A+.

7. Si P et Q sont deux matrices unitaires alors :

(PAQ)+ = Q−1A+P−1 = QTA+P T .

8. Si P et Q sont seulement régulières alors (PAQ)+ 6= Q−1A+P−1. En effet, d’après ce quiprécède on a seulement :

(PAQ)+ = QTGT (GQQTGT )−1(FP TPF )−1FP T .

9. Soit A(m × n) = FPG, où rang F (m × r) = rang G(r × n) = r = rang A et P (r × r)régulière. Alors A+ = G+P−1F+.

10. Pour toute matrice A, (A+)+ = A, (A+)T = (AT )+, et on dispose des formules d’Albertet Sittler :

A+ = lim→0(ATA+ I)−1AT = lim

ε→0AT (AAT + εI)−1.

43

Page 44: Observateur s

F. Rotella Observateurs

9.3.4 Algorithme de Greville-Albert-Sittler

Une méthode efficace de calcul itératif de la pseudo-inverse d’une matrice est donné parl’algorithme de Greville (ou sous une forme équivalente par l’algorithme d’Albert et Sittler) quine demande pas de traitement préalable de la matrice. Cet algorithme est très utile pour troisraisons :— il permet de calculer de façon récurrente la pseudo-inverse d’une matrice en un nombrefini de pas ;

— il est indépendant du conditionnement de la matrice (pas besoin de factorisation de lamatrice) ;

— il ne demande pas d’inversion de matrices, seules des quantités scalaires sont à inverser.C’est donc un algorithme que l’on implante aisément sur calculateur et il peut même être

utilisé pour calculer l’inverse d’une matrice régulière. Sa structure est décrite dans l’organi-gramme de la figure dans lequel A désigne une matrice (m× n), ak la k-ième colonne de A etAk la matrice formée des k premières colonnes de A.

9.3.5 Application aux systèmes linéaires incompatibles

Lorsque le système linéaire y = Ax est incompatible, il n’a pas de solution exacte. Oncherche alors une solution de ce système au sens des moindres carrés, i.e. celle qui minimiseky −Axk2 . On peut remarquer que résoudre un système compatible au sens des moindres carrésc’est obtenir sa solution exacte, on peut donc généraliser à tout système la notion de solution.

Théorème 13 bx est la solution du système y = Ax au sens des moindres carrés si et seulementsi bx est solution du système toujours compatible ATy = ATAx.

Le système linéaire ATy = ATAx s’appelle le système normal associé au système y = Ax.

Théorème 14 La solution au sens des moindres carrés du système linéaire y = Ax s’écrit :

bx = A+y + (I −A+A)z,

où z est un vecteur quelconque et A+ la pseudo-inverse de A. De plus, la solution unique denorme euclidienne minimale est obtenue avec z = 0, soit :

x = A+y.

9.3.6 Résolution d’un système linéaire

D’après tout ce que l’on vient de dire, la solution du système linéaire y = Ax s’écrit :

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 desmoindres carrés. Le fait de prendre z = 0 conduit à une certaine simplification.

44

Page 45: Observateur s

F. Rotella Observateurs

A+ = A+nFin

k = k + 1

A+k =

A+k−1 − dkbk−−−−−−−−

bk

bk = (c

Tk ck)

−1cTk bk = (1 + dTk dk)−1dTkA

+k−1

dk = A+k−1akck = ak −Ak−1dk

k = 2

A+1 = (aT1 a1)

−1aT1 A+1 = 0

Début

i

i

i

k = n

ck = 0

a1 = 0

©©©©

HHHH

HHHH

©©©©

©©©©

HHHH

HHHH

©©©©

©©©©

HHHH

HHHH

©©©©

?

¾

?

?

??

?

?

?

-

? ?

Fig. 4 — Algorithme de Greville du calcul de A+.

45

Page 46: Observateur s

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 etoptimisation 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