For the english version, click here.

Avant tout :


Tous les programmes développés dans le cadre du projet Arobot sont distribués librement sans aucune garantie.


Description :


L'idée est de créer un robot "haut niveau" et modulaire sans avoir de grandes connaissances en électronique.
Le robot s'articule autour d'une "mini carte mère" embarquant Linux et offrant entre autre un port FastEthernet, deux ports USB1.1 et plusieurs ports séries.
Je tiens à remercier AcmeSystems pour nous avoir donné gracieusement du matériel pour m'aider dans le projet.

Nous avons la possibilité de contrôler le robot via plusieurs systèmes de communications tel que le Bluetooth ou du Wifi.
Les différents éléments hardware qui composent le robot sont décrit dans mon précédent billet ainsi que sur le site dédié au projet : http://www.robotbuilder.org/.



Objectifs :


Dans les objectifs déjà réalisé nous avons :
  • Contrôle depuis clients lourd via Wifi et/ou Internet.
  • Contrôle depuis clients léger (téléphones mobile) via Bluetooth.
  • Contrôle depuis réseaux longues portée HSDPA/3G/GPRS.
  • Diffusion vidéo sur TCP ou bluetooth.
  • Evitement de collisions.
  • Tracking objets.

Dans les objectifs futur, principalement du traitement d'image :
  • Suivis de ligne.
  • ...



Développements :


J'ai utilisé le driver de webcams spca5xx/le développé par Michel Xhaard ainsi que son serveur de streaming foxserv sur lequel j'ai ajouté le support du bluetooth. J'ai par la même occasion développé un midlet java permettant d'afficher les images provenant d'une webcam compatible avec le driver sur un téléphone portable. (voir ce billet)

J'ai porté le driver de webcams ov51x sur la foxboard pour l'utiliser avec une webcam Hercules Deluxe offrant de bien meilleurs résultats que la Labtec Webcam Pro. (voir ce billet). Le principe de diffusion des images provenant de la webcam s'appuie sur le streaming "mjpeg" utilisé par les camera IP Axis. Cette solution offre l'avantage de diffuser de la vidéo directement sur le navigateur Web sans applet java ni javascript. Cela dit sur Internet Explorer il faut passer par un composant ActiveX...
Le serveur est disponible sur le repository SVN.

Le programme permettant le contrôle du robot fonctionne comme un bridge. Il ne fait aucun traitement, il fait l'abstraction du type de communication (TCP/Bluetooth) et retransmet les commandes au contrôleur. Voir ce billet et ce billet pour la description plus en détail du protocole de communication.
Le serveur ainsi que le client TCP et le client Bluetooth sont disponible sur le repository SVN.

Je m'intéresse au traitement d'image pour étendre le domaine d'utilisation du robot. La première application est d'arriver à suivre un objet ayant une couleur spécifique (vert). Plus d'informations sur ce billet.

Disposant d'un abonnement Orange Data 3G+, On peut connecter le robot directement sur le réseau 3G+ afin de ne plus être limité par la porté du Wifi et contrôler le robot partout en France. (Plus d'infos ici)


Repository SVN :


Pour obtenir les dernières version de chaque programmes, utilisez le SVN.
  • J2MEArobotClient : Midlet Java pour contrôler le robot en bluetooth et/ou Wifi/3G depuis un téléphone mobile avec le support de la vidéo (projet Eclipse).
  • JArobotClient : Applet Java pour controler le robot en TCP/IP (projet Eclipse).
  • ArobotServ : Serveur de contrôle des commandes du robot.
  • mjpegServ : Serveur de streaming mjpeg fonctionnant avec le driver ov51x.
  • JArobotTracking : Image tracking, Suivis d'objets (projet Ecplise).



Arobot V2






Arobot V1 (old version)