Projet : Sharp

previous up next contents
Précédent : Mouvement dans le monde réel Remonter : Fondements scientifiques Suivant : De la géométrie aux probabilités


Sous-sections


   
Mouvement dans le monde virtuel

Les applications en Réalité Virtuelle, que ce soit dans le domaine de la robotique, de la médecine ou encore des loisirs dits multimédia, nécessitent un degré de réalisme élevé, aussi bien au niveau du rendu graphique que de celui de la dynamique des scènes traitées. L'approche généralement mise en oeuvre pour tenter d'obtenir ce réalisme au niveau de la dynamique des scènes virtuelles (i.e. des mouvements, des déformations, et des interactions entre objets virtuels), consiste à doter le monde virtuel de propriétés et de lois physiques semblables à celles du monde réel. C'est dans cette logique que se placent nos travaux de recherche sur le mouvement et les interactions dans le monde virtuel, en s'appuyant naturellement sur les synergies qui existent entre les techniques de génération et de contrôle du mouvement en robotique, et celles habituellement mises en oeuvre en vue de la synthèse d'images animées (approches basées sur les modèles physiques). Cependant, la variété des applications que nous considérons, dont certaines mettent en jeu des processus du monde réel (e.g. en robotique ou dans le domaine médical), nous conduit à aborder le sujet sous un angle un peu différent de celui généralement utilisé en animation graphique : nous devons mettre l'accent sur le réalisme physique, sur l'utilisation de modèles composites (incluant des composantes géométriques, dynamiques, physiques, et logiques) au niveau des algorithmes qui gèrent le mouvement, et sur l'efficacité des algorithmes qui doivent dans certains cas satisfaire des contraintes de temps réel (comme par exemple lors de l'utilisation d'interfaces haptiques).

Compte tenu de la présence de nombreuses similitudes avec les problèmes de robotique, nous avons choisi de mettre en oeuvre une approche visant à considérer une scène virtuelle comme un espace soumis aux principales lois de la physique, et dans lequel évoluent et interagissent deux classes d'objets : (1) des objets dits inertes, dont les mouvements et/ou les déformations résultent de l'application de champs de forces (comme la gravité) ou de l'interaction physique avec d'autres objets (manipulations, collisions) ; et (2) des objets dotés de capacités de mouvements propres (appelés ``agents autonomes'' ou encore ``robots virtuels''), possédant des propriétés physiques comme la masse ou l'inertie, des caractéristiques mécaniques (e.g. systèmes articulés ou mobiles soumis à des contraintes cinématiques particulières), des capacités de contrôle du mouvement, et des mécanismes décisionnels aptes à assurer une autonomie des déplacements ainsi que des comportements prédéfinis. Plusieurs des techniques habituellement développées dans le cadre de la robotique entrent naturellement dans le cadre d'une telle approche (en particulier : contrôle de mouvements, planification de trajectoires, détection de collisions), tout en se combinant avec des méthodes généralement développées dans le cadre de la synthèse d'images animées (comme par exemple les modèles physiques et le traitement des collisions entre corps solides[Bar92] ou déformables[BW92]).

Cette analyse, que nous avions faite dès 1990 (i.e. lors de nos premiers travaux en coopération avec l'Acroe pour la prise en compte des interactions roue-sol lors de la planification des mouvements et de la simulation des comportements dynamiques d'un véhicule tout-terrain[LJL94]), a été aussi faite plus récemment par des chercheurs en robotique aux USA qui ont apportés des contributions intéressantes qui vont dans le même sens (en particulier les travaux de B. Mirtich et J. Canny à l'université de Californie, Berkeley sur les collisions entre objets rigides [MC94], ceux de D. Ruspini et O. Khatib à l'université de Stanford (Californie) sur la simulation dynamique en robotique [RKK97], et ceux de V. Hayward sur les systèmes haptiques [AH98]).

L'approche que nous mettons en oeuvre pour la modélisation et la génération du mouvement dans le monde virtuel nous conduit donc à aborder quatre sujets complémentaires dont les orientations sont guidées par les contraintes énoncées précédemment :

Modèles et algorithmes de base.

