Thèse de doctorat



Informations générales


Composition du jury


Résumé de la thèse


Les mondes virtuels habités sont des applications de Réalité Virtuelle dans lesquelles interagissent des entités autonomes et des utilisateurs représentés par leur avatar. De nombreux outils sont maintenant disponibles pour créer des mondes virtuels multi-utilisateurs, centrés sur l'interaction avec les autres utilisateurs. Peu de ces outils permettent cependant de décrire facilement les comportements des entités autonomes peuplant les mondes virtuels. Nous avons choisi de nous concentrer sur l'aspect comportemental de la création de mondes virtuels, nous rapprochant en ce sens des travaux de F. Harrouet concernant l'environnement de développement. Notre objectif, à terme, est de fournir des outils facilitant la description de comportements d'agents virtuels. Ces outils formeront l'atelier InViWo (Intuitive Virtual Worlds), accessible à un public ne possédant pas obligatoirement des connaissances en programmation (artistes, scénaristes de jeux vidéos, biologistes, etc.). Le travail présenté dans ce mémoire pose les bases de cet atelier.

Nous avons choisi de considérer un monde virtuel habité comme un système multi-agents homogène, dans lequel certains agents (les avatars) peuvent être contrôlés par des opérateurs humains. Tout objet d'un monde InViWo est ainsi un agent, capable de percevoir tout ou partie du monde, puis de réagir aux événements en effectuant des actions sur le monde en fonction de son état interne et de ses motivations. Nous proposons une architecture générique d'agent virtuel, la plus simple possible. Un agent est ainsi composé : Il est possible d'ajouter ou de retirer chacun de ces composants au cours de la vie de l'agent, la structure d'un agent InViWo est donc entièrement dynamique.

Concernant l'organe de décision d'un agent InViWo, nous avons défini une architecture de sélection de l'action distribuée, basée sur des modules comportementaux réactifs et concurrents, et sur un mécanisme d'arbitrage permettant de combiner les décisions prises par les différents modules. À chaque pas d'exécution de l'agent, les modules comportementaux réagissent aux événements internes et externes en proposant des actions aux arbitres. Chaque arbitre choisit ensuite parmi ou à partir des propositions reçues les actions que les effecteurs devront finalement réaliser à la fin du pas de temps. Les arbitres encapsulent des méthodes de sélection plus ou moins complexes (d'une simple moyenne des valeurs proposées à un réseau de neurones par exemple). Le réseau dynamique formé par les modules comportementaux fonctionne selon le modèle réactif synchrone, en s'inspirant en particulier du langage Esterel.

Pour décrire la partie réactive des modules comportementaux, nous avons défini le langage Marvin, proche d'Esterel. Nous y avons ajouté des caractéristiques orientées-objets et orientées-agents, permettant de décrire entièrement un agent InViWo. Nous avons de plus introduit la notion de contraintes dans notre langage, notamment sous la forme de contraintes-buts, telles que définies par P. Codognet. Nous avons développé une plate-forme d'exécution d'agents InViWo, puis testé ce prototype sur plusieurs exemples. Le comportement d'un agent peut être spécifié en utilisant le langage Marvin, mais nous n'avons pas encore intégré d'interpréteur à la plate-forme.