20.11.2014 Views

MASTER MVA Dynamique et contrôle des systèmes non-linéaires

MASTER MVA Dynamique et contrôle des systèmes non-linéaires

MASTER MVA Dynamique et contrôle des systèmes non-linéaires

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ENS CACHAN: <strong>MASTER</strong> <strong>MVA</strong><br />

<strong>Dynamique</strong> <strong>et</strong> contrôle<br />

<strong>des</strong> systèmes <strong>non</strong>-linéaires<br />

(en collaboration avec Karine Beauchard)<br />

Pierre Rouchon<br />

Mines ParisTech<br />

Deux liens pour télécharger les documents du cours:<br />

http://www.cmla.ens-cachan.fr/Membres/beauchard/enseignements.html<br />

http://cas.ensmp.fr/~rouchon/index.html<br />

2009/2010


Linéarisation <strong>et</strong> systèmes différentiellement plats<br />

Linéarisation par bouclage statique<br />

Systèmes différentiellement plats<br />

Observateurs asymptotiques <strong>et</strong> filtrage<br />

Observabilité<br />

Systèmes linéaires<br />

Observateurs asymptotiques linéaires<br />

Observateurs asymptotiques <strong>non</strong>-linéaires<br />

Observateur/contrôleur linéaire: le double pendule de la<br />

Vill<strong>et</strong>te<br />

Observateurs invariants<br />

Invariance <strong>et</strong> fusion de données inertielles/images<br />

Modèle cinématique à base d’accéléromètres <strong>et</strong> gyromètres<br />

Fusion après un premier traitement d’images<br />

Fusion à partir d’images brutes<br />

Références utiles


La linéarisation par bouclage statique<br />

Pour d dt<br />

x = f (x, u), trouver le changement de variable sur x <strong>et</strong><br />

le bouclage statique régulier sur u<br />

[ [ ]<br />

x z = φ(x)<br />

↦→<br />

u]<br />

v = k(x, u)<br />

tels que les équations deviennent linéaires (système linéaire<br />

commandable, voir le cours de Karine Beauchard):<br />

d<br />

z = Az + Bv<br />

dt<br />

On parle alors de système linéarisable par bouclage statique.<br />

Pour les robots complètement actionnés, on se ramène par<br />

simple bouclage (sans changement d’état) à la forme de<br />

Brunovsky<br />

d 2<br />

dt 2 q = v.


Un résultat simple sur la linéarisation par bouclage statique<br />

Les deux propositions suivantes sont équivalentes<br />

1. Le système étendu :<br />

⎧<br />

d ⎪⎨ x = f (x, u)<br />

dt<br />

⎪⎩ d<br />

dt u = v<br />

est linéarisable par bouclage statique (v est ici la<br />

commande)<br />

2. Le système :<br />

d<br />

x = f (x, u)<br />

dt<br />

est linéarisable par bouclage statique.<br />

Exo: Prouvez c<strong>et</strong>te équivalence.


Système affine en contrôle<br />

d<br />

dt x = f (x) + g 1(x)u 1 + . . . + g m (x)u m<br />

où f <strong>et</strong> les g i sont <strong>des</strong> champs de vecteurs.<br />

On définit une suite de distributions, suite croissante pour l’inclusion,<br />

par la récurrence suivante 1 :<br />

E 0 = span{g 1 , . . . , g m }, E i = span{E i−1 , [f , E i−1 ]} i ≥ 1<br />

où [f , g] est le croch<strong>et</strong> de Lie de deux champs de vecteurs. Ces<br />

distributions <strong>et</strong> le croch<strong>et</strong> sont invariants par changement de<br />

coordonnées.<br />

Le croch<strong>et</strong> [f , g] correspond à Df .g − Dg.f :<br />

∑<br />

( ∂fi<br />

g j − ∂g )<br />

i<br />

f j .<br />

∂x j ∂x j<br />

j<br />

Calcul différentiel intrinsèque, i.e., indépendant du choix <strong>des</strong><br />

coordonnées locales x.<br />

1 En chaque pour x, E O (x) corresponds à l’espace vectoriel engendré par<br />

les vecteurs (g 1 (x), g 2 (x), . . . , g m(x)).


La CNS de linéarisation par bouclage statique<br />

Théorème de Jakubczyk <strong>et</strong> Respondek (1980): autour de<br />

l’équilibre (x, u) = (0, 0), le système<br />

d<br />

dt x = f (x) + g 1(x)u 1 + . . . + g m (x)u m<br />

est linéarisable par bouclage statique régulier si, <strong>et</strong> seulement<br />

si, les distributions E i , i = 1, . . . , n − 1 définies ci-<strong>des</strong>sus sont<br />

involutives, c’est à dire stables par le croch<strong>et</strong> de Lie, de rang<br />

constant autour de x = 0 <strong>et</strong> le rang de E n−1 vaut n, la<br />

dimension de x.


Systèmes plats: une définition élémentaire (FLMR, 1992,. . . ,1999)<br />

Le système explicite d’état<br />

d<br />

x = f (x, u)<br />

dt<br />

est plat, ssi, il existe m = dim(u) fonctions de sortie<br />

y = h(x, u, . . . , u (p) ), dim(h) = dim(u), telle que l’inverse du système<br />

u ↦→ y soit sans dynamique. Cela signifie simplement que la solution<br />

de<br />

d<br />

dt x = f (x, u), y = h(x, u, . . . , u(p) )<br />

où t ↦→ y(t) est la donnée <strong>et</strong> (x, u) est l’inconnue s’écrit<br />

(<br />

x = Λ y, ẏ, . . . , y (q)) (<br />

, u = Υ y, ẏ, . . . , y (q+1)) .<br />

La sortie y est appelée sortie plate.<br />

Exo: Montrer que le robot "E=M6"<br />

d<br />

dt x 1 = u 1 + u 2<br />

cos x 3 ,<br />

2<br />

d<br />

dt x 2 = u 1 + u 2<br />

sin x 3 ,<br />

2<br />

d<br />

dt x 3 = u 2 − u 1<br />

p<br />

adm<strong>et</strong> (x 1 , x 2 ) comme sortie plate (p > est une longueur).


Inversion <strong>et</strong> algorithme de structure<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

x = f (x, u) <strong>et</strong><br />

y = h(x) avec dim y = dim u (u est<br />

l’entrée <strong>et</strong> y la sortie).<br />

On suppose t ↦→ y(t) donné. On<br />

cherche à calculer x <strong>et</strong> u. Le principe:<br />

Inversion du système d<br />

d<br />

dt x dt<br />

1 = x 1 x 2 + u 1<br />

d<br />

dt x 2 = x 1 x 2 + x 3 + u 1<br />

d<br />

dt x 3 = x 3 + x 4 + u 2<br />

d<br />

dt x 4 = x 3 x 4 + λx 4 + u 2<br />

y 1 = x 1<br />

y 2 = x 2<br />

les dérivées successives de y(t) =<br />

h(x) donnent <strong>des</strong> équations reliant x<br />

<strong>et</strong> u.


Le critère <strong>des</strong> variétés réglées (R.1994)<br />

Si on élimine u <strong>des</strong> n = dim x équations d’état d dt<br />

x = f (x, u) on<br />

obtient un système sous-déterminé de n − m équations<br />

différentielles <strong>et</strong> n inconnues x (système implicite<br />

sous-déterminé): F ( x, d dt x) = 0.<br />

Critère <strong>des</strong> variétés réglées: si F ( x, d dt x) = 0 est plat, alors<br />

pour tout (x, p) tel que F(x, p) = 0, existe a ≠ 0 tel que, pour<br />

tout λ ∈ R, F(x, p + λa) = 0.<br />

Caractérisation pour dim F = dim x − 1 (système à un seul<br />

contrôle): la CNS de linéarisation par bouclage statique (les<br />

seules variétés réglées de dimension 1 sont <strong>des</strong> droites).<br />

Exo: Sous quelle(s) condition(s) sur le paramètre α, le système<br />

d<br />

dt x 1 = u 1 ,<br />

d<br />

dt x 2 = u 2 ,<br />

d<br />

dt x 3 = (u 1 ) 2 − α (u 2 ) 2<br />

vérifie-t-il le critère <strong>des</strong> variétés réglées. Quand ces conditions<br />

sont satisfaites, montrer que le système est alors effectivement<br />

plat en exhibant une sortie plate.


Un peu d’histoire<br />

◮ Monge (1784) montre que la solution générale de l’équation du<br />

premier ordre (équation qui porte son nom)<br />

(<br />

dy<br />

dx = F x, y, z, dz )<br />

dx<br />

s’exprime via une fonction arbitraire d’une variable <strong>et</strong> de ses<br />

dérivées jusqu’à l’ordre 2. Monge dit que le système est<br />

intégrable bien qu’il soit sous-déterminé. Exemple: dy<br />

dx = x dz<br />

dx<br />

avec y = w(z) <strong>et</strong> x = w ′ (z).<br />

◮ Hilbert (1912) se demandait si la solution ( générale)<br />

de l’équation<br />

de Monge du second ordre d 2 y<br />

d 2 x = F x, y, z, dy<br />

dx , dz<br />

dx<br />

s’exprime<br />

sans intégrale comme celle de l’équation du premier ordre. Il<br />

montre qu’en général ce n’est pas le cas <strong>et</strong> que ce problème est<br />

lié à la classification <strong>des</strong> systèmes sous-déterminés via un<br />

groupe de transformations inversibles <strong>et</strong> sans intégrale. Il<br />

propose une analogie suggestive avec la classification <strong>des</strong><br />

variétés algébriques via le groupe <strong>des</strong> transformations<br />

bi-rationnelles.


Cinématique de la voiture<br />

Intérêt essentiel <strong>des</strong> systèmes plats: la planification de<br />

trajectoires illustrée ici sur la voiture (avec remorques).<br />

P<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

d<br />

dt x = v cos θ<br />

d<br />

dt y = v sin θ<br />

d<br />

dt θ = v l<br />

tan ϕ = ω<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

v<br />

[<br />

= ±‖<br />

]<br />

d dt P‖<br />

cos θ<br />

= d dt P<br />

sin θ v<br />

tan ϕ = l d<strong>et</strong>(¨P,Ṗ) √ v |v|


Symétrie par changement d’échelle de temps<br />

Pour tout changement d’échelle de temps T ↦→ σ(T ), la<br />

transformation<br />

t = σ(T ), (x, y, θ) = (X, Y , Θ), (v, ω) = (V , Ω)/σ ′ (T )<br />

laisse les équations<br />

inchangées :<br />

d<br />

d<br />

x = v cos θ,<br />

dt<br />

d<br />

y = v sin θ,<br />

dt<br />

dt θ = ω<br />

d<br />

d<br />

X = V cos Θ,<br />

dT<br />

d<br />

Y = V sin Θ,<br />

dT<br />

dT Θ = Ω.<br />

Prototype d’invariance d’un système par rapport à un groupe<br />

de transformations.


Le groupe <strong>des</strong> déplacements du plan SE(2), comme groupe de<br />

symétries<br />

Pour tout (a, b, α), la transformation<br />

[ [ ]<br />

x X cos α − Y sin α + a<br />

=<br />

, θ = Θ − α, (v, ω) = (V , Ω)<br />

y]<br />

X sin α + Y cos α + b<br />

laisse les équations<br />

inchangées :<br />

d<br />

d<br />

x = v cos θ,<br />

dt<br />

d<br />

d<br />

X = V cos Θ,<br />

dt<br />

d<br />

y = v sin θ,<br />

dt<br />

d<br />

Y = V sin Θ,<br />

dt<br />

dt θ = ω<br />

dt Θ = Ω.<br />

Il faut que notre méthode de contrôle préserve c<strong>et</strong>te invariance.


Systèmes invariants <strong>et</strong> symétries<br />

◮ Les données sont un système commandé d dt<br />

x = f (x, u),<br />

x ∈ X ⊂ R n <strong>et</strong> u ∈ U ⊂ R m <strong>et</strong> un groupe G (a priori <strong>non</strong><br />

commutatif) dont la loi de composition est notée g 1 .g 2 ∈ G pour<br />

tout g 1 , g 2 ∈ G <strong>et</strong> l’élément neutre est noté e (e.g = g <strong>et</strong><br />

g −1 .g = g.g −1 pour tout g ∈ G).<br />

◮ On considère, associé G, le groupe de transformations sur<br />

l’espace d’état X , (ϕ g ) g∈G où pour chaque g, ϕ g est un<br />

difféomorphisme régulier (au moins C 1 ) sur X avec ϕ −1<br />

g = ϕ g −1<br />

<strong>et</strong> ϕ g1 ◦ ϕ g2 = ϕ g1 .g 2<br />

. On parle alors de l’action de G sur X via le<br />

groupe de transformations (ϕ g ). On considère de même l’action<br />

de G sur U via le groupe de transformations (ψ g ) g∈G .<br />

◮ On en déduit l’action de G sur X × U via (X, U) = ( ϕ g (x), ψ g (u)).<br />

Le système d dt<br />

x = f (x, u) est dit invariant si, <strong>et</strong> seulement si,<br />

f ( ϕ g (x), ψ g (u) ) = Dϕ g (x) · f (x, u) pour tout g, x, u. Cela signifie<br />

que les équations en (X, U) d dt<br />

X = f (X, U) sont les mêmes que<br />

celles en (x, u). G est simplement un groupe de symétries du<br />

système: si (x(t), u(t)) est une trajectoire, alors ∀g ∈ G,<br />

(ϕ g (x(t)), ψ g (u(t))) est aussi une trajectoire du système.


Le suivi de trajectoire invariant<br />

translation<br />

+ rotation<br />

Le contrôleur ne doit pas dépendre <strong>des</strong> origines prises pour les<br />

