• 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!
44
0
0

Texte intégral

(1)

Localisa(on et naviga(on de robots

TD2: Localisa-on par filtre de Kalman étendu

2016-2017

Fabio MORBIDI

h@p://home.mis.u-picardie.fr/~fabio/Teaching_LNR16-17.html

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

x

0

(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

M

(4)

Représenta(on de la carte

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

obstacle

(5)

Représenta(on de la carte

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

•  Cellules de taille fixe

•  Simple et très u(lisée (« occupancy grid », en anglais)

•  Les passages étroits disparaissent (la représenta(on n’est pas complète)

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

Environnement con(nu Approxima(on discrète

(6)

Représenta(on de la carte

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

•  Cellules de taille variable (décomposi(on adapta(ve)

•  Réduc(on du nombre de cellules et de l’espace de mémoire nécessaire

(7)

Représenta(on de la carte

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

•  Cellules de taille variable (décomposi(on adapta(ve)

•  Réduc(on du nombre de cellules et de l’espace de mémoire nécessaire

Environnement Décomposi(on adapta(ve

(8)

Représenta(on de la carte

3.   Cartes topologiques

•  Elles représentent l'environnement comme un graphe non orienté :

•  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 (par ex. gauche, droite) sont conservées

Nœud (lieu) Arête (connexion)

G = (V, E )

(9)

Représenta(on de la carte

•  Exemple de carte topologique

•  Carte du métro de Paris

(10)

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 lasers, sonars ou caméras

•  Transformée de Hough

•  RANSAC (RAndom Sample Consensus)

•  Split-and-merge [Pavlidis & Horowitz, 1974]

(11)

Représenta(on de la carte

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

•  Algorithme incrémentale [Forsyth & Ponce, 2003]

•  Line Regression [Arras & Siegwart, 1997]

•  Expecta,on Maximiza,on [Forsyth & Ponce, 2003] (inconvénient: minima locaux)

Split-and-merge appliqué à un balayage laser 2D (avec la permission de B. Jensen)

x [m]

robot

y [m]

(12)

Représenta(on de la carte

Comparaison des six algorithmes pour l’extrac(on de droites à par(r de données laser 2D [Nguyen et al., 2005]

Déterministe Vitesse [Hz] Faux posi(fs [%] Précision

Split-and-merge Oui 1500 10 +++

Alg. incrémentale Oui 600 6 +++

Line Regression Oui 400 10 +++

RANSAC Non 30 30 ++++

Transf. de Hough Oui 10 30 ++++

Expect. Maxim. Non 1 50 ++++

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

(13)

Représenta(on de la carte: sommaire

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

d) Représenta,on con,nue basée sur droites:

100 droites à 2 paramètres

b) Décomposi,on approxima,ve: environ 3000 cellules de taille fixe 50 cm × 50 cm. Chaque cellule est soit

remplie (présence d'un obstacle) soit vide (espace libre) c) Carte topologique avec 18 nœuds et 17 arêtes

Posi(on du robot

Nœud i

(a) (b)

(d)

a) b) c)

d)

(14)

Problème de localisa(on probabiliste

Approche probabiliste au problème de localisa-on

Il permet de calculer la croyance sur l’état du robot (fonc,on de densité de probabilité) à chaque instant de temps

Ingrédients:

1.  Densité de probabilité ini(ale: croyance(x

0

)

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

3.  Modèle d'erreur sta(s(que des capteurs extérocep,fs (par ex. lasers, sonars, caméras)

4.  Carte de l’environnement M

M

(15)

Fusion des mesures propriocep(ves et extérocep(ves

Landmark = balise (ou amer) passive

Odometry

(16)

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 (exprimées dans le repère monde {W})

Hypothèses

{R}

{S}

{W}

m

j

laser

(17)

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

(18)

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

(19)

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

x

t

= f (x

t 1

, u

t

) = 2 6 4

x

t 1

y

t 1

t 1

3 7 5 +

2 6 6 6 4

sd+ sg

2

cos ⇣

t 1

+

sd2L sg

sd+ sg

2

sin ⇣

t 1

+

sd2L sg

sd+ sg L

3 7 7 7 5

P

t 1

x

t 1

Q

t

Q

t

= diag(k

d

| s

d

| , k

g

| s

g

| )

Modèle

non linéaire !

(20)

{W}

Prédic(on de la pose

Prédic(on

temps t

temps t - 1

b x

t

x

t 1

= 2 4

x

t 1

y

t 1

t 1

3

5

(21)

Rappel le TD1 - Exercices 1 et 2

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

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

p0

(22)

①   Prédic(on

Exercice 1

(23)

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

(24)

②   Correc(on

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

•  Primi(ves de type droite

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

•  observa(ons :

•  Mesures 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

n

(25)

②   Correc(on

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

•  droites observées, 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

=

"

2.5 ⇡/180 0

0 10

#

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

n 2n

R

it

=

"

i

↵↵

(t)

↵ri

(t)

r↵i

(t)

rri

(t)

#

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

(26)

②   Correc(on

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

Données brutes générées par le télémètre laser

Les droites sont extraites (par 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

(27)

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

(28)

②   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

#

(29)

②   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

R

r b

tj

R

↵ b

jt

{W}

droite j

W

jt

W

r

tj

(30)

②   Correc(on

h

j

( x b

t

, m

j

)

pour écrire les équa(ons du 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

#

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

(31)

②   Correc(on

•  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

Espace du modèle

droite j

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

(32)

②   Correc(on

W

b z

jt

=

"

b

tj

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)

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

(33)

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

(34)

②   Correc(on

c) Appariement des mesures

•  Trouver la meilleur correspondance entre:

•  Les mesures courantes (« index »)

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

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

i

j

(35)

②   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 t ij ) T (⌃ ij IN

t

) 1 v ij t  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 )

(36)

②   Correc(on

c) Appariement des mesures

Espace du modèle

Appariement i, j

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

Pas d’appariement.

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

On cherche les meilleurs appariements.

b r

j

r

i

Aberrante

« outlier »

Mur

(37)

②   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

(38)

②   Correc(on

c)  Appariement des mesures Exercice 2.3

(39)

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

(40)

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

(41)

Exercice 2.4

②   Correc(on

(42)

Exercice 2.1

②   Correc(on

(43)

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

Es(ma(on finale

Prédic(on (odométrie)

Innova(on par mesures

②   Correc(on

x

t

, P

t

b

x

t

, P b

t

(44)

Sommaire des équa(ons de l’EKF

Prédic-on

Avantage

•  Efficacité computa(onnelle (procédure récursive) Inconvénient

•  Si l'incer(tude sur la pose du robot devient trop importante (par ex. suite à la collision avec un obstacle) l’EKF peut échouer et l’erreur d’es(ma(on diverger

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

où K

t

= P b

t

H

Tt

(⌃

INt

)

1

Références

Documents relatifs

Les nouvelles biopsies mettent en évidence des lésions à type de bourgeon charnu, renfermant un infi ltrat polymorphe et focalement quelques cellules lymphoïdes de grande

Etant donné que le showroom est dédié à notre robot hexapode, et que plusieurs affiches devaient être créées pour notre environnement en réalité virtuelle, il est apparu comme

La FVS contient des Cellules Souches/ Stromales Mésenchymateuses (CSM), des Progéniteurs Endothéliaux (PE), des Cellules Endothéliales différenciées (CE), des Péricytes (PR) et

L'application de cette méthode nous a d'abord permis de con- firmer le ré sul tat semi-quanti ta tif de BROWN: pour diverses souches de E.coli, dans les extraits de cellules

✔ Au sein des entreprises de taille moyenne à grande, techniciens et ingénieurs sont regroupés au sein des structures QHSE (Qualité, Hygiène, Sécurité, Environnement) ou

Les systèmes automatisés sont destinés à être utilisés dans un environnement industriel, qui utilise une mémoire programmable pour le stockage interne des instructions

Instruction de nombreuses questions méthodologiques - Quelle taille d'échantillon serait nécessaire pour une mesure suffisamment précise des évolutions annuelles . - Quel

il apparaît que les cellules bordantes de la poche isolée sont de plus petite taille que celles de la muqueuse fundique normale.. Ces cellules à contours nets se