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

Texte intégral

(1)

Localisa(on et naviga(on de robots

TD2: Localisa-on par filtre de Kalman étendu

2019-2020

Fabio MORBIDI

h?p://home.mis.u-picardie.fr/~fabio/Teaching_LNR19-20.html

(2)

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

Pose ini(ale connue

x y

Prédic(on (odométrie)

Correc(on (mesure)

x

0

v e

t= 0

sd sg !

M

(3)

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

Pose ini(ale connue

x y

Prédic(on (odométrie)

Correc(on (mesure)

x

0

v e

t= 0

sd sg !

M

(4)

Représenta(on de la carte

1.  Décomposi(on exacte en cellules

2.  Décomposi(on approchée en cellules

•  Cellules de taille fixe

•  Cellules de taille variable

3.  Cartes topologiques

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

M

(5)

Représenta(on de la carte

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

obstacle

(6)

Représenta(on de la carte

2.  Décomposi(on approchée 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 de l’environnement

(7)

Représenta(on de la carte

Environnement Décomposi(on adapta(ve de l’environnement

2.  Décomposi(on approchée 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

Start Start

P

q

s

q P

s

q P

g

q P

g

(8)

Représenta(on de la carte

2.  Décomposi(on approchée 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

(9)

Représenta(on de la carte

3.   Cartes topologiques

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

Nœud (lieu) Arête (connexion) G = (V, E )

V

E

(10)

Représenta(on de la carte

•  Exemple de carte topologique

•  Carte du métro de Paris

(11)

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 mesures laser, sonar ou d’images

•  Transformée de Hough

•  RANSAC (RAndom Sample Consensus) [Fischler & Bolles, 1987]

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

Environnement Représenta(on avec droites infinies

(12)

Représenta(on de la carte

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

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

•  Régression linéaire [Arras & Siegwart, 1997]

•  Algor. Espérance-Maximisa(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]

(13)

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 Fréquence [Hz] Faux posi(fs [%] Précision

Transfor. de Hough Oui 10 30 ++++

RANSAC Non 30 30 ++++

Split-and-merge Oui 1500 10 +++

Alg. incrémentale Oui 600 6 +++

Régression linéaire Oui 400 10 +++

Alg. Espér. - Maxim. Non 1 50 ++++

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

(14)

Représenta(on de la carte: sommaire

d) Représenta6on con6nue basée sur droites:

100 droites avec 2 paramètres

b) Décomposi6on approchée: environ 3000 cellules de taille fixe 50 cm × 50 cm. Chaque cellule est pleine (présence d'un obstacle) ou vide (espace libre)

c) Carte topologique avec 18 nœuds et 17 arêtes

Nœud

(a) b) (b) c)

d)

i

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

a) Posi(on courante du robot

(15)

Problème de localisa(on probabiliste

Approche probabiliste au problème de localisa-on (incrémentale)

Calcul de la croyance sur l’état du robot (fonc6on de densité de probabilité ou pdf) à chaque instant de temps

Ingrédients nécessaires:

1.  Densité de probabilité ini6ale: croyance( )

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

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

4.  Carte de l’environnement

x

0

M

M

(16)

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

Landmark = balise (ou amer) passive

Odometry

(17)

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)

•  Le repère du télémètre laser {S} coïncide avec le repère du robot {R}

•  Primi(ves de : droites (exprimées dans le repère monde {W})

Nos hypothèses:

{R}

{S}

{W}

m

j

laser m

j

M

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

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

(20)

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 !

(21)

{W}

Prédic(on de la pose

Prédic(on

temps

temps

b x t

x

t 1

= 2 4

x

t 1

y

t 1

t 1

3 5

p

t 1

t

(22)

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

(23)

①   Prédic(on

Exercice 1

(24)

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

(25)

②   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

n

i

↵ p

i

r

i

(26)

②   Correc(on

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

•  droites observées, paramètres

•  L’incer(tude sur les droites est representée par la matrice de covariance (cf. le cours “Surveillance Distribuée de Systèmes Mul6-Agents"):

•  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 choisira simplement:

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 }

(27)

②   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 2D

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

Droite

Espace du modèle

r

i

i

i

ri

i

r

(28)

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

(29)

②   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

#

(30)

②   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}

W

jt

W

r

tj

droite j

Wtj

{R}

✓ b

t

(31)

②   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

(32)

②   Correc(on

•  Les prédic6ons 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 des 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

r

(33)

②   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

b z

t

= predictionDeMesure(

W

t

,

W

r

t

, b x

t

)

(34)

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

(35)

②   Correc(on

c) Appariement des mesures

•  Trouver la meilleur correspondance entre:

•  Les mesures courantes (« indice »)

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

•  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

?

(36)

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

(37)

②   Correc(on

c) Appariement des mesures

Espace du modèle

Appariement

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

On cherche les meilleurs appariements.

Les primi(ves non appariées sont rejetées

b r

j

r

i

b

j

i

Aberrante

« outlier »

Mur

i, j

Pas d’appariement.

Le mur n'a pas été observé par le

robot !

r

(38)

②   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

IN

t

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

(39)

②   Correc(on

c)  Appariement des mesures Exercice 2.3

(40)

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

(41)

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 de l’EKF:

(II) Mise à jour de la covariance:

b x t

x t = x b t + K t v t

K t = P b t H T t (⌃ IN

t

) 1

P t = P b t K tIN

t

K T t

②   Correc(on

Exercice 2.4

P b

t

[x

t

, P

t

] = estimation( x b

t

, P b

t

, v

t

, H

t

, ⌃

INt

)

(42)

Exercice 2.4

②   Correc(on

(43)

Exercice 2.1:

②   Correc(on

[x

t

, P

t

] = correction( x b

t

, P b

t

,

W

t

,

W

r

t

,

R

t

,

R

r

t

, g)

(44)

En fusionnant la prédic6on de la pose du robot (trait fin) avec l'innova6on obtenue par les mesures (trait épais), nous obtenons l'es6ma6on 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

(45)

Sommaire des équa(ons de l’EKF pour la localisa(on

Prédic-on

Avantage

•  Efficacité computa(onnelle (mécanisme récursif) 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 peut 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

K

t

= P b

t

H

Tt

(⌃

INt

)

1

où est le gain de Kalman

P

t

= P b

t

K

t

INt

K

Tt

= ( P b

t 1

+ H

Tt

R

t 1

H

t

)

1

Références

Documents relatifs

Remarque : Deux droites perpendiculaires sont deux droites sécantes formant quatre angles droits (90°).. 1 colonne2

Or la droite (MI ) est contenu dans le plan médiateur qui par définition orthogonal à la droite ( KL ) donc (MI) est orthogonale à ( KM) et même perpendiculaire puisque I est

(LE) et (By) sont confondues. Repasse en vert la partie de la droite dont les points appartiennent à [AB) mais pas à [CD)... b. Repasse en rouge la partie de la droite dont les

(LE) et (By) sont confondues. Repasse en vert la partie de la droite dont les points appartiennent à [AB) mais pas à [CD)... b. Repasse en rouge la partie de la droite dont les

Deux droites sécantes sont deux droites qui ont un seul point commun..

Deux droites sécantes sont deux droites qui ont un seul point commun..

On n’a pas un grand appartement, mais on n’est pas gêné par le bruit.. On n’a pas envie

Si deux droites sont perpendiculaires à une même droite, alors elles sont …. sécantes parallèles perpendiculaires. Si deux droites sont parallèles à une même droite,