SuiveurInstrument
Sommaire
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 :
Pour cela, mon programme fonctionne de la manière suivante
Il était composé d'une boucle (paramétré en fonction du temps), et à chaque tour de boucle, le programme ajoutait, à 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 fonctionner 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 ces avérer plus compliquer que prévu.
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, …).