Accueil du siteDocumentationTechnique / HardwareAstuces et bonnes pratiques
Dernière mise à jour :
mercredi 23 juillet 2008
Statistiques éditoriales :
295 Articles
57 Brèves
64 Sites Web
17 Auteurs

Statistiques des visites :
42 aujourd'hui
587 hier
393661 depuis le début
     
Brèves
Environnement de dev pour arm7
samedi 24 novembre
Bonjour à tous, J’attire votre attention sur ceci : kit arm7 iF-Dev kit iSystem Arm7 carte Arm7 iSystem (...)
 
Cartographie de la robotique francophone
dimanche 8 janvier
Suite à une discussion sur le forum Planète-Sciences, une carte géographique des différents participants et des différents clubs dans le monde francophone a été mise en place (rubrique Robotique (...)
 
Linux Magazine HS Electronique
samedi 19 novembre
Sortie d’un numéro spécial "électronique" de cette revue dédiée au logiciels open source et aux systèmes d’exploitations libres. Certains membres se sont déjà jetés dessus (...)
 
Création d’une rubrique "Intelligence Artificielle"
mercredi 21 septembre
Lors de la dernière réunion, nous avons eu un exposé sur les différents types d’algorithmes d’Intelligence Artificielle. J’encourage donc les personnes intéressées à remplir (...)
 
Création d’une mailing liste
mercredi 14 septembre
La mailing list core@pobot.org sert à nos discussions rapides et fréquentes. On conserve l’ancienne liste robotik pour les annonces et les résumés.
 
Sur le Web
Capteurs Mindsensors

Des capteurs et des compléments pour enrichir la brique Lego NXT de nouveaux équipements.

Vous trouverez des caméras, des capteurs de distance, des cables et des connecteurs compatibles avec RCX, ainsi que des cartes de développement en numérique et désormais en analogique !

I2C Chip I2C & SMBUS, Slave IC’s, Host Adaptors, RS232 / USB adaptors 2-wire bus
I2C/SPI Host Adaptors, Chips, and Modules. PC to I2C/SPI 1wire. USB and RS232 Interface
Robotique et Electronique à l’IUT de Nîmes département GEII
Le site de Frédéric Giamarchi, enseignant à l’IUT GEII de Nîmes et constructeur de robots, auteur de nombreux ouvrages de référence en robotique mobile et ludique.
Dunod Editeur, édition de livres, Microsoft Press, ETSF, Ediscience, InterEditions
Dunod est éditeur de livres universitaires et professionnels, dont la collection ETSF (sciences et technologies). Ils soutiennent notre activité en dotant le club d’une bibliothèque de 10 ouvrages de référence en robotique, électronique, automatique.
Odométrie par moteur pas à pas
calculs élémentaires de déplacement d’un robot
jeudi 17 novembre 2005
par Patrick
popularité : 6%
Une nouvelle rubrique est concernée à l’odométrie, en se basant sur des codeurs incrémentaux indépendants des roues motrices : Odométrie

Introduction

La plupart de nos robots sont pilotés par des moteurs pas à pas. Quand il n’y a pas d’odométrie indépendante (par roue libre par exemple) pour piloter les consignes envoyées, on utilise le nombre de pas commandés (i.e. demandés de faire) pour connaitre la position du robot.

Prérequis

- Prérequis fondamental : cela suppose qu’on fasse confiance à la mécanique et à l’électronique pour qu’un pas commandé soit un pas réalisé, donc que les moteurs ne "perdent" pas de pas, en patinant lors d’une accélération trop importante par exemple.

- Prérequis secondaire : on accepte aussi dans ces conditions que la position calculée ne le soit que par étape. Il vaut mieux "se recaler", c’est à dire estimer la position du robot par une autre procédure, contact avec un mur, balises, boussole, etc....

Mesures physiques

Il faut connaitre :

dle diamètre d’une roue
Dl’entraxe entre les points de contacts [1]
Ple nombre de pas que fait la roue par tour

Mesures calculées

On en déduit :

- la distance parcourue par une roue lorsqu’elle fait un tour : d*Pi

- la distance parcourue par une roue lorsque le robot fait un tour complet : D*Pi

On a donc le rapport de proportionnalité suivant pour connaitre le nombre de pas pour un tour complet du robot :

Nb pas Distance parcourue
P d*Pi
 ? D*Pi

x = P*D/d

Exemple pratique

Voici les valeurs pour un robot où les roues sont fixées directement sur les moteurs.

d 76 mm
D 184 mm
P 200 pas

nombre de pas pour tourner de 360° : 484,2 pas

Cas particulier

La grandeur ’P’ n’est pas toujours connue. Généralement le nombre de pas du moteur est connu.

Lorsque le moteur n’est pas fixé aux roues dans une relation 1:1, par exemple sur le xPo où des poulies crantées de tailles différentes sont utilisées, il faut distinguer "pas du moteur" et "pas de la roue" en ajoutant un coefficient de proportionnalité (donné par le nombre de dents des engrenages, les diamètres des poulies crantées, ...).

Astuce : avec un peu de patience, et si la mécanique le permet, on peut tourner la roue pendant un tour en comptant le nombre de clics que fait le moteur.

Commande en demi-pas

Dans le cas de deux bobines, il est possible de commander le moteur en ’demi-pas’ en allumant successivement l’une puis l’autre bobine. Si c’est le cas de votre programme de commande de moteurs, il faut donc multiplier par 2 les ordres de commande. Cette règle s’ajoute bien entendu au ratio présenté au paragraphe précédent.

Approximation

En fait, la rigueur scientifique voudrait que l’on considère le déplacement élémentaire d’une roue lorsque le moteur fait un pas comme une rotation de centre la roue opposée et de longueur d’arc la distance calculée ci-dessus. Mais dans la pratique de cette odométrie sommaire, par exemple une commande du robot par [turn and go], ces rotations élémentaires sont compensées par le mouvement de l’autre roue qui va rétablir au pas suivant la différence entre rotation et translation.

 

[1] la partie de la roue qui touche le sol, généralement le centre de la jante

[turn and go] le robot reçoit des ordres pour tourner sur place (turn, tourner en anglais), puis pour parcourir une distance en ligne droite (go, avance en anglais), et ainsi de suite..


Répondre à cet article
Messages de forum :
Odométrie par moteur pas à pas
samedi 2 septembre 2006
par  Julien

Précision sur les mode "pas" et "demi-pas" :

Sur un moteur bipolaire biphase comme on en utilise, il y a deux bobines, mais qui sont alimentées dans un sens et dans l’autre successivement. Les quatre fils de commandent doivent donc être alimentés successivement. Si on note A B C D ces quatre fils, l’explication ci-dessus permet de montrer que A = C et B = D.

On peut alimenter chaque fil 1 à 1. On est alors dans un mode "par pas" à 1 bobine :

ABCD 1000 0100 0010 0001

Plus classiquement, on alimente deux bobines à la fois, ce qui permet d’avoir plus de couple. C’est toujours un mode "par pas"

ABCD 1100 0110 0011 1001

Enfin, on peut intercaler une consigne avec 1 bobine entre les commandes précédentes, c’est le "demi-pas".

ABCD 1100 0100 0110 0010 0011 0001 1001



Répondre à ce message Fil de discussion