Realite virtuelle, animation de personnages et stereovision

Realite virtuelle, animation de personnages et stereovision

Realite Virtuelle, Animation de Personnages et Stereovision

Sommaire Remerciements 2

Sommaire 3

Introduction 5

I. PRESENTATION DE L’IRIT 6

I. 1. Presentation generale 6

I. 2. Structure du laboratoire 6

I. 3. Les projets 7

I. 4. Quelques chiffres 8

I. 4. 1. Personnel en 2002 8

I. 4. 2. Ressources humaines en 2001 8

I. 4. 3. Budget 9

I. 4. 4. Equipement 9

I. 4. 5. Publications des equipes de recherche 10

I. 5. L’equipe SIRV 10

I. 5. 1. Composition de l’equipe 10

I. 5. 2. Les domaines technologiques 10

I. 5. . Les moyens humains et materiel 11

II. AU C »UR DU STAGE 13

II. 1. Presentation generale 13

II. 2. La capture de mouvement 14

II. 2. 1. Definition et fonctionnement 14

II. 2. 2. Processus de capture 17

II. 2. 3. Le logiciel Kaydara MOCAP 20

II. 2. 4. Realisations 21

II. 2. 5. Conclusions 26

II. 3. Le travail sur la plateforme ASSET 27

II. 3. 1. La plateforme ASSET 27

II. 3. 2. L’integration du module « webcam » 31

II. 3. 3. La stereovision 35

II. 3. 4. Conclusions 36

II. 4. La stereoscopie et vision 3D 37

II. 4. 1. Principe de stereoscopie 37

II. 4. 2. Le materiel de stereoscopie a l’IRIT 37

II. 4. 3. Etude des differents types de stereoscopie et de vision en relief 37

II. 4. 4. Tests comparatifs et bilan 41

II. 4.

Désolé, mais les essais complets ne sont disponibles que pour les utilisateurs enregistrés

Choisissez un plan d'adhésion
5. Conclusions 43

III. BILAN 44

III. 1. Mes travaux 44

III. 1. 1. L’animation de personnages 44

III. 1. 2. La plateforme de Realite Virtuelle 44

III. 1. 3. La stereoscopie 45

III. 2. Autres projets et peripheriques de Realite Virtuelle 46

III. 2. 1. L’affichage haute resolution 46

III. 2. 2.

La visualisation semi-immersive 47

III. 2. 3. Le dispositif de retour d’effort 3D 47

III. 3. Les colloques et seminaires 47

III. 3. 1. Les seminaires d’equipe 47

III. 3. 2. L’EDIT 2005 48

III. 3. 3. Ludovia 2005 48 Conclusion 49 Bibliographie 50 Introduction J’ai realise ce stage a l’IRIT dans le cadre de mon projet de fin d’etudes. Ce stage a pour objectif de constituer une premiere experience professionnelle en tant qu’ingenieur. Il se deroule a la fin du cursus et se couronne par le diplome d’ingenieur.

Il est donc a mi-chemin entre les etudes et le monde professionnel. J’ai choisi de realiser ce stage a l’IRIT pour les raisons suivantes : l’IRIT est un centre de recherche tres actif dote d’une plateforme de Realite Virtuelle (PREVI). L’equipe qui travaille sur cette plateforme se nomme SIRV (Synthese d’Images et Realite Virtuelle) ; elle y developpe un grand nombre de projets, et possede pour cela du materiel de pointe, tant au niveau des stations de travail, que dans les peripheriques de Realite Virtuelle et dans la capture de mouvement.

J’etais donc tres interessee par integrer l’equipe SIRV, afin de mettre en pratique les connaissances acquises lors de ma filiere I2RV (Image Interaction et Realite Virtuelle). Le sujet que m’a propose Jean Pierre Jessel etait assez vague, afin de me laisser la possibilite de choisir, une fois en stage, un ou plusieurs sujet(s) parmi les projets qui m’interessaient le plus. En fonction de mes envies et des besoins de l’IRIT, j’ai donc travaille sur les projets suivants : – capture de mouvement, integration de peripherique sur une plateforme de Realite Virtuelle, – stereovision. Mon stage s’est articule autour de ces trois axes et c’est ainsi qu’il va etre decrit dans les pages qui vont suivre. Apres une rapide presentation de l’IRIT, vous y trouverez la description de mon stage, puis un bilan des connaissances que j’y ai acquises. Enfin, une bibliographie et des annexes viendront apporter des informations complementaires sur mes travaux.

Projet animation amp

I. PRESENTATION DE L’IRIT 1 Presentation generale

Cree en janvier 1990, l’IRIT (UMR 5505 du CNRS) rassemble aujourd’hui plus de 400 chercheurs, enseignants chercheurs et doctorants du Centre National de la Recherche Scientifique (CNRS), de l’Institut National Polytechnique de Toulouse (INP) et de l’Universite Paul Sabatier (UPS). Les recherches de l’IRIT couvrent une grande diversite de themes scientifiques ou l’informatique se developpe aujourd’hui : de l’architecture des machines a l’intelligence artificielle, en passant par le traitement de l’image et du son. Structure du laboratoire Le decoupage en trois departements qui avait jusqu’a present permis de definir les grandes orientations de l’IRIT a structure aussi sa recherche. Ainsi, il y a un departement autour de recherches que l’on pourrait appeler traditionnelles en informatique : architecture des machines, des reseaux, algorithmes de calcul, developpement des logiciels en passant par les systemes operatoires, les langages de programmation et les methodologies de developpement de logiciels d’applications. D’autre art, un departement autour de l’informatique des donnees structurees et de la relation avec l’utilisateur : bases de donnees, traitement d’images du son de la parole et du texte. Enfin, un troisieme departement sur l’informatique des mecanismes de raisonnement et d’interaction dont l’intelligence artificielle et ses composantes de modelisation des connaissances et de formalisation de raisonnements, les systemes multi-agents, les traitements formels du langage et l’ergonomie cognitive. Cette structuration en trois departements avait ete mise en place il y a sept ans.

Ces trois dernieres annees ont fait constater l’emergence de points de rencontre entre equipes de recherche de differents departements, creant une nouvelle dynamique qui a conduit a une structuration de la recherche du laboratoire en sept themes, decoupes chacun comme suit : Analyse et synthese de l’information – Analyse d’images – Synthese et animation – Traitement de la parole – Analyse du texte et informatique linguistique – Video Indexation, stockage et recherche d’informations – Recherche et stockage d’informations – Indexation multimedia Interaction, autonomie, dialogue et cooperation La communication non-litterale – L’organisation des themes dans le dialogue – Dialogue et communication degradee – Modelisation du travail collectif et de la cooperation – Systemes auto-adaptifs et controle empirique Raisonnement et decision – Les raisonnements de sens commun – La modelisation du temps et de l’espace – La decision – L’explication, le dialogue et l’evolutif Modelisation, algorithmes et calcul haute performance – Algebre lineaire numerique et calcul sur grille – Optimisation et controle – Algorithmes paralleles asynchrones Architecture, systemes et reseaux – L’architecture Le temps reel – Les reseaux – L’optimisation dynamique de requetes paralleles Surete du logiciel – Theorie des types et assistance a la preuve – Ingenierie des systemes paralleles et repartis – Aide au developpement de composants logiciels 3 Les projets Une des priorites actuelles du laboratoire est le developpement de projets « transversaux ». Ces projets ont pour caracteristiques d’une part, de rassembler plusieurs groupes de recherche ayant des competences scientifiques diverses et d’autre part, de mettre en oeuvre ces competences scientifiques dans le cadre de plates-formes operationnelles.