positions <strong>et</strong> pour l’orientation: la dynamique par rapport à la<br />

trajectoires de référence doit être indépendante de ce choix<br />

d’origines.


Construction du suivi invariant<br />

Soit une trajectoire de référence décrite ainsi (s r est l’abscisse<br />

curviligne)<br />

t ↦→ s r ↦→ P r (s r ), θ r (s r ), v r = d dt s r , ω r = κ r (s r ) d dt s r<br />

<strong>et</strong> l’état actuel de la voiture (P, θ)<br />

Trouver <strong>des</strong> corrections invariantes<br />

v = v r + . . . , ω = ω r + . . .<br />

de sorte que P ↦→ P r quand t augmente.


Invariance par changement d’échelle de temps<br />

On pose<br />

v = ¯v d dt s r ,<br />

ω = ¯ω d dt s r<br />

avec ′ pour la dérivée par rapport à s r .<br />

Les équations restent les mêmes<br />

P ′ = ¯v ⃗τ,<br />

⃗τ ′ = ¯ω ⃗ν<br />

avec P = (x, y), ⃗τ = (cos θ, sin θ) <strong>et</strong> ⃗ν = (− sin θ, cos θ).


Les erreurs invariantes<br />

On construit le bouclage de suivi en utilisant <strong>des</strong> techniques de<br />

découplage entrée/sortie avec comme sorties les deux erreurs<br />

suivantes :<br />

e ‖ = (P − P r ) · ⃗τ r ,<br />

e ⊥ = (P − P r ) · ⃗ν r<br />

<strong>et</strong> comme les entrées ¯v <strong>et</strong> ¯ω.


Calcul <strong>des</strong> dérivées de e ‖ <strong>et</strong> e ⊥<br />

Comme e ‖ = (P − P r ) · ⃗τ r <strong>et</strong> e ⊥ = (P − P r ) · ⃗ν r on a (avec<br />

′ = d/ds r )<br />

e ′ ‖ = (P′ − P ′ r ) · ⃗τ r + (P − P r ) · ⃗τ ′ r .<br />

Mais P ′ = ¯v⃗τ, P ′ r = ⃗τ r <strong>et</strong> ⃗τ ′ r = κ r ⃗ν r , donc<br />

De même pour e ′ ⊥ on a :<br />

e ′ ‖ = ¯v⃗τ · ⃗τ r − 1 + κ r (P − P r ) · ⃗ν r .<br />

e ′ ‖ = ¯v cos(θ − θ r ) − 1 + κ r e ⊥ , e ′ ⊥ = ¯v sin(θ − θ r ) − κ r e ‖ .


Calcul approché pour e ‖ avec θ ≈ θ r<br />

Comme e ′ ‖ ≈ ¯v − 1 + κ r e ⊥ , le bouclage ¯v = 1 − κ r e ⊥ − e ‖ /L ‖<br />

avec L ‖ le gain qui est ici une longueur à choisir du même ordre<br />

que celle de la voiture, conduit, pour e ‖ à une dynamique<br />

exponentiellement stable en boucle fermée :<br />

e ′ ‖ = −e ‖/L ‖


Calcul approché pour e ⊥ avec θ ≈ θ r , e ‖ ≈ 0 <strong>et</strong> ¯v ≈ 1<br />

Comme e ′ ⊥ ≈ (θ − θ r ), il faut dériver une fois de plus pour voir<br />

apparaître l’autre contrôle ¯ω = θ ′ . A <strong>des</strong> termes d’ordre 2 près,<br />

on a donc<br />

e ′′ ⊥ ≈ (¯ω − ¯ω r )<br />

Alors le bouclage (les gains ξ <strong>et</strong> 1/ϖ sont autour de 1 <strong>et</strong> de la<br />

dimension de la voiture)<br />

¯ω = ¯ω r − 2ξϖe ′ ⊥ − ϖ2 e ⊥<br />

assure une dynamique du second ordre linéaire <strong>et</strong><br />

exponentiellement stable pour e ⊥<br />

e ′′ ⊥ = −2ξϖe′ ⊥ − ϖ2 e ⊥


Les calculs rigoureux<br />

La dérivation de<br />

e ′ ‖ = ¯v cos(θ − θ r ) − 1 + κ r e ⊥ ,<br />

e ′ ⊥ = ¯v sin(θ − θ r ) − κ r e ‖<br />

par rapport à s r donne<br />

e ′′<br />

‖ = ¯v ′ cos(θ − θ r ) − ¯ω¯v sin(θ − θ r )<br />

+ 2κ r ¯v sin(θ − θ r ) + κ ′ r e ⊥ − κ 2 r e ‖<br />

e ′′ ⊥ = ¯v ′ sin(θ − θ r ) + ¯ω¯v cos(θ − θ r )<br />

− 2κ r ¯v cos(θ − θ r ) − κ ′ r e ‖ + κ r + κ 2 r e ‖ .


Le feedback dynamique en échelle s r<br />

On a<br />

e ′′<br />

‖ = ¯v ′ cos(θ − θ r ) − ¯ω¯v sin(θ − θ r ) + W ‖<br />

e ′′ ⊥ = ¯v ′ sin(θ − θ r ) + ¯ω¯v cos(θ − θ r ) + W ⊥<br />

On choisit ¯v ′ <strong>et</strong> ¯ω de sorte que<br />

( ) (<br />

e<br />

‖ ′′ = − 1<br />

L 1 + 1<br />

‖<br />

L 2 e<br />

‖ ′ −<br />

‖<br />

( 1<br />

e ⊥ ′′ = − L 1 + 1<br />

⊥<br />

L 2 ⊥<br />

1<br />

L 1 ‖ L2 ‖<br />

)<br />

)<br />

e ′ ⊥ − ( 1<br />

L 1 ⊥ L2 ⊥<br />

e ‖<br />

)<br />

e ⊥<br />

C’est possible pour une large plage autour de la trajectoire de<br />

référence car ¯v ≈ 1.


Le feedback dynamique en échelle t<br />

En échelle s r on a<br />

¯v ′ = Φ(¯v, P, P r , θ, θ r , κ r , κ ′ r )<br />

¯ω = Ψ(¯v, P, P r , θ, θ r , κ r , κ ′ r )<br />

Comme ′ = d/ds r = d/( d dt s r dt) on a<br />

d ¯v<br />

= Φ(¯v, P, P r , θ, θ r , κ r , κ ′ r ) ṡ r (t)<br />

dt<br />

¯ω = Ψ(¯v, P, P r , θ, θ r , κ r , κ ′ r )<br />

avec<br />

v = ¯v d dt s r (t),<br />

tan φ = l ¯ω¯v<br />

Rien n’explose pour d dt s r (t) proche de 0: une utilisation de<br />

l’invariance par échelle de temps.


Véhicule à n remorques<br />

◮ Roulement sans glissement:<br />

la vitesse de chaque P i est<br />

parallèle à la direction θ i de la<br />

remorque i de longueur<br />

d i > 0.<br />

◮ P 0 de coordonnées<br />

cartesiennes (x 0 , y 0 ); les deux<br />

contrôles scalaires sont v la<br />

vitesse <strong>et</strong> φ l’angle de<br />

braquage.<br />

d<br />

dt x 0 = v cos θ 0 ,<br />

⎛<br />

d<br />

dt θ i = v d i<br />

d<br />

dt y 0 = v sin θ 0 ,<br />

⎞<br />

∏<br />

cos(θ j−1 − θ j ) ⎠ sin(θ i−1 − θ i )<br />

i−1<br />

⎝<br />

j=1<br />

d<br />

dt θ 0 = v d 0<br />

tan φ = ω<br />

(i = 1, . . . , n),<br />

Sortie plate: P n ; preuve uniquement avec un <strong>des</strong>sin <strong>et</strong> les<br />

formules de Frén<strong>et</strong>.


La construction géométrique<br />

◮ Invariance par rapport au groupe SE(2).<br />

P n−1 = P n + d n<br />

dP n<br />

ds n<br />

◮ Sortie plate <strong>non</strong> unique: (ξ = x n , ζ = y n + d dt x n) est une<br />

autre sortie plate car x n = ξ <strong>et</strong> y n = ζ − d dt ξ.<br />

◮ La sortie plate (x n , y n ) formée par les coordonnées<br />

cartésiennes de P n est plus naturelle que (ξ, ζ). Elle<br />

repose sur une fonction de sortie h équivariante.


Le robot jongleur 2kπ: prototype de systèmes implicites <strong>et</strong> plats<br />

S<br />

S<br />

<strong>Dynamique</strong> du pendule ponctuel H<br />

isochrone de Huygens :<br />

mg<br />

equivalent<br />

to<br />

mg<br />

H<br />

m d 2<br />

dt 2 H = T ⃗ + m⃗g<br />

⃗T // HS ⃗<br />

‖ HS‖ ⃗ = l<br />

◮ Le point de suspension S ∈ R 3 est le contrôle<br />

◮ Le centre d’oscillation H ∈ R 3 est la sortie plate: comme<br />

⃗T /m = d 2<br />

H − ⃗g <strong>et</strong> T ⃗ // −→ HS, S est solution du système<br />

dt 2<br />

algébrique suivant:<br />

−→<br />

HS // d 2<br />

dt 2 H − ⃗g <strong>et</strong> ‖ ⃗ HS‖ 2 = l.


Gil<strong>et</strong> stabilisateur en plongée autonome (correction le 6 novembre)<br />

Exo:<br />

La dynamique verticale d’un plongeur équipé d’un gil<strong>et</strong> stabilisateur<br />

piloté par le débit de gaz u est<br />

m d 2 ( (<br />

dt 2 h = m − ρ V 0 +<br />

N ))<br />

gRθ<br />

g − C d p 0 + ρh dt h,<br />

d<br />

dt N g = u<br />

où C ≥ 0 est le coefficient de frottement avec l’eau, R la constante<br />

<strong>des</strong> gaz parfaits <strong>et</strong> θ la température.


Gil<strong>et</strong> stabilisateur en plongée autonome (fin)<br />

1. Discuter ce modèle <strong>et</strong> expliquer l’origine <strong>des</strong> équations.<br />

Pourquoi est-il important d’avoir m > ρV 0 (ce que l’on supposera<br />

dans toute la suite) ?<br />

2. On suppose ici u = 0. Quels sont les points d’équilibre <strong>et</strong> étudier<br />

leur stabilité.<br />

3. Montrer qu’avec le bouclage u = (v − N g )/ɛ avec ɛ > 0 p<strong>et</strong>it on<br />

se ramène à un second ordre <strong>non</strong>-linéaire avec comme<br />

commande v. Comment choisir ɛ en fonction <strong>des</strong> paramètres.<br />

4. Montrer que y = h est une sortie plate de ce système du second<br />

ordre avec comme control v. En déduire une commande en<br />

boucle ouverte [0, T ] ∋ t ↦→ v r (t) <strong>et</strong> une trajectoire de référence<br />

[0, T ] ∋ t ↦→ h r (t) qui assurent la transition entre les deux<br />

d’équilibres h = a > 0 <strong>et</strong> h = b > 0. Discuter en fonction de T la<br />

faisabilité de c<strong>et</strong>te trajectoire de référence sachant que v doit<br />

rester positif.<br />

5. Donner le bouclage <strong>non</strong>-linéaire d’état qui m<strong>et</strong> le système sous<br />

la forme d 2<br />

h = w où w est un nouveau contrôle. En déduire le<br />

dt 2<br />

bouclage de suivi de la trajectoire de référence (h r , v r ).


Distinguabilité <strong>et</strong> observabilité<br />

Le système est d dt<br />

x = f (x, u) avec comme mesure y = h(x).<br />

Définition (distinguabilité)<br />

Deux états initiaux x <strong>et</strong> ˜x sont dits indistinguables (notés xI˜x) si<br />

pour tout t ≥ 0, les sorties y(t) <strong>et</strong> ỹ(t) sont identiques pour<br />

toute entrée u(t) admissible. Ils sont dits distinguables si<strong>non</strong>.<br />

L’indistinguabilité est une relation d’équivalence. Notons I(x) la<br />

classe d’équivalence de x.<br />

Définition (observabilité globale)<br />

Le système est dit observable en x si I(x) = {x} <strong>et</strong> il est<br />

observable si I(x) = {x} pour tout x.<br />

Ainsi le système est observable si pour tous les états initiaux x<br />

<strong>et</strong> ˜x, il existe une entrée admissible u qui distingue x <strong>et</strong> ˜x, c’est<br />

à dire telle que y(t) ≠ ỹ(t) pour au moins un temps t ≥ 0<br />

(injectivité).


Le système d dt x 1 = ux 2 , d dt x 2 = 0, y = x 1 est observable (pour<br />

u = 1 par exemple). Cependant l’entrée u = 0 ne distingue pas<br />

les points x <strong>et</strong> ˜x tels que x 1 = ˜x 1 <strong>et</strong> x 2 ≠ ˜x 2 . Plus généralement,<br />

il peut être nécessaire d’aller très loin dans le temps <strong>et</strong> dans<br />

l’espace d’état pour distinguer deux états initiaux, d’où<br />

Définition (observabilité locale en temps <strong>et</strong> en espace)<br />

L’état x est localement observable, si pour tout ε > 0 <strong>et</strong> pour<br />

tout voisinage U de x, il existe η > 0 plus p<strong>et</strong>it que ε <strong>et</strong> un<br />

voisinage V de x contenu dans U, tel que pour tout ˜x ∈ V , il<br />

existe une entrée [0, η] ∋ t ↦→ u(t) qui distingue x <strong>et</strong> ˜x, i.e. telle<br />

que y(η) ≠ ỹ(η). Le système est localement observable s’il<br />

l’est pour tout x.<br />

Le système est localement observable si on peut<br />

instantanément distinguer chaque état de ses voisins en<br />

