• Aucun résultat trouvé

2.1. Réalité virtuelle : objectifs, concepts, applications

2.1.4. Concepts utilisés dans la RV

A ce jour, de nombreux travaux en RV se résument par leur caractère multidisciplinaire : informatique, mathématiques, robotique, automatique, mécanique, psychologie, ergonomie, philosophie… Cependant, le résultat de ces travaux mène à la création et à l’interaction en temps réel

de trois éléments clés afin de produire une simulation virtuelle (Figure 2.1) : utilisateur, monde virtuel

et interfaces intermédiaires. Nous nous intéressons dans cette section aux principes de fonctionnement

d’un système de RV, puis nous présentons les principaux concepts utilisés dans la RV.

2.1.4.1. Principes de fonctionnement d’un système de RV

L’interaction des principaux éléments nécessaires pour générer un événement virtuel peut se résumer généralement de la façon suivante :

1. La génération d’une action de l’utilisateur dans le monde réel.

2. La « traduction » de cette action en données d’entrée à l’aide d’interfaces de RV (ou périphériques).

3. La transmission de ces données d’entrée à un module logiciel qui commande l’évaluation d’une scène dans le monde virtuel.

4. Le calcul d’un nouvel événement virtuel et donc, la génération de données de sortie dans l’environnement de RV.

5. La « traduction » et la transmission de données de sortie à l’utilisateur à l’aide d’interfaces de RV (périphériques).

6. La perception des données de sortie (résultats de la simulation virtuelle) par l’utilisateur. En effet, afin de produire une simulation en RV, un utilisateur doit interagir avec des objets définis dans un monde virtuel. Pour cela, l’utilisateur produit des actions qui sont « traduites » et transmises aux objets à manipuler dans un environnement de RV à l’aide d’interfaces (Figure 2.1). Ces actions sont produites physiquement et donc, l’utilisateur agit dans le monde réel. Les actions de l’utilisateur à appliquer aux objets virtuels en question sont « traduites » en fonction de l’objectif à atteindre et donc en fonction de l’interface utilisée, par exemple, l’application d’efforts aux objets virtuels avec ou sans la prise en compte de leurs propriétés physiques, la génération de mouvements d’objets virtuels et donc la définition de déplacements imposés, etc. Alors, toutes ces informations forment des données d’entrée générées à l’aide d’interfaces de contrôle (ou interfaces comportementales).

Utilisateur Evénement

virtuel

Monde réel Monde virtuel

Interfaces Interface de contrôle de RV Métaphore d’interaction Action Perception

Figure 2.1. Schéma conceptuel de relation entre un utilisateur et un événement virtuel.

Les données d’entrée sont « traduites » par des interfaces, en temps réel, en données géométriques ou efforts avec un certain facteur d’échelle, i.e. en information « compréhensible » pour un logiciel qui commande l’évaluation d’une scène virtuelle. Finalement, compte tenu de la nature des données d’entrée « transmises » aux objets virtuels, un événement virtuel est créé et visualisé : la génération de mouvements d’un objet donné dans un environnement de RV, le calcul d’une forme déformée de cet objet, l’évaluation d’actions mécaniques lorsque l’objet manipulé entre en collision avec son environnement virtuel, l’estimation d’efforts à transmettre à l’utilisateur compte tenu des propriétés physiques de l’objet manipulé, etc. Cette information représente des données de sortie et doit être produite en temps réel.

Ainsi, des données de sortie (le résultat de la simulation) sont à leur tour « traduites » et transmises à l’utilisateur qui va les interpréter selon différentes perceptions : visuelle, haptique, etc. (Figure 2.1). Une telle perception se résume souvent à la visualisation d’une nouvelle scène virtuelle (les mouvements de l’objet manipulé, éventuellement la forme déformée de cet objet, la position relative d’objets manipulés et de mannequin virtuel par rapport aux autres éléments de l’environnement virtuel,…), la perception sensorielle de caractéristiques physiques associées à un objet virtuel donné ou/et à un événement virtuel calculé (le poids et la rigidité de l’objet virtuel manipulé, les efforts associés au déplacement ou à la déformation de cet objet, les actions de contact entre l’objet manipulé et son environnement,…), etc. En conséquence, l’utilisateur effectue le contrôle perceptif de l’événement virtuel et donc, indirectement, de ces propres actions.

