E-Puck

Le e-puck est un petit robot pour l’enseignement et la recherche. Il a été conçu à l’origine par Francesco Mondada et Michael Bonani à l’EPFL (Lausanne, Suisse) en 2004. Une version 2 plus récente a vu le jour en 2006. Le e-puck est open hardware et open source. Plusieurs compagnies le fabriquent et le vendent.

Bien que le e-puck ait été développé pour l’éducation, son prix bas et son grand nombre de capteurs le rendent intéressant pour la recherche. Il a été utilisé en robotique collective, en robotique évolutionnaire, et en robotique artistique.

Caractéristiques 
 Diamètre : 
 Hauteur : 
 Poids : 
 Vitesse maximale : 
 Autonomie en déplacement : 
 Processeur : DsPIC30F6014A à  ()
 RAM : 
 Flash : 
 2 moteur pas à pas
 8 capteurs de distance infrarouge (TCRT1000)
 Camera couleur VGA (640 × 480)
 Anneau de 8 LEDs + 1 LED frontale + 1 LED centrale
 Accéléromètre 3D
 3 microphones
 1 haut-parleur

Extensions 
Les fonctionnalités du e-puck peuvent être étendues par l’utilisation de cartes d’extension qui s’empilent sur un connecteur au sommet du e-puck.

Listes des extensions :
 Une carte de 3 caméras linéaires, plaçable selon plusieurs configurations, appelée le "fly-vision turret"
 Trois capteurs infrarouges au sol, nommés "ground sensors", permettant le suivi de ligne, la détection de surface au-dessous du robot (nous aurions par exemple apprécié de developper une application où le robot pourrait librement se déplacer sur une table, sans barrière, puisqu'il détecterait lui-même l'absence de surface), ou encore la détection de niveau de gris
 Un émetteur-récepteur ZigBee
 Une caméra omnidirectionnelle
 Des roues aimantées
 Un anneau de 8 DELs multicolores, le "Colour LED Communication Turret", qui peut être utilisé pour faire de la communication visuelle grâce à la caméra du robot
 Un lecteur de cartes SD

Programmation

Environnement de programmation 

Il est nécessaire de disposer d’une version de Windows XP ou plus haute afin de pouvoir utiliser l’IDE "MPLAB" ainsi que "Tiny Boot Loader". "MPLAB" est essentiel pour le développement d’applications embarquées utilisant des PIC et autres microcontrôleur, notamment pour compiler les programmes pour e-puck. Ce logiciel est gratuit, et comprend une foule de composants logiciels libres pour le développement rapide d’applications. Il n’y a pas de débugger fourni avec l’IDE permettant de débugger les e-puck une fois le programme chargé.

Langage de programmation 

La programmation du e-puck est assurée par GNU C. Il sera compilé par l’IDE sus-nommé, qui génèrera un fichier exécutable ".hex" qui sera ensuite téléversé vers le robot.

Exportation du programme vers le robot 

Pour ce faire, il est nécessaire d’installer "Tiny Boot Loader" afin de téléverser le programme dans le PIC 8 bits du e-puck. Le transfert s’effectue par liaison matériel bluetooth. Les E-Puck possèdent des numéros d’identification uniques, permettant notamment d’accéder à ceux-ci afin de charger le fichier ".hex".

Différentes approches/techniques utilisées pour la programmation du e-puck 
 Il est possible d’accèder aux divers composants du robot via
 Des variables (comme l'instruction LED0 = 1 qui permet d’accèder à la diode 0 de l’anneau et de l’allumer ou IR0 qui permet d’accéder au capteur infrarouge 0)
 Des méthodes (comme la fonction e_set_led(0, 1) qui permettent lui aussi d’accèder à la diode 0 de l’anneau et de l’allumer
 Il est possible d’effectuer une boucle infinie via
 Un while(1) classique
 La méthode e_activate_agenda(nom_de_la_méthode, cycle_en_millisecondes) en ayant au préalable correctement initialisé les "agendas" au moyen de e_start_agenda_processing()
Pour les deux techniques abordées, les secondes alternatives sont les plus propres.

Liens externes 
 Site officiel du projet
 La page du e-puck sur Mobots, le groupe à l’origine du projet
 La page sur du logiciel embarqué sur le site de gna
 La page où télécharger "MPLAB" et "Tiny Boot Loader"

Robot pédagogique
Robot artistique
Robot expérimental