choisissant judicieusement l’entrée u.


Un test simple (dans un monde idéal)<br />

Les données sont t ↦→ (y(t), u(t)) <strong>et</strong> le modèle d dt<br />

x = f (x, u)<br />

avec y = h(x). L’inconnue est x. On suppose que tout est<br />

dérivable. Par dérivation successive de y on a pour ν entier<br />

⎧<br />

h(x) ≡ h 0 (x) = y<br />

⎪⎨<br />

(Σ ν )<br />

⎪⎩<br />

∂h 0<br />

∂x f (x, u) ≡ h 1(x, u) = d dt y<br />

∂h 1<br />

∂x f (x, u) + ∂h 1<br />

∂x ˙u ≡ h 2(x, u, ˙u) = d 2<br />

dt 2 y<br />

h ν (x, u, . . . , u (ν−1) ) = y (ν) = d ν<br />

dt ν y<br />

Si à partir d’un certain ν on peut résoudre le système (Σ ν ) en<br />

x, alors le système est observable <strong>et</strong> x s’exprime comme une<br />

fonction de y, u <strong>et</strong> un nombre fini de leurs dérivées.<br />

Difficile à utiliser en pratique car y est en général bruité.<br />

.


Exemple d’un réacteur exothermique<br />

d<br />

dt x 1 = D(x1 in − x 1) − k 0 exp(−E/RT )x 1<br />

d<br />

dt T = D(T in − T ) + α∆H exp(−E/RT )x 1 + u<br />

y(t) = T .<br />

On a facilement x 1 en fonction de (y, d dt<br />

y) <strong>et</strong> u :<br />

x 1 =<br />

d<br />

dt y − D(T in − y) − u<br />

α∆H exp(−E/Ry)<br />

Le système est donc observable. y <strong>et</strong> u sont reliés par une<br />

équation différentielle du second ordre en y <strong>et</strong> du premier ordre<br />

en u. On l’obtient en utilisant l’équation donnant d dt x 1 :<br />

d<br />

dt<br />

( d<br />

dt y − D(T )<br />

in − y) − u<br />

α∆H exp(−E/Ry)<br />

= Dx in<br />

1 − (D + k 0 exp(−E/Ry))<br />

d<br />

dt y − D(T in − y) − u<br />

α∆H exp(−E/Ry) .<br />

Il(<br />

s’agit d’une condition ) de compatibilité<br />

F y, d dt y, d 2<br />

y, u, d dt 2 dt u = 0 entre y <strong>et</strong> u à la base du diagnostic<br />

<strong>et</strong> de la détection de panne (relation <strong>non</strong>-linéaire entrée/sortie).


Systèmes linéaires à coefficients constants<br />

On part de d dt<br />

x = Ax + Bu, y = Cx avec u <strong>et</strong> y connus à<br />

chaque instant t <strong>et</strong> x inconnu.La méthode de base: on dérive la<br />

sortie pour faire apparaître x. On obtient une infinité<br />

d’équations pour x,<br />

y = Cx<br />

ẏ = CAx + CBu<br />

ÿ = CA 2 x + CABu + CB ˙u<br />

.<br />

y (ν) = CA ν x + CA ν−1 Bu + . . . + CBu (ν−1) . . .<br />

dont seules les n premières (0 ≤ ν ≤ n − 1) donnent a priori<br />

<strong>des</strong> informations sur x. Justification par le théorème de<br />

Cayley-Hamilton qui dit qu’une matrice est solution de son<br />

polynôme caractéristique: si P(s) = d<strong>et</strong>(sI − A) alors P(A) ≡ 0<br />

<strong>et</strong> donc A n est une combinaison linéaire <strong>des</strong> (A ν ) 0≤ν≤n−1 .


Le système en x à résoudre<br />

Par Cayley-Hamilton, il suffit de regarder seulement les n − 1<br />

premières dérivées de y:<br />

y = Cx<br />

ẏ = CAx + CBu<br />

ÿ = CA 2 x + CABu + CB ˙u<br />

.<br />

y (n−1) = CA n−1 x + CA n−1 Bu + . . . + CBu (n−2)<br />

Ce système a au plus une solution en<br />

x, <strong>et</strong> seulement si, le rang de la matrice<br />

"colonne" pn × n (p = dim y) cicontre<br />

est égal à celui de ses colonnes<br />

(opérateur injectif), à savoir n.<br />

⎛<br />

O = ⎜<br />

⎝<br />

⎞<br />

C<br />

CA<br />

⎟<br />

. ⎠<br />

CA n−1


Kalman <strong>et</strong> Dualité<br />

Théorème (Critère de Kalman)<br />

Le système d dt<br />

x = Ax + Bu,<br />

⎛ ⎞<br />

y = Cx (A: n × n; B: n × m;<br />

C<br />

C: p × n) est observable si, <strong>et</strong><br />

CA<br />

O = ⎜ ⎟<br />

seulement si, le rang de la matrice<br />

d’observabilité O est égal à<br />

CA n−1<br />

⎝ . ⎠<br />

n = dim(x).<br />

Pour abréger, on dit souvent que la paire (A, C) est observable<br />

lorsque le rang de la matrice d’observabilité O est maximum.<br />

Dualité<br />

Le système d dt<br />

x = Ax + Bu, y = Cx est observable (resp.<br />

d<br />

commandable) si <strong>et</strong> seulement si<br />

dt x = AT x + C T u, y = B T x<br />

est commandable (resp. observable).<br />

(A T <strong>et</strong> B T sont les transposées de A <strong>et</strong> B).


Forme normale (ca<strong>non</strong>ique) observateur (cas "SISO")<br />

d<br />

x = Ax + Bu, y = Cx, (dim C = 1 × n)<br />

dt<br />

Changement de variables sur x <strong>et</strong> sur y (x ↦→ Mx <strong>et</strong> y ↦→ Ny<br />

avec M <strong>et</strong> N inversibles) m<strong>et</strong>tant le système sous forme<br />

ca<strong>non</strong>ique observateur: il suffit de transposer les formules<br />

conduisant à la forme normale de Brunovsky.<br />

La forme ca<strong>non</strong>ique est donc (B est arbitraire ici):<br />

A =<br />

⎛<br />

⎜<br />

⎝<br />

⎞<br />

0 ... 0 a 0<br />

1 0 0 ...<br />

... 1 0 ...<br />

0 ... 1 a n−1<br />

C = ( 0 ... 0 1 )<br />

⎛<br />

⎟<br />

⎠ , B = ⎝<br />

⎞<br />

b 0<br />

... ⎠<br />

b n−1


Observateur asymptotique sur la forme ca<strong>non</strong>ique (mono-sortie)<br />

Avec<br />

⎛<br />

⎞<br />

0 ... 0 a<br />

⎛ ⎞<br />

0<br />

L A = ⎜ 1 0 0 ...<br />

0<br />

⎟<br />

⎝ ... 1 0 ... ⎠ , C = (0, . . . , 0, 1) <strong>et</strong> L = ⎜ ⎟<br />

⎝ . ⎠<br />

0 ... 1 a L n−1 n−1<br />

on a<br />

A − LC =<br />

⎛<br />

⎜<br />

⎝<br />

dont le polynôme caractéristique est:<br />

⎞<br />

0 ... 0 a 0 − L 0<br />

1 0 0 ...<br />

⎟<br />

... 1 0 ... ⎠<br />

0 ... 1 a n−1 − L n−1<br />

s n − (a n−1 − L n−1 )s n−1 − ... − (a 1 − L 1 )s − (a 0 − L 0 ) = 0<br />

On peut librement choisir les pôles de A − LC si (A, C) est<br />

observable (transposition de la stabilisation par feedback <strong>et</strong><br />

placement de pôles)


Observateur asymptotique pour d dt<br />

x = Ax + Bu, y = Cx.<br />

Soit ˆx solution de:<br />

d ˆx = Aˆx + Bu(t) −L(Cˆx − y(t)) , ŷ = Cˆx<br />

dt } {{ } } {{ }<br />

prédiction correction<br />

Alors on voit que d dt<br />

(x − ˆx) = (A − LC)(x − ˆx). Avec (A, C)<br />

observable on peut imposer les valeurs propres de A − LC avec L.<br />

On les choisit stables. Alors ˆx est l’état d’un filtre stable <strong>des</strong> signaux<br />

y(t) <strong>et</strong> u(t) (passe bas) avec en plus lim t→+∞ (x(t) − ˆx(t)) = 0. On<br />

reconstitue asymptotiquement x via ˆx son estimée.<br />

Le filtre de Kalman est une autre façon de calculer L en fonction <strong>des</strong><br />

bruits Gaussiens sur le modèle <strong>et</strong> sur la mesure:<br />

d<br />

x(t) = Ax(t) + Bu(t) + Dξ(t), y(t) = Cx(t) + ϱ(t)<br />

dt<br />

ξ(t) <strong>et</strong> ϱ(t) sont <strong>des</strong> bruits blancs gaussiens centrés<br />

E (ξ(t)) = 0, cov (ξ(t), ξ(τ)) = E(ξ(t)ξ T (τ)) = M ξ (t) δ(t − τ)<br />

E (ϱ(t)) = 0, cov (ϱ(t), ϱ(τ)) = E(ϱ(t)ϱ T (t)) = M ϱ (t) δ(t − τ)<br />

δ mesure de Dirac, M ξ , M ϱ matrices de covariance sym. déf.<br />

positives.


Observateur asymptotique pour d dt<br />

x = f (x, u), y = h(x).<br />

On cherche une estimation de ˆx solution de:<br />

d ˆx = f (ˆx, u(t)) −L(ˆx, y(t), u(t)) , ŷ = h(ˆx)<br />

dt } {{ } } {{ }<br />

prédiction correction<br />

avec un terme L(ˆx, y(t), u(t)) vérifiant<br />

◮ L(x, h(x), u(t)) ≡ 0 pour tout x <strong>et</strong> u: facile à satisfaire en<br />

général.<br />

◮ lim t↦→+∞ ˆx − x = 0: c’est la stabilité du filtre <strong>non</strong>-linéaire<br />

d’état ˆx; on ne dispose pas de méthode générale<br />

garantissant sa convergence.<br />

Le filtre de Kalman étendu est une méthode heuristique pour<br />

calculer les termes correctifs L. Elle est très utilisée par les<br />

ingénieurs. Elle nécessite <strong>des</strong> calculs assez lourds. Elle ne<br />

repose sur aucune preuve générale de convergence. En<br />

pratique, son bon fonctionnement repose sur un réglage adapté<br />

de ses paramètres <strong>et</strong> surtout sur le choix <strong>des</strong> bonnes variables<br />

pour écrire les équations du système. Ce choix dépend alors la<br />

nature <strong>des</strong> <strong>non</strong>-linéarités de f (x, u) <strong>et</strong> h(x).


Filtre de Kalman étendu pour les systèmes <strong>non</strong>-linéaires<br />

On part de<br />

d<br />

x = f (x, u),<br />

dt y = h(x)<br />

où t ↦→ y(t) <strong>et</strong> t ↦→ u(t) sont <strong>des</strong> signaux connus du temps. A chaque<br />

instant, on cherche une estimation de x(t), notée ˆx(t) connaissant le<br />

modèle ci-<strong>des</strong>sus <strong>et</strong> aussi les valeurs passées <strong>des</strong> signaux<br />

] − ∞, t] ∋ τ ↦→ (y(τ), u(τ)) (estimation causale <strong>et</strong> temps-réel).<br />

Le filtre de Kalman étendu d’état ˆx est donné par<br />

d<br />

dt ˆx = f (ˆx, u) − L · (h(ˆx) − y )<br />

où la matrice de gain de correction L est le résultat de l’intégration<br />

numérique d’une équation différentielle matricielle:<br />

A = ∂ x f (ˆx, u)<br />

C = ∂ x h(ˆx)<br />

L = −PC T N<br />

d<br />

dt P = AP + PAT + M −1 − PC T NCP<br />

où les matrices symétriques positives M <strong>et</strong> N sont <strong>des</strong> paramètres de<br />

réglage.


Observateur asymptotique <strong>non</strong> linéaire pour un réacteur exothermique<br />

d<br />

dt x 1 = D(x1 in −x 1 )−k 0 e − E d<br />

RT x1 ,<br />

dt T = D(T in −T )+k 1 e − E RT x1 +u, y = T .<br />

Il est alors naturel de prendre (linéarisation par injection de sortie)<br />

d<br />

dt ˆx 1 = D(x1 in −ˆx 1 )−k 0 e − E d<br />

RT ˆx 1 ,<br />

dt ˆT = D(T in −ˆT )+k 1 e − E RT ˆx 1 +u+L T (T −ˆT )<br />

où L T est un gain > 0. Voici un raisonnement heuristique<br />

garantissant la convergence en deux étapes:<br />

◮ comme k 0 e − E RT > 0 <strong>et</strong> D > 0, la dynamique ( sur ˆx 1 est)<br />

stable <strong>et</strong><br />

ˆx 1 converge vers x 1 car d dt (ˆx 1 − x 1 ) = − D + k 0 e − E RT (ˆx 1 − x 1 ).<br />

◮ on peut donc remplacer ˆx 1 par x 1 dans l’équation donnant d dt ˆT <strong>et</strong><br />

ainsi obtenir d dt (ˆT − T ) = −(D + L T )(ˆT − T ) qui montre la<br />

convergence exponentielle vers 0 de ˆT − T .<br />

Ce raisonnement heuristique peut être rendu parfaitement rigoureux<br />

mais au prix d’un obscurcissement quasi-total <strong>des</strong> arguments<br />

ci-<strong>des</strong>sus. Ces derniers utilisent la structure <strong>des</strong> <strong>non</strong>-linéarités du<br />

