• Aucun résultat trouvé

« Différents » filtres de Kalman : 1.  Fusion de mesures

N/A
N/A
Protected

Academic year: 2022

Partager "« Différents » filtres de Kalman : 1.  Fusion de mesures "

Copied!
35
0
0

Texte intégral

(1)

UPJV, Département EEA Master 2 3EA, EC53 UE obligatoire alternants

Fabio MORBIDI

Laboratoire MIS

Équipe Perception Robotique fabio.morbidi@u-picardie.fr

AU 2019-2020

Mardi, Mercredi et Jeudi

9h30-12h00 (CM ou TD, salle CURI 305) 9h00-12h00 (TP, salle TP204)

(2)

Ch. 2: Traitement des mesures

Réseaux multi-capteurs

Fusion des mesures Partie 2

Partie 1

(3)

« Différents » filtres de Kalman : 1.  Fusion de mesures

2.  Fusion de mesures dans le temps

3.  Fusion de mesures de capteurs en mouvement

•  Combinaison des évidences (mesures) de façon optimale

•  Moyenne récursive

•  Filtre de Kalman linéaire (systèmes dyn. linéaires)

•  Filtre de Kalman étendu ou EKF (systèmes dyn. non linéaires)

(4)

Notation:

: état du système (scalaire, pour plus de simplicité) : mesure du capteur

: variance de la mesure du capteur

, : estimation (optimale) de et variance de

1. Fusion de mesures

x

x

x

Nos hypothèses:

Deux mesures non corrélées:

Bruits blancs gaussiens à moyenne zéro:

x = z

1

+ K ( z

2

z

1

)

σ

2

= (1 K ) σ

12

K = σ

12

σ

12

+ σ

22

z

i

σi2

z

i

= x + r

i

, i ∈ { 1 , 2 } r

i

∼ N (0 , σ

i2

)

i i

σ

2

x

est le gain de Kalman

Estimation de l’état optimum:

(5)

Dans le problème de localisation d’un robot nous avons

combiné les deux mesures de distance et en utilisant l’équation:

Remarque:

z = (1 w ) z

1

+ w z

2

= z

1

+ w ( z

2

z

1

)

avec le poids optimal:

w = σ

12

σ

12

+ σ

22

z

1

z

2

1. Fusion de mesures

(6)

En outre, nous avons vu que:

Var[ z ] = (1 w )

2

σ

12

+ w

2

σ

22

=

1 σ

12

σ

12

+ σ

22

2

σ

12

+

σ

12

σ

12

+ σ

22

2

σ

22

=

1 σ

12

σ

12

+ σ

22

σ

12

= (1 w ) σ

12

1. Fusion de mesures

(7)

est le gain de Kalman

z

1

z

2

z ( t

1

) , z ( t

2

) t

1

< t

2

Estimation de l’état optimum à l’instant :

t

2

x ( t

2

) = z ( t

1

) + K ( z ( t

2

) z ( t

1

))

σ

2

= (1 K ) σ

z2(t1)

K = σ

z2(t1)

σ

z2(t1)

+ σ

z2(t2)

•  Introduisons maintenant le temps

•  Les mesures et sont prises de façon

séquentielle, à savoir nous avons avec

t

2. Fusion de mesures dans le temps

(8)

•  Que se passe-t-il si nous prenons une autre mesure à l’instant ?

Estimation de l’état optimum à l’instant générique

z ( t

3

) t

3

> t

2

t

k

K ( t

k−1

) = σ

2

( t

k−1

)

σ

2

( t

k−1

) + σ

z2(tk)

x ( t

k

) = x ( t

k−1

) + K ( t

k−1

)( z ( t

k

) x ( t

k−1

))

σ

2

( t

k

) = (1 K ( t

k−1

)) σ

2

( t

k−1

)

“Moyenne

recursive”

est le gain de Kalman (variable dans le temps)

2. Fusion de mesures dans le temps

(9)

Entrée du filtre de Kalman: la commande et les mesures

Sortie du filtre de Kalman: l’estimation de l’état du système et la matrice de covariance de l’erreur d’estimation associée