Projet animation amp

Ainsi on a identifie les projets et plates-formes suivants : Le projet Dialogue qui est motive par l’interet de disposer a l’IRIT d’une plate-forme d’etude du dialogue oral homme-machine visant a etudier plus specifiquement le traitement des erreurs. Le projet Interaction Degradee dont le but est de contribuer a une meilleure connaissance des modeles de communication et d’interaction degradee-degradation due aux deficiences de l’usager ou aux conditions de communication. Le projet SIGMA autour du theme general des technologies multimedia, et qui se focalise sur un ensemble d’applications liees a la medecine et a la tele-medecine.

Le projet TLSE sur la resolution parallele de systemes lineaires creux de grande taille qui vise a developper des logiciels et mise en oeuvre d’un site web d’expertise. La plate-forme de recherche et d’experimentation en traitement de l’information (PRETI) est motivee par l’interet de disposer d’une application de reference suffisamment generique pour pouvoir etre un lieu d’illustration d’un certain nombre de recherches menees a l’IRIT en traitement de l’information et un lieu d’experimentation des idees.

La plate-forme de realite virtuelle et d’interaction (PREVI) pour laquelle je travaille. L’interaction etant un des themes majeurs de l’IRIT, le laboratoire se dote d’une plate-forme materielle pour developper les travaux autour de la visualisation et de l’interaction et plus generalement, des sciences et des techniques de l’information et de la communication. La plate-forme pour la recherche d’information et l’extraction des connaissances (RFIEC) dont l’objectif est de constituer un ensemble de moyens qui servent de support au developpement de plusieurs projets.

Elle integre un serveur qui permet de memoriser de grandes bases de donnees et de realiser des tests s’inscrivant dans le cadre de projets de l’IRIT. Des actions de valorisation sont egalement menees a l’IRIT. Le transfert de connaissances se traduit par exemple par l’organisation reguliere de rencontres Recherche/Monde Socio-Economique. Les collaborations avec la recherche industrielle sont formalises dans la creation de deux laboratoires communs l’un avec EADS CCR, l’autre ACTIA, un troisieme en finalisation avec France Telecom R), les transferts de savoir-faire et de technologies se concretisent ar l’accompagnement de creation d’entreprises innovantes (StorAgency, IntuiLab). Concernant l’enseignement, l’IRIT joue un role majeur dans l’enseignement de l’informatique dans tous les etablissements toulousains (UPS, INP, UT1, UTM), ce qui permet une articulation tres forte entre enseignement et recherche. L’IRIT participe aux cinq Master 2 de l’Ecole Doctorale Informatique et Telecommunications et 92 theses ont ete soutenues dans la periode 1998/2001 tandis que 115 theses sont ’actuellement en cours. 4 Quelques chiffres 1 Personnel en 2002 [pic] 2 Ressources humaines en 2001 [pic] 3 Budget

Le budget annuel moyen hors salaires des quatre annees 1998-2001 est de un peu plus de 1,5 millions d’euros, dont la moitie de ressources propres ; moins de 10% provient des collectivites territoriales, 10% du fonds de la recherche et de la technologie et 20% de la communaute europeenne. 4 Equipement Voici le parc de machines en 2002 : [pic] 5 Publications des equipes de recherche Le nombre total des publications des membres de l’IRIT au cours des quatre annees 1998 – 2001 avoisine le millier. Elles se declinent comme suit : 117 ouvrages, chapitres d’ouvrage, actes de congres et numeros speciaux de revues 88 publications dans des revues 609 publications dans des conferences avec comite de lecture. 5 L’equipe SIRV L’Equipe Synthese d’Images et Realite Virtuelle de l’IRIT est l’equipe au sein de laquelle j’ai effectue mon stage. Elle est parmi les pionniers de la Realite Virtuelle en France. Elle travaille sur les differentes classes de problemes liees a la description, la representation et l’evolution des mondes virtuels. Ces mondes peuvent etre des mondes tridimensionnels dans les approches classiques ou des mondes multidimensionnels pour les approches liees a la visualisation scientifique. 1 Composition de l’equipe

Professeurs : JP. Jessel (directeur de l’equipe), Y Duthen, R Caubet (emerite) Maitre de conferences : L. Barthe, A Berro, V. Gaildrat (HDR), H. Luga, M. Paulin (HDR), C. Sanza, P. Torguet, Ingenieur CNRS : R Pujado Plus 2 postdocs, 19 Doctorants, 10 DEA 2 Les domaines technologiques La problematique de recherche de l’Equipe Synthese d’Images et Realite virtuelle de l’IRIT se divise en quatre themes : Modelisation de formes et de scenes, Rendu et Visualisation, Animation et vie artificielle, Realite virtuelle. L’objectif commun est d’offrir des modeles et des algorithmes efficaces pour la synthese d’images et la realite virtuelle.

Modelisation La modelisation de formes s’attache a definir des moyens de description abstraite des formes et des scenes, description sous forme (de proprietes de placement, de volume…) permettant a l’utilisateur de concevoir facilement et rapidement son monde virtuel. Plusieurs solveurs ont ete developpes s’adaptant au probleme de placement dans un environnement virtuel avec une formulation des domaines et des techniques de filtrage de domaines bien adaptes. Ceci doit permettre un placement naturel et doit fournir une solution dans des temps interactifs. Visualisation et Rendu

Les travaux en Visualisation et Rendu (algorithmes de calcul d’images) ont pour objectifs de definir des algorithmes efficaces pour la simulation de l’eclairage dans une scene virtuelle mais aussi d’offrir la possibilite a un utilisateur de naviguer en temps reel dans une scene correctement eclairee. Pour cela, la simulation physique des transferts radiatifs, permet de calculer tous les transferts lumineux dans une scene, la simulation de la reflectivite, permettant de definir le comportement d’une surface vis-a-vis d’une source lumineuse et les algorithmes de visualisation efficaces de scenes complexes.

Pour pouvoir calculer une image de synthese realiste, il est necessaire de decrire qualitativement et quantitativement le comportement d’un materiau vis-a-vis de la lumiere. Ces recherches interessent aussi les chercheurs en optique et en teledetection et elles sont effectuees en collaboration avec eux. De plus, cette description doit etre faite de maniere simple et efficace pour faciliter l’etude de materiaux reels ou le prototypage de materiaux.