En fonction des résultats de la simulation, l’utilisateur peut continuer à développer ces actions s’il estime que les résultats de simulation sont cohérents par rapport à l’objectif recherché (évidemment, avec une certaine subjectivité concernant ces propres actions). Dans le cas contraire, i.e. les résultats de simulation virtuelle lui semblent incohérents, l’utilisateur peut « corriger » ses propres actions, en restant toujours en interaction avec le monde virtuel. Chaque nouvelle action de

Chapitre 2. Réalité virtuelle : méthodes et modèles

l’utilisateur va bien évidemment générer la même séquence d’opérations lors de l’interaction avec les objets virtuels : toute action sera « traduite » et transmise à l’environnement de RV qui produira un nouvel événement virtuel et fournira des informations de sortie qui représentent les données de retour. Il faut souligner que cette séquence d’opérations doit s’effectuer en temps réel afin d’assurer la fluidité des événements et des résultats visualisés, de garantir la perception adéquate des données de sortie et donc, de préserver l’illusion d’interagir « naturellement » avec des objets en étant immergé dans un monde virtuel.

Le principe de fonctionnement de systèmes de RV présenté mène à une définition de la RV. Il existe de nombreuses définitions de tels systèmes. En effet, la plupart des définitions de la RV se résument à la distinction entre les objectifs à atteindre, à des particularités des interfaces de RV

utilisées, à des spécificités des domaines d’application. Une définition de la réalité virtuelle donnée

par P. Fuchs synthétise très bien les principes de fonctionnement du système de RV présentés [Fuchs

& al. 2001] : « La réalité virtuelle est un domaine scientifique et technique exploitant l’informatique et

des interfaces comportementales en vue de simuler dans un monde virtuel le comportement d’entités 3D, qui sont en interaction en temps réel entre elles et avec un ou des utilisateurs en immersion

pseudo-naturelle par l’intermédiaire de canaux sensori-moteurs ». Nous allons présenter deux

concepts principaux utilisés dans la RV et liés à deux éléments identifiés ci-dessus : un monde virtuel

et des interfaces de RV incluant des interfaces comportementales.

2.1.4.2. Modélisation d’un monde virtuel

La modélisation d’un monde virtuel est en premier lieu une modélisation d’un événement réel soumis à un certain nombre d’hypothèses du point de vue de l’informatique, la physique, etc. ainsi qu’à des contraintes technologiques. La conception d’un environnement virtuel dépend d’une application donnée [Fuchs & al. 2001]. Pourtant, on peut trouver quelques concepts généraux de

création d’un environnement virtuel, parmi lesquels les aspects de représentations graphique et

comportementale d’un environnement virtuel sont les plus importants. Nous allons les considérer dans

cette partie de façon synthétique.

Représentation graphique

La représentation graphique (ou visuelle) d’un monde virtuel est une fonctionnalité très importante de la RV car elle permet de visualiser à un instant donné une scène, un objet et un événement virtuels. Cette visualisation se repose sur la représentation géométrique des objets virtuels. En CAO il existe différentes techniques de description de la géométrie des objets 3D qui se résument essentiellement à la représentation de la frontière de l’objet : la représentation B-Rep (Boundary Representation) à l’aide de surfaces NURBS [Léon 1991]. Cependant, l’utilisation de ces principes dans la RV est restreinte à cause du temps important de génération des images lié aux capacités limitées des cartes graphiques des ordinateurs. De ce fait, les environnements 3D, i.e. les scènes et les objets virtuels, sont actuellement modélisés en réalité virtuelle par un ensemble de facettes planes (modèles polyédriques) [Peroche & al. 1998], [Fuchs & al. 2001].