A B Q R

Matrices du système dynamique:

x

u

z P

x

Étant donné un système dynamique linéaire à temps discret d’état

H

z u

P

x

3. Systèmes dynamiques

(10)

Filtre de Kalman linéaire

•  Soit le système dynamique à temps discret, :

x

k

= A

k−1

x

k−1

+ B

k−1

u

k−1

+ w

k−1

•  Le bruit de modèle et le bruit de mesure sont supposés à moyenne zéro, blancs (sans mémoire) et gaussiens avec matrices

de covariance et , respectivement. Les bruits de modèle et de mesure sont supposés aussi non corrélés. En résumé, nous avons:

w

k−1

Qk

R

k

k ∈ {1, 2, . . .}

Entrée de commande (connue)

z

k

= H

k

x

k

+ r

k

r

k

Équation d’état Équation de mesure

E [ w

k

] = 0 E [ r

k

] = 0

E [ w

k

w

jT

] = 0, j = k E [ r

k

r

Tj

] = 0, j = k E [ r

k

r

Tk

] = R

k

E [ r

k

w

Tj

] = 0, j, k

E [ w

k

w

kT

] = Q

k

(11)

•  Le filtre de Kalman linéaire à temps discret est un estimateur récursif

Pour estimer l'état courant , on a besoin uniquement de connaître l'estimé de l'état précédent et les mesures courantes: l'historique des mesures et des estimés n'est pas nécessaire

: estimé de l'état du système à l'instant , en utilisant l’information jusqu’à l’instant

x

k|k

P

k|k

= E [( x

k

x

k|k

)( x

k

x

k|k

)

T

]

: matrice de covariance de l'erreur d’estimation

de l’état à l'instant , en utilisant l’information jusqu’à l’instant

Erreur d'estimation de l’état du système

x

k|k xk

1.

2.

xk

Filtre de Kalman linéaire

x

k

k k

k k

•  L' « état » du filtre se compose de deux variables:

(12)

Initialisation du filtre:

Prédiction (ou propagation):

x

k|k−1

= A

k−1

x

k−1|k−1

+ B

k−1

u

k−1

P

k|k−1

= A

k−1

P

k−1|k−1

A

Tk−1

+ Q

k−1

Pour :

k ∈ { 1 , 2 , . . .}

x

0|0

= E [ x

0

]

où est l’état initial du système

Filtre de Kalman linéaire

x0 Rn

P

0|0

= E [( x

0

x

0|0

)( x

0

x

0|0

)

T

] R

n×n

(13)

Correction (ou mise à jour):

est la matrice d'estimation a posteriori de la covariance de l'erreur

x

k|k

= x

k|k−1

+ K

k

( z

k

H

k

x

k|k−1

)

K

k

= P

k|k−1

H

Tk

( H

k

P

k|k−1

H

Tk

+ R

k

)

1 est le gain de Kalman

est la matrice d'estimation a priori de la covariance de l'erreur

P

k|k

P

k|k−1

Filtre de Kalman linéaire

Remarque:

P

k|k

= ( P

k|k−1 1

+ H

Tk

R

k 1

H

k

)

1

= ( I

n

K

k

H

k

) P

k|k−1

(14)

Soit le système dynamique non linéaire à temps discret :

•  Comme pour le filtre de Kalman linéaire:

Le bruit de modèle et le bruit de mesure sont supposés blancs (sans mémoire), à moyenne zéro, et gaussiens avec matrices de covariance et ,

respectivement. Les bruits de modèle et de mesure sont aussi supposés non corrélés

w

k−1

Qk

R

k k ∈ {1,2, . . .}

Entrée de commande (connue)

r

k

Équation d’état Équation de mesure

x

k

= f [ x

k−1

, u

k−1

] + w

k−1

z

k

= h [ x

k

] + r

k

où et sont deux fonctions différentiables arbitraires f[· , ·] h[· ]

Filtre de Kalman étendu (EKF)

(15)

Initialisation du filtre:

P

0|0

