Trobot1
From Eric
Line 53: | Line 53: | ||
=== La localisation === | === La localisation === | ||
<<A compléter>> | <<A compléter>> | ||
+ | |||
+ | ==== L'orientation par compas magnétique ==== | ||
+ | |||
+ | Le robot est muni d'un compas électronique sur bus I2C. Ce compas utilise le composant MMC212xMG de MEMSIC. Il permet la mesure du champ magnétique selon deux axes ; l'orientation est déduite de ces deux valeurs. | ||
+ | |||
+ | L'utilisation de ce composant est assez simple. Le code C permettant l'accès aux mesures du champ est donné [http://ejenn.free.fr/files/mmc212xmg.c ici]. | ||
+ | |||
+ | On notera les 4 constantes de calibration, qui donnent (pour chaque axe) : | ||
+ | * la demi-largeur de l'intervalle des valeurs, soit (max-min)/2 | ||
+ | * l'offset moyen, soit (max+min)/2 | ||
+ | |||
+ | Ces valeurs seront mesurées en faisant tourner le mobile à plat autour de son axe, de façon à couvrir toutes les valeurs d'orientation possibles. | ||
== Conclusions et leçons == | == Conclusions et leçons == |
Revision as of 21:21, 7 February 2011
Contents |
Objectifs
Un prétexte pour explorer le domaine de l'électronique...
Réalisation
La plateforme
Voici ses moteurs à courant continu.
Et son capteur infra-rouge monté sur son moteur pas-à-pas.
La commande des moteurs
Au premier février 2011, la carte de commande des moteurs est achevée. La voici, sur le robot :
Il s'agit d'une carte hybride, mêlant wrapping et soudure. On y distingue les 8 MOSFET des pont en H de commande des moteurs de propulsion avec les drivers correspondants, et le L298 de commande du moteur pas-à-pas. J'y rajouterai sans doute un contrôle de l'intensité.
La détection d'obstacles
Détection d'obstacles par infra-rouge
<<A compléter>>
Détection d'obstacle par ultra-sons
<<A compléter>>
Détection d'obstacle par caméras vidéo
On se référera à la page intitulée utilisation d'une caméra avec un microcontrôleur pour une description détaillé des moyens d'acquisiion vidéos envisageables.
A supposer la capacité d'acquérir une image vidéo, comment peut-on en déduire une information sur la présence d'obstacle et, plus particulièrement, leur distance?
Marquage laser
Cette première solution consiste à projeter un marqueur (par ex. point lumineux issu d'un faisceau laser) au sol devant le robot. En l'absence d'obstacle, ce point est perçu à une position fixe dans une image capturée vers l'avant du robot. En cas de présence d'obstacle, le point lumineux va apparaître à une distance variable en fonction de l'endroit où le faisceau intersecte l'obstacle.
Si les seuls obstacles sont les murs ou tout objet présentant une surface plane perpendiculaire au plan du sol, on peut aussi déterminer la distance entre le robot et l'obstacle.
Cette solution a l'avantage de ne pas nécessiter de gros traitements d'images (comme ceux que l'on devrait réaliser si on voulait se baser sur la stéréoscopie (mise en correspondance de deux images prises de deux endroits différents situés à des distances connues).
Stéréoscopie
<<A compléter>>
La localisation
<<A compléter>>
L'orientation par compas magnétique
Le robot est muni d'un compas électronique sur bus I2C. Ce compas utilise le composant MMC212xMG de MEMSIC. Il permet la mesure du champ magnétique selon deux axes ; l'orientation est déduite de ces deux valeurs.
L'utilisation de ce composant est assez simple. Le code C permettant l'accès aux mesures du champ est donné ici.
On notera les 4 constantes de calibration, qui donnent (pour chaque axe) :
- la demi-largeur de l'intervalle des valeurs, soit (max-min)/2
- l'offset moyen, soit (max+min)/2
Ces valeurs seront mesurées en faisant tourner le mobile à plat autour de son axe, de façon à couvrir toutes les valeurs d'orientation possibles.
Conclusions et leçons
Aucune...