En ce qui concerne l’utilisation de la RV dans le processus de développement d’un produit mécanique, la représentation géométrique du produit dans un environnement de RV est souvent réalisée à partir des modèles CAO (surfaciques, volumiques) créés au fur et à mesure des différentes phases de conception. Alors, ces modèles géométriques doivent être facettisés : ceci nécessite des transferts multiples de données entre les modeleurs CAO et les environnements de RV, des transferts accompagnés souvent par des pertes d’information. Néanmoins, la création d’un monde virtuel à partir de modèles CAO ne se limite pas au seul transfert de données (bien évidemment, il existe différents modes de création de mondes virtuels comme la digitalisation, puis la reconstruction d’un volume à partir de celle-ci [Lorensen & al. 1987], [Mencl & al. 1998]). Actuellement, les industriels s’intéressent de plus en plus à l’efficacité de l’exploitation des modèles transférés (ou maquettes virtuelles) en vue de leur utilisation dans diverses simulations, des revues de projet, etc. Ces besoins industriels conduisent à l’élaboration de modèles particuliers d’un environnement virtuel, adaptés en fonction de leur utilisation ultérieure. Ainsi, le processus de création de différents modèles virtuels adaptés à partir d’une maquette virtuelle générale ou un modèle CAO de base suppose l’élaboration

d’une méthodologie particulière concernant la préparation de données. La thèse de G. Drieux effectuée au laboratoire 3S de Grenoble traite certains éléments de ce problème [Drieux & al./1 2003].

Certains problèmes liés à l’élaboration d’un environnement virtuel pour la simulation des opérations d’A/D et à l’intégration de modèles physiques de pièces flexibles seront discutés plus en détails au chapitre 3. Cependant, nous pouvons déjà souligner l’importance de la création de tels modèles virtuels et notamment, de modèles adaptés à la simulation du comportement de pièces flexibles dans un environnement de RV.

Afin de pouvoir visualiser et manipuler efficacement les objets virtuels 3D, des algorithmes traitant le comportement des objets face à la lumière sont également utilisés [Bouatouch & al. 1996], [Fuchs & al. 2001]. Notons simplement que ces algorithmes ont pour objectif d’éliminer des faces cachées d’un objet virtuel, de calculer l’éclairement des propriétés optiques de sources de lumière et de l’objet, etc. et que l’élaboration des algorithmes d’éclairage est également contrainte par les limites technologiques des cartes graphiques.

Représentation comportementale

Elle concerne l’évolution dynamique d’une scène virtuelle en utilisant des méthodes de

programmation ou d’animation du comportement d’objets virtuels ou en se basant sur des méthodes

d’interaction directe avec des objets.

Les méthodes de programmation/animation représentent l’évolution d’objets et de scènes virtuels en temps réel sans/avec la modélisation d’un comportement réaliste des objets virtuels [Steketee 1985], [Arnaldi 1988], [Watt 2000], [Fuchs & al. 2001]. Ces méthodes utilisent essentiellement :

• des techniques basées sur la création d’animations à partir d’une interpolation des

configurations de référence comme le keyframing, par exemple;

• des techniques de type skinning, i.e. une animation d’objets et de personnages virtuels

représentés par un système « peau – squelette » : on associe un comportement visuellement « naturel » (par une capture de mouvements d’un être humain, par exemple) au squelette d’un objet virtuel. Ainsi, au cours d’une animation, les mouvements temps réel du squelette entraînent la déformation de la peau liée au squelette, ce qui donne l’impression qu’un personnage virtuel produit des mouvements « naturels » ;

• une animation temps réel générée à partir d’une modélisation d’un phénomène physique. Une

telle modélisation requiert généralement l’utilisation de lois physiques (comportement mécanique de pièces déformables, comportement de fluides, etc.) ou des données enregistrées au cours d’un événement réel (capture de déplacements, décollage/atterrissage et trajectoire d’un avion ou d’un vaisseau spatial, etc.). En se basant sur les lois physiques ou/et les données réelles, la simulation, fréquemment longue, du comportement d’un objet ou d’un système est calculée, par exemple, la simulation basée sur la méthode des éléments finis. A partir de cette simulation, des animations temps réel sont produites.

L’utilisation de méthodes d’animation d’objets virtuels est intéressante : ceci permet de visualiser un événement virtuel, comprendre un phénomène physique, etc. Par contre, toute modification d’un système avec des propriétés physiques entraîne la génération d’une nouvelle animation basée sur des simulations coûteuses en temps de calcul. De plus, certaines animations temps réel ne visualisent qu’une évolution d’une scène virtuelle sans faire appel aux modèles comportementaux physiques. En conséquence, ceci ne donne qu’une impression éloignée de la réalité.