= E [( x

0

x

0|0

)( x

0

x

0|0

)

T

]

Phase de prédiction:

Pour :

k ∈ { 1 , 2 , . . .}

x

0|0

= E [ x

0

]

où est l’état initial du système

x

0

x

k|k−1

= f [ x

k−1|k−1

, u

k−1

]

P

k|k−1

= F

k−1

P

k−1|k−1

F

Tk−1

+ Q

k−1

Fk−1 = f[x, uk−1]

x

x=xk−1|k−1

• Matrice jacobienne de la fonction

•  On a considéré ici le

développement en série de

Taylor à l’ordre 1 de en xk−1|k−1

f

f

Filtre de Kalman étendu (EKF)

(16)

Phase de correction:

K

k

= P

k|k−1

H

Tk

( H

k

P

k|k−1

H

Tk

+ R

k

)

1 Gain de Kalman

et

H

k

= h [ x ]

x

x =xk|k−1

•  Matrice jacobienne de la fonction

•  On a considéré ici le développement

en série de Taylor à l’ordre 1 de en xk|k−1

h h

P

k|k

= ( P

k|k−1 1

+ H

Tk

R

k 1

H

k

)

1

x

k|k

= x

k|k−1

+ K

k

( z

k

h [ x

k|k−1

])

Filtre de Kalman étendu (EKF)

(17)

•  Un chariot à roues encodeuses avance pas-à-pas

•  Un laser mesure la distance du chariot par rapport à un mur

Exemple I : une variable d’état

σ

laser

= 0 . 1 m

x

mur

laser

Odométrie Laser

TD2, ex. 1

Exemple:

Une variable d’état:

la position du chariot

x

σodom = 0.01 m

z

(18)

Dans cet exemple, nous avons que (rappel la forme générale d’un système dynamique à temps discret vue précédemment):

où est le pas de discrétisation (fixe) et est la vitesse moyenne du chariot dans cet intervalle de temps

Exemple I : une variable d’état

Équation d’état:

Équation de mesure:

Δk V

x

k

= x

k−1

+ V Δ k + w

k−1

z

k

= x

k

+ r

k

Donc, en conclusion:

xk = xk, uk−1 = uk−1 = V Δk, wk−1 = wk−1, zk = zk, rk = rk

Ak−1 = 1, Bk−1 = 1, Qk = σodom2 , Hk = 1, Rk = σlaser2

(19)

: estimé de la position du robot avant le déplacement : estimé de la position du robot après le déplacement

et avant la mesure

: estimé de la position du robot après la mesure

Correction Prédiction

Exemple I : une variable d’état

x

k−1|k−1

x

k−1|k−1

x

k|k−1

x

k|k−1

x

k|k

x

k|k

u

k−1

u

k−1

z

k

z

k

z

k

Mesure par capteur laser Commandes

Déplacements

(20)

Prédiction:

Correction:

x

k|k

= x

k|k−1

+ K

k

( z

k

x

k|k−1

) P

k|k

= (1 K

k

) P

k|k−1

K

k

= P

k|k−1

( P

k|k−1

+ R )

1

= P

k|k−1

P

k|k−1

+ σ

laser2

Exemple I : une variable d’état

Les équations du filtre de Kalman sont alors:

x

k|k−1

= x

k−1|k−1

+ V Δ k P

k|k−1

= P

k−1|k−1

+ σ

odom2

Fichier Matlab (TD2):

FiltreKalmanChariot.m

(21)

Exemple II : deux variables d’état

Un gyroscope et un compas magnétique sont placés sur une plate-forme mobile

•  Les mesures de vitesse fournies par le gyroscope sont entachées par un bruit blanc gaussien:

(avec biais)

•  Les mesures de position fournies par le compas sont aussi entachées par un bruit blanc gaussien:

(sans biais) La plate-forme tourne librement autour de son axe vertical

N ( μ

gyro

, σ

gyro2

) = N (0 . 1 , 0 . 2

2

) deg/s

N ( μ

comp

, σ

comp2

) = N (0 , 10

2

) deg