Les travaux se sont orientes vers des modeles numeriques de materiaux, cette famille de modeles permettant une representation generique que ne permettent pas les modeles analytiques et une certaine facilite de construction des donnees et de classification des materiaux. Vie artificielle, animation et simulation comportementale Les recherches en animation et en vie artificielle permettent de decrire le comportement des acteurs evoluant dans un monde virtuel. Les recherches portent sur les modeles de controle de mouvements, sur les modeles de scripts, de la simulation comportementale.

Les travaux se poursuivent sur des methodes permettant l’edition, le melange, l’adaptation de mouvements captures pour produire de nouvelles animations. L’objectif de la simulation comportementale est de construire un modele permettant de generer des comportements d’entites virtuelles. Ce comportement peut-etre issu de differentes modalites de controle pour les entites dirigees (avatars) ou pour les entites autonomes (agents), par la simulation de comportements, adaptatifs et/ou cooperatifs et/ou resultant d’un apprentissage.

Realite Virtuelle Les travaux en Realite Virtuelle sont vus sous l’angle des applications reparties et l’originalite de l’equipe est de privilegier les travaux sur la Realite Virtuelle Distribuee, la Simulation Cooperative Distribuee avec comme application l’Ingenierie Collaborative. Les aspects relatifs aux infrastructures de communications sous-jacentes mises en jeu sont aussi abordes. Apres des travaux sur l’affichage stereoscopique l’interet s’est porte sur l’affichage sur ecrans larges, en liaison avec les travaux en rendu.

Les travaux sur les interfaces 3D et la navigation dans le systeme d’affichage ont ete reactives dans le contexte de l’interaction avec des ecrans de grande taille. Le theme de la realite virtuelle est un theme federateur pour l’equipe puisque chaque composante peut y trouver un domaine d’application privilegie, dans le but d’augmenter le realisme de la perception visuelle des mondes virtuels et celui de l’interaction des utilisateurs avec cet environnement. 3 Les moyens humains et materiels Moyens humains Un professeur, deux maitres de conferences et un ATER sont directement impliques dans le projet Realite

Virtuelle. Ils encadrent plusieurs thesards et DEA travaillant sur l’animation de personnages et la capture de mouvements, les systemes de realite virtuelle distribues et leurs applications pour la teleoperation, le travail collaboratif, l’interaction 3D, la realite virtuelle et la simulation distribuee. Ils peuvent assurer la continuite des travaux avec d’autres equipes dans les domaines d’interaction homme – machine et realite augmentee et les reseaux et communications. Ils travaillent en etroite collaboration avec la partie de l’equipe specialiste de la simulation des comportements des agents autonomes.

