Club robotique de Sophia-Antipolis

Accueil > Projets, études > Nos robots > Robots Eurobot > PoBot 2008 (aka Mars Alien) > Les yeux du robot 2008

Les yeux du robot 2008

samedi 15 décembre 2007, par Julien H.

Et non, il ne s’agit pas du système de vision dernier cri permettant de connaitre la position de tout objet dans un rayon de 3m (quoi que... ce système a été mis au point et sera installé pour une démo mais c’est une autre histoire).

Il s’agit d’un projet annexe (mais néanmoins indispensable) permettant de donner au robot une expression en représentant son "état" (d’esprit ?) par deux yeux lumineux. On saura ainsi si le robot est content (il vient de marquer), mécontent (il a laissé échappé une bonne occasion), anxieux (il voit passer les secondes sans avoir de balles), dubitatif (s’il est perdu), etc... Les combinaisons sont infinies ou plus précisément, tiendront dans une puce de 8 kilobytes.

A intervalles réguliers (pour éviter de changer d’expression trop souvent), le programme principal analysera quelle expression répond le mieux à la situation présente.

Réalisation technique

La matrice
Nous utilisons deux matrices à leds blanches de 8x8 points de 5mm sur des carrés de 60mm de côté.

Ce sont les matrices LC2088TW1C 8x8 Dot Matrix White de LC LED Inc., une société américaine très sympathique puisqu’ils nous ont aussi envoyé des échantillons de leurs produits. Qu’ils en soient ici remerciés.

datasheet matrices 8x8

Test d’une led

Le principe a été testé sur une led seule, avec deux transistors.

Matrice allumée

Et voila, ça fonctionne !

Electronique

On utilise une carte ICmega8 comportant un AVR ATmega8 : on utilise deux pattes pour communiquer avec les yeux.

Patte ICmega8 Port ATmega8 Rôle
patte 27 PD1 TX
patte 29 GND masse commune

Normalement, la patte 27 est indiquée non connectée, il faut faire appel au schéma indiqué en fin de la datasheet de l’ICmega8 pour retrouver la patte 1 du port D de l’ATmega8.

Connexion du TX et de la masse
Schéma des connecteurs d’une ICmega8
Datasheet ICmega8

Développement logiciel

Nicolas nous présente le code source (en cours de dév.) :

Dans l’atmega8 ("emotion engine"), j’ai un stock d’images. J’ai ensuite une structure qui définit un gros film (suite de paire d’indice d’image). J’ai ensuite un structure qui définit un point de départ dans le gros film et un nombre de frame. Une "commande" est l’indice de ce mini clip.

Je pense rajouter un mode purement bypass pour que l’on puisse écrire directement sur l’écran avec l’i2c (pour debug).

Dans les ATtiny ("graphic synthetiser"), il y a juste une image au reset qui est rafraichit en permanence. Le système poole l’uart pour vérifier l’arrivée d’une trame.

Les trucs à faire :
 la gestion de l’interface I2C (pour l’instant, c’est le bouton qui cycle sur les modes)
 changer le rafraichissement qui dépend trop de l’activité de la liaison série (trop de différence entre pas de réception et test du CRC sur la trame complète, je voulais éviter de rater des interruptions), il faut passer le rafraichissement sur timer, cela ne devrait pas gêner la liaison série, tout en gardant une luminosité
uniforme.
 trouver le faux contact de la colonne
 trouver l’origine de la très mauvaise qualité de la liaison série (qui ne tourne qu’à 4800 Bauds !), il y a plein d’erreurs en cas de nombreux front (les images toutes noires ou toute blanches passent bien), la vérification du CRC est enlevé sinon rien ne passe.
 faire plus d’images :)

Possibilités expressives

Nous définissons chaque expression sous forme d’une icone de 8x8 pixels. On peut utiliser un logiciel (IcoFX pour n’en citer qu’un) qui permettra de construire rapidement tous les patterns qui nous passent par la tête.

Par exemple, voici une croix, pour une expression "clown" ou "explosion de joie".

croix

Le fichier .ico correspondant :

cross.ico

Nicolas a développé un logiciel permettant de simuler ce qui se passe et ainsi visualiser les différentes expressions. Voici par exemple de grands yeux implorants qui vous rappelleront un personnage à poils d’un dessin animé célèbre avec un ogre vert :)

Tests

Trames envoyées
Session de l’analyseur logique
(ouvrir avec le logiciel gratuit Saleae)

Portfolio

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.