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)
Ch. 2: Traitement des mesures
Réseaux multi-capteurs
Fusion des mesures Partie 2
Partie 1
« 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)
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:
où
x = z
1+ K ( z
2− z
1)
σ
2= (1 − K ) σ
12K = σ
12σ
12+ σ
22z
iσi2
z
i= x + r
i, i ∈ { 1 , 2 } r
i∼ N (0 , σ
i2)
i i
σ
2x
est le gain de Kalman
Estimation de l’état optimum:
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+ σ
22z
1z
21. Fusion de mesures
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 ) σ
121. Fusion de mesures
est le gain de Kalman
z
1z
2z ( t
1) , z ( t
2) t
1< t
2Estimation de l’état optimum à l’instant :
t
2x ( t
2) = z ( t
1) + K ( z ( t
2) − z ( t
1))
σ
2= (1 − K ) σ
z2(t1)où
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
• Que se passe-t-il si nous prenons une autre mesure à l’instant ?
Estimation de l’état optimum à l’instant générique
où
z ( t
3) t
3> t
2t
kK ( 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)
“Moyennerecursive”
est le gain de Kalman (variable dans le temps)
2. Fusion de mesures dans le temps
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
Filtre de Kalman linéaire
• Soit le système dynamique à temps discret, :
x
k= A
k−1x
k−1+ B
k−1u
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−1Qk
R
kk ∈ {1, 2, . . .}
Entrée de commande (connue)
z
k= H
kx
k+ r
kr
kÉquation d’état Équation de mesure
E [ w
k] = 0 E [ r
k] = 0
E [ w
kw
jT] = 0, j = k E [ r
kr
Tj] = 0, j = k E [ r
kr
Tk] = R
kE [ r
kw
Tj] = 0, ∀ j, k
E [ w
kw
kT] = Q
k• 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|kP
k|k= E [( x
k− x
k|k)( x
k− x
k|k)
T]
: matrice de covariance de l'erreur d’estimationde l’état à l'instant , en utilisant l’information jusqu’à l’instant
Erreur d'estimation de l’état du système
x
k|k xk1.
2.
xk
Filtre de Kalman linéaire
x
kk k
k k
• L' « état » du filtre se compose de deux variables:
Initialisation du filtre:
Prédiction (ou propagation):
x
k|k−1= A
k−1x
k−1|k−1+ B
k−1u
k−1P
k|k−1= A
k−1P
k−1|k−1A
Tk−1+ Q
k−1Pour :
k ∈ { 1 , 2 , . . .}
x
0|0= E [ x
0]
où est l’état initial du systèmeFiltre de Kalman linéaire
x0 ∈ Rn
P
0|0= E [( x
0− x
0|0)( x
0− x
0|0)
T] ∈ R
n×nCorrection (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
kx
k|k−1)
où
K
k= P
k|k−1H
Tk( H
kP
k|k−1H
Tk+ R
k)
−1 est le gain de Kalmanest la matrice d'estimation a priori de la covariance de l'erreur
P
k|kP
k|k−1Filtre de Kalman linéaire
Remarque:
P
k|k= ( P
−k|k−1 1+ H
TkR
−k 1H
k)
−1= ( I
n− K
kH
k) P
k|k−1Soit 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−1Qk
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−1z
k= h [ x
k] + r
koù et sont deux fonctions différentiables arbitraires f[· , ·] h[· ]
Filtre de Kalman étendu (EKF)
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èmex
0x
k|k−1= f [ x
k−1|k−1, u
k−1]
P
k|k−1= F
k−1P
k−1|k−1F
Tk−1+ Q
k−1où
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)
Phase de correction:
où
K
k= P
k|k−1H
Tk( H
kP
k|k−1H
Tk+ R
k)
−1 Gain de Kalmanet
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
TkR
−k 1H
k)
−1x
k|k= x
k|k−1+ K
k( z
k− h [ x
k|k−1])
Filtre de Kalman étendu (EKF)
• 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
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−1z
k= x
k+ r
kDonc, 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
: 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−1x
k−1|k−1x
k|k−1x
k|k−1x
k|kx
k|ku
k−1u
k−1z
kz
kz
kMesure par capteur laser Commandes
Déplacements
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−1K
k= P
k|k−1( P
k|k−1+ R )
−1= P
k|k−1P
k|k−1+ σ
laser2où
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+ σ
odom2Fichier Matlab (TD2):
FiltreKalmanChariot.m
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
θ
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• 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
kw
kT] = diag(0 , 16 σ
gyro2)
Sur-estime, afin de prendre en compte le biais
x = [ θ, θ ˙ ]
TA 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−1u
k= ˙ θ
gyro( k )
• 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:
où
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
kH
Exemple II : deux variables d’état
Fichier Matlab (TD2):FiltreKalmanGyro Compas.m
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
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
• 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
+ +
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
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)
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)
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)
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)
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)
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
Localisation après fusion
lot 1 (carte) / lot 2 (vision)
Résultats: localisation globale par fusion multi-capteurs et carte 3D