Les autres personnes de l’equipe, sont aussi susceptibles de travailler sur les projets definis dans ce cadre, sur des aspects lies a ma modelisation et au rendu Les travaux sur les ecrans de grande taille regroupent des personnes des deux composantes de l’equipe. Moyens materiels L’equipe dispose de ses propres equipements en reseaux et stations de travail graphiques et ses peripheriques (casque Virtual Research V6, gants Cyber Glove, 5DT DataGlove, lunettes stereo Crystal Eyes VR, capteurs Polhemus, souris 6D Logitech et Space Mouse, souris et joystick a retour d’effort… . Elle assure aussi la coordination, le deploiement et la mise en ? uvre des dispositifs presents et futurs de la Plate-forme de Realite Virtuelle et d’Interaction (PREVI) de l’IRIT, en particulier les dispositifs de visualisation : projection a plat (Barco Reality 6300 dans l’auditorium), projection hemispherique (Elumens VS3 dans l’atelier de RV), mur de 6 video projecteurs, ecran stereo, et des dispositifs d’interaction dont un peripherique a retour d’effort (Phantom 1. 5), une combinaison de capteurs de mouvement Ascension 18 capteurs, capture des mouvements du visage.

Ulterieurement, d’autres dispositifs viendront completer cette plate-forme: dispositifs pour la parole, le son 3D et le suivi du regard. II. AU C »UR DU STAGE 6 Presentation generale J’ai realise mon stage dans l’equipe Synthese d’Images et Realite Virtuelle. Le theme qui m’avait ete propose lors que mon premier entretien a l’IRIT etait le suivant : capture de mouvement, retour d’effort et interaction. Ce theme a bien evidemment evolue au cours des six mois de stage. J’ai debute mon stage par de la capture de mouvement. J’ai ainsi realise des prises pour l’entreprise C-S, dans le but de produire un jeu de simulation d’actions militaires.

Apres les captures, je me suis chargee d’une partie de la post animation : filtrage, modification des donnees afin d’obtenir un rendu realiste. Au cours des mois suivants, j’ai continue de travailler de facon ponctuelle sur des captures de mouvements : j’ai ainsi realise des captures pour un groupe de marionnettistes nomme Animacao. Nous avons pu, lors de ces seances, experimenter diverses utilisations du materiel de capture : ajout de protheses pour placer les capteurs differemment, utilisation de peripheriques tels que les gants de donnees, realisation de films video en temps reel, etc.

J’ai aussi eu l’occasion de recalibrer la zone de capture, la piece ayant subit des changements considerables de disposition du materiel. Parallelement, j’ai recu, par d’anciens stagiaires, plusieurs minis formations au logiciel MOCAP, en tout debut de stage mais aussi au cours de celui-ci, ce qui m’a permis de me perfectionner dans l’utilisation du logiciel et les methodes permettant d’obtenir un rendu de scene realiste. Enfin, j’ai pu realiser un certain nombre de demonstrations de captures, lors d’evenements tels que l’inauguration d’un nouveau batiment a l’IRIT.

Une seconde partie de mon stage a consiste en l’integration d’un module sous forme de gestionnaire de peripherique pour une plate-forme logicielle de Realite Virtuelle. Je devais ainsi faire d’une webcam classique un peripherique de commande pour l’application. J’ai pu, lors de cette partie, etudier un certain nombre de librairies utilisees en Realite Virtuelle et en Realite Augmentee. Je me suis ensuite interessee a l’imagerie stereoscopique.

J’ai ainsi pu tester et comparer diverses installations et materiels de stereoscopie : montage de deux videoprojecteurs avec des filtres polarisants et visualisation sur un ecran a l’aide de lunettes polarisees, lunettes rouge/bleu, lunettes a cristaux liquides, etc. Enfin, j’ai assiste a un grand nombre des seminaires de l’equipe SIRV, la plupart donnes par des DEA ou thesards, et j’ai ainsi suivi les projets en cours au sein de l’equipe et complete ma formation universitaire. 7 8 La capture de mouvement 1 Definition et fonctionnement Definition de la capture de mouvement La capture de mouvement consiste a acquerir, a l’aide de capteurs, les positions et orientations de points situes a des positions strategiques sur le corps d’un sujet, afin de reconstituer sur un personnage virtuel le mouvement realise par celui-ci. Ces informations peuvent ensuite etre traitees et exploitees pour de nombreuses applications dans des domaines aussi varies que l’animation de personnages pour des jeux video ou pour le cinema, l’analyse des gestes et de la morphologie humaine, la simulation, l’ergonomie, etc.

On peut distinguer deux approches de la capture de mouvement. La premiere est la mesure du mouvement, c’est-a-dire que le mouvement enregistre n’est pas cree specialement pour la capture, comme dans le cas de l’analyse du geste sportif par exemple. La seconde approche est l’enregistrement d’un geste specialement pour la capture. Dans ce cas, l’objectif peut etre de mimer les mouvements d’un acteur pour animer un personnage. – Les differents types de capture Il existe differentes methodes et outils permettant de realiser des captures de mouvement.

Chacune de ces methodes est adaptee a un certain type d’utilisation et d’exploitation du mouvement enregistre. Les voici : La capture acoustique Des ultra / infra sons sont reflechis sur l’objet. Ainsi, on peut exploiter le temps de parcours ou le dephasage, afin de calculer la distance de points sur l’objet (3 points =; orientation). La capture inertielle Des accelerometres et des gyroscopes detectent les changements des vitesses lineaire et angulaire. Ces peripheriques sont utiles pour la prediction du mouvement quand ils sont utilises avec d’autres.

En general, ils ne sont pas utilises seuls comme capteurs a 6 degres de liberte. La capture optique Des spheres reflechissantes ou des marqueurs sont placees sur le sujet, qui evolue ensuite dans une zone filmee par plusieurs cameras. La position des spheres est determinee par triangulation. Cette methode permet d’acquerir les donnees dans une assez grande zone de capture (environ 20 m? ), mais elle repose sur l’utilisation d’algorithmes complexes qui interdisent souvent pour l’instant le temps reel. La capture mecanique

Il s’agit de fixer un exosquelette sur le sujet. On mesure alors directement les mouvements de l’armature pour deduire les mouvements du sujet. Les angles des jointures servent a deduire le mouvement de l’objet. Cette technique permet de beneficier du facteur temps reel. Neanmoins, le sujet etant litteralement harnache, certains mouvements lui sont interdits. La capture magnetique Le sujet est place dans un champ electromagnetique connu, mesure ensuite par des capteurs places sur le sujet. On peut alors obtenir des mesures relativement precises en temps reel.

Malheureusement, on doit se soumettre a des contraintes lourdes en ce qui concerne la zone de capture (interferences magnetiques, necessite de calibrer la zone de capture) Le laboratoire de l’IRIT est equipe en materiel de capture magnetique. C’est donc avec cette technologie que j’ai realise mes captures. – Le materiel de capture magnetique de mouvements Le Motion Star Le systeme de capture de mouvement de l’IRIT est un MotionStar Wireless fabrique par Ascension Technology Corporation (http://www. ascension-tech. com).

C’est un systeme de mesure sans fil qui presente donc l’avantage de laisser le sujet libre de bouger sans avoir a subir les contraintes d’un cablage evoquees plus haut. Ce systeme est de nature electromagnetique et le principe de fonctionnement theorique est relativement simple : on va generer grace a un emetteur des impulsions electromagnetiques dans une zone autour du caisson d’emission. L’emetteur contient 3 bobines orthogonales qui generent le champ. Un recepteur contient aussi 3 bobines qui produisent un courant induit par les variations du champ.

Le courant est donne a une bobine de l’emetteur a la fois et 3 valeurs de courant induit sont fournies par recepteur, soit 9 mesures par cycle. Ces mesures sont traitees dans le boitier pour donner les 6 Degres De Liberte (orientation et position). Comme le champ magnetique alternatif induit du courant dans les metaux conducteurs (donc des champs EM), le systeme doit operer dans un environnement sans metal. Sur les segments du corps de l’acteur des capteurs auront ete places. Ces senseurs vont mesurer le champ magnetique emis par l’emetteur et ainsi permettre de reperer la position des membres du sujet dans l’espace.

L’acteur doit donc obligatoirement evoluer dans la zone comprise entre la limite maximale notee A d’environ 3 metres de rayon (dans de bonnes conditions) et la limite minimale notee B d’environ 30cm de rayon pour que son mouvement soit correctement mesure. Chaque senseur est relie a un boitier electronique nomme « Back Pack» place dans un harnais dans le dos de l’acteur. Les informations des senseurs vont ensuite etre transmises vers un ordinateur dedie pour traitement afin de deduire de facon quasi simultanee leur position et leur orientation dans l’espace.

Ce systeme permet donc l’exploitation en temps reel des mesures. Il se compose de deux unites principales : L’unite mobile est portee par l’acteur et est composee des elements suivants : – Le Back Pack Il peut recevoir jusqu’a 20 capteurs. Il transmet par haute frequence ses donnees a la base via une antenne. En outre, le Back Pack dispose de deux ports auxiliaires qui permettent de brancher d’autres materiels de capture tels que des gants de donnees, du materiel de capture faciale etc… – Les capteurs Ils peuvent etre assimiles a des cubes de 2 cm de cote.

Chaque senseur est relie par un cable au Back Pack et repere la position et l’orientation de la partie du corps auquel il est attache. La base est fixe et se compose d’un PC monte dans un rack (le chassis), d’un controleur de puissance (ERC), d’un emetteur (ERT) monte sur un support en bois, et d’une antenne. Elle a pour role : – de generer un champ magnetique par impulsion grace a l’ERC et l’ERT (le champ est mesure par les senseurs montes sur l’acteur). – de recevoir grace a l’antenne les signaux des senseurs envoyes par le Back Pack de transmettre la position et l’orientation des senseurs a l’ordinateur de l’utilisateur par une connexion Ethernet. Une fois que le chassis a traite les donnees des capteurs, le resultat (position, orientation) est envoye par cable Ethernet a l’ordinateur de l’utilisateur qui les exploite pour animer un personnage, par exemple. Les gants de capture Ces gants sont generalement composes de fibre optique ou de jauge de contrainte pour determiner la flexion de chaque doigt. Certains modeles mesurent l’ecartement entre chaque doigt.

Pour determiner completement la position absolue de la main, les gants doivent etre equipes de capteurs de position dans l’espace (6 degres de libertes). Le Motion Star permettant aisement d’ajouter ces gants en peripherique supplementaire, il nous etait possible de capturer en une prise, le mouvement general d’un personnage ainsi que celui de ses mains et doigts. 2 Processus de capture – Le calibrage de la zone de capture La capture magnetique de mouvement a un inconvenient majeur : celui d’etre sensible aux interferences magnetiques de la piece.

Ainsi, si la piece dans laquelle est realisee la capture contient des objets metalliques, les resultats seront bruites et tres peu realistes. Pour palier ce probleme, nous devons passer par une etape de calibrage, qui permet d’etalonner la zone de capture, de verifier que les interferences ne sont pas trop importantes, pour les corriger. Pour realiser ce calibrage, il faut proceder de la maniere suivante : a) delimiter la zone de calibrage et tracer au sol un quadrillage afin de faciliter les mesures. b) positionner 7 ou 8 capteurs sur un pole de calibrage (si possible en bois), a 30 cm les uns des autres ) brancher les capteurs sur le Back Pack de facon ordonnee d) pour chaque point de la zone, realiser une mesure a l’aide du logiciel Mocap (cf. Tutorial de Melanie Aubert), afin de calibrer la zone complete. Enfin, exporter le fichier de calibration. Il n’est pas necessaire de refaire cette calibration pour chaque capture de mouvement. Si la zone de capture reste identique et que la salle n’a pas subi de grosse modification materielle (ajout ou suppression d’appareils electroniques ou de materiel metallique tel que des armoires par exemple), il suffira avant chaque capture d’importer le fichier de calibration cree avec cette configuration. Preparation de la capture Avant de realiser les mesures physiques, il faut proceder de la maniere suivante. a) Placer les capteurs sur les parties du corps du sujet. Pour une capture classique, nous aurons : – 1 capteur sur chaque main – 1 capteur au dessus de chaque coude – 1 capteur sur chaque pied – 1 capteur au dessus de chaque genou – 1 capteur dans le dos au niveau de la ceinture – 1 capteur dans le dos entre les omoplates – 1 capteur derriere la tete dans le haut du cou Pour une capture plus precise, nous pourrons rajouter un capteur sur chaque epaule.

