Projet :
Sharp

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 :
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.
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.
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.
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]).

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