système pour se ramener à une forme triangulaire <strong>et</strong> au linéaire . . .


Stabilité <strong>et</strong> contraction<br />

On peut toujours écrire d dt ˆx = f (ˆx, u(t)) − L(ˆx, y(t), u(t)) sous<br />

la forme d dt ˆx = ˆf (ˆx, t) avec x est une solution particulière<br />

( d dt x = ˆf (x, t)). La convergence de l’observateur veut dire<br />

heuristiquement qu’il oublie sa condition initiale: ˆx converge<br />

vers x quand t tend vers +∞. Une condition suffisante de<br />

convergence souvent utile repose la notion de contraction.<br />

Supposons que la partie symétrique du jacobien<br />

⎛ ( ) ⎞ T<br />

S(ˆx, t) = 1 ⎝ ∂ˆf<br />

2 ∂ˆx + ∂ˆf<br />

⎠<br />

∂ˆx<br />

soit négative. Alors d dt ‖x − ˆx‖2 ≤ 0 pour la norme euclidienne.<br />

Si pour tout ˆx <strong>et</strong> t, S(ˆx, t) ≤ −λI d avec λ > 0 constant alors<br />

d<br />

dt ‖x − ˆx‖2 ≤ −2λ‖x − ˆx‖ 2 <strong>et</strong> donc ˆx converge vers x<br />

exponentiellement ‖ˆx(t + τ) − x(t + τ))‖ ≤ ‖ˆx(t) − x(t)‖ e −λτ<br />

pour tout t <strong>et</strong> τ > 0.


Preuve de la contraction (cas euclidien)<br />

Montrons que si S(ˆx, t) = 1 2<br />

(<br />

∂ˆf<br />

∂ˆx + (<br />

∂ˆf<br />

∂ˆx<br />

) ) T<br />

≤ 0, alors d dt ‖x − ˆx‖2 ≤ 0.<br />

Soient ¯t, ˆx(¯t), x(¯t) <strong>et</strong> le segment γ¯t(σ) = σx(¯t) + (1 − σ)ˆx(¯t) allant de<br />

ˆx(¯t) à x(¯t) pour σ ∈ [0, 1]. On note par γ t (σ) la solution de<br />

d<br />

dt ξ = ˆf (ξ, t) qui passe par γ¯t(σ) en t = ¯t. Pour t fixé, la longueur de la<br />

courbe γ t (σ) est donnée par L t = ∫ 1<br />

∥ ∂<br />

∂σ γ t(σ) ∥ dσ. Un simple calcul<br />

donne<br />

∫<br />

d<br />

1<br />

dt L t =<br />

0<br />

0<br />

〈<br />

〉<br />

∂ 2<br />

∂t∂σ γ ∂<br />

t(σ) ,<br />

∂σ γ t(σ)<br />

∥ ∂<br />

∂σ γ t(σ) ∥ dσ ≤ 0<br />

car<br />

∂ 2<br />

∂t∂σ γ t(σ) = ∂ˆf<br />

∂ξ<br />

∂<br />

∂σ γ t(σ). Comme ‖ˆx(t) − x(t)‖ ≤ L t <strong>et</strong> L t ≤ L¯t pour<br />

t > ¯t, on en déduit que ‖ˆx(t) − x(t)‖ ≤ ‖ˆx(¯t) − x(¯t)‖ pour tout t > ¯t.<br />

D’où d dt ‖x − ˆx‖2 ≤ 0 en t = ¯t avec ¯t arbitraire.<br />

Exo: Reprendre la preuve avec comme hypothèse S(ˆx, t) ≤ −λI d <strong>et</strong><br />

comme conclusion d dt ‖x − ˆx‖2 ≤ −2λ‖x − ˆx‖ 2 .


Contraction dans le cas Riemannien<br />

Supposons que x (<strong>et</strong> ˆx) corresponds aux coordonnées locales<br />

sur une variété Riemannienne dont la métrique est donnée par<br />

la forme quadratique définie positive G(x). Alors l’observateur<br />

asymptotique d dt ˆx = ˆf (ˆx, t) est dit contractant pour c<strong>et</strong>te<br />

métrique si <strong>et</strong> seulement si,<br />

⎛ ( ) ⎞<br />

T<br />

∀t, ˆx, S(ˆx, t) = 1 ⎝G ∂ˆf<br />

2 ∂ˆx + ∂ˆf<br />

G + ∂G<br />

∂ˆx ∂ˆx ˆf ⎠ ≤ 0.<br />

Ainsi la distance riemannienne d G (ˆx, x) entre ˆx <strong>et</strong> x décroît au<br />

cours du temps. Si de plus S(ˆx, t) ≤ −λG(ˆx) avec λ > 0<br />

constant alors<br />

d G (ˆx(t + τ), x(t + τ)) ≤ d G (ˆx(t), x(t)) e −λτ<br />

pour t <strong>et</strong> τ > 0.<br />

Exo: Montrer ce résultat en reprenant la preuve du cas<br />

euclidien où G(x) ≡ I d .


Exemple d’observateur <strong>non</strong> linéaire asymptotique par contraction<br />

Soit le système mécanique<br />

d<br />

dt x 1 = x 2 ,<br />

d<br />

dt x 2 = F(x 1 , x 2 , t), y = x 1<br />

avec ∂F<br />

∂x 2<br />

≤ 0. On considère l’observateur<br />

d<br />

dt ˆx 1 = ˆx 2 − L 1 (ˆx 1 − y(t)),<br />

d<br />

dt ˆx 2 = F(y(t), ˆx 2 ) − L 2 (ˆx 1 − y(t))<br />

avec<br />

(<br />

L 1 , L 2 > 0<br />

)<br />

deux paramètres de réglage. Avec comme métrique<br />

1 0<br />

G = 1 on a<br />

0<br />

L 2<br />

( ) ( T ∂f<br />

G + G ∂f −2L1<br />

∂ˆx ∂ˆx = 0<br />

0<br />

)<br />

2 ∂F<br />

∂x 2<br />

L 2<br />

≤ 0<br />

Nous n’avons qu’une contraction au sens large. Si, en plus,<br />

∂F<br />

∂x 2<br />

≤ β < 0 uniformément pour tout x avec β > 0, on a alors une<br />

contraction stricte avec la convergence exponentielle de ˆx vers x.


Observateur/Contrôleur sur l’exemple du double pendule de la cité <strong>des</strong><br />

sciences de Paris la Vill<strong>et</strong>te<br />

2<br />

Approximation <strong>des</strong> p<strong>et</strong>its angles<br />

|θ 1 | ≪ 1 <strong>et</strong> |θ 2 | ≪ 1:<br />

1<br />

d 2<br />

dt 2 (D + lθ 1 + lθ 2 ) = gθ 2<br />

d 2<br />

dt 2 (<br />

D + lθ1 + l 2 θ 2)<br />

= gθ1


On pose y 1 = D + lθ 1 , y 2 = D + lθ 1 + lθ 2 , Dans la bonne unité<br />

de temps pour avoir g/l = 1:<br />

ÿ 2 = y 2 − y 1 ,<br />

ÿ 1 = 3y 1 − y 2 − 2D<br />

où D est le contrôle <strong>et</strong> la mesure est y 1 (angle du bas θ 1 ).<br />

Problème: maintenir les deux pendules en équilibre en ne<br />

mesurant que y 1 , l’état de dimension 4 , x étant<br />

(y 2 , v 2 = ẏ 2 , y 1 , v 1 = ẏ 1 ).


Le contrôleur<br />

On écrit tout en fonction de y 2 <strong>et</strong> D car y 1 = y 2 − ÿ 2 :<br />

Changement de variables:<br />

y (4)<br />

2<br />

= 4ÿ 2 − 2y 2 + 2D<br />

(y 2 , ẏ 2 , ÿ 2 , y (3)<br />

2 ) ↦→ x = [y 2, v 2 = ẏ 2 , y 1 = y 2 − ÿ 2 , v 1 = ẏ 2 − y (3)<br />

2 ].<br />

Feedback stabilisant:<br />

4ÿ 2 − 2y 2 + 2D = s 1 y (3)<br />

2<br />

− s 2 ÿ 2 + s 3 ẏ 2 − s 4 y 2<br />

où, les pôles étant (p 1 , p 2 , p 3 , p 4 ) ∈ C à parties réelles<br />

négatives,<br />

s 1 = p 1 + p 2 + p 3 + p 4 , s 2 = ∑<br />

p i p j<br />

s 3 =<br />

∑<br />

1≤i


L’observateur<br />

Il s’agit d’estimer x = (y 2 , v 2 , y 1 , v 1 ) connaissant y 1 (t) <strong>et</strong> D(t).<br />

L’observateur asymptotique est<br />

d<br />

dt ŷ2 = ˆv 2 + k y2 (ŷ 1 − y 1 (t))<br />

d<br />

dt ˆv 2 = ŷ 2 + k v2 (ŷ 1 − y 1 (t)) − y 1 (t)<br />

d<br />

dt ŷ1 = ˆv 1 + k y1 (ŷ 1 − y 1 (t))<br />

d<br />

dt ˆv 1 = −ŷ 2 + k v1 (ŷ 1 − y 1 (t)) + 3y 1 (t) − 2D(t)<br />

où les gains k sont choisis pour que la dynamique de l’erreur<br />

ỹ 2 = ŷ 2 − y 2 , soit asymptotiquement stable<br />

d<br />

dt ỹ2 = ṽ 2 + k y2 ỹ 1 ,<br />

d<br />

dt ỹ1 = ṽ 1 + k y1 ỹ 1 ,<br />

d<br />

dt ṽ2 = ỹ 2 + k v2 ỹ 1<br />

d<br />

dt ṽ1 = −ỹ 2 + k v1 ỹ 1


Navigation inertielle dans un plan vertical (correction le 13 novembre)<br />

Exo:<br />

Un corps solide (un avion par exemple) se déplace dans un<br />

plan vertical. On dispose à bord de deux accéléromètres<br />

<strong>et</strong> d’un gyromètre. Ces trois capteurs fournissent avec une<br />

fréquence d’échantillonnage rapide (de l’ordre du kHz) les<br />

deux composantes a 1 (t) <strong>et</strong> a 2 (t) de ¨P − ⃗g dans le répère<br />

mobile (k) <strong>et</strong> la vitesse de rotation ω(t) de (k) par rapport<br />

au repère fixe (K ). On dispose aussi d’un GPS, qui fournit<br />

avec une fréquence d’échantillonnage bien plus lente (de<br />

l’ordre de quelques fractions de Hz) les coordonnées (X 1 , X 2 )<br />

de P dans (K ). L’objectif est de faire la fusion <strong>des</strong> données<br />

issues de ces deux types de capteurs pour en déduire une<br />

estimation, à la fréquence rapide, de la position (X 1 , X 2 ) <strong>et</strong><br />

de l’orientation θ. On souhaite aussi être robuste à <strong>des</strong> biais<br />

constants sur les accéléromètres <strong>et</strong> sur le gyromètre.<br />

Le modèle du système est alors simplement (g > 0 paramètre)<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

d 2<br />

X<br />

dt 2 1 = a 1 (t) cos θ − a 2 (t) sin θ<br />

d 2<br />

X<br />

dt 2 2 = a 1 (t) sin θ + a 2 (t) cos θ − g<br />

(1)<br />

d<br />

dt θ = ω(t)<br />

où t ↦→ (a 1 (t), a 2 (t), ω(t)) sont <strong>des</strong> signaux connus du temps <strong>et</strong> la<br />

sortie y = (X 1 , X 2 ) correspond à la position de P.


Navigation inertielle dans un plan vertical (suite <strong>et</strong> fin)<br />

1. Montrer que (1) est observable avec comme données d’entrée<br />

t ↦→ (a 1 (t), a 2 (t), ω(t)) <strong>et</strong> comme mesure (sortie) y(t) = (X 1 , X 2 ).<br />

2. On suppose θ p<strong>et</strong>it, |a 1 | ≪ g <strong>et</strong> |a 2 − g| ≪ g. Montrer que<br />

d 2<br />

d 2<br />

dt 2 X 1 = a 1 (t) − gθ,<br />

dt 2 X 2 = a 2 (t) − g,<br />

est alors une bonne approximation de (1).<br />

d<br />

θ = ω(t) (2)<br />

dt<br />

3. Vérifier que (2) reste bien observable (au sens de la question 1)<br />

<strong>et</strong> construire un observateur asymptotique qui reconstruit l’état<br />

(X 1 , Ẋ1 = V 1 , X 2 , Ẋ2 = V 2 , θ).<br />

4. On suppose que les mesures en temps quasi-continu a 1 , a 2 <strong>et</strong> ω<br />

ont <strong>des</strong> biais constants mais inconnus. Ainsi (2) devient:<br />

d 2<br />

dt 2 X 1 = a 1 (t) + p 1 − gθ, d 2<br />

dt 2 X d<br />

2 = a 2 (t) + p 2 − g,<br />

dt θ = ω(t) + p<br />

où (p 1 , p 2 , p) sont trois paramètres constants inconnus. Ce<br />

système avec biais est-il observable avec y = (X 1 , X 2 ) comme<br />

sortie ? Quel nombre de biais peut-on espérer estimer à partir<br />

de y ?


Observateur invariant: exemple de la voiture<br />

d<br />

dt x 1 = u cos θ<br />

d<br />

dt x 2 = u sin θ<br />

d<br />

dt θ = uv<br />

y = (y 1 , y 2 ) = (x 1 , x 2 )<br />

2<br />

u <strong>et</strong> v = tan ϕ<br />

l<br />

connus<br />

Un observateur "géométrique":<br />

⎛<br />

⎝<br />

d<br />

dt ˆx 1<br />

d<br />

dt ˆx 2<br />

d<br />

dt ˆθ<br />

