SuiveurInstrument : Différence entre versions
(→Pour cela, mon programme fonctionne de la manière suivante) |
(→Se repérer dans l'espace grâce à un compas) |
||
(8 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 17 : | Ligne 17 : | ||
Après avoir pris connaissance des fonctionnalités du logiciel [http://fr.wikipedia.org/wiki/Lego_Mindstorms_NXT Lego Mindstorms NXT], très vite me vient l'idée de ce programme : <br /> | Après avoir pris connaissance des fonctionnalités du logiciel [http://fr.wikipedia.org/wiki/Lego_Mindstorms_NXT Lego Mindstorms NXT], très vite me vient l'idée de ce programme : <br /> | ||
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. | 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== | ==Se repérer dans l'espace grâce au gyroscope et l'accéléromètre== | ||
Ligne 24 : | Ligne 23 : | ||
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.<br /> | 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.<br /> | ||
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 : <br /> | 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 : <br /> | ||
+ | [[Fichier:formule.png]]<br /> | ||
+ | Pour cela, mon programme fonctionne de la manière suivante :<br /> | ||
− | + | 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. | |
− | + | <br /> | |
− | + | <br /> | |
− | Il | + | 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. |
− | Mais ce programme ne | ||
− | |||
==Se repérer dans l'espace grâce à 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. | + | Le compas est un instrument capable de donner un angle en degré par rapport à un axe de départ, le nord notamment.<br /> |
Grâce à cette instrument, j'ai pu faire plusieurs programmes. | Grâce à cette instrument, j'ai pu faire plusieurs programmes. | ||
Notamment lui faire suivre des trajectoires précises (comme un carré régulier, …). | 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.<br /> | ||
+ | *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. |
Version actuelle datée du 9 mars 2011 à 19:07
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 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.