• 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  compte  des  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    

L

p

= [x

, y

, θ

]

T

p

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

  x y θ

  = p +

 

∆s cos(θ + ∆θ/2)

∆s sin(θ + ∆θ/2)

∆θ

  p =

  x y θ

 

,  

,  

,  

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

  x y θ

 

p

= f (x, y, θ , ∆s

d

, ∆s

g

) =

  x y θ

  +

 

 

∆sd+∆sg

2

cos �

θ +

∆sd2L∆sg

∆sd+∆sg

2

sin �

θ +

∆sd2L∆sg

∆sd−∆sg L

 

 

,  

,  

(8)

Exercice  1  

Fonc2on  «  MAJEtatOdometrie  »:  

(9)

Exercice  1  

Dans  le  ficher  «  simu.m  »  

Ssss  

s  

(10)

Exercice  1  

Ss  

(11)

Exercice  2  

Propaga2on  d’erreurs:  

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

Σ

L, k

g

, k

d

(12)

Exercice  2  

Σ

= cov(∆s

d

, ∆s

g

) =

� k

d

| ∆s

d

| 0

0 k

g

| ∆s

g

|

Σ

p

= ∇

p

f · Σ

p

· ( ∇

p

f )

T

+ ∇

dg

f · Σ

· ( ∇

dg

f )

T

p

f =

� ∂f

∂ x

∂ f

∂ y

∂ f

∂θ

=

 

1 0 − ∆s sin(θ + ∆θ/2) 0 1 ∆s cos(θ + ∆θ/2)

0 0 1

 

dgf =

� ∂f

∂∆sd

∂f

∂∆sg

=



1

2 cos(θ+∆θ/2)− ∆s2L sin(θ+ ∆θ/2) 12 cos(θ+∆θ/2) + ∆s2L sin(θ+ ∆θ/2)

1

2 sin(θ +∆θ/2) + ∆s2L cos(θ+ ∆θ/2) 12 sin(θ +∆θ/2)− ∆s2L cos(θ+ ∆θ/2)

1/L −1/L



(13)

Exercice  2  

Propaga2on  d’erreurs:  

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

de  covariance   Σ p

(14)

Exercice  2  

Propaga2on  d’erreurs:  

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

Dans  le  ficher  «  simu.m  »  

(15)

Exercice  3  

Propaga2on  d’erreurs:  

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

(16)

Exercice  3  

Propaga2on  d’erreurs:  

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

Note:  

•  Les  racines  carrées  des  valeurs  propres  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

(17)

Exercice  3  

Propaga2on  d’erreurs:  

Fonc)on   «   extraitEllipse   »   pour   calculer   l’ellipse  

d’incer)tude  associée  à   Σ p

(18)

Exercice  3  

Propaga2on  d’erreurs:  

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

Dans  le  ficher  «  simu.m  »  

Références

Documents relatifs

Here, it is stated that a complete natural language HRI system should be able to: (i) react in the same time frame of a human; (ii ) process all stages of language processing in

Même avec des mesures non bruités, la quantité d’information qui vient des capteurs est trop faible pour identifier la pose du robot à partir d’un seul percept.

•  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

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

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

Contrairement aux approches classiques et déjà largement étudiées dans la littérature, nous nous intéressons plus particulièrement aux modèles réalistes dans lesquelles les

 Pour autant, maintien d’une grande diversité des « technologies de production (entre enseignes, mais aussi parfois au sein d’une même enseigne.  Les entrepôts

Following such examples and taking into account that the scientist community working in the robotics field can also benefit of following a similar approach, we decided