⎞ ⎛ ⎞ ⎛<br />

u cos ˆθ<br />

⎠ = ⎝ u sin ˆθ ⎠ + ⎝ R −ˆθ<br />

uv<br />

0<br />

0 0 1<br />

1<br />

⎞<br />

0<br />

) (ˆx1<br />

⎠<br />

− y<br />

· L · Rˆθ · 1<br />

ˆx 2 − y 2<br />

( cos<br />

où L est une matrice 3 × 2 de gains Rˆθ := ˆθ<br />

− sin ˆθ<br />

)<br />

sin ˆθ<br />

cos ˆθ


Analyse de la convergence dans les bonnes variables<br />

La bonne erreur (η 1 , η 2 , η θ ) entre l’état <strong>et</strong> son estimée:<br />

(<br />

η1<br />

η 2<br />

)<br />

) (ˆx1 − x<br />

= Rˆθ ·<br />

1<br />

, η<br />

ˆx 2 − x θ = ˆθ − θ, Rˆθ<br />

:=<br />

2<br />

( cos ˆθ<br />

)<br />

sin ˆθ<br />

− sin ˆθ cos ˆθ<br />

La dynamique de l’erreur ne dépend que de u, v:<br />

⎛<br />

d<br />

dt η ⎞ ⎛<br />

⎞<br />

1 u(1 − cos η θ ) + (uv + L 31 η 1 + L 32 η 2 )η 2<br />

( )<br />

⎝ d<br />

dt η ⎠<br />

1 = ⎝ u sin η θ − (uv + L 31 η 1 + L 32 η 2 )η 1<br />

⎠ η1<br />

+ L ·<br />

d<br />

dt η η<br />

θ<br />

0<br />

2<br />

Choix <strong>des</strong> gains L sur l’approximation au premier ordre:<br />

⎛ ⎞ ⎛<br />

⎞ ⎛<br />

⎞<br />

d<br />

dt<br />

δη 1 uvδη 2 −|u|a −uv ( )<br />

⎝ d<br />

dt<br />

δη 2<br />

⎠ = ⎝uδη θ − uvδη 1<br />

⎠ + ⎝ uv −|u|c⎠ δη1<br />

d<br />

δη<br />

dt<br />

δη θ 0<br />

0 −ub 2<br />

avec les paramètres a, b, c > 0 directement liés aux constantes de<br />

temps de convergence locale.


Groupe de transformations <strong>et</strong> invariance<br />

Soit G un groupe de Lie avec comme élément neutre e <strong>et</strong> Σ un<br />

ouvert dans R ν . Un groupe de transformations (locales)<br />

(φ g ) g∈G sur Σ est une application régulière<br />

telle que :<br />

◮ φ e (ξ) = ξ pour tout ξ<br />

(g, ξ) ∈ G × Σ ↦→ φ g (ξ) ∈ Σ<br />

◮ φ g2 ◦ φ g1 (ξ) = φ g2 g 1<br />

(ξ) pour tout g 1 , g 2 , ξ<br />

Une application Σ ∋ ξ ↦→ J(ξ) ∈ R est invariante ssi<br />

J(φ g (ξ)) = J(ξ)<br />

pour tout g, ξ<br />

Un champs de vecteurs sur Σ 2 ξ ↦→ w(ξ) est invariant ssi<br />

w(φ g (ξ)) = Dφ g (ξ) · w(ξ)<br />

pour tout g, ξ<br />

2 On peut voir un champ de vecteurs comme une équation différentielle<br />

d<br />

dt ξ = w(ξ).


Calcul d’invariants par la méthode du repère mobile de Darboux/Cartan<br />

On suppose dim g ≤ dim ξ. On pose φ g = (φ a g, φ b g), ξ = (ξ a , ξ b ) avec,<br />

pour chaque ξ ∈ Σ, g ↦→ φ a g(ξ) inversible par rapport à g: 3<br />

◮ On normalise i.e. on résout φ a g(ξ) = ¯ξ a pour g, soit g = γ(ξ) (i.e.<br />

φ a γ(ξ) (ξ) = ¯ξ a où la normalisation ¯ξ a est fixée une fois pour toute).<br />

Alors l’application ξ ↦→ I(ξ) := φ b γ(ξ)<br />

(ξ) est invariante. On a<br />

même plus: toute autre fonction invariante K (ξ), il existe une<br />

fonction Φ telle que K (ξ) = Φ(I(ξ)); On dit que les composantes<br />

de I forment un ensemble compl<strong>et</strong> d’invariants scalaires.<br />

◮ Le champ de vecteurs ξ ↦→ w(ξ) := ( Dφ γ(ξ) (ξ) ) −1<br />

· e, où e est<br />

un vecteur constant, est invariant.<br />

◮ En particulier la collection <strong>des</strong> dim ξ champs de vecteurs<br />

invariants, w i (ξ) := [ Dφ γ(ξ) (ξ) ] −1<br />

· ei , i = 1, . . . , dim ξ forme un<br />

répère (mobile) invariant dès que les vecteurs e i forment une<br />

base de R dim ξ .<br />

◮ Tout champ de vecteurs invariant w(ξ) est une combinaison<br />

linéaire <strong>des</strong> w i , w(ξ) = ∑ i K i(ξ)w i (ξ) les fonctions K i (ξ) étant<br />

<strong>des</strong> invariants scalaires.<br />

3 On a dim φ a g = dim g = dim ξ a <strong>et</strong> dim φ b g = dim φ g − dim g = dim ξ b .


Systèmes <strong>et</strong> observateurs invariants<br />

Les données sont un système d’entrée u, d’état x, de sortie y<br />

d<br />

x = f (x, u),<br />

dt x y = h(x, u),<br />

∈ X ⊂ Rn , u ∈ U ⊂ R m<br />

y ∈ Y ⊂ R p<br />

<strong>et</strong> un groupe de transformations associé au groupe de Lie G de<br />

dimension r: (X, U, Y ) = ( ϕ g (x), ψ g (u), ϱ g (y) )<br />

Le système d dt<br />

x = f (x, u) est invariant ssi<br />

f ( ϕ g (x), ψ g (u) ) = Dϕ g (x) · f (x, u)<br />

pour tout g, x, u<br />

La sortie y = h(x, u) est équivariante ssi<br />

h ( ϕ g (x), ψ g (u) ) = ϱ g<br />

(<br />

h(x, u)<br />

)<br />

pour tout g, x, u<br />

Le système d dt ˆx = F(ˆx, u, y) est un pré-observateur ssi<br />

F ( x, u, h(x, u) ) = f (x, u) pour tout x, u<br />

Le pré-observateur d dt ˆx = F(ˆx, u, y) est invariant ssi<br />

F ( ϕ g (ˆx), ψ g (u), ϱ g (y) ) = Dϕ g (ˆx) · F(ˆx, u, y) pour tout g, ˆx, u, y


Forme générale <strong>des</strong> pré-observateurs invariants<br />

Chaque pré-observateur invariant s’écrit<br />

d<br />

(<br />

)<br />

ˆx = f (ˆx, u) + W (ˆx) · L I(ˆx, u), E(ˆx, u, y)<br />

dt<br />

} {{ }<br />

n×1<br />

} {{ }<br />

n×n<br />

} {{ }<br />

n×p<br />

avec dim x = n, dim u = m, dim y = p <strong>et</strong> où<br />

· E(ˆx, u, y)<br />

} {{ }<br />

p×1<br />

◮ E(ˆx, u, y) est une erreur de sortie invariante (voir ci-<strong>des</strong>sous la<br />

définition)<br />

◮ W (ˆx) = ( w 1 (ˆx), .., w n (ˆx) ) est un repère mobile invariant <strong>et</strong><br />

I(ˆx, u) est invariant<br />

◮ L(I, E) est une matrices n × p de gains dont les éléments<br />

dépendent de I <strong>et</strong> E. Il faut les choisir astucieusement de façon<br />

à assurer la convergence de ˆx vers x.<br />

(ˆx, u, y) ↦→ E(ˆx, u, y) ∈ Y est une erreur de sortie invariante ssi<br />

◮ y ↦→ E(ˆx, u, y) est inversible pour tout ˆx, u<br />

◮ E (ˆx, u, h(ˆx, u) ) = 0 pour tout ˆx, u<br />

◮ E ( ϕ g (ˆx), ψ g (u), ϱ g (y) ) = E(ˆx, u, y) pour tout ˆx, u, y


Construction de pré-observateurs invariants<br />

d<br />

(<br />

)<br />

dt ˆx = f (ˆx, u) + W (ˆx) · L I(ˆx, u), E(ˆx, u, y) · E(ˆx, u, y)<br />

Lorsque l’action de G sur X est de rang r = dim G (implique<br />

r ≤ dim X ) alors on sait construire (méthode du repère mobile)<br />

◮ une normalisation g = γ(x) via l’action de G sur X :<br />

ϕ g = (ϕ a g, ϕ b g) avec g ↦→ ϕ a g(x) inversible par rapport à g <strong>et</strong> γ(x)<br />

défini par ϕ a γ(x) (x) = ¯x a où ¯x a est une normalisation portant sur r<br />

composantes de x = (x a , x b ).<br />

◮ un repère invariant comme par exemple<br />

W (ˆx) = (w 1 (ˆx), . . . , w n (ˆx)) = ( Dφ γ(ˆx) (ˆx) ) −1<br />

.<br />

◮ un ensemble compl<strong>et</strong> d’invariants ( I(ˆx, u) liés)<br />

à l’action de G sur<br />

(ˆx, u) ∈ X × U: I(ˆx, u) = ϕ b γ(ˆx) (ˆx), ψ γ(ˆx)(u) .<br />

◮ Une erreur de sortie invariante E(ˆx, u, y) en considérant l’action<br />

de G sur (ˆx, y) ∈ X × Y:<br />

E(ˆx, u, y) = ϱ γ(ˆx) (h(ˆx, u)) − ϱ γ(ˆx) (y).


<strong>Dynamique</strong> de l’erreur invariante sur l’état<br />

(ˆx, x) ↦→ η(ˆx, x) ∈ X est une erreur d’état invariante ssi<br />

◮ pour tout ˆx, x ↦→ η(ˆx, x) est inversible (ou pour tout x,<br />

ˆx ↦→ η(ˆx, x) inversible ) <strong>et</strong> η(x, x) = 0 pour tout x.<br />

◮ η ( ϕ g (ˆx), ϕ g (x) ) = η(ˆx, x) pour tout ˆx, x.<br />

Lorsque l’action de G sur X est de rang r = dim G<br />

◮ On considère l’action de G sur (x, ˆx) ∈ X × X , on utilise la<br />

normalisation γ(x) <strong>et</strong> alors η(ˆx, x) = ϕ γ(x) (ˆx) − ϕ γ(x) (x) (ou<br />

η(ˆx, x) = ϕ γ(ˆx) (ˆx) − ϕ γ(ˆx) (x)) est une erreur invariante sur l’état.<br />

◮ la dynamique de l’erreur η est de la forme d dt η = Q( η, I(ˆx, u) ) où<br />

I(ˆx, u) est un ensemble compl<strong>et</strong> d’invariants I(ˆx, u) liés à l’action<br />

de G sur (ˆx, u) ∈ X × U.<br />

Lorsque dim G = dim X alors on peut considérer que G ≡ X , que<br />

l’action de G sur X correspond à ϕ g (x) = g · x (translations à<br />

gauche). Alors I = I(u) <strong>et</strong> la dynamique de l’erreur est alors<br />

d<br />

autonome:<br />

dt<br />

η = Q(η, I(u)).4<br />

4 Les gains L de l’observateur sont alors ajustés pour garantir la<br />

convergence locale autour <strong>des</strong> points d’équilibres de d η = Q(η, I(u))<br />

dt<br />

(trajectoires permanentes associées à u constant).


R<strong>et</strong>our à l’exemple de la voiture<br />

L’invariance par rotations/translations (G = SE(2), groupe de Lie à<br />

r = 3 paramètres g ≡ (g 1 , g 2 , g 3 )) vient de<br />

⎛<br />

ϕ (g1 ,g 2 ,g 3 )(x 1 , x 2 , θ) ≡ ⎝ g ⎞ ⎛<br />

1<br />

g 2<br />

⎠ · ⎝ x ⎞ ⎛<br />

1<br />

x 2<br />

⎠ = ⎝ x ⎞<br />

1 cos g 3 − x 2 sin g 3 + g 1<br />

x 1 sin g 3 + x 2 cos g 3 + g 2<br />

⎠<br />

g 3 θ<br />

θ + g 3<br />

ψ (g1 ,g 2 ,g 3 )(u, v) =<br />

( ( )<br />

u y1 cos g<br />

, ϱ<br />

v)<br />

(g1 ,g 2 ,g 3 )(y 1 , y 2 ) =<br />

3 − y 2 sin g 3 + g 1<br />

.<br />

y 1 sin g 3 + y 2 cos g 3 + g 2<br />

L’observateur géométrique est en fait un observateur invariant:<br />

⎛<br />

⎝<br />

d ˆx dt 1<br />

d<br />

dt ˆx 2<br />

d<br />

dt ˆθ<br />

⎞ ⎛ ⎞ ⎛ ⎞<br />

u cos ˆθ<br />

⎠ = ⎝ u sin ˆθ ⎠ + ⎝ R 0<br />

−ˆθ 0⎠<br />

uv 0<br />

}<br />

0<br />

