FI5/97

VRML 2.0, Java et télérobotique

par Olivier Michel, EPFL-LAMI

Table des matières


Introduction

Parmi les technologies qui émergent sur le réseau Internet, VRML (Virtual Reality Modeling Language) et Java (langage de développement d'application pour Internet) ont actuellement le vent en poupe. Ces nouvelles technologies, dont la plupart des outils sont encore en cours de développement, soulèvent en effet un grand enthousiasme car elles permettent de développer des applications de plus en plus élaborées tout en les rendant accessibles à tous via le réseau Internet et les navigateurs WEB.

Utilisant le langage Java, un dispositif expérimental de télérobotique a été développé au Laboratoire de Micro-informatique par Patrick Saucy et Francesco Mondada. Il permet de contrôler un mini-robot mobile Khepera, évoluant dans un labyrinthe, depuis le réseau Internet via le logiciel Netscape.

En parallèle, un modèle complètement virtuel de ce dispositif a été développé par l'auteur en utilisant les langages VRML 2.0 et Java. Ce dernier ne fonctionne, pour l'instant, que sous Windows95 ou NT avec Netscape 3 car il nécessite le "plug-in" CosmoPlayer nécessaire à la visualisation de scènes VRML 2.0 (disponible gratuitement en version beta pour Windows95 ou NT sur le site WEB de Silicon Graphics). Sur Silicon Graphics, il vous faut la version 1.02 beta 3 de CosmoPlayer.

Retour à la table des matières

Khepera on the Web!

Dans le but de rendre accessibles sur Internet des ressources uniques ou coûteuses, comme par exemple un robot mobile localisé dans un environnement particulier, il est nécessaire de développer de nouveaux outils permettant d'interfacer ces ressources avec le réseau Internet et les rendre ainsi disponibles via un navigateur WEB. L'interface doit permettre, d'une part d'envoyer des commandes au dispositif expérimental, et d'autre part de recevoir une rétroaction (feed-back) résultant de l'exécution des commandes.

KhepOnTheWeb est le nom du dispositif expérimental développé au LAMI dans le cadre du projet intitulé Sharing of Unique or Expensive Equipment for Research and Education: The Remote Manipulation Paradigm supporté par le programme prioritaire PP SIC du fonds national suisse. Il permet à toute personne connectée sur Internet de piloter un mini-robot mobile Khepera dans un labyrinthe, conçu à l'échelle du robot, et qui se trouve dans les locaux du LAMI. Il suffit pour cela d'accéder grâce à Netscape à la page web de KhepOnTheWeb à l'adresse suivante:

http://KhepOnTheWeb.epfl.ch/

et de cliquer sur le lien Ask to control Khepera pour accéder au robot. Une page de commande s'affiche alors (voir figure 1) et l'utilisateur peut demander au robot de se déplacer en avant ou en arrière et de tourner sur lui-même d'un certain angle. En retour, Netscape affiche une image prise par une caméra miniature embarquée sur le robot (voir figure 2). Hélas, cette rétroaction a un retard de 0,2 à 5 secondes selon la charge du réseau.

figure 1 - La fenètre de commande du robot Khepera réel

Fig. 2 - le robot Khepera et sa caméra embarquée. Pour mieux repérer son orientation, une flèche jaune a été rajoutée au sommet du robot

Une deuxième caméra, fixée au plafond, donne une vue générale du labyrinthe dans lequel le robot se déplace. Elle est aussi accessible à l'utilisateur, qui peut l'orienter et ajuster le zoom.

Lorsque le réseau est lent, le retard de la rétroaction visuelle peut poser quelques problèmes pour piloter le robot en temps réel. Il arrive ainsi que le robot se bloque contre une paroi: une manoeuvre de recul et rotation le débloque, mais il faut du doigté. De plus, l'accès au robot est exclusif: deux utilisateurs ne peuvent bien évidemment pas accéder au robot simultanément. Nous avons donc décidé de développer un modèle virtuel de ce dispositif qui s'affranchit de ces contraintes. Le modèle virtuel permettra ainsi une familiarisation conviviale avec le dispositif expérimental. Il sera en outre plus facile de découvrir la topologie du labyrinthe et de préparer des expériences qui pourront ensuite être conduites sur le robot réel.

Retour à la table des matières

VRML 2.0

Le langage VRML 2.0, dont les spécifications officielles ont été publiées en mars dernier, autorise un certain nombre de possibilités d'animation de scènes virtuelles. L'article de Francis Lapique, paru dans le Flash Informatique du 3 mars 1997, détaille les caractéristiques de ce langage de définition de scènes virtuelles animées. La solution que nous avons retenue pour implémenter la version virtuelle du dispositif expérimental est de faire communiquer des petits programmes Java exécutés depuis une page web (applets) avec un fichier VRML 2.0, lui aussi inclus dans cette même page web.

Le fichier VRML contient la définition topologique du labyrinthe ainsi que celle du robot Khepera (voir fig.3). Des petites affichettes représentant divers logos (EPFL, LAMI, Khepera, etc.) collées sur les murs du labyrinthe ont été modélisées en appliquant des textures sur des rectangles. Le fichier VRML contient aussi un certain nombre de lampes (DirectionalLight VRML 2.0) pour éclairer la scène, deux caméras (Viewpoint) correspondant aux vues depuis le robot et depuis le plafond ainsi qu'un capteur de temps (TimeSensor) qui est utilisé comme base de temps pour générer les mouvements du robot.

Figure 3 - l'environnement virtuel constitué du labyrinthe et du robot

Afin de pouvoir faire se déplacer le robot, la définition géométrique de ce dernier est encapsulée dans un groupe de type Transform à qui on a attribué un nom. Ainsi, pour faire se déplacer le robot, il suffira d'envoyer un message depuis une applet Java à ce groupe, repéré par son nom. La même technique a été employée pour contrôler les mouvements de la caméra virtuelle externe. Ainsi des messages vont transiter depuis les applets Java jusque vers le fichier VRML. Le capteur de temps, quant à lui fonctionne dans le sens inverse, puisqu'il va émettre des messages à intervalles de temps réguliers vers certaines applets. Ces intervalles de temps correspondent à des tops de simulation (simulation ticks) et dépendent en fait de la puissance de calcul de la machine sur laquelle tourne le plugin CosmoPlayer. Puisque chaque message est estampillé de manière très précise, il est possible de faire progresser le robot virtuel en temps réel. Ainsi, la fluidité du mouvement s'améliore automatiquement avec la puissance de calcul de la machine.

Retour à la table des matières

Java

L'utilisation de packages Java particuliers (netscape.javascript.JSObject contenant les mécanismes de communication entre applets et fichiers VRML et vrml.external contenant les classes VRML 2.0 pour Java) rend possible le dialogue entre applets Java et fichiers VRML 2.0 à condition que ces derniers partagent une même page HTML sous Netscape. Elle est bien documentée, avec des exemples, sur le site de Silicon Graphics à l'adresse suivante:

http://vrml.sgi.com/moving-worlds/spec/ExternalInterface.html

C'est en utilisant cette possibilité que nous avons développé trois applets Java contrôlant différents objets inclus dans le fichier VRML. La première applet, située à gauche sur la figure 4, contrôle l'orientation et le zoom de la caméra externe. La seconde, située juste au-dessous de la scène VRML, permet de choisir le point de vue (caméra externe ou caméra embarquée sur le robot). Enfin, la troisième, à droite, permet de piloter le robot en position et en vitesse. Il suffit, par exemple de cliquer sur le compas (turn angle) à 90 degrés pour voir le robot virtuel effectuer un quart de tour à droite.

Figure 4 - La fenêtre de commande du robot Khepera virtuel

L'applet de contrôle du robot se charge, en outre, de vérifier que le robot ne heurte pas d'obstacles en vérifiant que ses coordonnées sont suffisamment différentes de celles des obstacles. En cas de collision avec un obstacle, le robot est stoppé et il faut l'orienter dans une autre direction pour le faire repartir.

Retour à la table des matières

Conclusion

Il y a fort à parier que ces nouvelles technologies alliant la puissance de Java aux possibilités de VRML 2.0 vont rencontrer un grand succès sur Internet. En effet, il semble que la 3D va très vite devenir accessible à la plupart des utilisateurs d'Internet compte tenu des progrès présents et à venir des microprocesseurs dans ce domaine. Pour vous donner une idée de ce que sera peut-être le web de demain, nous vous invitons à venir jouer avec nos Kheperas réels et virtuels disponibles sur notre site à l'adresse:

http://KhepOnTheWeb.epfl.ch/


retour au sommaire du Flash informatique no 5/97

retour à la page principale des Flash informatique

Vos commentaires

© FI-5 du 20 mai1997