La carte CMUcam2 a été créés par l’institut de robotique de l’université Carnegie Mellon University.
Elle est composée d’un micro-controlleur SX52 créé, à l’origine, par la la société [Ubicom->http://www.ubicom.com] et maintenu, pour les quelques pièces qu’il reste, par la société [Parallax->http://www.parallax.com]. Le CPU est interfacé d’un coté, avec une caméra CMOS OV7620 de chez Omnivision. Il communique de l’autre coté avec l’hôte (type micro-contrôleur ou PC) au travers d’un port série RS-232 ou TTL (Les commandes disponibles sont détaillées dans la partie logiciel)
Manuel utilisateur au format PDF présente :
- La description de l’ensemble des fonctionnalités
- Le schéma électronique
- La fonction et la syntaxe de chaque commande.
Les fonctions principales
- Suivi d’un bloc de couleur jusqu’à 50 images/seconde (la fréquence dépend de la résolution de l’image et de la taille de la fenêtre)
- Suivi de mouvement en utilisant la différenciation image à 26 trames par seconde
- Trouve le barycentre des données de suivi
- Fournit des données de couleur et de variance
- Fournit l’histogramme jusqu’à 28 bins pour chaque canal de couleur
- Processus Horizontalement Edge images filtrées
- Transfert en temps réel de pixels traqués dans une image
- Possibilité de fenêtrage de l’image
- Régler les propriétés de l’image
- Dump une image brute (un ou plusieurs canaux)
- Résolution max 176 x 255
- Le port série supporte les vitesses: 115200 57600 38400 19200 9600 4800 2400 1200
- 5 sorties pour le contrôle de servomoteurs
- Utilise automatiquement les servomoteurs de deux axes pour le suivi de la couleur
- Sortie vidéo Noir et Blanc analogique (PAL ou NTSC)
- Personnalisation de sortie de paquets
- Mode basse consommation (Power down)
- Traitement d’image multi-passe sur une image en mémoire.
Et en plus détaillé
- Color Tracking. La CMUcam2 permet le pistage de couleurs. Un mode facultatif « bitmap line » transmet une image bitmap des pixels d’un suivi. Il y a aussi un « line mode » qui fournit des statistiques de pixels suivi pour chaque ligne, y compris les positions moyennes, minimum et maximum des pixels d’un suivi. Ceci est très utile pour le suivi en ligne. Il y a aussi un mode où l’interprétation des limites de suivi peut être inversée. Dans ce cas les pixels en dehors des limites de suivi sont considérés comme « bons ». Ceci est utile pour suivre un objet sur un fond homogène. Il est également utile pour détecter les bords quand le mode différenciation de pixels (décrit ci-dessous) est activé. L’option de filtrage du bruit permet le réglage de la quantité de filtrage pour les situations bruyantes.
- Statistiques de l’image. La CMUcam2 permet le calcul de la moyenne et la variation des statistiques des zones d’image. Comme dans le CMUcam1, un mode en ligne facultative est mise en œuvre qui transmet la moyenne de chaque ligne de l’image. Il y a également un mode « line » amélioré, qui inclut en option des informations sur la variation ligne par ligne.
- Détection de mouvement. Les commandes de détection de mouvement (par différence d’image) permettent de capturer une version basse résolution de l’image courante et de la comparer en permanence les nouvelles images. La CMUcam 2 indique si une partie de l’image change plus que ce qui a été spécifié. Ces paquets peuvent décrire le centre de gravité ou fournir une image bitmap des blocs d’images qui ont changé. Ce mode peut aussi être combinée avec la différenciation de pixel (décrit ci-dessous) pour faire une détection de mouvement plus robuste aux changements d’illumination.
- Histogramme. Ces commandes peuvent être utilisées pour capturer un histogramme unidimensionnel d’un canal de couleur unique à une résolution jusqu’à 28 bins. L’histogramme fourni des informations utiles qui résume l’apparence d’une image. Le processeur hôte peut, à l’aide de cette information, détecter les obstacles, des objets spécifiques ou permettre sa localisation.
- Fenêtrage. La CMUcam2 met en œuvre la capacité de limiter le traitement pour une petite région (sous-fenêtre) de l’image complète. Cette fonction est encore plus utile car elle peut être utilisée pour examiner de plus près ces sous-fenêtre d’une seule image stockée dans le frame buffer. Aussi, en réduisant la taille de la fenêtre verticale peut être utilisé pour augmenter considérablement les trames traitées par seconde, en réduisant considérablement le nombre de pixels qui doivent être traités par la CMUcam2.
- Personnalisation des paquets de sortie. Ces commandes permettent à l’utilisateur de personnaliser chaque paquet généré par chaque commande pour retourner uniquement les valeurs nécessaires pour une application particulière. Ca réduit la quantité de données transmises et traitées par le processeur.
- Différenciation de pixel. Dans ce mode optionnel de différenciation de pixel, les pixels sont pré-traités avant qu’ils ne soient répercutés sur le reste de la CMUcam2. Cette étape de pré-traitement envoie les nouvelles valeurs de pixels au reste du code. Ces valeurs sont la différence entre la valeur du pixel actuel et le précédent. C’est une opération très puissante qui peut être utilisé pour aider à la détection d’obstacles ou pour un suiveur de ligne.
- Réduction de la fréquence d’échantillonnage. En mode d’échantillonnage, le logiciel de CMUcam2 réduit la résolution de l’image de la caméra avant son traitement. L’avantage est qu’il y a beaucoup moins de pixels à traiter et à transmettre. Comme c’est fait par le logiciel, la réduction de la fréquence d’échantillonnage engendre seulement une très faible augmentation de la vitesse de traitement. Le principal avantage est de réduire la quantité de données transmises. Dans le cas d’un sous-échantillonnage dans une image fenêtrée, on peut facilement réduire la taille des données et donc de réduire le temps de transmission d’un facteur de 2 à 4 ou plus. De même, lorsque les modes en ligne bitmap sont utilisées, la taille de l’image bitmap peut être considérablement réduite, diminuant la quantité de données que le processeur doit recevoir et traiter.
- Contrôle des servos. La CMUcam2 supporte jusqu’à cinq servos. Le code du contrôleur de servo est implémenté comme un processus de fond de sorte que le signal de sortie est toujours stable et il peut être utilisé comme n’importe quel contrôleur de servo. En outre, la CMUcam2 peut être configurée pour le contrôle automatique de panoramique et d’inclinaison. Dans ce mode, la CMUcam2 mettra à jour les positions de ces 2 servos à chaque fois qu’il est commandé pour suivre une couleur.
- Power Saving. Entièrement nouveau dans le CMUcam2 sont les modes d’économie d’énergie. Dans certaines applications, la CMUcam2 n’est pas nécessaire pour traiter en permanence les données d’image. Dans ces cas, elle peut être commandé pour baisser sa consommation. Aucune commande de suivi ou d’asservissement qui se passera lorsque la CMUcam2 est dans un de ces modes. L’envoi d’une commande simple par la liaison série réveille la caméra en quelques millisecondes.
Le capteur CCD – OV7260
Le capteur video est un capteur CMOS Couleur et Noir et blanc.
Les principales caractéristiques sont :
- 326,688 pixels, 1/3” lens, VGA / QVGA format
- Read out – progressive / Interlace
- Data format – YCrCb 4:2:2, GRB 4:2:2, RGB Raw Data
- 8/16 bit video data: CCIR601, CCIR656, ZV port
- Video Timing – 525 line, 30 fps
- Wide dynamic range, anti-blooming, zero smearing
- SCCB (Serial Camera Control Bus) interface
- Electronic exposure / Gain / white balance control
- Image enhancement – brightness, contrast, gamma, saturation, sharpness, window.
- Internal / external synchronization scheme
- Frame exposure / line exposure option
- Alimentation 5 Volts.