Robots mobiles 2012
Présentation
Préparation du projet
Matériel requis
- Exemple de matériel
Matériel à acheter
- câbles de connexions pour l'adaptateur placé sur le cpu de la Foxboard pour faciliter l'implémentation des périphériques.
Avancement du projet
Objectifs suggérés par les encadrants
Réalisations concrètes
Séances
Première séance
- Réparation d'un cable de multimètre.
- Fabrication de deux alimentations USB pour les Foxboards.
- Récupération des images systeme des deux Foxboards du projet de l'année passée.
- Vérification de la communication via une clé Wifi entre la Foxboard et un ordinateur de TP.
Deuxième séance
- Soudure du port usb situé à l'arrière du châssis n°1.
- Tests pour vérifier que la soudure est correcte => le port usb est fragilisé (il peut y avoir un faux contact sur la branche 3), mais le port fonctionne.
- Premier tests pour faire avancer le châssis n°1 => le robot avance, et peut être commandé au clavier par liaison série (sans soucis).
- Remarques :
- Le châssis n'avance pas sans alimentation usb => solution : changement de piles + léger étirement des chenilles (pour tenter de réduire le couple résistant).
- Après le robot se déplace mais toujours avec difficulté => autre solution envisagée : graissage du mécanisme mais non réalisée.
Troisième séance
- Récupération de la version finale de l'image système de la Foxboard. (notre version n'était pas la plus avancée).
- Remise en fonctionnement du wifi de la foxboard => la foxboard arrive maintenant à se connecter au réseau de l'école.
Quatrième séance
- Nous avons trouvé le nom du capteur de couleur utilisé (aucune trace de son achat ou son nom dans le projet précédent). => ADJD-s371
- Chaîne de communication web => fox => arduino rétabli.
- Test du mode manuel via interface web => le robot fonctionne normalement(après écriture du code arduino en fonction du code déjà existant).
Cinquième séance
- récupération d'un exemple de code pour le capteur de couleur or Problème : cela ne fonctionne pas.
- teste avec une LED 256 couleurs => pas de lumière.
- Après une batterie de testes entre les deux arduinos et les deux capteurs de lumière (identiques) nous en déduisons qu'un des capteurs est mort.
- Problème non réglé : avec le capteur de couleur opérationnel, il ne fonctionne pas avec le châssis n°1 => prochaine séance : vérification du câblage avec un ohmmètre.
Sixième séance
- Nous avons vérifié tout le câblage pour trouver pourquoi la LED du capteur de couleur ne s'allumait pas :
- Finalement, il semble que le bus gris (I2C) ne fonctionne pas : faux contact sur la branche 4.
- Après avoir "gratté" un peu la broche le câble fonctionne.
- Solution magique = solution provisoire. Donc nous ferons peut être un autre bus.
- Projet à venir :
- Construire une plaque pour la version définitive du hardware (plus solide).
- Etablir un début de code pour faire fonctionner le capteur de couleur.
Septième séance
- Nous avons scié la plaque pour avoir un circuit définitif. Or nous n'avions pas de fer à souder => prochaine séance.
- Test du code du capteur de lumière avec la LED => cela fonctionne. (on a de la lumière : mais Maxime a la peau bleu...)
- Donc On va chercher par la suite à comprendre le code pour avoir des couleurs cohérentes.
Huitième séance
- Nous avons fait des tests pour calibrer le capteur de couleur : nous réussissons à avoir des couleurs dont les valeurs sont comprises entre entre 0 et 255.
- Problème
=> la luminosité ambiante joue énormément sur les valeurs retournées par le capteur (puisque nous avons enlevé le cache qui entourait le capteur !
=> tentative d'harmonisation des couleurs.
CONSTATATION : en faisant varier les valeurs des gains associés à chaque couleur (sensibilité) , impossible d'arriver clairement à faire quelquechose de propre.
OR en diminuant la distance par rapport au sol du capteur, les différenciations sont un peu plus efficace.
=> Solution envisagée : diminuer la position du capteur de lumière pour réduire l'effet de la luminositée ambiante?
- Nous avons besoin de 4 couleurs pour que le robot puisse suivre la ligne correctement.
- on définit le blanc comme >245 dans les trois couleurs.
- création d'un fonction "getvalue" pour la couleur de la LED : nous abandonnerons la LED une fois que nous auront bien compris le code.
Nous observons les données envoyées sur le port série. Nous arrivons à peu près a avoir des valeurs correctes (nous atténuons la valeurs des couleurs non dominantes).
PROBLEME : On doit choisir 3 couleurs faciles à capter : rouge, blanc, et ??!
Impossible de trouver une configuration de couleur assez stable!