Boussole2011-1

De Wiki de bureau d'études PeiP
Révision datée du 10 mai 2012 à 15:44 par Afossey (discussion | contributions) (Avancée du 05/04/2012 :)

Avancée du 30/01/2012 :

- Découverte du logiciel Lego Mindstorms NXT.

- Écriture de la structure du programme.

- Test du capteur d'ultrasons pour obstacle à moins de 30cm.

- Réponse du véhicule en contournant l'obstacle.

Avancée du 06/02/2012 :

Montage du robot, première partie :

- Discussion sur les caractéristiques spéciales du robot : La base du robot ne sera pas standardisée par le modèle fourni, il sera doté d'un troisième moteur placé orthogonalement aux autres lui permettant de tourner sa "tête". En effet, le capteur à ultrasons et le capteur de couleur seront placés dessus, ainsi on pourra limiter la marge d'erreur due à la rotation par chenille/roues et suivre un tracé au sol plus aisément.

Robotfrg.jpg

- Le socle constitué des roues et de la tête est monté. Il est encore fragile et doit être amélioré, ceci vient du fait que l'on a monté le robot sans mode d'emploi.

Avancée du 13/02/2012 :

Montage du robot, deuxième partie :

- Ajout du socle soutenant la foxboard et le NXT.

- Révision du programme pour le fonctionnement de la "tête" du robot, on effectue une rotation de 20° dès que le robot approche à moins de 30cm d'un obstacle, dans ce cas il effectue un test et prend la direction la plus avantageuse pour le contourner.


2012-02-13 09-12-19 815.jpg

Avancée du 16/02/2012 :

- Révision du socle NXT/foxboard, changement de structure pour plus de solidité (au niveau de la répartition du poids) ainsi que pour accueillir plus de périphériques (hub usb, clés wifi/bluetooth, batterie foxboard).


2012-02-16 17-26-14 677.jpg


2012-02-16 17-37-08 399.jpg


- Réflexion sur le micro programme principal du robot.

Avancée du 20/02/2012 :

Écriture d'un algorithme :

- Le robot avance et se stop à 30cm de l'obstacle.

- A l'obstacle il déplace sa "tête" sur la gauche d'un certain angle effectue une mesure de la distance et recommence à droite.

- Si une des deux mesures est supérieure à 30 cm alors le robot tourne sur lui-même dans cette direction.

- Si ces deux mesures sont inférieures à 30 cm alors il déplace sa tête à gauche et à droite pour effectuer des nouvelles mesures en augmentant l'angle.

- Et le robot recommence à avancer.

Avancée du 11/03/2012 :

Écriture d'un autre algorithme :

- Le robot avance et s'arrête à 30cm de l'obstacle.

- Devant l'obstacle il déplace sa "tête" sur la gauche de 10 degrés et effectue un test de distance. Si la distance est inférieure à 30cm il augmente l'angle de 10 degrés. Si au bout de n fois il n'a pas de mesures supérieures à 30cm alors il sort de la boucle et effectue les mêmes tests mais du coté droite.

- Il compare ensuite les dernières valeurs de distance enregistrées à gauche et à droite et tourne dans le sens où la distance mesurée est la plus grande.

Avancée du 15/03/2012 :

- Correction de la marge d'erreur des angles dans les déplacements de la tête.

Avancée du 19/03/2012 :

- Fin du programme de contournement d'obstacle.

- Calcul d'un déplacement proportionnel à la proximité de l'obstacle.

- Recherche sur le bloc boussole pour le déplacement en ligne droite.

Avancée du 22/03/2012 :

- Réflexion et recherche sur la méthode de correction PID.

- Des difficultés dans la compréhension de la méthode et de son approche algorithmique.

- Développement d'un bloc destiné au calcul d'erreurs.

Avancée du 26/03/2012 :

- Problème de calibrage de la boussole, apparition d'interférences électromagnétiques provoquées par les moteurs et le NXT.

- Difficultés rencontrées avec le bloc "Compass Sensor" : la boussole affiche des valeurs de 0° à 360° ce qui pose des problèmes lors du calcul d'erreur. Exemple : le cap du robot est à 357°, il tourne, la valeur captée est de 2°, l'erreur affichée est donc de 355° or elle n'est théoriquement que de 5°.

Avancée du 29/03/2012 :

- Surélévation de boussole pour éviter toutes interférences

- Finalisation du bloc Calcul d'erreur

- Essai d'un premier programme PID, il s'est avéré non probant après plusieurs tests : la puissance des moteurs n'est pas assez modulable, la fonction proportionnelle à des limites ( la puissance est comprise entre 20 et 100 ).

Avancée du 02/04/2012 :

- Changement de bloc de contrôle de la boussole, le bloc "Capteur ultrason" peut être utilisé pour contrôle celle-ci.

- Création d'un nouveau programme qui n'utilise pas le PID : il corrige la trajectoire grâce à des boucles whiles et des tests sur des plages de données. Algorithme : "On corrige la trajectoire tant que l'erreur n'est pas comprise dans la plage de données".

Avancée du 05/04/2012 :

- Finition du programme final : réglages des constantes de correction de trajectoire, ajout du bloc "esquive".


- Vidéo test du robot en mouvement sur un parcours constitué de 3 obstacles, le robot avance en ligne droite et esquive les objets.


- Mise en ligne de la vidéo :

http://www.youtube.com/watch?v=gGcfxCbHgZ8


Avancée du 12/04/2012 :

- Installation d'un capteur RFID et d'un détecteur de couleur sur la tête.

- Implémentation des autres programmes :

     Suiveur de ligne.
     RFID.
Robotdessous1.jpg

Avancée du 16/04/2012 :

- Difficultés rencontrées pour la configuration de la Foxboard, le netbook ne se connecte pas à la foxboard.

- Téléchargement du fichier sur la carte microSD de la Foxboard.


Avancée du 19/04/2012 :

- Lancement du module Minicom et initialisation de la Foxboard grâce aux indications du wiki.

- Récupération de l'adresse Mac sur le microprogramme NXT et changement de celle-ci sur la Foxboard en vu d'utiliser le bluetooth.

- Découverte des démons de contrôle et de leurs fonctionnements. Nous avons également récupéré les codes bluetooth envoyés par le serveur web (croix directionnelle, rosace, ligne bleue/rouge) et tenté de les intégrer dans nos programmes NXT.

Avancée du 10/05/2012 :

- Test du programme de suiveur de lignes sur un circuit. Le robot a du mal à sauter des "trous" sans lignes dessinées.

- Tentative de modifications du programme de suiveur de lignes pour que le robot se serve de sa tête pour détecter les lignes :

nous avons rencontré des difficultés car même si notre robot bouge sa "tête" pour détecter les lignes, il n'aligne pas son "corps avec sa "tête".