Boussole2011-1
Sommaire
- 1 Avancée du 30/01/2012 :
- 2 Avancée du 06/02/2012 :
- 3 Avancée du 13/02/2012 :
- 4 Avancée du 16/02/2012 :
- 5 Avancée du 20/02/2012 :
- 6 Avancée du 11/03/2012 :
- 7 Avancée du 15/03/2012 :
- 8 Avancée du 19/03/2012 :
- 9 Avancée du 22/03/2012 :
- 10 Avancée du 26/03/2012 :
- 11 Avancée du 29/03/2012 :
- 12 Avancée du 02/04/2012 :
- 13 Avancée du 05/04/2012 :
- 14 Avancée du 12/04/2012 :
- 15 Avancée du 16/04/2012 :
- 16 Avancée du 19/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.
- 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.
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).
- 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 :
- implémentation des autres programmes :
Suiveur de ligne.
RFID.
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.