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

Texte intégral

(1)

Localisa)on et naviga)on de robots

TD1: Odométrie

Fabio MORBIDI

(2)

TD1: Odométrie

Objec2f: Es)ma)on de la trajectoire d’un robot mobile

•  Calculer la pose d’un robot unicycle (à conduite différen)elle) à par)r de l’odométrie

•  Tracer la posi)on instantanée et simuler la trajectoire du robot

•  Iden)fica)on de l’erreur (incer)tude) par le calcul de la matrice de covariance

•  Extrac)on et affichage des ellipses d’erreur sur la

(x, y, ✓)

(3)

TD1: Odométrie

Matériel: Répertoire packTD1.zip Fichier « simu.m » u)lise :

•  Fichier « initRobot » pour les paramètres du robot

•  Fichier « initBruits » pour simuler:

•  Le bruit d’une commande mal appliquée

•  Le bruit de percep)on des capteurs

•  Fichier « genereTrajs »

•  pour générer la trajectoire du robot

•  S’il applique parfaitement la commande

•  Si on prends en compte les bruits

•  Donne les valeurs des angles de chaque roue: et '

(4)

TD1: Odométrie

Matériel: Répertoire packTD1.zip

Répertoire « ou)ls » con)ent des fonc)ons:

•  « Drawarrow » : Dessiner une flèche

•  « Drawroundedrect » : Dessiner des rectangles

•  « Drawellipse » : Dessiner une ellipse

•  « Drawrobot » : Dessiner un robot

(5)

Exercice 1

Fonc2on « MAJEtatOdometrie »:

•  Entrées:

•  Les distance parcourues par la roue gauche et droite entre deux instants de temps et la pose courante du robot

•  La largeur de l'essieu,

•  Sor2e:

•  Mise à jour de la pose :

U)liser ce@e fonc)on dans le fichier « simu.m » pour tracer le robot à chaque instant

p

0

= [x

0

, y

0

, ✓

0

]

T

p

L

(6)

Exercice 1

Fonc2on « MAJEtatOdometrie »:

x = s cos(✓ + ✓/2)

y = s sin(✓ + ✓/2)

✓ = s

d

s

g

L

s = s

d

+ s

g

2

p 0 = 2 6 4

x 0 y 0

0 3

7 5 = p + 2 6 4

s cos(✓ + ✓/2) s sin(✓ + ✓/2)

3 7 5 p =

2 6 4

x y

✓ 3 7 5

,

,

,

(7)

Exercice 1

Fonc2on « MAJEtatOdometrie »:

x = s cos(✓ + ✓/2)

y = s sin(✓ + ✓/2)

✓ = s

d

s

g

L

s = s

d

+ s

g

2

p = 2 6 4

x y

✓ 3 7 5

p

0

= f (x, y, ✓, s

d

, s

g

) = 2 6 4

x y

✓ 3 7 5 +

2 6 6 6 6 4

sd+ sg

2

cos ⇣

✓ +

sd2L sg

sd+ sg

2

sin ⇣

✓ +

sd2L sg

sd sg L

3 7 7 7 7 5

,

,

(8)

Exercice 1

Fonc2on « MAJEtatOdometrie »:

(9)

Exercice 1

Dans le ficher « simu.m »

Ssss

s

(10)

Exercice 1

Ss

(11)

Exercice 2

Propaga2on de l’erreur:

Fonc)on « propageErreurs » pour le calcul de la matrice de covariance

•  Entrées:

•  La matrice de covariance associée à l’état précédent

•  L’état à l’instant précédent

•  L’incrément courant

•  Les paramètres

•  Sor2e:

•  Matrice de covariance

p

p

0

L, k

g

, k

d

(12)

Exercice 2

⌃ = cov( s

d

, s

g

) =

"

k

d

| s

d

| 0

0 k

g

| s

g

|

#

p0

= r

p

f · ⌃

p

· ( r

p

f )

T

+ r

dg

f · ⌃ · ( r

dg

f )

T

r

p

f =

 @ f

@ x

@ f

@ y

@ f

@✓ = 2 6 4

1 0 s sin(✓ + ✓/2) 0 1 s cos(✓ + ✓/2)

0 0 1

3 7 5

r dgf =

 @f

@ sd

@f

@ sg = 2 64

1

2 cos(✓ + ✓/2) 2Ls sin(✓ + ✓/2) 12 cos(✓ + ✓/2) + 2Ls sin(✓ + ✓/2)

1

2 sin(✓ + ✓/2) + 2Ls cos(✓ + ✓/2) 12 sin(✓ + ✓/2) 2Ls cos(✓ + ✓/2)

1/L 1/L

3 75

(13)

Exercice 2

Propaga2on de l’erreur:

Fonc)on « propageErreurs » pour le calcul de la matrice

de covariance p

0

(14)

Exercice 2

Propaga2on de l’erreur:

Fonc)on « propageErreurs » pour le calcul de la matrice de covariance p

0

Dans le ficher « simu.m »

(15)

Exercice 3

Propaga2on de l’erreur:

Fonc)on « extraitEllipse » pour calculer l’ellipse d’incer)tude associée à

Affichez ces ellipses (cf. dossier ou<ls) à un pas régulier sur la trajectoire du robot (mais n’affichez pas toutes les ellipses, sinon ce sera illisible !)

p

0

(16)

Exercice 3

Propaga2on de l’erreur:

Fonc)on « extraitEllipse » pour calculer l’ellipse d’incer)tude associée à

Remarque:

•  Les racines carrées des valeurs propres les plus fortes de la matrice de covariance donnent les longueurs des demi-axes de l’ellipse

•  Le vecteur propre associé à la valeur propre la plus forte donne l’orienta)on de l’ellipse

p

0

(17)

Exercice 3

Propaga2on de l’erreur:

Fonc)on « extraitEllipse » pour calculer l’ellipse

d’incer)tude associée à p

0

(18)

Exercice 3

Propaga2on de l’erreur:

Fonc)on « extraitEllipse » pour calculer l’ellipse d’incer)tude associée à p

0

Dans le ficher « simu.m »

Références

Documents relatifs

[r]

résultat sous une forme la plus

La racine carrée d’un nombre

1°) Remplacer le coefficient a 1, 2 de la matrice A par un entier naturel différent de 2. 2°) Énoncer une généralisation de la méthode de Théon de Smyrne pour le calcul

Pour comprendre (et retenir) les propriétés des racines carrées, il est opportun de bien comprendre qu'il n'y a (presque) rien de nouveau à savoir... Il faut rechercher ensuite le

Rappel définition : on dit qu'un nombre b (différent de zéro) est l'inverse d'un nombre a (différent de zéro) si et seulement si et aucun des deux nombres n'est nul6. On note

La réponse est donc non : le double de 3 est 6, c'est à dire. Oui, est un

Présenter dans un tableau les dié- rentes expressions de f (x) et les intervalles dans lesquels elles sont valides.. Retrouver le tableau précédent en utilisant