Les capteurs sont donc positionnes ainsi : | | | |[pic] |[pic] | |Personnage vu de face |Personnage vu de dos | b) Connecter les capteurs au Back Pack. c) Allumer l’ERC et le chassis du Motion Star ) Allumer le Back Pack e) avec le logiciel Mocap, importer le fichier de calibration, tester la connexion et selectionner l’option « live » pour visualiser la position des capteurs et le mouvement de ceux-ci. Ainsi, nous obtenons l’affichage des capteurs et leur position dans l’espace en temps reel. A cette etape, nous avons deux possibilites : soit enregistrer le mouvement ainsi, en ne visualisant que les capteurs sous formes de points dans l’espace, soit apparier ces points a un acteur virtuel generique, puis a un personnage.

La seconde possibilite est la plus utilisee car elle permet d’avoir un retour visuel en temps reel. Le seul inconvenient est qu’elle demande une etape supplementaire qui peut prendre un peu de temps, le sujet doit donc patienter avec le materiel de capture avant que l’enregistrement ne soit lance. Passons par cette etape. Nous devons importer un personnage generique, appele « actor » et placer ce personnage de facon a ce que les capteurs soient positionnes de la meme maniere que sur le sujet reel.

Pour cela, nous allons faire un premier enregistrement dans une position en T, ensuite, le sujet reel va executer quelques mouvements d’etalonnage tels que tendre les bras en avant, toucher ses genoux, lever les jambes. A partir de cette premiere capture, nous allons pouvoir apparier l’actor. Pour ce faire, nous devons reprendre l’enregistrement realise et se placer au moment de la position en T. Ensuite, nous placons l’actor de facon a faire correspondre l’emplacement des capteurs. Un redimensionnement de l’actor est souvent necessaire. pic] Apres avoir positionne l’actor, il nous faut assigner les capteurs. Ceci se fait assez rapidement. Une fois cette etape realisee, nous pouvons observer l’actor se mouvoir. Les autres mouvements enregistres precedemment nous permettent de regler l’actor de facon la plus precise possible, et de verifier que les capteurs sont bien places (par exemple si un bras est plie alors qu’il devrait etre tendu, il faut le redresser, ce qui modifie l’endroit ou le capteur de la main ou celui du coude et assigne).

Une fois tous ces reglages termines, nous pouvons repasser en mode « live » pour observer l’actor se mouvoir de maniere identique au sujet, et ceci en temps reel. – Enregistrement des donnees Nous pouvons a present enregistrer un certain nombre de mouvements, en une ou en plusieurs prises. Cette etape ne presente aucune difficulte. Voici les quelques fenetres de travail utilisees sous Mocap : [pic] – Traitement des donnees Le traitement des donne est quant a lui un peu plus delicat. Il permet d’ameliorer le mouvement afin de le rendre le plus realiste possible.

Pour cela, il faut reduire le bruit (qui donne un effet tremblotant au personnage), et replacer certaines parties du corps dont la position n’est pas realiste. Le filtrage permet de realiser un grand nombre d’ameliorations. Le logiciel Mocap propose un certain nombre de filtres qui s’appliquent sur les courbes d’evolution des positions et orientation des capteurs en fonction du temps (6 courbes au total : rotation selon X, Y et Z et translation selon X, Y et Z). Pour avoir un mouvement plus fluide, on peut par exemple appliquer un filtre de lissage sur ces courbes.

D’autres filtres permettent par exemple de re-interpoler une courbe, ce qui revient a corriger un mouvement non naturel qui peut etre du par exemple a une interference magnetique ponctuelle. Voici un exemple : |[pic] |[pic] | |Signal Brut |Signal Filtre | Cependant, l’utilisation des filtres doit se faire de facon moderee, car trop de filtrage engendre une perte d’information, et donc un mouvement beaucoup moins vif.

En ce qui concerne la modification d’une position ou orientation d’un capteur sur une partie ou sur toute l’animation (ce qui est necessaire si le capteur place sur le sujet a bouge apres avoir ete assigne par exemple), il est possible de modifier la position de l’actor, apres avoir enregistre le mouvement. – Application a un modele 3D Apres avoir apparie un actor, il est tres facile de remplacer visuellement celui-ci par un personnage plus detaille. Cette etape peut se faire avant ou apres l’enregistrement des donnees.

Pour cela, il suffit d’importer un modele de personnage (qui a pu etre modelise avec 3DSMax par exemple) et de lui dire sur quel actor se fixer. Le reste est automatique. Par contre, il faut faire attention a la morphologie de ce personnage. En effet, l’actor s’apparente a un humanoide, et il faut, pour que la capture soit realiste, que le personnage soit morphologiquement proche de l’actor. Si le personnage a par exemple des bras tres longs, les capteurs des mains seront positionnes au niveau des avants bras, et les gestes seront beaucoup moins precis et naturels.

La capture de mouvement est donc optimale pour assigner les mouvements a un personnage de type humain. Lorsque le personnage est imaginaire, il est possible d’utiliser le materiel de capture de facon differente, mais le resultat n’est pas garanti. 3 Le logiciel Kaydara MOCAP – Generalites Mocap de Kaydara est le logiciel reference en matiere de capture, d’affichage, d’edition et d’exploitation de donnees de mouvement. Depuis une dizaine d’annees, il a ete utilise dans de nombreux domaines tels que le cinema, les jeux videos, la television, la publicite, etc.

