Robots mobiles : Différence entre versions

De Wiki d'activités IMA
(Troisième séance : 04/03/11)
(Troisième séance : 04/03/11)
Ligne 82 : Ligne 82 :
 
* Travail réalisé
 
* Travail réalisé
  
** Premier chassis
+
** Premier chassis
  *** Commande du servomoteur
+
*** Commande du servomoteur
  *** Détection d'obstacles par le châssis
+
*** Détection d'obstacles par le châssis
  
** Second chassis
+
** Second chassis
  *** Prise en main du second chassis à l'aide d'exemples recuperés sur le site phidgets.com [http://www.phidgets.com/products.php?category=0&product_id=1018]  
+
*** Prise en main du second chassis à l'aide d'exemples recuperés sur le site phidgets.com [http://www.phidgets.com/products.php?category=0&product_id=1018]  
  *** Test du chassis avec une fonction moteur-simple.c qui permet de gérer la vitesse  du chassis.
+
*** Test du chassis avec une fonction moteur-simple.c qui permet de gérer la vitesse  du chassis.
  *** Test du capteur de distance avec la fonction InterfaceKit-simple.c qui permet de gérer la distance à laquelle se trouve un objet. Ce capteur sera utile pour éviter les obstacles.
+
*** Test du capteur de distance avec la fonction InterfaceKit-simple.c qui permet de gérer la distance à laquelle se trouve un objet. Ce capteur sera utile pour éviter les obstacles.
  *** Capteur de couleur pour le second chassis [http://www.robotshop.com/capteur-couleurs-lumiere-colorpal-parallax-2.html]
+
*** Capteur de couleur pour le second chassis [http://www.robotshop.com/capteur-couleurs-lumiere-colorpal-parallax-2.html]
  
 
=== Quatrième séance : 07/03/11  ===
 
=== Quatrième séance : 07/03/11  ===

Version du 8 mars 2011 à 20:46

Présentation

Le but est de concevoir un robot capable de se déplacer dans un environnement hostile (avec des obstacles). Le robot doit pouvoir être contrôlé à distance par une interface web, l'utilisateur pouvant visualiser l'environnement grâce à une webcam. L'utilisateur ne pouvant pas toujours voir les obstacles à temps ou hors champ de la caméra, c'est au robot de refuser les ordres le faisant entrer en collision avec un obstacle.

Préparation du projet

Matériel requis

  • un premier châssis motorisé (disponible en E304 actuellement puis en E306 à terme) :
    • moteurs contrôlés par un micro-contrôleur de type Arduino ;
    • sonar et capteur de couleur géré par le micro-contrôleur ;
  • un second châssis motorisé (disponible en salle après l'interruption pédagogique):
    • moteurs contrôlés par Phidgets USB ;
    • capteurs contrôlés par une carte Altium ;
  • capteurs pour le premier châssis; détecteur de couleurs (à votre charge, commandé) ;
  • capteurs pour le second châssis; détecteur d'obstacle, détecteur de couleurs (à votre charge) ;
  • carte FoxBoard pour implanter l'algorithme du robot (disponible);
  • petit matériel divers :
    • connecteur pour le sonar (disponible);
    • vis (précisez);
  • plateforme Altium.

Commentaires des encadrants sur le matériel

Vous devez vous même donner les références des capteurs à installer sur les châssis. Pour le premier châssis, il est clair que vous devez trouver un capteur de couleurs prévu pour Arduino. Pour le second châssis, il faut trouver des capteurs adaptés à la plateforme Altium. Dans les deux cas le coût doit être ajusté. Le capteur de couleur pour le premier chassis a été commandé. Pour la fixation des détecteur la bande adhésive ne peut être qu'une solution à court terme. Donnez les caractéristiques des pièces nécessaires pour une fixation propre.

Commentaires des élèves sur le matériel

Pour le premier chassis nous avons trouvé le capteur DFRobot Grayscale Sensor ( pour plus d'informations [1] ). Ce dernier est compatible avec l'Arduino. Recherche d'un fournisseur français pour le capteur indiqué précédemment : [2]

Avancement du projet

Objectifs suggérés par les encadrants

  • Le premier châssis comporte des LEDs bleues pour des raisons esthétiques, une des ces LEDs est défaillante, résoudre le problème avec le liquide conducteur (attention toute manipulation approximative peut détruire l'électronique du châssis). FAIT
  • Installer et gérer le sonar sur le premier châssis, le montage du sonar sur un servo peut être un plus. FAIT
  • Sélectionner, acheter, installer et gérer le capteur de couleurs du premier châssis.

Realisations concrètes

  • Réparation de la LED
  • Implantation du programme test pour le sonar

Première séance

Prise en main du premier chassis (Arduino) et réparation

La LED(8) a été réparée avec succès, à l'aide du liquide conducteur.

Capteur Ultrason

Insérez le schéma du cablage ! Je vous le rend connecté comme sur [3]

Difficultés rencontrées

Aucune difficulté particulière

Deuxième séance : 28/02/11

Objectif : Prise en main du premier chassis et tester sur dessus un programme test.

Travail réalisé

  • Fixer le capteur ultrason et le moteur qui le fait tourner à l'avant du chassis 1.
  • Implanter un programme test et le tester .

Difficultés rencontrées

Mettre en place le capteur de distance sur le premier chassis .

Troisième séance : 04/03/11

  • Objectif
** Prise en main du second châssis 
** Prise en main du protocole de communication zigBee
** Commande du servomoteur par la carte Arduino sur le premier châssis
** Détection d'obstacles et déviation
  • Travail réalisé
    • Premier chassis
      • Commande du servomoteur
      • Détection d'obstacles par le châssis
    • Second chassis
      • Prise en main du second chassis à l'aide d'exemples recuperés sur le site phidgets.com [4]
      • Test du chassis avec une fonction moteur-simple.c qui permet de gérer la vitesse du chassis.
      • Test du capteur de distance avec la fonction InterfaceKit-simple.c qui permet de gérer la distance à laquelle se trouve un objet. Ce capteur sera utile pour éviter les obstacles.
      • Capteur de couleur pour le second chassis [5]

Quatrième séance : 07/03/11

  • Objectif :
    • Commander le robot en mettant en place un programme pour gerer le capteur de distance et la motricité du deuxième chassis.
    • Finaliser le programme de gestion du premier chassis.
  • Travail réalisé
    • Premier châssis
      • Finalisation du code pour la détection d'obstables
      • Implantation de la puce ZigBee sur le châssis
    • Second châssis
      • Création d 'un programme permettant d’arrêter le robot si le capteur un obstacle a moins de 100 cm du capteur.
      • Création d'un répertoire test avec les fonction interface-kit.c Moteur-simple.c de phidget.com et une fonction test.c
      • Fichier test.h et Makefile pour la compilation.
      • Fonction test.c contient de thread permettant de gérer le capteur de distance et la motricité des roues.
      • Test de la fonction test.c : compilation correcte mais résultat décevant en fin de séance!

Travail réalisé

premier chassis


Second chassis

  • Création d 'un programme permettant d’arrêter le robot si le capteur un obstacle a moins de 100 cm du capteur.
    • Création d'un répertoire test avec les fonction interface-kit.c Moteur-simple.c de phidget.com et une fonction test.c
    • Fichier test.h et Makefile pour la compilation.
    • Fonction test.c contient de thread permettant de gérer le capteur de distance et la motricité des roues.
    • Test de la fonction test.c : compilation correcte mais résultat décevant en fin de séance!

Difficultés rencontrées

  • Compilation du code de la fonction test.c .