Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.
robotics:odometrie [2013/06/04 10:17] gdo [Approximation par segment de droite] |
robotics:odometrie [2014/09/18 14:26] (Version actuelle) ldo [Implementation] |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
L'odométrie est une technique de localisation relative d'un robot. En mesurant tous les déplacements du robot depuis son point d'origine, il est possible de calculer à chaque instant sa position et son orientation sur la table. | L'odométrie est une technique de localisation relative d'un robot. En mesurant tous les déplacements du robot depuis son point d'origine, il est possible de calculer à chaque instant sa position et son orientation sur la table. | ||
- | ==== Principe ==== | + | ===== Principe ===== |
Un odomètre (roue codeuse placée au centre du robot) nous permet de connaître la distance parcourue par le robot. Cette seule information de distance ne permet pas de positionner le robot dans un système de coordonnées. | Un odomètre (roue codeuse placée au centre du robot) nous permet de connaître la distance parcourue par le robot. Cette seule information de distance ne permet pas de positionner le robot dans un système de coordonnées. | ||
Ligne 78: | Ligne 78: | ||
Cette approximation est plus précise que l'approximation par segment mais nécessite plus de calcul. | Cette approximation est plus précise que l'approximation par segment mais nécessite plus de calcul. | ||
- | ==== Implementation ==== | + | ===== Implementation ===== |
<code c> | <code c> | ||
typedef struct | typedef struct | ||
Ligne 94: | Ligne 94: | ||
p->x += distance * cos(p->O); | p->x += distance * cos(p->O); | ||
p->y += distance * sin(p->O); | p->y += distance * sin(p->O); | ||
- | p->O += atan2(angle, entraxe); | + | p->O += angle/entraxe; //atan2(angle, entraxe); |
} | } | ||
Ligne 146: | Ligne 146: | ||
</code> | </code> | ||
- | ==== Conclusion ==== | + | ===== Conclusion ===== |
- | Pour des mesures régulières et fréquences dans un environnement restreint (table eurobot 2 x 3 m), les deux approximations sont sensiblement équivalentes. Nous avons effectué les calculs sur une ARDUINO UNO et tracé les deux courbes qui sont quasiment identiques. | + | Pour des mesures régulières et fréquentes dans un environnement restreint (table eurobot 2 x 3 m), les deux approximations sont sensiblement équivalentes. Nous avons effectué les calculs sur une ARDUINO UNO et tracé les deux courbes qui sont quasiment identiques. |
{{:robotics:mongraphe.png?400|}} | {{:robotics:mongraphe.png?400|}} | ||