Les méthodes d’interaction supposent que l’utilisateur interagit directement avec un objet virtuel dont l’évolution est inconnue. Donc, l’étude d’un comportement d’un objet ou d’un mannequin virtuels ne s’effectue que lors d’une manipulation virtuelle. La représentation réaliste du comportement d’un mannequin peut être obtenue par l’association de ce personnage virtuel avec un être humain en utilisant des interfaces de capture de mouvements [Chedmail & al. 2001]. Alors, les mouvements du mannequin, générés en temps réel, sont réalistes car le comportement de celui-ci est associé à l’opérateur. Par contre, la représentation d’un comportement réaliste d’un objet virtuel sans l’utilisation des capteurs de mouvement est plus délicate et dépend des objectifs de l’utilisateur, des hypothèses à mettre en œuvre. Par exemple, la génération de déplacements séquentiels d’un objet

Chapitre 2. Réalité virtuelle : méthodes et modèles

virtuel représentant une pièce rigide ou un système constitué des solides indéformables reliés entre eux par des liaisons mécaniques, se réalise en temps réel généralement sans trop de difficultés [Cozot 1996]. Mais lorsqu’il s’agit de la représentation réaliste du comportement de systèmes complexes, comme des objets virtuels flexibles, l’intégration d’un modèle de comportement physique est nécessaire [Arnaldi 1988], [Dumont 1990], [Fuchs & al. 2001]. Par conséquent, le temps de calcul, qui est une contrainte principale pour la RV, peut devenir grand pour pouvoir effectuer une simulation temps réel. Donc, des modèles physiques adaptés doivent être utilisés afin de réduire le temps de calcul. En particulier, des exemples de modèles de comportement de pièces flexibles, nous intéressant dans le cadre de cette thèse, seront analysés par la suite.

Malgré la difficulté de certains modèles comportementaux en terme de temps de calcul pour une simulation virtuelle interactive, la manipulation d’objets virtuels par interaction directe présente un intérêt particulier. La simulation interactive est importante pour l’étude et l’amélioration des opérations d’A/D virtuels, car elle permet de produire rapidement la réponse du système étudié lors de la manipulation virtuelle et donc, d’analyser et d’optimiser des paramètres intrinsèques de ce système (dimensions, propriétés physiques, etc.) sans calculs préalables. Ainsi, cette méthode favorise l’analyse des caractéristiques d’un produit et la prise de décisions durant les différentes phases de développement du produit.

2.1.4.3. Concept d’interfaces en RV

Les interfaces sont des entités importantes pour chaque simulation virtuelle, des entités réalisant toute la communication entre l’homme et l’ordinateur (ou le système de RV). En effet, nous

avons réuni dans les interfaces de RV toutes les interfaces que l’on peut trouver entre l’homme

réalisant une tâche virtuelle (mais effectuant ses actions dans le monde réel) et le système de RV représenté par le monde virtuel (tous les calculateurs intégrés au système de RV, les algorithmes, etc., i.e. toute la partie logicielle lorsque le système de RV effectue les calculs associés à la simulation de l’environnement virtuel et de son comportement jusqu’à l’obtention de ces résultats).

Deux éléments principaux parmi les interfaces ont été distingués : les interfaces de contrôle de

RV et les métaphores d’interaction. Nous allons les présenter ici de façon synthétique car des détails

et des exemples de ces interfaces vis-à-vis de la simulation des opérations d’assemblage virtuel seront discutés par la suite.

Interfaces de contrôle de RV

Les interfaces de contrôle de RV ou les interfaces dites comportementales dans la définition de

la RV de P. Fuchs sont des entités matérielles et composées d’interfaces sensori-motrices permettant à l’utilisateur de transmettre/percevoir ses actions à/à travers un système de RV ainsi que de les contrôler de façon intuitive, qualitative ou/et quantitative. Les activités sensori-motrices réalisées par l’homme utilisant une interface de contrôle de RV signifient que cet homme « perçoit et agit physiquement » [Fuchs & al. 2001]. Ainsi, il s’agit d’interfaces offrant à la fois une fonctionnalité d’interaction avec des objets virtuels mais aussi de perception. Il existe aujourd’hui beaucoup d’interfaces comportementales qui peuvent être classées, selon Fuchs, en trois catégories : les

interfaces motrices, sensorielles et mixtes. De plus, comme dans le cas de la simulation d’un