{{<br />

1<br />

}<br />

W (ˆx)<br />

) (ˆx1<br />

·L · Rˆθ · − y 1<br />

ˆx 2 − y 2<br />

} {{ }<br />

E(ˆx,y,u)<br />

( cos<br />

où L est une matrice de gains 3 × 2 <strong>et</strong> Rˆθ := ˆθ<br />

− sin ˆθ<br />

)<br />

sin ˆθ<br />

cos ˆθ


Navigation inertielle <strong>et</strong> invariance (correction le 20 novembre)<br />

Exo: On reprend ici l’exercice précédent sur la navigation inertielle<br />

en notant (u 1 , u 2 ) = (a 1 , a 2 ), (u 3 , u 4 ) = (0, −g grav ) <strong>et</strong> u 5 = ω. Avec la<br />

sortie y = (X 1 , X 2 ) le système s’écrit d 2<br />

dt 2 X 1 = u 1 cos θ − u 2 sin θ + u 3 ,<br />

d 2<br />

dt 2 X 2 = u 1 sin θ + u 2 cos θ + u 4 , d dt θ = u 5.<br />

1. Montrer que ce système est invariant par rapport à l’action du<br />

groupe G = SE(2) <strong>des</strong> translations/rotations du plan. Donner<br />

les formules pour les transformations ϕ g , ψ g <strong>et</strong> ρ g sur l’espace<br />

d’état X , l’espace <strong>des</strong> entrées U <strong>et</strong> l’espace de sortie Y. On<br />

notera x = (X 1 , X 2 , Ẋ1 = V 1 , Ẋ2 = V 2 , θ) l’état du système <strong>et</strong><br />

g = (g 1 , g 2 , g 3 ) les trois paramètres de G (translation (g 1 , g 2 ) <strong>et</strong><br />

rotation g 3 ).<br />

2. Reprendre l’observateur asymptotique sur le système linéarisé<br />

d 2<br />

X<br />

dt 2 1 = u 1 + g grav θ, d 2<br />

X<br />

dt 2 2 = u 2 − g grav , d dt θ = u 5 <strong>et</strong> y = (X 1 , X 2 )<br />

liés aux hypothèses θ p<strong>et</strong>it, (u 1 − u 3 ) 2 + (u 2 − u 4 ) 2 ≪ g 2 grav<br />

(u 3 = 0, u 4 = −g grav ).<br />

3. Construire un observateur invariant d’état ayant le même linéaire<br />

tangent que l’observateur linéaire de la question précédente.


Correction de l’exercice<br />

Question 1: Il suffit de remarquer que y = (X 1 , X 2 ) sont les coordonnées<br />

d’un point dans le repère fixe, que (u 1 , u 2 ) celles d’un vecteur dans le repère<br />

engin <strong>et</strong> (u 3 , u 4 ) celles d’un vecteur dans le repère fixe. On a alors<br />

⎛ ( ) ( ) ⎞<br />

⎛ ( ) ⎞<br />

X1 g1<br />

u1<br />

R −g3 +<br />

X 2 g 2 ( )<br />

ϕ g(x) =<br />

⎜ V1<br />

⎝ R −g3<br />

⎟<br />

V 2<br />

⎠ , ψg(u) = u 2 ( )<br />

⎜ u3<br />

⎝R −g3<br />

⎟<br />

u 4<br />

⎠<br />

ϱ g(y) =<br />

θ + g 3<br />

( ( )<br />

y1<br />

R −g3 +<br />

y 2<br />

(<br />

g1<br />

g 2<br />

))<br />

, R g3 =<br />

u 5<br />

( )<br />

cos g3 sin g 3<br />

− sin g 3 cos g 3<br />

où R g3 est associée à une rotation d’angle g 3 partant du repère fixe.<br />

Question 2: On a affaire à deux sous-systèmes indépendants: avec<br />

L X2 , L V2 > 0, les estimées ˆX 2 <strong>et</strong> ˆV 2 vérifiant<br />

d<br />

dt ˆX 2 = ˆV 2 − L X2 ( ˆX d<br />

2 − y 2 ),<br />

dt ˆV 2 = u 2 − g grav − L V2 ( ˆX 2 − y 2 ),<br />

convergent vers y 2 = X 2 <strong>et</strong> V 2 . Avec L X1 , L V1 , L θ calculés en fonction de trois<br />

valeurs propres stables (placement de pôles) les estimées ˆX 2 , ˆV 2 <strong>et</strong> ˆθ<br />

d<br />

dt ˆX 1 = ˆV 1 −L X1 ( ˆX d<br />

1 −y 1 ),<br />

dt ˆV 1 = u 1 +g grav ˆθ−L V1 ( ˆX 1 −y 1 ),<br />

convergent vers y 1 = X 1 , V 1 <strong>et</strong> θ.<br />

d<br />

dt ˆθ = u 5−L θ ( ˆX 1 −y 1 )


Correction de l’exercice (suite)<br />

Question 3 Tout repose sur la construction du repère <strong>et</strong> <strong>des</strong> erreurs de<br />

sorties invariantes. On utilise la méthode du repère mobile avec la<br />

normalisation γ(x) où ϕ a g(x) est formé par les trois composantes associées à<br />

X 1 , X 2 <strong>et</strong> θ: ϕ a g(x) = (0, 0, 0) donne alors<br />

g 1 = −X 1 cos θ − X 2 sin θ, g 2 = X 1 sin θ − X 2 cos θ, g 3 = −θ.<br />

L’erreur de sortie invariante ϱ γ(ˆx) (ŷ) − ϱ γ(ˆx) (y) donne R ˆθ<br />

(ŷ − y) soit les deux<br />

composantes suivantes<br />

E 1 = (ŷ 1 − y 1 ) cos ˆθ + (ŷ 2 − y 2 ) sin ˆθ,<br />

E 2 = −(ŷ 1 − y 1 ) sin ˆθ + (ŷ 2 − y 2 ) cos ˆθ.<br />

Le repère invariant donne 5 champs de vecteurs invariants dont les<br />

composantes sont les colonnes de l’inverse de la matrice jacobienne<br />

(<br />

Dϕγ(x) (x)) ) −1 formée par les dérivées partielles <strong>des</strong> composantes de ϕ g(x)<br />

par rapport aux composantes de x:<br />

⎛<br />

cos ˆθ sin ˆθ ⎞<br />

0 0 0<br />

−sin ˆθ cos ˆθ 0 0 0<br />

⎜ 0 0 cos ˆθ sin ˆθ 0<br />

⎝<br />

0 0 −sin ˆθ cos ˆθ<br />

⎟<br />

0<br />

⎠<br />

0 0 0 0 1<br />

−1<br />

⎛<br />

cos ˆθ −sin ˆθ ⎞<br />

0 0 0<br />

sin ˆθ cos ˆθ 0 0 0<br />

=<br />

⎜ 0 0 cos ˆθ −sin ˆθ 0<br />

⎝<br />

0 0 sin ˆθ cos ˆθ<br />

⎟<br />

0<br />

⎠<br />

0 0 0 0 1


Correction de l’exercice (suite <strong>et</strong> fin)<br />

Pour |θ| p<strong>et</strong>it, E 1 ≈ ( ˆX 1 − y 1 ) <strong>et</strong> E 2 ≈ ( ˆX 2 − y 2 ). Ainsi un prolongement<br />

invariant de l’observateur linéaire<br />

d<br />

dt ˆX 2 = ˆV 2 − L X2 ( ˆX 2 − y 2 ),<br />

d<br />

dt ˆX 1 = ˆV 1 −L X1 ( ˆX 1 −y 1 ),<br />

est alors<br />

d<br />

dt ˆV 2 = a 2 − g grav − L V2 ( ˆX 2 − y 2 ),<br />

d<br />

dt ˆV 1 = a 1 +g grav ˆθ−LV1 ( ˆX 1 −y 1 ),<br />

d<br />

dt ˆX 1 = ˆV 1 − L X1 E 1 cos ˆθ + L X2 E 2 sin ˆθ<br />

d<br />

dt ˆX 2 = ˆV 2 − L X1 E 1 sin ˆθ − L X2 E 2 cos ˆθ<br />

d<br />

dt ˆV 1 = a 1 cos ˆθ − a 2 sin ˆθ − L V1 E 1 cos ˆθ + L V2 E 2 sin ˆθ<br />

d<br />

dt ˆV 2 = a 1 sin ˆθ + a 2 cos ˆθ − g grav − L V1 E 1 sin ˆθ − L V2 E 2 cos ˆθ<br />

d<br />

dt ˆθ = ω − L θ E 1 .<br />

On rappelle que u 1 = a 1 , u 2 = a 2 , u 3 = 0, u 4 = −g grav, u 5 = ω <strong>et</strong><br />

d<br />

dt ˆθ = ω−L θ ( ˆX 1 −y 1 )<br />

E 1 = ( ˆX 1 − y 1 ) cos ˆθ + ( ˆX 2 − y 2 ) sin ˆθ,<br />

E 2 = −( ˆX 1 − y 1 ) sin ˆθ + ( ˆX 2 − y 2 ) cos ˆθ.


Les principales hypothèses<br />

M s<br />

Engin: position C(t) ∈ R 3 <strong>et</strong> orientation<br />

q(t) ∈ H (définie par un quaternion unitaire<br />

(voir plus loin)).<br />

q t<br />

C t<br />

y t<br />

2<br />

Image: dans le repère engin S 2 ∋ η ↦→<br />

y(t, η) ∈ [0, 1]: y(t, η) corresponds au flux<br />

de photons reçu de la direction η <strong>et</strong> émis<br />

par M(s) ∈ S. La scène est modélisée<br />

par une surface S ⊂ R 3 entourant l’engin<br />

<strong>et</strong> difféomorphe à la sphère unité S 2 ∋ s<br />

(t, η, s) sont reliés par qηq ∗ −−−−−→<br />

C(t)M(s)<br />

=<br />

‖ −−−−−→ . Pour chaque t, on suppose<br />

C(t)M(s)‖<br />

que c<strong>et</strong>te relation définit un difféomorphisme<br />

S 2 ∋ η ↦→ s = ϕ(t, η) ∈ S 2 (les hypothèses du théorème <strong>des</strong> fonctions<br />

implicites sont supposées être remplies).


Quaternions <strong>et</strong> matrices de rotations<br />

On part <strong>des</strong> trois matrices de Pauli (ı = √ −1)<br />

( ) ( )<br />

1 0<br />

0 1<br />

I d = , σ<br />

0 1 1 = , σ<br />

1 0 2 =<br />

( 0 −ı<br />

ı 0<br />

)<br />

, σ 3 =<br />

( ) 1 0<br />

0 −1<br />

Elles vérifient σ 2 k = I d , σ k σ j = −σ j σ k pour k ≠ j, <strong>et</strong> σ 1 σ 2 = ıσ 3 , σ 2 σ 3 = ıσ 1 ,<br />

σ 3 σ 1 = ıσ 2 . Toute matrice unitaire complexe U ∈ SU(2) (UU † = I d ,<br />

d<strong>et</strong> U = 1) s’écrit U = q 0 I d − q 1 ıσ 1 − q 2 ıσ 2 − q 3 ıσ 3 avec (q 0 , q 1 , q 2 , q 3 ) ∈ R 4<br />

tels que q 2 0 + q 2 1 + q 2 2 + q 2 3 = 1. On pose<br />

1 = I d , e 1 = −ıσ 1 , e 2 = −ıσ 2 , e 3 = −ıσ 3<br />

<strong>et</strong> on identifie le groupe SU(2) avec celui <strong>des</strong> quaternions unitaires q ∈ H 1 ,<br />

q = q 0 + q 1 e 1 + q 2 e 2 + q 3 e 3 . Il s’agit <strong>des</strong> q ∈ H tels que qq ∗ = 1 où<br />

q ∗ = q 0 − q 1 e 1 − q 2 e 2 − q 3 e 3 est le conjugué de q. On a, pour k = 1, 2, 3,<br />

j ≠ k <strong>et</strong> φ ∈ R: e 2 k = −1, e k e j = −e j e k , e φe k<br />

= cos φ + e k sin φ, e 1 e 2 = e 3 ,<br />

e 2 e 3 = e 1 <strong>et</strong> e 3 e 1 = e 2 .<br />

Tout vecteur p ∈ R 3 est identifié à p = p 1 e 1 + p 2 e 2 + p 3 e 3 ∈ H. A tout q ∈ H 1 ,<br />

on associe une matrice de rotation R ∈ SO(3) via: Rp = q ∗ pq, pour tout<br />

p ∈ R 3 . Réciproquement, à toute rotation R ∈ SO(3) sont associés deux<br />

quaternions q <strong>et</strong> −q de longueur 1. On identifie, au signe près (spin), H 1 <strong>et</strong><br />

SO(3). Le produit vectoriel de deux vecteurs ω, v ∈ R 3 correspond au<br />

commutateur ω ∧ v = (ωv − vω)/2 à un facteur 1/2 près.


Equations différentielles ordinaires de l’engin<br />

Avec<br />

◮ q(t) ∈ H 1 , l’orientation de l’engin est représentée par le<br />

quaternion unitaire q dépendant du temps t.<br />

◮ R 3 ∋ v = q ∗ dC<br />

dt<br />

q, le vecteur vitesse dans le repère engin<br />

(multiplication au sens <strong>des</strong> quaternions);<br />

◮ ω ∈ R 3 , le vecteur vitesse instantanée de rotation dans le repère<br />

engin donnée par les gyroscopes.<br />

◮ a(t) ∈ R 3 , le vecteur accélération spécifique dans le repère<br />

engin donnée par les accéléromètres;<br />

◮ A grav ∈ R 3 , le vecteur gravité dans le repère fixe;<br />

on a (4+3 équations différentielles scalaires):<br />

d<br />

dt q = 1 2 qω,<br />

d<br />

dt v = v ∧ ω + q∗ A grav q + a<br />

où les signaux d’entrées sont les vecteurs a <strong>et</strong> ω issus <strong>des</strong> capteurs<br />

inertiels embarqués sur l’engin (ici A grav est un vecteur fixe).


Fusion avec pré-traitement d’image<br />