Mocap est la derniere version du logiciel qui etait connu sous le nom de Filmbox Motioncapture. Ce logiciel supporte un grand nombre de peripheriques de capture magnetique, mecanique, optique et inertielle. Ce logiciel permet d’extraire en temps reel, et de facon simultanee, des donnees de mouvement pouvant provenir de plusieurs peripheriques (MotionStar, gants de capture, capteurs demouvements faciaux…) Il offre une large palette d’outils permettant d’editer et de manipuler des donnees issues d’une capture de mouvement.

En utilisant des technologies de mapping avancees, l’association des donnees de capture avec le corps ou le visage d’un personnage virtuel devient tres simple. C’est un logiciel tres complet qui permet de realiser non seulement les captures, mais aussi la post animation. – Le format fbx Le logiciel Mocap utilise le format de fichier 3D standard dans l’industrie, le format FBX. Ce format est supporte par tous les logiciels de 3D les plus repandus : Maya de Alias|Wavefront, Discreet 3DSMax, LightWave de NewTek, Softimage|3D, Softimage XSI, etc.

Il est donc tres facile d’importer et d’exporter des objets, animations, textures, cameras, lumieres, mouvements, squelettes et meme des scenes 3D completes. Ceci explique pourquoi le format FBX est aussi repandu. 4 Realisations – Calibrage de la zone de capture Lors de mon stage, courant mars, la salle PREVI2 (Plate-forme de Realite Virtuelle) dans laquelle je realise les captures de mouvements a ete completement modifiee : un ecran geant reposant sur une structure metallique a ete montee dans une partie de la piece et les ordinateurs on ete deplaces, ainsi que tout le materiel de capture.

Une nouvelle calibration de la zone etait donc plus que necessaire. J’ai realise celle-ci a l’aide d’une collegue (en stage de DEA). Nous avons commence par tracer a la craie la zone de capture sur le sol. Nous avons quadrille celle-ci en carres de 30 cm de cote. Nous avons mis du scotch noir sur les intersections afin que la personne qui realise les captures par la suite puisse visualiser la zone. Ensuite, nous avons place les capteurs sur le pole de calibrage, nous l’avons place aux differentes intersections du quadrillage puis nous avons fait les mesures.

Nous avons parametre la calibration puis exporte celle-ci sous forme d’un fichier . ms2. C’est ce fichier dont je me suis servie pour toutes les captures qui ont eu lieu apres ce jour. Pour tester si le calibrage etait correct, nous avons fait une capture de test, en temps reel. La capture etait beaucoup plus precise et moins bruitee que les captures precedentes. La calibration a donc bien fonctionne. |[pic] |[pic] | – Captures en temps reel

Le logiciel Mocap permet de realiser des captures de mouvement avec un affichage en temps reel. J’ai utilise a de nombreuses reprises cette possibilite, soit pour avoir un retour visuel, ce qui permettait a la personne portant les capteurs de mieux apprehender les mouvements du personnage, soit dans le but de realiser des captures dont les donnees n’avaient pas a etre enregistrees, comme pour des demonstrations par exemple. L’IRIT a inaugure, le 11 Fevrier 2005, le nouveau batiment qui contient, entre autres, la salle de capture.

Un certain nombre de personnalites (financeurs de l’IRIT) etaient invitees a decouvrir les travaux qui avaient lieu dans ces lieux. A ce moment, un stagiaire qui terminait son stage ST40 : Stephane Hanser etait present. Il m’a aide a preparer une demonstration en temps reel. Nous avons tout d’abord prepare la salle et le materiel necessaire a la demonstration : materiel de capture et videoprojecteur. Ensuite nous avons cherche notre modele de personnage : nous voulions quelque chose de different d’un humanoide classique (manque d’originalite), et un personnage amusant, sans etre vulgaire.

Nous avons trouve une sorte de souris. Nous avons ensuite prepare la personne qui allait faire les mouvements : une marionnettiste professionnelle qui a l’habitude de collaborer avec l’IRIT. Nous l’avons equipe, puis fait l’appariement, d’abord de l’actor et enfin du personnage. Nous avons projete la scene sur un mur de la salle, le dispositif etait pret. Un des gros avantages de la capture temps reel est que Mocap applique automatiquement un filtre de lissage (reduction du nombre de points de controle et interpolation entre ceux-ci).

Ainsi, le rendu est tres realiste et tres fluide. La demonstration s’est parfaitement bien deroulee, le public etait ravi. J’ai realise par la suite d’autres demonstrations de maniere totalement autonome. – Captures pour C-S Pendant un certain temps, j’ai ete chargee de realiser des captures pour l’entreprise C-S, qui desirait acquerir des mouvements de type « commando » et de les attribuer a un personnage qu’ils avaient eux-meme modelise. Nous avons donc fait un certain nombre de prises : marcher, courir, taper un code, s’asseoir, tenir son arme en joue, enfoncer une porte, etc.

Le personnage que j’ai utilise etait une sorte de squelette : il avait ete cree par C-S pour pouvoir placer sur celui-ci le personnage definitif, a l’aide d’un logiciel developpe par l’entreprise. J’ai donc travaille sur des captures associees a un« skeleton ». J’ai traite ces animations pour les rendre plus realistes. J’ai applique certains filtres sur les courbes, et je les ai aussi beaucoup retravaille par moi-meme : par exemple lorsque les pieds glissaient sur le sol, je modifiais les courbes de positionnement des capteurs des pieds afin de les plaquer au sol et de les rendre immobiles.

De meme, lorsqu’une partie du corps ne reagissait pas de facon naturelle, je modifiais la partie de la courbe correspondant a la partie problematique de l’animation. J’ai obtenu des resultats assez satisfaisants mais cette partie m’a pris beaucoup de temps. Je me suis rendue compte qu’il existait une methode bien plus simple (mais beaucoup moins precise) pour corriger ce type d’imperfections : elle consiste a modifier directement l’actor. Cependant, la methode que j’ai utilisee m’a permis de mieux comprendre le fonctionnement d’un mouvement et l’influence qu’on peut avoir sur celui-ci en modifiant physiquement ses donnees.

J’ai aussi utilise cette methode pour faire boucler certaines animations comme celle de la marche. Une fois que l’animation etait convenable, je l’exportais au format . fbx et l’envoyais par email a mon contact de C-S. Lui n’avait plus qu’a faire correspondre le « skeleton » a son personnage. Parfois, des defauts d’animation (souvent au niveau des epaules) apparaissaient sur le personnage final ; en effet, celui-ci ayant la morphologie d’un etre humain, il etait plus facile de remarquer les defauts. Je refaisais donc parfois quelques retouches. – Captures pour Animacao

J’ai par la suite travaille pour un groupe de marionnettistes nommes Animacao. [pic] |ANIMACAO : de la marionnette aux “ mario. net ” | |Depuis 1994, l’association Animacao developpe une dynamique autour de l’art de la marionnette. | |La creation de spectacles, la conception et la realisation de marionnettes, la mise en place d’ateliers pedagogiques sont autant de | |moyens de faire decouvrir au public un univers riche de poesie et de diversite. | |En elaborant avec l’IRIT un projet de marionnettes virtuelles : “ les mario. et ”, Animacao introduit les nouvelles technologies dans| |le domaine des arts vivants en creant des spectacles/ performances melant marionnettes, theatre, danse et nouvelles images. | J’ai realise plusieurs seances de capture, pour differents types d’applications. Animacao avait deja travaille assez souvent avec des captures de mouvement. Ils etaient donc deja familiers avec le processus et le materiel. |Nous avons fait ensemble quelques seances dont l’objectif etait de tester les |[pic] | |personnages qu’ils avaient modelises sous 3DSMax.