environnement virtuel, la conception et le choix des interfaces de contrôle dépendent de l’application de RV et des objectifs visés.

Chaque événement produit dans un monde virtuel en temps réel est lié aux actions réalisées par l’homme dans le monde réel. Alors, les interfaces motrices ont pour objectif de capter et de transmettre les actions de l’utilisateur à un système de simulation de RV via des entités interprètes

appelées métaphores d’interaction1, présentées ci-dessous. Ces actions peuvent être les déplacements

d’une main, des mouvements corporels ou de la tête, la parole, les efforts produits par des muscles, etc. Donc, à travers des interfaces motrices, l’homme sollicite le système de simulation de RV qui, à son tour, génère en temps réel un événement virtuel associé aux actions de l’homme, en se basant sur des modèles et des algorithmes implémentés dans la partie logicielle de ce système de simulation. Des

1

souris 2D et 3D, des joysticks, des bras mécaniques articulés comme le dispositif haptique Virtuose déjà évoqué, des capteurs de mouvements ou de voix sont quelques exemples d’interfaces motrices.

Une fois un événement virtuel calculé (par exemple, une collision entre un objet déplacé et son environnement est détectée ou une nouvelle forme déformée d’une pièce souple est produite) ainsi que des paramètres associés à cet événement (des efforts, des paramètres particuliers à contrôler, etc.), il est nécessaire de les transmettre à l’homme pour les percevoir en temps réel afin de pouvoir contrôler ses actions et l’information produite par le système de RV. Alors, les interfaces sensorielles ont pour but de transmettre ces informations à l’utilisateur en temps réel à travers de stimuli. Des écrans d’ordinateurs ou d’une salle d’immersion, des casques d’immersion, des interfaces haptiques à retour d’effort ou tactiles, des signaux sonores, etc. sont quelques exemples illustrant des interfaces sensorielles permettant la perception d’une information de retour après la simulation virtuelle.

Il existe également des interfaces mixtes, appelées sensori-motrices, qui permettent de

transmettre une information d’entrée, générée par l’utilisateur, à un système de RV, mais aussi qui génèrent en temps réel des stimuli sensoriels, renvoyés par le même système de simulation virtuel et perçus par l’utilisateur afin de contrôler certaines informations de sortie. A titre d’exemple, on peut citer comme interfaces mixtes des dispositifs de type gants de données à retour d’efforts ou bras articulé Virtuose 6D.

Les exemples d’interfaces sensori-motrices utilisées pour la manipulation d’objets virtuels durant la simulation des opérations d’A/D et de maintenance virtuelles seront présentés et analysés dans la section suivante.

Métaphores d’interaction

Les métaphores d’interaction sont des entités particulières, représentées souvent sous forme logicielle, et ont pour objectif d’adapter ou de transformer des modes d’interaction entre l’homme, qui exploite des interfaces matérielles comportementales de contrôle de RV dans le monde réel, et le système de RV, qui va produire un événement correspondant dans le monde virtuel. Donc, il s’agit d’une traduction des informations fournies par l’utilisateur en données d’entrée « compréhensibles » par le système de RV. Ainsi, à partir de ces données d’entrée interprétées, un événement virtuel et les informations associées à cet événement sont générés puis transmis à l’utilisateur en temps réel.

En fait, une interface de contrôle de RV donnée fournit une information d’entrée de nature définie, correspondant à une action réalisée par l’homme : des configurations géométriques (positions et/ou rotations), des efforts, des signaux lumineux, sonores, électriques, etc. Cependant, à chaque information d’entrée définie différents modes d’interaction peuvent être associés. Par exemple, aux déplacements d’une souris 2D ou 3D ou d’un joystick peuvent correspondre des déplacements en translation ou en rotation d’un objet virtuel, ou même, des efforts à appliquer à un système mécanique virtuel. Cette correspondance s’effectue à l’aide des métaphores d’interaction, interprétant une information, captée par l’interface de contrôle, de façon conventionnelle et, parfois, substitutionnelle dans le but de :

• définir un mode d’interaction précis pour une action de l’utilisateur donnée,

• simplifier l’interaction entre l’homme et le système de RV,

• élargir le champ des interactions possibles, associées à une information d’entrée donnée,