• Aucun résultat trouvé

Localisa(on et naviga(on de robots

N/A
N/A
Protected

Academic year: 2022

Partager "Localisa(on et naviga(on de robots"

Copied!
41
0
0

Texte intégral

(1)

Localisa(on et naviga(on de robots

TD2: Localisa-on par filtre de Kalman étendu

Fabio MORBIDI

(2)

Localisa(on d’un robot mobile basée sur carte

Pose ini(ale connue

M

x y

Prédic(on (odométrie)

Correc(on (mesure)

x0

(3)

Représenta(on de la carte

1.  Décomposi(on exacte en cellules

2.  Décomposi(on approxima,ve en cellules

•  Cellules de taille fixe

•  Cellules de taille variable

3.  Cartes topologiques

4.  Représenta(on con(nue basée sur droites

(4)

Représenta(on de la carte

1.   Décomposi(on exacte en cellules [Latombe, 1991]

(5)

Représenta(on de la carte

2.  Décomposi(on approxima(ve en cellules

•  Cellules de taille fixe (« occupancy grid »)

•  Simple et très u(lisée

•  Les passages étroits disparaissent (pas une représenta(on complète)

•  Grande mémoire nécessaire si la taille des cellules est pe(te

(6)

Représenta(on de la carte

•  Cellules de taille variable

•  Décomposi(on adapta(ve

(7)

Représenta(on de la carte

3.   Cartes topologiques

•  Elles représentent l'environnement comme un graphe avec nœuds et arêtes:

•  Les nœuds correspondent à l’espace géométrique

•  Les arêtes correspondent aux connexions physiques

entre les nœuds

•  Les cartes topologiques sont

dépourvues d’échelle et de distance, mais les rela,ons topologiques (ex. gauche, droite) sont maintenues

Nœud (loca(on)

Arête (connexion)

(8)

Représenta(on de la carte

•  Exemple de carte topologique

•  Carte du métro de Paris

(9)

Représenta(on de la carte

4.  Représenta(on con(nue basée sur droites

a)  Représenta(on avec un ensemble de droites (finies ou infinies)

b)  Extrac(on de droites à par(r de l’informa(on 2D de caméras, sonars ou lasers a)  Transformée de Hough

b)  RANSAC (RAndom Sample Consensus)

c)  Split-and-Merge, Line Regression (seulement pour mesures laser)

(10)

Représenta(on de la carte: sommaire

1) Carte réelle avec murs, mobilier, portes, etc.

4) Représenta(on con(nue basée sur droites:

100 droites avec 2 paramètres

2) Décomposi(on approxima(ve: environ 3000 cellules de taille fixe 50 × 50 cm. Chaque cellule est soit remplie (par(e d'un obstacle) ou vide (espace libre)

3) Carte topologique: 18 nœuds

Posi(on du robot

Nœud i

(b) (c)

(a)

(d)

(1) (2) (3)

(4)

(11)

Problème de localisa(on probabiliste

Approche probabiliste au problème de localisa(on:

Il permet de calculer la densité de probabilité (pdf) de la pose d’un robot dans chaque étape de prédic(on et de correc(on

Ingrédients:

1.  Densité de probabilité ini(ale: croyance(x0)

2.  Modèle d'erreur sta(s(que des capteurs propriocep,fs (ex. encodeurs des roues)

3.  Modèle d'erreur sta(s(que des capteurs extérocep,fs (ex. laser, sonar, caméra)

4.  Carte de l’environnement

M

(12)

Fusion des capteurs propriocep(fs et extérocep(fs

Landmark = marqueur passif

Odometry

(13)

Localisa(on d’un robot par EKF

•  Robot de type unicycle à conduite différen-elle

•  Capteurs: encodeurs sur les roues (propriocep(fs), télém. laser (extérocep(f)

•  Repère du télémètre laser {S} repère du robot {R}

•  Primi-ves de M : droites (dans le repère monde {W})

Hypothèses

{R}

{S}

m

j

laser

(14)

Localisa(on d’un robot par EKF

Prédic-on

Correc-on

a)  Observa(on des primi(ves par mesure capteurs b)  Prédic(on de mesure des primi(ves

c)  Appariement des mesures

d)  Es(ma(on

(15)

Localisa(on d’un robot par EKF

Prédic-on

Correc-on

a)  Observa(on des primi(ves par mesure capteurs b)  Prédic(on de mesure des primi(ves

c)  Appariement des mesures

d)  Es(ma(on

(16)

Prédic-on

Prédic-on de la nouvelle pose à par-r de:

•  L’ancienne pose:

•  Le déplacement des roues (gauche, droite):

On peut u(liser le modèle pour l’exac(tude odométrique développé dans le TD1:

P b

t

= F

x

P

t 1

F

Tx

+ F

u

Q

t

F

Tu

covariance de l’état précédent du robot

covariance du bruit du modèle de mouvement:

u

t

= [ s

g

, s

d

]

T

x

t 1

= [x

t 1

, y

t 1

, ✓

t 1

]

T

b

xt = f(xt 1, ut) = 2 64

xt 1 yt 1

t 1 3 75 +

2 66 64

sd+ sg

2 cos⇣

t 1 + sd2L sg

sd+ sg

2 sin⇣

t 1 + sd2L sg

sd+ sg

L

3 77 75

P

t 1

x

t 1

Q

t

où Qt = diag(kd| sd|, kg| sg|)

Modèle non linéaire !

(17)

{W}

Prédic(on de la pose

Prédic-on

Temps t

Temps t - 1

x

t 1

b

x

t

(18)

Rappel le TD1 - Exercices 1-2

Fonc(ons « MAJEtatOdometrie » et «propageErreurs» pour la mise à

jour de la pose du robot et le calcul de la matrice de covariance ⌃

p0

(19)

Prédic-on

Exercice 1

(20)

Localisa(on d’un robot par EKF

Prédic-on

Correc-on

a)  Observa(on des primi(ves par mesure capteur b)  Prédic(on de mesure des primi(ves

c)  Appariement des mesures

d)   Es(ma(on

(21)

Correc-on

a) Observa-on des primi-ves par mesure capteur

•  Primi(ves de type droite

•  Une droite est paramétrée en coordonnées polaires:

•  n observa(ons :

•  Données dans le repère local {R} du robot

R

, i 2 { 1, . . . , n }

z

i

=

"

i

r

i

#

z = ⇥

(z

1

)

T

, . . . , (z

n

)

T

T

2 R

2n

i i

{R}

droite i

(22)

Correc-on

a)  Observa-on des primi-ves par mesure capteur

•  n droites observées, 2 n paramètres

•  L’incer(tude sur les droites est representée par la matrice de covariance:

•  Ce@e matrice de covariance peut être calculée à par(r des incer(tudes des mesures contribuant à chaque droite

•  Dans notre implémenta(on Matlab, on va choisir:

R

it

=

↵↵ ↵r

r↵ rr

i

t

, i 2 { 1, . . . , n }

R

it

=

"

2.5 ⇡/180 0

0 10

#

, i 2 { 1, . . . , n }

(23)

Correc-on

a) Observa-on des primi-ves par mesure capteur

Données brutes généréees par le

télémétre laser

Les droites sont extraites (ex. avec RANSAC)

Représenta(on des paramètres des droites et des incer(tudes associées

dans l’espace du modèle

i Droite i

Droite i

Espace du modèle

r

i

(24)

Localisa(on d’un robot par EKF

Prédic-on

Correc-on

a)  Observa(on des primi(ves par mesure capteur b)  Prédic(on de mesure des primi(ves

c)  Appariement des mesures

d)   Es(ma(on

(25)

Correc-on

b) Prédic-on de mesure des primi-ves

•  U-lise:

•  La posi(on prédite du robot (calculée dans l’étape 1)

•  Le modèle de la primi(ve (une droite)

•  Donne:

•  L’observa(on prédite pour chaque primi(ve

dans le repère local {R} du robot b x

t

W

b z

jt

= h

j

( x b

t

, m

j

) m

j

m

j

=

"

j

r

j

#

(26)

Correc-on

b) Prédic-on de mesure des primi-ves

b z

jt

=

W

"

b

jt

b r

tj

#

= h

j

( x b

t

, m

j

) =

"

jt

✓ b

t

r

tj

x b

t

cos( ↵

jt

) y b

t

sin( ↵

jt

)

#

W W W

r

j

b

R

droite j

R

r b

tj

R↵bjt

W

tj

W

r

tj

{W}

(27)

Correc-on

b) Prédic-on de mesure des primi-ves

h

j

( x b

t

, m

j

)

pour pouvoir implementer le filtre de Kalman b

x

t

Par la suite on va u(liser la matrice jacobienne de par rapport à :

H

j

= @ h

j

( x b

t

, m

j

)

@ x b

t

=

"

0 0 1

cos(

W

jt

) sin(

W

jt

) 0

#

(28)

Correc-on

b)  Prédic-on de mesure des primi-ves

•  Les prédic,ons de mesure peuvent être représentées dans l'espace du modèle d’un façon similaire aux observa(ons

b

j

b r

j

•  Le résultat de la prédic(on de mesure sont droites représentées dans le repère du robot {R}

•  Elles sont incertaines, parce que la prédic(on de pose du robot

est incertaine x b

t

Droite j

Espace du modèle

(29)

Correc-on

b) Prédic-on de mesure des primi-ves

W

b z

jt

=

"

b

jt

b r

tj

#

= h

j

( x b

t

, m

j

) =

"

jt

✓ b

t

r

tj

x b

t

cos( ↵

jt

) y b

t

sin( ↵

jt

)

#

W W W

R

Exercice 2.2 (voir “initEnviro.m”, “genereTrajs.m” pour la ges(on des droites)

(30)

Localisa(on d’un robot par EKF

Prédic-on

Correc-on

a)  Observa(on des primi(ves par mesure capteur b)  Prédic(on de mesure des primi(ves

c)  Appariement des mesures

d)   Es(ma(on

(31)

Correc-on

c) Appariement des mesures

•  Trouver la meilleur correspondance entre:

•  Les mesures courantes (« index i »)

•  Les prédic(ons de mesure (« index j »)

•  Pour chaque appariement on calcule:

•  L’innova(on

•  La matrice de covariance de l’innova(on

R R

z

i

=

"

i

r

i

# ?

b z

j

=

"

b

j

b r

j

#

(i, j )

(32)

Correc-on

c) Appariement des mesures

•  Pour chaque appariement :

•  Calculer l’innova(on:

•  Calculer la covariance de l’innova(on:

•  Pour valider l’appariement, on u(lise la distance de Mahalanobis avec un seuil :

ijIN

t

= H

j

P b

t

(H

j

)

T

+ R

it

(v

tij

)

T

(⌃

ijINt

)

1

v

ijt

 g

2

v

tij

= z

it

h

j

( x b

t

, m

j

) =

"

it

r

ti

# "

jt

✓ b

t

r

tj

x b

t

cos( ↵

jt

) y b

t

sin( ↵

jt

)

#

R W

W W W

g > 0

(i, j )

(33)

Correc-on

c) Appariement des mesures

Espace du modèle

Appariement i, j

Mesure (épais), prédic(on (fine)

Pas d’appariement.

Le mur n'a pas été observé !

On cherche les meilleurs appariements:

b r

j

r

i

Aberrante

Mur

(34)

Correc-on

c) Appariement des mesures

•  Trouver la correspondance entre les mesures et les observa(ons prédites

•  Calculer l’innova(on composite

•  Calculer la covariance de l’innova(on composite

•  Empiler les en

v

t

INt

H

j

H

t

[v

t

, H

t

, ⌃

INt

] = appariement( b z

t

, z

t

, P b

t

, R

t

, g)

b z

t

z

t

Exercice 2.3

(35)

Correc-on

c) Appariement des mesures Exercice 2.3

(36)

Localisa(on d’un robot par EKF

Prédic-on

Correc-on

a)  Observa(on des primi(ves par mesure capteur b)  Prédic(on de mesure des primi(ves

c)  Appariement des mesures

d)   Es(ma(on

(37)

d) Es-ma-on En se basant sur:

•  La pose prédite et la covariance

•  Les mesures appariées

(I) Mise à jour de la pose:

•  Gain du filtre de Kalman:

(II) Mise à jour de la covariance:

b x

t

x

t

= x b

t

+ K

t

v

t

K

t

= P b

t

H

Tt

(⌃

INt

)

1

P

t

= P b

t

K

t

INt

K

Tt

[x

t

, y

t

, ✓

t

, P

t

] = estimation( x b

t

, y b

t

, ✓ b

t

, P b

t

, v

t

, H

t

, ⌃

INt

)

Correc-on

Exercice 2.4

P b

t

(38)

Exercice 2.4

Correc-on

(39)

Exercice 2.1

Correc-on

(40)

En fusionnant la prédic,on de la pose du robot (fine) avec l'innova,on obtenue par les mesures (épais), nous obtenons l'es(ma(on finale de la pose du robot (très épais)

Es(ma(on finale

Prédic(on (odométrie)

Innova(on par mesures

Correc-on

x

t , Pt

b

x

t

, P b

t

(41)

Sommaire des équa(ons de l’EKF

Prédic-on

Avantage

•  Efficacité au niveau de calcul (mécanisme récursif) Inconvénient

•  Si l'incer(tude du robot devient trop importante (ex. collision avec un objet)

Correc-on

P b

t

= F

x

P

t 1

F

Tx

+ F

u

Q

t

F

Tu

b

x

t

= f (x

t 1

, u

t

)

x

t

= x b

t

+ K

t

v

t

P

t

= P b

t

K

t

INt

K

Tt

K

t

= P b

t

H

Tt

(⌃

INt

)

1

Références

Documents relatifs

[r]

- Entre chacun des blocs et à la fin de cette chaîne, indiquer quelle est la nature de l’information.. TD: Chaîne d’information

Si deux droites sécantes (en vert sur la figure) sont coupées par deux droites parallèles (en rouge sur la figure), alors les deux triangles formés sont semblables (l'un est

Quelle est l’expression algébrique des quatre fonctions représentées par les droites tracées dans le repère ci-dessus.. ATTENDUS DE FIN DE CYCLE ; CONNAISSANCES

Soient X et Y deux variables al´ eatoires r´ eelles d´ efinies sur un mˆ eme espace de probabilit´ e (Ω, A, P) et telles que (X, Y ) est un vecteur gaussien.. D’apr` es un

Les campagnes virulentes conduites contre le vaccin hépatite B justifiées par d’hypo- thétiques risques post-vaccinaux de démyélinisation dont la corrélation n’a pas jamais

Afin de mieux cerner la spécificité de ce type de talk-show et de pouvoir l’articuler avec le système de politesse, nous avons décidé d’inclure dans notre

Anca M ĂGUREANU , professeure de sciences du langage, Université de Bucarest Claudine M OÏSE , professeure de sciences du langage, Université « Stendhal » Grenoble 3 Alain R ABATEL