Il s'agit ici de développer des modèles et des algorithmes qui permettent de reproduire le comportement dynamique des divers composants d'une scène virtuelle, tout en conservant une certaine cohérence physique. Nous nous inspirons pour cela des résultats connus en animation graphique et en mécanique, en mettant l'accent sur les problèmes d'efficacité et de contrôle des erreurs (en particulier celles dues à l'intégration numérique des équations de la dynamique). L'approche mise en oeuvre est pour cela de type multi-modèles et multi-méthodes, afin de pouvoir s'adapter d'une part aux contraintes généralement antinomiques d'efficacité et de réalisme physique, et d'autre part à la nature et aux propriétés des objets mis en jeu (rigidité, déformabilité, structures articulées, nature des interactions...). On utilisera par exemple la composante géométrique du modèle composite pour détecter des collisions entre objets rigides, à l'aide d'algorithmes optimaux de calcul de distances dérivés de la robotique (e.g. les algorithmes de Lin & Canny ou ceux de Gilbert & Johnson) ; on utilisera ensuite les caractéristiques mécaniques des objets mis en jeu ainsi que des modèles issues de la mécanique des solides pour calculer les effets de la collision.

Modélisation d'objets complexes et identification des paramètres.

Le problème abordé ici est celui du choix du modèle approprié et des paramètres nécessaires, pour représenter les différentes caractéristiques (géométriques, mécaniques, et dynamiques) d'un objet complexe susceptible de subir certaines déformations. Nous nous inspirons pour cela des travaux réalisés d'une part en mécanique (dont les modèles sont très réalistes, utilisés depuis des décennies, et associés à des tables de propriétés des matériaux, mais dont les performances algorithmiques sont plutôt médiocres), et d'autre part en animation graphique (dont les modèles variés ont naturellement privilégié les aspects visuels, sans réellement maîtriser les mécanismes de choix et de réglage des paramètres nécessaires). Notre approche consiste à partir du modèle géométrique 2D ou 3D souvent plus facile à construire, à réaliser un maillage 2D ou 3D dont les caractéristiques dépendent des propriétés de déformabilité de l'objet, à plaquer un modèle physique de déformation sur ce maillage, puis à identifier les paramètres de ce modèle sur la base de comportements requis ou de mesures faites sur les objets réels. De premiers résultats très encourageants ont déjà été obtenus lors de la modélisation d'un ligament croisé de genou, ou lors de la simulation des déformations d'une cuisse humaine soumise à des pressions appliquées par un sonde échographique.

Modèles d'interactions.

Il s'agit ici de développer des modèles et des algorithmes qui permettent de reproduire le comportement dynamique et mécanique d'objets en interaction physique (contacts, articulations, collisions, et actions produisant des modifications de structure comme la découpe). Ces modèles doivent être à la fois réalistes sur le plan physique, et efficaces sur le plan algorithmique. En effet, les interactions représentent généralement le goulot d'étranglement des systèmes de simulation, elles sont à l'origine des discontinuités qui altèrent profondément les procédures numériques de calcul, et elles constituent une base essentielle du réalisme que l'on attribue aux scènes dynamiques simulées. Les approches utilisées pour modéliser les différents types d'interactions sont par nature différentes, bien que de nombreux auteurs aient tentés d'étendre artificiellement leurs modèles de collision au traitement d'autres types d'interactions (voir par exemple Mirtich[MC94]). Jusqu'à présent, nos efforts ont surtout porté sur la modélisation et le traitement des collisions et des contacts non restants (e.g. contacts de type roue-sol). Notre approche sur ce sujet consiste d'une part à rechercher des algorithmes efficaces de détection de collisions (en partant de techniques développées en robotique et en CAO), et d'autre part à mettre en oeuvre des algorithmes de traitement des collisions (rigides ou visco-élastiques) qui utilisent les lois connues de la mécanique et qui prennent en compte les problèmes d'intégration numérique associés. Les modifications de structures topologiques engendrées par certaines actions mettent en jeu des procédures complexes de remaillage et de redistribution des propriétés physiques que nous commençons à étudier.

Algorithmes pour la génération du mouvement.

Le problème abordé ici est celui de la génération du mouvement pour les agents virtuels (ou robots virtuels). Cela englobe les aspects dynamiques du mouvement (c'est à dire la production d'un mouvement par application de forces ou de contrôles au niveau de certains organes des agents virtuels considérés), ainsi que les aspects de plus haut niveau liés au comportement et à la planification de mouvements. Notre objectif ici est de tenter d'appliquer des techniques que nous développons par ailleurs pour les robots réels (planificateurs géométriques, architectures décisionnelles), tout en exploitant le fait que le monde virtuel permet dans certains cas de réduire la complexité algorithmique (par suppression de certaines contraintes du monde réel, ou par introduction de ``guides physiques artificiels''). De premiers résultats sur ce point ont été obtenus pour planifier les mouvements de systèmes articulés divers, en surimposant des champs de forces fictifs sur un modèle physique de l'environnement (cf. Luciani & Laugier[LJL94]), ou en introduisant un modèle physique simplifié d'interaction roue-sol au niveau de la composante locale d'un planificateur de trajectoire pour véhicule tout-terrain (cf. Cherif[CL95]).



previous up next contents
Précédent : Mouvement dans le monde réel Remonter : Fondements scientifiques Suivant : De la géométrie aux probabilités