Synchronize2011-2 : Différence entre versions
Ligne 1 : | Ligne 1 : | ||
+ | == Construction et installation des modules == | ||
+ | |||
Durant les deux premières semaines, nous avons commencé par monter le robot Mindstorms en suivant la procédure du manuel. Nous l'avons ensuite personnalisé de manière à ce que le modèle fini correspondent aux objectifs du projet, c'est-à-dire en rajoutant les différents modules que sont la Foxboard, son alimentation usb, les capteurs nécessaires (dans notre cas, l'ultrason) ainsi que le hub usb pour la connection wifi et bluetooth. | Durant les deux premières semaines, nous avons commencé par monter le robot Mindstorms en suivant la procédure du manuel. Nous l'avons ensuite personnalisé de manière à ce que le modèle fini correspondent aux objectifs du projet, c'est-à-dire en rajoutant les différents modules que sont la Foxboard, son alimentation usb, les capteurs nécessaires (dans notre cas, l'ultrason) ainsi que le hub usb pour la connection wifi et bluetooth. | ||
+ | |||
+ | <gallery> | ||
+ | Fichier:06-02-12 0934.jpg|Installation de la Foxboard | ||
+ | Fichier:06-02-12_0939.jpg|Installation de l'alimentation USB | ||
+ | Fichier:06-02-12 0940.jpg|Installation du contrôleur NXT | ||
+ | Fichier:DSC 0003.JPG|Installation du HUB USB | ||
+ | Fichier:DSC 0001.JPG|Bob est né ! | ||
+ | Fichier:DSC 0002.JPG|Bob est né ! | ||
+ | </gallery> | ||
+ | |||
+ | == Programmation NXT == | ||
Du point de vue logiciel, nous avons commencé durant la deuxième semaine à nous familiariser avec l'environnement NXT que nous avons trouvé relativement ergonomique. Notre premier programme a consisté au déplacement du robot avec évitement d'obstacles. | Du point de vue logiciel, nous avons commencé durant la deuxième semaine à nous familiariser avec l'environnement NXT que nous avons trouvé relativement ergonomique. Notre premier programme a consisté au déplacement du robot avec évitement d'obstacles. | ||
Ligne 5 : | Ligne 18 : | ||
Durant la troisième semaine, nous avons tenté de perfectionner notre programme pour qu'il ne favorise pas une direction particulière lorsqu'il évite un obstacle. Nous avons tenté l'algorithme suivant: | Durant la troisième semaine, nous avons tenté de perfectionner notre programme pour qu'il ne favorise pas une direction particulière lorsqu'il évite un obstacle. Nous avons tenté l'algorithme suivant: | ||
− | compteur = 0 | + | compteur = 0 |
− | tant que infini | + | tant que infini |
tant que distance < 20 | tant que distance < 20 | ||
si compteur < 6 alors | si compteur < 6 alors | ||
Ligne 21 : | Ligne 34 : | ||
fin tant que | fin tant que | ||
avance | avance | ||
− | fin tant que | + | fin tant que |
+ | |||
Malheureusement, le programme prenait un taille de plus en plus importante mais ne fonctionnait toujours pas. Un peu déçus, nous avons donc travaillé sur le programme que l'autre groupe avait réalisé et qui utilise une méthode un peu différente que celle que nous voulions programmer. | Malheureusement, le programme prenait un taille de plus en plus importante mais ne fonctionnait toujours pas. Un peu déçus, nous avons donc travaillé sur le programme que l'autre groupe avait réalisé et qui utilise une méthode un peu différente que celle que nous voulions programmer. |
Version du 29 février 2012 à 18:09
Construction et installation des modules
Durant les deux premières semaines, nous avons commencé par monter le robot Mindstorms en suivant la procédure du manuel. Nous l'avons ensuite personnalisé de manière à ce que le modèle fini correspondent aux objectifs du projet, c'est-à-dire en rajoutant les différents modules que sont la Foxboard, son alimentation usb, les capteurs nécessaires (dans notre cas, l'ultrason) ainsi que le hub usb pour la connection wifi et bluetooth.
Programmation NXT
Du point de vue logiciel, nous avons commencé durant la deuxième semaine à nous familiariser avec l'environnement NXT que nous avons trouvé relativement ergonomique. Notre premier programme a consisté au déplacement du robot avec évitement d'obstacles.
Durant la troisième semaine, nous avons tenté de perfectionner notre programme pour qu'il ne favorise pas une direction particulière lorsqu'il évite un obstacle. Nous avons tenté l'algorithme suivant:
compteur = 0 tant que infini tant que distance < 20 si compteur < 6 alors tourne à gauche de 5° compteur = compteur + 1 sinon compteur = 0 tourne à droite 30° tant que distance < 20 si compteur < 6 alors tourne à droite 5° compteur = compteur + 1 sinon recule fin tant que avance fin tant que
Malheureusement, le programme prenait un taille de plus en plus importante mais ne fonctionnait toujours pas. Un peu déçus, nous avons donc travaillé sur le programme que l'autre groupe avait réalisé et qui utilise une méthode un peu différente que celle que nous voulions programmer.
Elle consiste en une analyse de la distance tous les x degrés en alternance gauche/droite jusqu'à ce que le robot ait la voie libre pour avancer. Dans le cas d'un trop grand nombre d'analyses gauche/droite (obstacle en U par exemple), le robot attend que l'obstacle parte. Le programme de notre binôme avait l'inconvénient de favoriser davantage le côté gauche mais avait en revanche prévu une manœuvre de recul dans le cas d'un obstacle en U. Le cas idéal serait de pouvoir introduire cette manœuvre dans le programme mais le temps nous est compté...
Nous avons su par la suite d'où provenait notre erreur sur notre premier programme : Ce que nous pensions être la condition d'entrée de boucle sur le programmeur NXT était en réalité la condition de sortie ! Bref, notre programme aurait pu fonctionner...
Nous avons également appris qu'il fallait que les autres capteurs (RFID, touche...) soient installés sur le robot car ils serviront pour la seconde partie du BE qui consistera à rassembler nos différents projets sur une seule machine. Nous ajusterons alors le moment venu notre robot afin qu'il puisse accueillir ces nouveaux éléments.