On suppose qu’un traitement approprié d’image perm<strong>et</strong> de suivre la<br />

position y k (t) ∈ S 2 d’un point M k qui est fixe dans l’environnement:<br />

−−−−→ C(t)M k<br />

‖ −−−−→<br />

y k = q ∗ q. Avec Γ 1<br />

k =<br />

C(t)M k ‖ ‖ −−−−→ on a d C(t)M k ‖ dt y k = y k ∧ (ω + Γ k y k ∧ v)<br />

<strong>et</strong> d dt Γ k = Γ 2 k y k · v.<br />

On suppose que l’on suit m points M 1 , . . . , M m via un traitement<br />

approprié d’image. On est face à l’estimation de la vitesse v <strong>et</strong><br />

l’orientation q ∈ H 1 à partir <strong>des</strong> mesures y 1 , . . . , y m dans S 2 :<br />

d<br />

dt v = v ∧ ω + q∗ A grav q + a<br />

d<br />

dt q = 1 2 qω,<br />

d<br />

dt y k = y k ∧ (ω + Γ k y k ∧ v) ,<br />

d<br />

dt Γ k = Γ 2 k y k · v,<br />

k = 1, . . . , m<br />

L’état est x = (q, v, y 1 , Γ 1 , . . . , y m , Γ m ), la sortie y = (y 1 , . . . , y m ) <strong>et</strong><br />

l’entrée u = (ω, a). Ce système est invariant par rapport à G = H 1 où,<br />

pour g ∈ H 1 , on pose:<br />

⎛ ⎞ ⎛ ⎞<br />

q qg ( ) ( )<br />

ϕ g<br />

⎜ v<br />

⎟<br />

⎝y k<br />

⎠ = ⎜ g ∗ vg<br />

⎟ ω g<br />

⎝g ∗ y k g⎠ , ψ g =<br />

∗ ωg ( ) (<br />

a g ∗ , ϱ<br />

ag g yk = g ∗ y k g )<br />

Γ k Γ k


Un peu de géométrie projective avec le point à l’infini<br />

Soient quatre points distinctes M i , M j , M k <strong>et</strong><br />

M l tels que M −−→<br />

i M j <strong>et</strong> −−−→ M k M l sont colinéaires <strong>et</strong><br />

définissent un vecteur connu <strong>et</strong> constant W<br />

dans le repère fixe. Comme q ∗ Wq est orthogonal<br />

à la fois à y i ∧y j <strong>et</strong> à y k ∧y l , q ∗ Wq est nécessairement<br />

co-linéaire à w = (y i ∧ y j ) ∧ (y k ∧ y l )<br />

soit q ∗ Wq ∧ w = 0.<br />

Supposons que l’on ait r quadruples (M i , M j , M k , M l ) avec M −−→<br />

i M j ‖ −−−→ M k M l .<br />

Alors on dispose de r vecteurs unitaires W ν dans le repère fixe tels que<br />

q ∗ W νq ∧ w ν = 0 où les w ν sont <strong>des</strong> produits vectoriels de certains y k . Se<br />

repose alors l’estimation de la vitesse v <strong>et</strong> de l’orientation q ∈ H 1 à partir <strong>des</strong><br />

mesures y 1 , . . . , y m complétées par q ∗ W νq ∧ w ν = 0 pour ν = 1, . . . , r:<br />

d<br />

dt v = v ∧ ω + q∗ A gravq + a<br />

d<br />

dt q = 1 2 qω,<br />

d<br />

dt y k = y k ∧ (ω + Γ k y k ∧ v) ,<br />

d<br />

dt Γ k = Γ 2 k y k · v,<br />

k = 1, . . . , n<br />

A la place de q ∗ W νq ∧ w ν = 0, on peut aussi prendre, si on connaît les<br />

vecteurs fixes M −−→<br />

i M j les m(m − 1) relations scalaires: q ∗ M −−→<br />

i M j q · (y i ∧ y j ) = 0,<br />

i, j ∈ {1, . . . , m}, i ≠ j (équation implicite de sortie).


Hypothèses photométriques sur la formation de l’image 5<br />

Un modèle physique multi-spectrale (modèle de Kubelka-Munk de<br />

surface mate <strong>et</strong> lambertienne)<br />

où<br />

f (λ, s) = i(s)R ∞ (λ, s), λ ∈ [λ min , λ max ], M(s) ∈ S<br />

◮ f (λ, s): flux de photons de longueur d’onde λ émis par M(s)<br />

dans une direction quelconque (isotropie à l’émission).<br />

◮ i(s): flux de photons de longueur d’onde λ reçus par M(s)<br />

(spectre d’illumination blanc).<br />

◮ R ∞ (λ, s): réflectivité de la surface S autour de M(s).<br />

Le flux de photons reçus en C, de longueur d’onde λ <strong>et</strong> émis par M(s)<br />

est alors proportionnel à f (λ, s). Pour une image avec niveau de gris:<br />

y(t, η) = I(s) avec s = ϕ(t, η), I(s) ∝<br />

∫ λmax<br />

λ min<br />

f (λ, s) dλ.<br />

5 J.M. Geusebroek, R. van den Boomgaard, A.W.M. Smeulders, H. Geerts:<br />

Color Invariance. IEEE Transactions on Pattern Analysis and Machine<br />

Intelligence, vol. 23, no. 12, december 2001


Modèle géométrique de l’image<br />

On suppose que la caméra embarquée sur l’engin donne accès à une image<br />

sphérique sur un angle solide de 4π. Ainsi, les pixels sont repérés par un<br />

vecteur unitaire η dans le repère engin <strong>et</strong> la valeur du pixel η à l’instant t est<br />

donnée par y(t, η) = I(s) où s est défini par qηq ∗ =<br />

−−−−−→ C(t)M(s)<br />

‖ −−−−−→ , q étant le<br />

C(t)M(s)‖<br />

quaternion donnant l’orientation de l’engin.<br />

On suppose que tout est régulier. On élimine les fonctions inconnues M(s) <strong>et</strong><br />

−−−−−→ C(t)M(s)<br />

‖ −−−−−→ C(t)M(s)‖<br />

I(s) <strong>des</strong> équations qηq ∗ = <strong>et</strong> y(t, η) = I(s) en dérivant par rapport<br />

à t à s bloqué. On commence par ∂y<br />

∂t<br />

∣ = 0. Comme ∂ ∣<br />

∂t<br />

s s<br />

= ∂ ∣<br />

∂t η<br />

+ ∂<br />

∣<br />

∂η<br />

∂η<br />

∣<br />

∂t<br />

t<br />

il nous faut calculer ∂η ∣<br />

∂t s<br />

en dérivant par rapport à s l’équation<br />

qηq ∗ ∂η<br />

= . On trouve ∣<br />

∂t s<br />

= η ∧ (ω + Γη ∧ v) où Γ =<br />

−−−−−→ C(t)M(s)<br />

‖ −−−−−→ C(t)M(s)‖<br />

Comme, pour tout vecteur tangent ξ à la sphère en η, ∂y<br />

∂η<br />

1<br />

‖ −−−−−→ .<br />

C(t)M(s)‖<br />

ξ = ∇y · ξ où ∇y<br />

est le gradient de S 2 ∋ η ↦→ y(t, η), défini comme un vecteur tangent à la<br />

sphère en η, on a<br />

∂y<br />

On dérive Γ =<br />

quelques calculs:<br />

1<br />

‖ −−−−−→ C(t)M(s)‖<br />

∂Γ<br />

∂t<br />

= −∇y · (η ∧ (ω + Γη ∧ v))<br />

∂t<br />

par rapport à t à s bloqué <strong>et</strong> on obtient après<br />

= −∇Γ · (η ∧ (ω + Γη ∧ v)) + Γ 2 v.η<br />

∣<br />

s


Le modèle mixte ODE/PDE<br />

Avec les équations différentielles de l’engin <strong>et</strong> les équations aux dérivées<br />

partielles de l’image on a le modèle suivant:<br />

d<br />

dt q = 1 2 qω, d<br />

dt v = v ∧ ω + q∗ A gravq + a<br />

∂Γ<br />

= −∇Γ · (η ∧ (ω + Γη ∧ v)) + Γ 2 v.η<br />

∂t<br />

∂y<br />

= −∇y · (η ∧ (ω + Γη ∧ v))<br />

∂t<br />

où les entrées sont ω, a ∈ R 3 , les états sont (q, v, Γ η, y η) (dimension infinie)<br />

<strong>et</strong> les sorties sont les y η, η ∈ S 2 (Γ η(t) = Γ(t, η) <strong>et</strong> y η(t) = y(t, η)). 6<br />

L’invariance par rapport à G = H 1 est associée à un changement sur l’origine<br />

<strong>des</strong> angles dans le repère engin:<br />

⎛ ⎞ ⎛ ⎞<br />

q qg<br />

ϕ g<br />

⎜ v<br />

⎟<br />

⎝Γ η<br />

⎠ = ⎜g ∗ vg<br />

⎟<br />

⎝Γ g ∗ ηg⎠ ,<br />

y η y g ∗ ηg<br />

( ) ω ψg =<br />

a<br />

( ) g ∗ ωg ( ) ( )<br />

g ∗ , ϱ<br />

ag g yη = yg ∗ ηg<br />

6 On aurait aussi pu obtenir directement ce modèle "Eulerien" à partir du<br />

modèle "Lagrangien" précédent d dt y k = y k ∧ (ω + Γ k y k ∧ v) <strong>et</strong><br />

d<br />

dt Γ k = Γ 2 k y k · v.


Environnement lointain<br />

Comme Γ = 1/‖ −→ CM‖, on peut considérer<br />

◮ Γ = 0 (surface S infiniment lointaine):<br />

d<br />

dt q = 1 2 qω, d<br />

dt v = v ∧ ω + q∗ A gravq + a<br />

∂y<br />

= −∇y · (η ∧ ω)<br />

∂t<br />

<strong>et</strong> alors ni q ni v ne sont observables; seuls les biais statiques sur le<br />

gyroscope le sont avec une image ayant suffisamment de contraste ( ∂y<br />

∂η<br />

<strong>non</strong> nul).<br />

◮ Γ p<strong>et</strong>it d’ordre 1 <strong>et</strong> on néglige les termes d’ordre 2 en Γ:<br />

d<br />

dt q = 1 2 qω, d<br />

dt v = v ∧ ω + q∗ A gravq + a<br />

∂Γ<br />

∂y<br />

= −∇Γ · (η ∧ ω) , = −∇y · (η ∧ (ω + Γη ∧ v))<br />

∂t<br />

∂t<br />

<strong>et</strong> alors on devrait pouvoir estimer v <strong>et</strong> seulement une partie de q car<br />

les rotations d’axe A grav ne sont pas observables: si t ↦→ (q, v, Γ, y) est<br />

solution alors pour tout g ∈ H 1 tel que gA grav = A gravg, t ↦→ (gq, v, Γ, y)<br />

est aussi solution avec les mêmes sorties y <strong>et</strong> les mêmes entrées (a, ω)<br />

(<strong>non</strong>-observabilité valable aussi sur le modèle compl<strong>et</strong> précédent).


Estimation <strong>des</strong> biais statiques du gyroscope en environnement lointain<br />

On part de ∂y = −∇y · (η ∧ (ω + p)) où p ∈ R 3 est un biais statique. Alors<br />

∂t<br />

l’observateur asymptotique<br />

∂ŷ<br />

= −∇ŷ · (η ∧ (ω + ˆp)) − k y(ŷ − y)<br />

∂t<br />

∫<br />

d<br />

dt ˆp = kp (ŷ − y)(∇ŷ ∧ η) dσ<br />

S 2<br />

est convergent pour tout gain k y, k p > 0. La convergence repose sur la<br />

fonction de Lyapounov suivante:<br />

V = 1 ∫<br />

(ŷ − y) 2 dσ + 1 ‖ˆp − p‖ 2<br />

2 S 2 2k c<br />

pour laquelle on montre que d V = dt<br />

∫S −ky (ŷ − y) 2 dσ ≤ 0 à cause de<br />

2<br />

l’identité<br />

∫<br />

∫<br />

(ŷ(t, η) − y(t, η)) 2 dσ η = (ŷ(t, q ∗ ηq) − y(t, q ∗ ηq)) 2 dσ η<br />

S 2 S 2<br />

puisque η ↦→ q ∗ ηq est une isométrie sur la sphère unité S 2 .


Distorsion <strong>et</strong> image localisée sur une calotte sphérique<br />

La prise en compte de distorsions systématiques liées à l’optique de la<br />

caméra consistent alors à multiplier y par une fonction positive de η, φ(η).<br />

C<strong>et</strong>te fonction est à support sur une portion de la sphère. On considère donc<br />

<strong>des</strong> images Σ ∋ η ↦→ y(t, η) sur une calotte sphérique Σ ⊂ S 2 (Σ fermée).<br />

Pour éviter les discontinuités sur ∂Σ, φ est une fonction régulière à support<br />

compact dans l’intérieur ◦ Σ <strong>et</strong> proche de 1 sur une grande partie de Σ. Alors<br />

Y (t, η) = φ(η)y(t, η) s’annule doucement sur ∂Σ <strong>et</strong> vérifie<br />

∂Y<br />

∂t<br />

= − (∇Y − y∇φ) · (η ∧ (ω + Γη ∧ v))<br />

où y∇φ est un vecteur tangent en η à S 2 dont les dépendances en t <strong>et</strong> η sont<br />

connues <strong>et</strong> qui s’annule doucement sur ∂Σ.<br />

On peut par exemple reprendre l’estimation <strong>des</strong> biais gyroscopiques en<br />

environnement lointain Γ = 0 avec l’image Y où les eff<strong>et</strong>s de bord sont gérés<br />

