Présentation
Le WebRobot est construit à partir d'un kit LEGO Robotic
Invention System. Le robot est contrôlé par un ordinateur PC sous
Windows 98 grâce à un émetteur infra-rouge connecté au port série
du PC. Cet émetteur est embarqué sur le robot grâce à un câble de
10 mètres.
Un second câble transmet au robot le courant électrique (9 volts sous
1 ampère) pour alimenter le robot LEGO et la caméra video (les phares
sont aliméentés par une pile de 4,5 volts embarquée car le câble ne
fournit pas assez de puissance pour les alimenter). Ce câble permet
au robot de transmettre l'image video de la caméra embarquée vers
la carte d'acquisition video du PC et de recevoir les sons générés
par le synthétiseur vocal du PC. Le robot peut donc "parler"
ou plutôt répéter les phrases écrites par la personne qui prend le
contrôle du robot.
Mécanique
Le robot utilise trois moteurs LEGO. Un moteur pour les
deux roues de gauche et un autre moteur pour les deux roues de droite. Il
fonctionne à la manière d'un tank. Pour aller en marche avant, les
deux moteurs tournent en marche avant. Pour tourner, l'un des moteurs
est mis en marche avant et l'autre est mis en marche arrière. Le troisième
moteur est utilisé pour orienter la caméra vers le bas ou vers le
haut. Un système de levier permet de faire évoluer la caméra de bas
en haut à l'infini si le moteur reste en marche (la caméra ne se bloque
jamais en bout de course mais repart dans l'autre sens).
Les lampes s'allument et s'éteignent en fonction de la position de
la caméra. Si la caméra évolue normalement (c'est à dire qu'elle monte
quand on appuie sur le bouton "haut") cela signifie que
les phares sont éteints. Si elle évolue "à contre" (c'est
à dire qu'elle descend quand on appuie sur le bouton "haut")
cela signifie que les phares sont allumés. Ce système relativement
compliqué est dû à la limitation du nombre de sorties contrôlables
du robot LEGO. Il ne possède que trois "sorties" utilisées par
les trois moteurs.
Mouvement de la caméra et contrôle des
phares
Le robot
se déplace grâce à deux "pieds" enclipsés en porte-à-faux
sur les roues. Cela lui donne une démarche instable assez amusante
à regarder.
Le gobelet argenté qui se trouve sur le devant du robot est un cylindre
de carton au milieu duquel se trouve un petit haut-parleur permettant
au robot de parler. Le carton sert à amplifier le son du haut-parleur.
Deux pare-chocs situés devant et derrière le robot lui permettent
de s'arrêter au contact d'un obstacle. Un capteur de choc est relié
à chacun des pare-chocs. Ces deux capteurs sont reliés au robot LEGO
à deux de ses trois "entrées" disponibles. Ils sont contrôlés directement
par le robot (et non par le PC) grâce à un programme RCX écrit en
NQC (proche du langage C). Le robot peut donc être contrôlé à la fois
par le programme embarqué (détection des collisions) et par le PC.
La priorité est donné au programme embarqué.
Programmation
Le PC fait office de serveur internet.
Cependant, le PC
étant connecté à internet par le câble (NoosNet), son adresse IP est
susceptible de changer. Pour contrer ce problème, le PC envoie tous
les jours son adresse IP sur le site en créant dynamiquement une page HTML qui redirige les visiteurs sur
la page actuelle "index.htm" qui se trouve sur le PC dans
le dossier contenant la page à exécuter par défaut.
La retransmission
des images se fait par l'un des différents systèmes
testés : Applet Java (sans streaming), Applet Java IVista (avec
streaming), Real Player (streaming) ou Windows Media Player (streaming).
Chaque système vidéo possède ses avantages et
ses inconvénients (voir la page principale).
Pour contrôler le robot, il faut se connecter sur le site internet : www.andreani.net/robot. Un écran de contrôle apparaît alors à l'écran avec une vue vidéo de ce que voit le robot. Cliquez ici pour voir une photo de l'écran de contrôle. Des boutons permettent de donner des ordres (commandes) au robot. Les commandes disponibles sont : avancer d'un pas, reculer d'un pas, tourner d'un pas à gauche, tourner d'un pas à droite, stopper, prononcer vocalement une phrase que l'on vient d'écrire, faire monter la caméra vers le haut, la faire descendre, arrêter le mouvement de la caméra.
Pour diriger le robot, une application serveur spécifique a été écrite
en Visual Basic. Cette application tourne sur le PC qui est relié au robot par un fil. Elle scrute sur un port spécifique du PC les entrées
internet correspondant à une commande. Si la commande est valide (AVANT,
GAUCHE, PRONONCER BONJOUR, etc.) elle est envoyée au robot et exécutée.
Le serveur utilise deux ActiveX Microsoft :
Le Winsok Control pour la partie Client-Serveur.
L'Agent Microsoft pour la synthèse vocale TTS (Text-To-Speech).
Les commandes au robot sont envoyées par n'importe quel navigateur
internet qui suppporte les applets Java. L'interface comporte une
image video et plusieurs boutons permettant de commander le robot.
Chaque bouton est une applet Java qui émet sa commande vers l'adresse
IP d'où l'applet à été téléchargée (le PC) et sur un port spécifique
(le même que celui qui est scruté par le serveur). Les applets Java
ont été développés par Olivier Petilon.
Photos
Cliquez sur les photos ci-dessous pour les agrandir
:
Important
1) Les phares fonctionnant sur piles, il est important
de les éteindre avant de quitter le site. Les phares sont contrôlés
par le biais de la caméra. Vérifiez que lorsque vous cliquez sur le
bouton "Haut" de la caméra, celle-ci monte. Si c'est le
cas, les phares sont éteints. Par contre, si lorsque vous cliquez
sur le bouton "Haut" de la caméra, celle-ci descend, c'est
que les phares sont allumés. Pour les éteindre, il faut ré-appuyer
sur le bouton "Haut" de la caméra jusqu'à ce qu'elle finisse
par monter ! De nuit, il est facile de savoir si les phares sont éteints
ou non, mais de jour, le seul moyen de les éteindre (s'ils ont été
allumés par erreur) est de s'assurer que la caméra monte quand on
appuie sur le bouton "Haut" puis de cliquer tout de suite
sur le bouton "x" pour stopper la caméra (sinon elle risque
de refaire un demi-tour et de rallumer les phares !).
2) "NoosNet" limite la quantité de données émises par un
PC relié au câble internet. Donc, envoyer des images du robot vers
un navigateur internet risque de me faire dépasser le forfait autorisé
de 250 Mo par mois. Pour cette raison, le site n'est ouvert que le
soir à partir de 19 heures en général...
Retour
|