
Virtual Universe
Pilotage des modèles 3D en langage Basic ou organigramme
©2010 IRAI

Sommaire
Généralités .........................................................................................................................................5
Configuration de Virtual Universe .......................................................................................................5
Editeur de script .................................................................................................................................5
Lancement de l’éditeur de script .....................................................................................................5
Langage ..........................................................................................................................................6
Complément de langage .................................................................................................................6
Accès aux entrées / sorties de Virtual Universe ...............................................................................6
Exécution ........................................................................................................................................7
Structure du programme .............................................................................................................7
Etat du programme pendant l’exécution .....................................................................................8
Fenêtre de mise au point.............................................................................................................8
Exécution sur des PCs différents ..................................................................................................9
Exécution de plusieurs instances .................................................................................................9
Exemples de scripts ............................................................................................................................9
Robot aspirateur ........................................................................................................................... 10
Robot NXT..................................................................................................................................... 11
Editeur d’organigrammes.................................................................................................................. 12
Lancement de l’éditeur d’organigramme....................................................................................... 12
Création des programmes. ............................................................................................................ 12
Langage ........................................................................................................................................ 12
Les blocs ................................................................................................................................... 13
Sous-programmes ......................................................................................................................... 16
Accès aux entrées / sorties de Virtual Universe ............................................................................. 18
Gestion du temps .......................................................................................................................... 18
Exécution ...................................................................................................................................... 18
Structure du programme ........................................................................................................... 19
Etat du programme pendant l’exécution ................................................................................... 19
Fenêtre de mise au point........................................................................................................... 20
Exemples d’organigrammes .............................................................................................................. 20
Robot aspirateur ........................................................................................................................... 20
Robot NXT..................................................................................................................................... 22
Eolienne ........................................................................................................................................ 23
3

Généralités
Ce manuel à pour but d’expliquer l’utilisation de l’éditeur de scripts et l’éditeur d’organigrammes
intégrés à Virtual Universe. Ces éditeurs permettent la création de programmes en langage Basic ou
sous forme de représentation organigramme dans le but de piloter les modèles numériques de
Virtual Universe.
Configuration de Virtual Universe
Pour que l’éditeur de script puisse dialoguer avec Virtual Universe, il faut modifier la propriété
suivante dans Virtual Universe :
- Univers : « serveur TCP » : choisir « True ».
Editeur de script
L’éditeur de script permet de décrire le fonctionnement d’un modèle simulé en langage Basic.
Lancement de l’éditeur de script
L’éditeur de script se trouve dans le répertoire d’installation de Virtual Universe et se nomme
« ScriptPad.exe ». Un raccourci de lancement est également créé dans le menu
Démarrer/programme de Windows à l’installation de Virtual Universe.
L’éditeur se présente sous la forme d’un simple éditeur de texte :
5

Langage
Le langage utilisé est un langage Basic « minimaliste ». Le fichier d’aide nommé basic_api.chm qui se
trouve dans le répertoire d’installation de Virtual Universe donne l’ensemble des éléments pour
l’utilisation de ce langage.
Complément de langage
En complément des instructions du langage Basic, deux instructions ont été ajoutées pour gérer les
évènements liés au temps (attente, etc.) :
Wait(durée en millisecondes) : provoque une attente de la durée spécifiée en milliseconde.
Time() : retourne la durée écoulée depuis le lancement de l’exécution du script en millisecondes.
Accès aux entrées / sorties de Virtual Universe
Si les noms des variables utilisées dans le script commencent par la suite de caractères « in_ » ou
« out_ », alors les variables concernées sont considérées comme des variables externes appartenant
à Virtual Universe.
Plus précisément, les variables commençant par « in_ » seront lues depuis Virtual Universe et les
variables commençant par « out_ » seront écrites vers Virtual Universe.
Les caractères suivants « in_ » ou « out_ » correspondent à un nom de comportement ou un alias de
nom de comportement de Virtual Universe.
Par exemple, « in_capteur » sera une variable lue depuis l’état du comportement nommé « capteur »
de Virtual Universe. « out_moteur » sera une variable écrite vers l’état du comportement nommé
« moteur » dans Virtual Universe.
Il est possible d’insérer directement un nom d’entrées sorties disponible par rapport au fichier
chargé dans Virtual Universe. Pour ceci, cliquez avec le bouton droit de la souris sur la page dans
l’éditeur de script et sélectionnez « Insérer le nom d’une variable d’entrée » ou « Insérer le nom
d’une variable de sortie ».
Pour être accessibles sous ces rubriques, les noms de variables doivent être renseignés sous la
rubrique « alias » dans les propriétés des comportements de Virtual Universe.
6

Exemple :
Exécution
Pour lancer l’exécution du script, cliquez sur le bouton « PLAY » (triangle vert) dans la barre d’outils
ou sélectionnez « Lancer » dans le menu « Script ». Virtual Universe doit être lancé et le projet Virtual
Universe doit être réglé comme serveur TCP (paramètre dans les propriétés de l’univers). Si ces
conditions ne sont pas satisfaites, un message d’erreur de connexion à Virtual Universe est affiché au
lancement du script.
Structure du programme
Le programme s’exécute jusqu’à ce que la dernière ligne ait été atteinte. Il convient donc de créer
une boucle pour que le programme ne se termine pas immédiatement. Cette boucle peut être
réalisée avec un saut ou une structure de répétition.
Exemple 1 :
maboucle:
rem écrire ici le corps du programme
goto maboucle
7

Exemple 2 :
do
rem écrire ici le corps du programme
loop
Etat du programme pendant l’exécution
Pendant l’exécution, la ligne courante (le pointeur de programme) est affichée en dynamique dans
l’éditeur. Exemple :
Fenêtre de mise au point
Au lancement du script, la fenêtre suivante s’ouvre :
8