correctement via φ. De ∂Y = − (∇Y − y∇φ) · (η ∧ ω) on obtient<br />

∂t<br />

l’observateur<br />

∂Ŷ<br />

)<br />

= −<br />

(∇Ŷ ∂t<br />

− y∇φ · (η ∧ (ω + ˆp)) − k y(Ŷ − Y ),<br />

∫<br />

d<br />

dt ˆp = kp (Ŷ − Y )(∇Ŷ − y∇φ) ∧ η) dσ<br />

S 2<br />

où les valeurs de y(t, η) <strong>et</strong> φ(η) sont utilisées directement.


Passage en coordonnées cartésiennes (z 1 , z 2 )<br />

On suppose typiquement que l’axe optique<br />

de la caméra est selon z 3 . Tout repose<br />

sur une simple correspondance entre<br />

vecteurs unitaires η = (z 1 , z 2 , z 3 ) T sur<br />

une calotte sphérique Σ autour du pôle nord<br />

(0, 0, 1) T <strong>et</strong> les points de coordonnées cartésiennes<br />

(z 1 , z 2 , 1) du plan tangent en (0, 0, 1) T .<br />

L’image y(t, ·) est une fonction de (z 1 , z 2 ) (les<br />

pixels ne sont plus "numérotés" selon η mais<br />

(z 1 , z 2 )).<br />

∇y, vecteur tangent à la sphère en η (∇y · η ≡ 0), <strong>et</strong> dσ η l’élément d’aire en<br />

η sont alors données par<br />

⎛<br />

⎜<br />

∇y = ⎝<br />

−<br />

(<br />

z 1<br />

∂y<br />

∂z 1<br />

(1 − z1 2 ) ∂y<br />

∂y<br />

− z<br />

∂z 1 z 2 1<br />

∂z 2<br />

∂y<br />

−z 1 z 2 + (1 − z 2 ∂z 1<br />

2 ) ∂y<br />

∂z 2<br />

∂y<br />

+ z 2<br />

∂z 2<br />

) √<br />

1 − (z1 ) 2 − (z 2 ) 2 ⎞<br />

⎟<br />

dz 1 dz 2<br />

⎠ , dσ η =<br />

1 − (z 1 ) 2 − (z 2 ) . 2<br />

Pour obtenir ces expressions, on a ∂y dz<br />

∂z 1 + ∂y dz<br />

1 ∂z 2 ≡ ∇y · (dz 1 w 1 + dz 2 w 2 )<br />

2<br />

pour toutes variations dz 1 , dz 2 où w 1 = ∂η = (1, 0, −z<br />

∂z 1 /z 3 ) T <strong>et</strong><br />

1<br />

w 2 = ∂η = (0, 1, −z<br />

∂z 2 /z 3 ) T sont deux vecteur tangents en<br />

2<br />

η = (z 1 , z 2 , z 3 ) T ∈ S 2 , où ∇y est une combinaison linéaire de w 1 <strong>et</strong> w 2 , où<br />

dσ η est l’aire du p<strong>et</strong>it parallélogramme formé par dz 1 w 1 <strong>et</strong> dz 2 w 2 .


Le modèle mixte ODE/PDE en cartésien (z 1 , z 2 )<br />

Les équations générales<br />

d<br />

dt q = 1 2 qω, d<br />

dt v = v ∧ ω + q∗ A gravq + a<br />

∂Γ<br />

= −(∇Γ ∧ η) · (ω + Γη ∧ v) + Γ 2 ∂y<br />

v.η, = −(∇y ∧ η) · (ω + Γη ∧ v)<br />

∂t<br />

∂t<br />

font apparaître en fait ∇y ∧ η dont les composantes sont simplement<br />

(<br />

) T<br />

∂y<br />

∂y ∂y ∂y<br />

z 3 , − z<br />

∂z 3 , z<br />

2 ∂z 2 − z<br />

1 ∂z 1 1 ∂z avec z3 = √ 1 − (z 1 ) 2 − (z 2 ) 2 (idem pour<br />

2<br />

∇Γ ∧ η). Ainsi on a<br />

∂y<br />

(<br />

)<br />

= − z 2 ω 3 − z 3 ω 2 + Γ((z1 2 ∂y<br />

− 1)v 1 + z 1 z 2 v 2 + z 1 z 3 v 3 )<br />

∂t<br />

∂z 1<br />

(<br />

)<br />

− z 3 ω 1 − z 1 ω 3 + Γ(z 1 z 2 v 1 + (z2 2 ∂y<br />

− 1)v 2 + z 2 z 3 v 3 )<br />

∂z 2<br />

∂Γ<br />

∂t<br />

(<br />

)<br />

= − z 2 ω 3 − z 3 ω 2 + Γ((z1 2 ∂Γ<br />

− 1)v 1 + z 1 z 2 v 2 + z 1 z 3 v 3 )<br />

∂z 1<br />

(<br />

)<br />

− z 3 ω 1 − z 1 ω 3 + Γ(z 1 z 2 v 1 + (z2 2 ∂Γ<br />

− 1)v 2 + z 2 z 3 v 3 )<br />

∂z 2<br />

+ Γ 2 (z 1 v 1 + z 2 v 2 + z 3 v 3 )<br />

Ici y(t, z 1 , z 2 ) est le flux de photons captés dans la direction<br />

η = (z 1 , z 2 , z 3 ) T ∈ S 2 .


Estimation <strong>des</strong> biais <strong>des</strong> gyroscopes<br />

Les biais gyroscopiques en environnement lointain: Γ = 0 avec l’image<br />

Y = φy localisée sur Σ où les eff<strong>et</strong>s de bord sont tronqués via φ. De<br />

∂Y<br />

∂t<br />

= − (z 2 ω 3 − z 3 ω 2 )<br />

( ∂Y<br />

− y ∂φ )<br />

− (z 3 ω 1 − z 1 ω 3 )<br />

∂z 1 ∂z 1<br />

on obtient l’observateur estimant les biais p:<br />

∂Ŷ<br />

∂t<br />

= −k y(Ŷ − Y ) − (z 2(ˆω 3 + ˆp 3 ) − z 3 (ˆω 2 + ˆp 2 ))<br />

− (z 3 (ˆω 1 + ˆp 1 ) − z 1 (ˆω 3 + ˆp 3 ))<br />

d<br />

dt ˆp 1 = k p<br />

∫ ∫Σ<br />

d<br />

dt ˆp 2 = −k p<br />

∫ ∫Σ<br />

(<br />

)<br />

(Ŷ − Y ) ∂Ŷ<br />

− y ∂φ<br />

∂z 2 ∂z 2<br />

(<br />

)<br />

(Ŷ − Y ) ∂Ŷ<br />

− y ∂φ<br />

∂z 1 ∂z 1<br />

(<br />

)<br />

∂Ŷ<br />

− y ∂φ<br />

∂z 2 ∂z 2<br />

( ∂Y<br />

− y ∂φ )<br />

∂z 2 ∂z 2<br />

(<br />

)<br />

∂Ŷ<br />

− y ∂φ<br />

∂z 1 ∂z 1<br />

dz 1 dz 2<br />

√<br />

1 − (z1 ) 2 − (z 2 ) 2<br />

dz 1 dz 2<br />

√<br />

1 − (z1 ) 2 − (z 2 ) 2<br />

∫ (<br />

)<br />

d<br />

dt ˆp 3 = k p (Ŷ ∫Σ<br />

− Y ) ∂Ŷ ∂Ŷ ∂φ ∂φ<br />

z 2 − z 1 − yz 2 + yz 1<br />

∂z 1 ∂z 2 ∂z 1 ∂z 2<br />

où les valeurs de y <strong>et</strong> φ sont utilisées directement.<br />

dz 1 dz 2<br />

1 − (z 1 ) 2 − (z 2 ) 2 .


Le modèle approché ODE/PDE<br />

Si suppose la calotte sphérique Σ p<strong>et</strong>ite (i.e., l’angle solide couvert par<br />

l’image est assez p<strong>et</strong>it), alors, à l’ordre 1 en (z 1 , z 2 ) on obtient le modèle<br />

suivant:<br />

d<br />

dt q = 1 2 qω,<br />

∂Γ<br />

∂t<br />

∂y<br />

∂t<br />

d<br />

dt v = v ∧ ω + q∗ A gravq + a<br />

= (ω 2 − z 2 ω 3 + Γ(v 1 − z 1 v 3 )) ∂Γ<br />

∂z 1<br />

+ (z 1 ω 3 − ω 1 + Γ(v 2 − z 2 v 3 )) ∂Γ<br />

∂z 2<br />

+ Γ 2 (z 1 v 1 + z 2 v 2 + v 3 )<br />

= (ω 2 − z 2 ω 3 + Γ(v 1 − z 1 v 3 )) ∂y<br />

∂z 1<br />

+ (z 1 ω 3 − ω 1 + Γ(v 2 − z 2 v 3 )) ∂y<br />

∂z 2<br />

Il serait intéressant d’étudier sur ce modèle simplifié l’estimation en temps<br />

réel de la vitesse v ∈ R 3 <strong>et</strong> de l’orientation q ∈ H 1 à partir <strong>des</strong> images<br />

Σ ∋ (z 1 , z 2 ) ↦→ y(t, z 1 , z 2 ) jouant ici le rôle de sortie.<br />

Pour une caméra dont l’axe optique est selon η = (0, 0, 1) T <strong>et</strong> pour laquelle Σ<br />

est une image rectangulaire (z 1 , z 2 ) ∈ [−r 1 , r 1 ] × [−r 2 , r 2 ]: y(t, z 1 , z 2 )<br />

correspond au flux de photons captés dans la direction<br />

(<br />

z 1 , z 2 , √ 1 − (z 1 ) 2 − (z 2 ) 2 ) T<br />

∈ S 2 avec pour garder un angle solide p<strong>et</strong>it:<br />

0 < r 1 , r 2 ≪ √ π.


Références utiles<br />

◮ EDO, systèmes plans, <strong>et</strong> régulateurs (très pédagogique <strong>et</strong> pourtant d’un<br />

excellent niveau) A. Andronov, S. Khaikin and A. Vitt: Theory of Oscillators.<br />

Dover (English Translation), 1987.<br />

◮ la BD <strong>des</strong> systèmes dynamiques en 4 volumes (que <strong>des</strong> portraits de phases <strong>et</strong><br />

<strong>des</strong> <strong>des</strong>sins): R.H. Abraham and C.D. Shaw. Dynamics – The Geom<strong>et</strong>ry of<br />

Behavior : I-IV. Aerial Press, Santa Cruz, California, 1981.<br />

◮ Systèmes dynamiques (très bonne introduction aux EDO) V. Arnold: Equations<br />

différentielles ordinaires. Mir Moscou, 1974.<br />

◮ Bifurcation <strong>et</strong> théorie <strong>des</strong> perturbations <strong>et</strong> KAM (très avancé) V. Arnold:<br />

Chapitres Supplémentaires de la Théorie <strong>des</strong> Equations Différentielles<br />

Ordinaires. Mir Moscou, 1980.<br />

◮ Idem ci-<strong>des</strong>sus : J. Guckenheimer and P. Holmes: Nonlinear Oscillations,<br />

Dynamical Systems and Bifurcations of Vector Fields. Springer, New York, 1983.<br />

◮ Contrôle <strong>non</strong> linéaire, Lyapounov <strong>et</strong> Robotique: J. Slotine <strong>et</strong> J. Li: Applied<br />

Nonlinear Control. Prentice Hall, Englewood Cliffs, 1991.<br />

R. Sepulchre, M. Janković, P. Kokotović: Constructive <strong>non</strong>linear control, Springer<br />

Verlag, 1997.<br />

◮ Contrôle <strong>non</strong> linéaire (une partie importante sur les EDO, la stabilité <strong>et</strong> les<br />

systèmes lents/rapi<strong>des</strong>): H. Khalil: Nonlinear Systems. MacMillan, 1992.


Références utiles (suite <strong>et</strong> fin)<br />

◮ Equations de Lagrange L. Landau, E. Lifchitz: Physique théorique: Mécanique,<br />

tome I. Mir-Moscou, 1964.<br />

◮ em Systèmes linéaires <strong>et</strong> formes de Brunovsky F. Bonnans <strong>et</strong> P. Rouchon:<br />

Commande <strong>et</strong> optimisation de systèmes dynamiques. 2005.<br />

◮ Systèmes différentiellements plats (dimension finie <strong>et</strong> infinie): Ph. Martin <strong>et</strong> P.<br />

Rouchon: Systèmes plats, planification <strong>et</strong> suivi de trajectoires, Notes, Journées<br />

X-UPS, 1999 . Cours téléchargeable à l’adresse:<br />

http://math.polytechnique.fr/xups/vol99.html<br />

◮ Symétries <strong>et</strong> groupes de Lie. P.J. Olver: Classical Invariant Theory. Cambridge<br />

University Press, 1999. Du même auteur: Equivalence, Invariants and<br />

Symm<strong>et</strong>ry. Cambridge University Press. 1995.<br />

◮ Sur les observateurs invariants : Silvère Bonnabel: observateurs asymptotiques<br />

invariants : théorie <strong>et</strong> exemples. PhD thesis, Mines-ParisTech, September 2007.<br />

http://www.silvere-bonnabel.com/pdf/These_Silvere.pdf. Et<br />

aussi l’article de base: S. Bonnabel, Ph. Martin, P. Rouchon: Invariant<br />

asymptotic observers. IEEE Trans. Automatic Control, vol.53, pp:2514-2526,<br />

2008.<br />

◮ Sur la contraction : W. Lohmiler, J.J.E. Slotine: On M<strong>et</strong>ric Analysis and<br />

Observers for Nonlinear Systems. Automatica, vol.34, no.6, pp:683–696, 1998.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!