Les deux mesures sont supposées non corrélées

g c

θ

(22)

Objectif: fusionner ensemble les deux mesures

•  Le mesures du gyroscope (capteur proprioceptif) sont

précises, mais elles dérivent (cf. l’odométrie dans l’Exemple I)

•  Le mesures du compas (capteur extéroceptif) ne dérivent pas, mais elles sont fortement bruitées

donc, on peut conclure que:

•  Les mesures du gyroscope sont bonnes à court terme

•  Les mesures du compas sont bonnes à long terme

Exemple II : deux variables d’état

TD2, ex. 2

(23)

•  L’état du système consiste en la position et en la vitesse angulaire de la plate-forme, à savoir:

•  Étant un capteur proprioceptif, les mesures du gyroscope équivalent à une commande: . On peut donc définir le système dynamique suivant:

où est le pas de discrétisation (fixe) et

E [ w

k

] = [0 , μ

gyro

]

T

, Q = E [ w

k

w

kT

] = diag(0 , 16 σ

gyro2

)

Sur-estime, afin de prendre en compte le biais

x = [ θ, θ ˙ ]

T

A B

(1)

Exemple II : deux variables d’état

Δ k

x

k

=

1 Δ k

0 0 x

k−1

+

0

1 u

k−1

+ w

k−1

u

k

= ˙ θ

gyro

( k )

(24)

•  Les “vraies mesures” sont effectuées uniquement par le compas (capteur extéroceptif)

•  En d’autres termes, nous ne voulons pas que le gyroscope intervienne dans la phase de correction du filtre de Kalman.

Donc on peut définir simplement:

E [ r

k

] = μ

comp

= 0 , R = E [ r

k2

] = σ

comp2

(2)

Grâce à l’équation d’état (1) et de mesure (2) ainsi trouvées, on peut écrire les équations du filtre de Kalman pour la fusion des mesures du gyroscope et du compas

z

k

= [1 0] x

k

+ r

k

H

Exemple II : deux variables d’état

Fichier Matlab (TD2):

FiltreKalmanGyro Compas.m

(25)

Résultats de la simulation (20 mesures/s)

Angle [deg]Angle [deg]Angle [deg]

Temps [s]

197.5 198 198.5 199 199.5 200

0 20 40 60 80 100 120 140 160 180 200

0 0.5 1 1.5 2 2.5

0 20 40 60 80 0 10 20 3040

-10 -20 0 50 100

-50 -100

Position angul. réelle plate-forme Compas

Intégrale des mesures du gyroscope Estim. Kalman

Derive du gyro

Exemple II : simulation

θ

* * O

* * O

* * O

(26)

Système de navigation inertielle (INS) pour un véhicule

•  Avantages:

•  Autonome

•  Grande précision pour une navigation à court terme

•  Inconvénient majeur:

L’erreur de positionnement augmente sans cesse au fils du temps, à cause de l’accumulation des erreurs du gyroscope et de

l’accéléromètre avec le temps, entre autres

Pour cette raison, pour une navigation à long terme un INS est souvent couplé avec un système d’aide à la navigation,

par exemple:

•  Système de radionavigation (ex. LORAN, OMEGA et TACAN)

•  Système de navigation par satellites (ex. GPS, GLONASS)

Exemple III: navigation intégrée, fusion INS/GPS

(27)

•  L’intégration INS/GPS est souvent réalisée grâce à un filtre complémentaire

•  Le filtre de Kalman (étendu) peut être utilisé dans certains schémas de filtrage complémentaire

Pour plus de détails, voir la Sect. 12.10 du livre de Bar-Shalom et al.

Architecture en boucle ouvert pour la fusion INS/GPS basée sur le filtre de Kalman

État + erreurs GPS

État + erreurs INS

erreurs GPS − erreurs INS

Estimé de l’état

erreurs INS

Exemple III: navigation intégrée, fusion INS/GPS

Filtre

+ +

(28)

Exemple IV : Projet ANR CityVIP (2009-2011)

“Déplacement sûr de véhicules individuels adaptés à l’environnement urbain” (source: D. Bétaille, IFSTTAR)

