La CMUCAM

 
   
Année de développement : 2002
 
Liaison avec le système : série RS232 à 38400 bauds (vitesse maximum pour le PICBASIC)
 

 
  Nouveauté par rapport à l'année dernière, notre robot sera pourvu d'une CMUCAM.
Il s'agit d'un module électronique qui intègre une caméra, un microcontroleur SX28 et un petit peu d'électronique périphérique.
Le SX est programmé pour effectuer des fonctions de reconnaissances de couleur.

 

 
  Comment ça marche
  On utilise les fonctions de reconnaissance de couleur en envoyant des commandes à la CMUCAM et en récupérant des trames de données. C'est l'analyse de ces trames qui permet de déterminer si un objet à reconnaitre a été trouvé, sa position sur le terrain, à quelle distance il se trouve, etc.
   
 
   
  Voici une photo d'écran du logiciel fourni avec la CMUCAM, c'est un programme en Java qui fonctionne sous Windows. L'image dans la fenêtre CMUcamGUI c'est ce que voit la CMUCAM.
Dans la fenêtre ColorTraker on voit les valeurs mini et maxi de la couleur que la CMUCAM doit trouver (en mode RVB), dans notre exemple on a demandé à la CMUCAM de trouver du rouge comme celui des balles du billard volant.
Le rectangle vert sur l'image de la balle indique la zone où la CMUCAM a trouvé cette couleur.
La fenêtre Output Window montre les trames de données que la CMUCAM renvoie au PC, il s'agit tout simplement des coordonnées du rectangle vert.
 
Avec le PicBasic cela fonctionne exactement de la même façon, le PicBasic remplace le PC.
La communication entre la CMUCAM et le PicBasic se fait de façon série RS232. La CMUCAM dispose de 2 sorties série : une au niveau TTL +5/0 V, et une autre en +12/-12 V avec un MAX232. Pour éviter les problèmes de parasites nous avons utilisé la sortie en +12/-12 et nous avons équipé le PicBasic d'un autre MAX232 branché sur les broches RX et TX.
La CMUCAM peut se calibrer automatiquement sur la couleur du premier objet qu'elle voit. Par exemple si nous avions utilisé la CMUCAM cette année nous aurions pu faire en sorte qu'elle se calibre automatiquement sur la couleur de la balle cadeau et se mette ensuite à rechercher cette couleur sur la table pour trouver les autres balles. Cette fonction permet de bien gérer les variations de l'éclairage ambiant.

 

 
  Utilisation
  Coté PicBasic, voici un exemple de mise en oeuvre de la CMUCAM.
  Voir la routine PICBASIC.
   
  Pour pouvoir régler le focus de la caméra et vérifier que l'image est bonne avant le départ du robot nous avons relié notre CMUCAM à un petit écran vidéo (des photos sont à venir).
La CMUCAM dispose d'une sortie vidéo analogique mais le signal de sortie n'est pas directement disponible. Pour l'obtenir il faut court-circuiter les broches 2 et 3 pendant quelques secondes puis relier les broches 3 et 4 ensemble. Pour cela nous avons utilisé ce petit montage :
   
 
   
  Un 555 qui actionne un relai chargé de faire les bonnes connexions comme indiqué sur le dessin, simple non ?
 
Petit regret, l'image récupérée est en noir et blanc....
 
Nous avons prévu d'utiliser la CMUCAM avec des télémètres GP2D02 afin de connaître plus précisément la distance qui sépare le robot de l'objet détecté.
Nous compléterons cette page au fur et à mesure que nous progresserons.

 

 
  Pour en savoir plus...
  Extrait de notice (traduite en français par mes soins)
 
Site officiel de la CMUCAM (manuel d'utilisation complet, en anglais)
 
Exemples d'application :

The Nod Robot from Acroname
Easybot from Seattle Robotics