Si le personnage reagissait | | |bien aux mouvements, nous enregistrions une ou plusieurs captures afin qu’ils | | |utilisaient pour creer des petite films d’animation ou des applications ludiques | | |pour les enfants. | | | | | C’est ainsi que nous avons teste Mitty. Ce personnage allait devenir un | | |professeur virtuel qui expliquera aux enfants des techniques informatiques. | | Nous avons aussi anime Elmer. Celui-ci figurera prochainement dans un petit film d’animation. Pour capturer les mouvements, nous avons fait une serie d’experimentations quant a l’utilisation du materiel. |[pic] |Nous avons, dans un premier temps, suivi le processus habituel. Les resultats | |etaient assez satisfaisants, cependant, le personnage d’Elmer n’etant pas un | | |humanoide, il etait difficile de faire correspondre les parties de son corps | | |avec celles du sujet. De plus, les marionnettistes souhaitaient obtenir un | | |mouvement plus « elastique ». Nous avons donc trouve une astuce pour ameliorer | |le mouvement de cet elephant bizarroide : nous avons utilise des petites planche| | |de bois, fines et souples, que nous avons place au bout des bras et derriere la | | |tete du sujet capture. Ces morceaux de bois ont servi en quelque sorte de | | |protheses. Nous avons place les capteurs des mains et celui de la tete au bout | |de ces petites planches. | Nous avons obtenu, comme le souhaitait Celine, un mouvement des bras et de la tete plus elastique et beaucoup moins rigide qu’il ne l’etait auparavant. |[pic] |[pic] | L’utilisation differee du materiel de capture est certes peu recommandee dans le sens ou le logiciel Mocap n’a pas ete concu dans cette optique.

Cependant, dans le cas d’experimentations artistiques ou d’animation de personnages tels qu’Elmer, elle peut donner des tres bon resultats. Nous avons aussi capture un certain nombre de mouvements pour Sonia, une etudiante en DESS Creation Multimedia, qui avait pour projet d’animer un personnage afin de l’integrer dans une installation interactive. Cette installation met en scene un personnage virtuel qui reproduit les mouvements que le spectateur realise face a lui. Cependant, il serait extremement difficile techniquement de realiser ce genre d’installation en temps reel, sans que le spectateur ne porte de materiel de capture de mouvement.

Sonia a donc pense simuler cet effet miroir en enregistrant prealablement un echantillonnage de sequences de mouvements, puis de declencher ces videos lorsque le spectateur effectuera un mouvement similaire a un de ceux qui auront ete preenregistres. Pour ces captures, comme pour celles de Mitty et d’Elmer, nous avons procede de la maniere suivante : nous avons equipe Celine, notre marionnettiste, puis nous lui avons apparie un actor, et le personnage final. Nous avons place une camera numerique a la sortie video du PC, qui recevait donc l’image de l’ecran.

Nous avons judicieusement place la scene, a laquelle nous avions ajoute un fond noir, de facon a ne visualiser que celle-ci sur l’ecran. Il ne nous restait plus qu’a enregistrer directement la scene, avec la camera numerique. Comme je l’ai indique precedemment, le filtrage que j’applique apres la capture n’etait pas necessaire, puisque la scene est deja filtree lorsqu’elle s’affiche en temps reel. Nous avons ainsi enregistre un grand nombre de sequences video. J’ai par securite fait une sauvegarde de la capture sous forme de fichier . bx, mais celle-ci n’a pas ete necessaire. 5 Conclusions J’ai ainsi realise un grand nombre de captures de mouvement, et cela dans diverses configurations. J’ai appris aussi au fur et a mesure a mieux manipuler le logiciel Mocap et je serai capable de former des nouveaux stagiaires ou utilisateurs a la capture de mouvement. J’aurais encore bien sur de nombreuses choses a apprendre sur l’utilisation de Mocap, car il s’agit d’un logiciel tres complet qui permet de realiser des sequences integrant son, animations corporelles et faciales, decors animes, etc. ependant j’ai acquis en quelques mois des bonnes bases grace auxquelles j’ai pu animer des personnages virtuels de facon fluide et realiste. 9 Le travail sur la plate-forme ASSET 1 La plate-forme ASSET – Presentation generale ASSET est une plateforme de Re alite Virtuelle Distribuee. Cet outil a ete developpe a l’IRIT avec l’objectif d’integrer dans ce systeme toutes les fonctionnalites de la teleoperation car, en general, les systemes de teleoperation se focalisent dans la resolution d’un seul point comme la gestion de dispositifs, la simulation ou la communication.

Le systeme offre, en plus du systeme reel, les fonctionnalites d’un systeme de simulation : visualisation 3D, detection de collisions, gestion de dispositifs, chargement dynamique des comportements des objets et du modele du monde. Il permet aussi l’integration de composants deja existants et la creation d’applications independantes des dispositifs utilises. – Architecture Il existe dans la teleoperation deux elements essentiels : l’operateur et le robot. Chacun d’entre eux est associe a un ordinateur et les deux ordinateurs communiquent via un reseau.

L’utilisateur dispose d’une interface qui lui permet de connaitre l’etat actuel du systeme et de generer, en utilisant des dispositifs de controle, les ordres qui seront communiques au robot. Les ordres peuvent aussi etre traites dans le systeme local pour simuler les resultats des actions et les presenter a l’utilisateur sans retard. L’ordinateur du site distant traite les ordres et les transforme pour qu’ils puissent etre compris et executes par le robot. Le robot utilise ses capteurs pour obtenir de l’information sur l’environnement de travail.

Cette information permet au robot, si besoin est, de declencher des comportements autonomes. Elle est aussi envoyee a l’ordinateur local pour mettre a jour la simulation. La description anterieure concerne le cas mono-utilisateur, cependant, le systeme ASSET est prevu pour gerer plusieurs utilisateurs. ASSET definit un environnement client-serveur et fournit les services de communication, la coordination des utilisateurs, l’envoi de messages et la mise a jour de l’information, entre autres. Le systeme implante aussi un espace de donnees qui permet la communication entre les differents composants qui le forment.