•  Le milieu urbain cumule:

– l’intérêt d’un positionnement précis et intègre –  mais plusieurs difficultés ...

•  pour le positionnement GPS:

– les masquages de satellites –  les trajets multiples

•  pour le positionnement par traitement de vidéos:

– les problèmes d’ombres et d’éblouissements –  les problèmes de réflexions

Mais le milieu urbain est fortement structuré et la connaissance d’une carte est d’un précieux secours Problématique de la géolocalisation en ville

(29)

Objectifs du projet CityVIP

• 

Développer un système de localisation adapté aux véhicules urbains:

– précis (erreur inférieure à 1 m à 95%)

–  intègre (estimation sûre d’un majorant de l’erreur) –  bas coût (utilisation de capteurs bas de gamme)

•  Le système de localisation exploite:

– un récepteur GPS bas de gamme (u-blox)

–  les codeurs CAN des roues arrière du véhicule –  une caméra vidéo N&B standard (Marlin)

–  une carte numérique 3D précise d’un centre urbain ... et on tire le meilleur parti de toutes ces sources d’information (fusion)

Exemple IV : Projet ANR CityVIP (2009-2011)

(30)

Coopération des modules actualisant la pose

•  Intégration de mesures proprioceptives (odométrie)

•  Mise en correspondance avec la carte numérique 3D («map matching»)

•  Utilisation de données satellitaires en couplage lâche ou serré:

⇒  Test préalable de validité   Force du signal

  Visibilité directe

•  Fusion avec la localisation par vision

Exemple IV : Projet ANR CityVIP (2009-2011)

(31)

Localisation par vision : construction de la base d'amers visuels

Séquence vidéo de référence

Base d'amers visuels géoréférencés (points 3D +

descripteurs associés) Trajectoire de référence

Exemple IV : Projet ANR CityVIP (2009-2011)

(32)

Base d'amers visuels

Localisation par vision: exécution en temps réel

Points d'intérêt sur l'image courante (jaunes)

Estimation de la dose du véhicule et incertitude associée (ellipse jaune)

Appariement 3D/2D

Exemple IV : Projet ANR CityVIP (2009-2011)

(33)

Intégration dans le véhicule VERT

Mesure de référence des trajectoires

Codeurs de roues Baie d’acquisition

(RT-Maps, Aroccam)

Récepteur GPS bas coût

Exemple IV : Projet ANR CityVIP (2009-2011)

(34)

Résultats: localisation globale par fusion multi-capteurs et carte 3D

Véhicule

Exemple IV : Projet ANR CityVIP (2009-2011)

carte 3D

Vidéo: points d'intérêt

(35)

Localisation après fusion

lot 1 (carte) / lot 2 (vision)

Résultats: localisation globale par fusion multi-capteurs et carte 3D

Exemple IV : Projet ANR CityVIP (2009-2011)

Références

Documents relatifs

Dans cette présentation, nous présenterons les différents niveaux d'invariance utilisés le plus souvent dans la littérature (configurelle, métrique et scalaire), ainsi que

“Measurement equivalence is conceptually defined as whether or not, under different conditions of observing and studying phenomena, measurement operations yield measures of the

• Évaluer, à l’aide d’une formule fournie, l’incertitude d’une mesure obtenue lors de la réalisation d’un protocole dans lequel interviennent plusieurs sources

[r]

Écrire un programme Matlab qui permet de mettre en œuvre les équations du filtre de Kalman étendu (EKF) pour estimer l'état courant du drone à partir des mesures

•  Si on dispose d'une estimation de la variance du bruit qui entache chaque mesure, on peut l'utiliser pour « pondérer » la contribution de la mesure dans la

Écrire un programme Matlab qui permet de mettre en œuvre les équations du filtre de Kalman étendu (EKF) pour estimer l'état courant du drone à partir des mesures

Écrire un programme Matlab qui met en œuvre les équations du filtre de Kalman pour estimer l'état courant x(k) du véhicule à partir des mesures de position. Il est