SuiveurInstrument

De Wiki de bureau d'études PeiP
Révision datée du 9 mars 2011 à 19:05 par Jschanne (discussion | contributions) (Se repérer dans l'espace grâce à un compas)

Introduction

Le but de ce bureau d'étude est de programmer une robot, capable de suivre une trajectoire aléatoire. Puis suite à cette trajectoire, être capable de se repérer dans l'espace à partir du point de départ.
Pour cela, je dispose d'un kit robotique Lego Mindstorms NXT, ainsi que 2 capteurs supplémentaires, un accéléromètre et un gyroscope.

La structure du robot

L'ergonomie du robot est basé essentiellement sur les modèles types que nous propose le guide Lego Mindstorms NXT. Il est composé de 2 roues avant, chacune entrainé par un moteur, et une roue folle situé à l'arrière afin de permettre au robot de tourner plus facilement.
j'ai annexé le robot des 2 capteurs supplémentaires que j'avais à ma disposition. Premièrement, l'accéléromètre, qui comme son nom l'indique, donne l'accélération à un instant donné. Deuxièmement, le gyroscope qui lui donne la vitesse angulaire à un instant donné.
Une fois la construction du robot terminé, nous pouvions commencer la programmation.

Algorithme

Se déplacer de façon aléatoire

Après avoir pris connaissance des fonctionnalités du logiciel Lego Mindstorms NXT, très vite me vient l'idée de ce programme :
L'idée est de faire une boucle définie pour tourner une certain nombre de fois. Et à chaque tour de boucle, soumettre le robot à un choix, de façon aléatoire. Soit de d'avancer, soit de tourner à gauche ou à droit. Toutes ces actions étant fixé sur un certain nombre de degrés de rotation des moteurs.


Se repérer dans l'espace grâce au gyroscope et l'accéléromètre

Après avoir ajouté les modules (grâce au site http://www.hitechnic.com) du gyroscope et de l'accéléromètre, et après avoir pris connaissance de leur fonctionnement ; je me suis lancé dans la conception de petits programmes. Le but étant de réaliser un robot capable de se repérer dans l'espace, j'ai d'abord travaillé sur un programme capable, grâce à l'accéléromètre, de calculer la distance parcouru par le robot.
Effectivement, on a la relation suivante qui nous donne le lien entre l'accélération (pour une accélération constante) et la distance parcourue :
Formule.png
Pour cela, mon programme fonctionne de la manière suivante :

Il est composé d'une boucle (paramétrée en fonction du temps), et à chaque tour de boucle, le programme ajoute, à une réserve, l'accélération à l'instant donné. Le but étant de faire la moyenne des accélérations durant une durée. Mais ce programme ne fonctionnait pas. Après plusieurs tentatives, n'aboutissant également à rien, le projet de construire un robot capable de se repérer dans l'espace grâce à ces instruments s'est avéré plus compliqué que prévu.

Finalement l'idée de faire un robot capable de se repérer dans l'espace grâce à l'accéléromètre et le gyroscope a était abandonné. Pour plus de simplicité, ces 2 instruments ont été remplacé par un compas.

Se repérer dans l'espace grâce à un compas

Le compas est un instrument capable de donner un angle en degré par rapport à un axe de départ, le nord notamment. Grâce à cette instrument, j'ai pu faire plusieurs programmes. Notamment lui faire suivre des trajectoires précises (comme un carré régulier, …).

Problèmes rencontrés

L'un des problèmes rencontrés a été, comme je l'ai déjà dit, un problème technique de l'accéléromètre. En effet, je n'ai pas pu exploiter les compacités de l'accéléromètre comme je le souhaitais.
J'ai rencontré également un problème avec le compas. En effet, le compas nous donne un angle entre 0 et 359 degrés. Or comme certain programme utilise une différence de d'angle, il a fallu interprété cette différence de façon cohérente.