Cet espace maintient les messages, les mises a jour, les commandes, etc. et genere des evenements qui permettent aux composants de recuperer l’information lorsque celle-ci est disponible. ASSET est implante suivant un developpement oriente objet pour obtenir un haut degre de flexibilite et de modularite, de facon a faciliter la construction de nouvelles applications. Il est forme par les modules suivants : – Le module d’interaction avec l’utilisateur gere les dispositifs d’interaction, la visualisation, la simulation, les communications et l’espace de donnees local. Le module du systeme reel gere les capteurs et les effecteurs, la visualisation, la simulation, les communications et l’espace de donnees distant. – Le module d’administration permet de coordonner les actions des utilisateurs et de gerer la communication entre les autres modules. Les mondes 3D pour la simulation peuvent etre definis dans un fichier VRML97 ou Java3D. La possibilite d’utiliser ces deux types de fichiers est due a l’utilisation du parser Xj3D qui permet la lecture et le chargement de fichier VRML dans Java.

Les comportements des objets dans le monde doivent etre definis par une classe Java qui implante l’interface definie par le systeme. – Simulation Pour ameliorer le retour d’information vers l’operateur, ASSET utilise un systeme de simulation predictive qui permet de connaitre les resultats des actions avant que ceux-ci ne soient communiques par le robot. Pour faire la simulation le systeme se deroule en plusieurs etapes. La premiere etape fait evoluer le temps de chaque objet : il utilise son etat actuel et les ordres recus, invoque les methodes de sa classe de comportement et identifie son nouvel etat.

Generalement les methodes de sa classe realisent la gestion des collisions, mais si la collision ne peut pas etre resolue pour lui, le systeme donne deux solutions a l’utilisateur : soit le systeme annule les instructions qui l’ont amene a ce point, soit il met a jour la simulation pour avoir l’etat actuel du systeme reel. Neanmoins, ce mecanisme a l’inconvenient de presenter un etat different de l’etat reel du systeme, donc il est necessaire de synchroniser la simulation a un moment donne. Les mises a jour sont realisees suivant l’observation d’un seuil d’erreur qui represente la difference entre l’etat reel et l’etat simule.

De plus, la mise a jour est realisee sur les objets dont l’utilisateur souhaite etre informe. Pour cette raison, ASSET a la possibilite de definir les comportements des objets de la simulation, il y a des objets autonomes qui evoluent dans le monde virtuel sans l’intervention de l’utilisateur, il y a aussi des objets controles et controleurs, qui evoluent par consignes preetablies et qui controlent les objets du monde reel, respectivement, et enfin il y a des objets associes entre la simulation locale et la simulation distante. Ces comportements permettent d’ameliorer la mise a our du systeme. – Communications [pic] Le systeme ne suit pas une configuration client-serveur traditionnelle, en fait chaque module recoit des actions et envoie des requetes. Les composants de ASSET utilisent les sockets et la communication point a point TCP/IP, permettant d’avoir une communication plus precise. Le systeme utilise comme format de message une chaine de caracteres avec un identificateur et l’information au format texte. Les classes OutputStream et InputStream de Java sont utilisees pour transmettre l’information via les sockets. Genericite Suivant l’objectif de generalite d’ASSET, le systeme peut etre configure avec des fichiers texte contenant les parametres pour la simulation, l’espace de donnees, la visualisation et l’information relative aux objets, les dispositifs, les points de vue de la scene … Le pas de la simulation qui sera utilise pour configurer l’horloge est defini dans les fichiers, ainsi que la configuration des dispositifs, avec l’information des capteurs et effecteurs. Voici un exemple du fichier de configuration de dispositifs :

La partie suivante concerne la configuration de la visualisation ; dans ce fichier on peut trouver les differents points de vue dans la scene, la description de l’eclairage de la scene tridimensionnelle et l’information de configuration des objets de simulation. Pour chaque objet, il y a la relation avec les dispositifs et les autres objets, sa classe de comportement et un fichier VRML ou Java3D ou se definit la geometrie. Voici un exemple du fichier de configuration de visualisation : | | [*******object viewpoint id] | |null | |[*******viewer: position
orientation] | |1 | pointVue1 | |4. 30,27. 74,159. 044 | |0. 006,-0. 988,-0. 154 | |0. 18 | [*******background color] | |null | |0. 4,0. 4,1 | |[*******lights in the scene] | |1 | [*******light description: ambient/point/directional, color, direction] | |ambient | |0. 8,1,0. 6 | |[*******objects in the scene] | 4 | |local | |[*******object description: idParent|idObject|controlType|controller|associated|behaviorClass|collisionActive] | |null|1. robot Khepera|autonome|false|true|asset. simulation. DefaultBehavior|true | |-13. 2967, 0. 43212, 20. 1478 | |1. 5,0,0 | |0,0,0 | |0,-1,0 | |1. 5708 | 0,1,0 | |0 | |0 | |Vrml File | |. classesasset
esourcesmodelsKhepera. wrl | |[*******object description: idParent|idObject|controlType|controller|associated|behaviorClass|collisionActive] | |1. robot Khepera|2. Wheels|autonome|false|true|asset. simulation. DefaultBehavior|true | |. 025, 0, . 007 | 0,0,0 | |0,0,0 | |0,0,1 | |1. 5708 | 0,1,0 | |0 | |0 | |inParent | … | 2 L’integration du module « webcam » – Etudes preliminaires Le developpement du systeme ASSET a commence pour un Master a l’Universite de Los Andes en Colombie, puis a ete poursuivi par une these a l’IRIT, dans l’equipe SIRV. C’est un projet consequent, et il m’a fallu un certain temps pour comprendre son architecture et son fonctionnement. Voici les trois modules qui composent ASSET : – Le module utilisateur : |[pic] | |- Le module du systeme reel : |[pic] | |- Le module d’administration : |[pic] | Le travail que je devais realiser sur ASSET etait l’integration d’un module de capture de mouvement par une webcam, sous la forme d’un module gerant un peripherique d’interaction.

Ainsi, une simple webcam pourrait remplacer une souris 3D ou un joystick. En effet, en fonction des gestes realises par l’utilisateur, un mouvement serait attribue et transmis au robot. La fenetre de visualisation permet d’avoir un retour visuel sur la scene. Je n’ai pas eu a implementer la gestion de la webcam ainsi que la reconnaissance des gestes. Ce projet avait deja ete realise par un stagiaire (de l’UTBM) a l’IRIT. Par contre, il fallait que je l’adapte a ASSET afin de l’integrer sous forme de peripherique, de facon identique aux autres peripheriques d’interaction tels que le joystick ou la space mouse (souris 3D). Le projet de suivi de la main L’application consiste en un premier temps a suivre le deplacement d’une ou plusieurs mains, par vision artificielle au travers d’une webcam. De plus, le programme interprete les differentes postures de la main (ouverte, fermee …). Ce projet fut destine a Jean-Marc Matos, choregraphe, implique depuis plus de quinze ans dans une demarche associant choregraphie et utilisation des nouveaux medias. Il souhaitait monter un decor dans lequel les danseurs pourraient interagir avec des videos projetees sur un grand ecran.

La position, la posture et le mouvement de leurs mains devaient permettre de piloter ces films. L’architecture du projet sous forme de diagramme de classes est detaillee dans l’Annexe I. Le projet utilise les librairies JMF et JOGL. JMF (Java Medi