La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Introduction.

Présentations similaires


Présentation au sujet: "Introduction."— Transcription de la présentation:

0 au département informatique
Block3D La réalité virtuelle au département informatique Etudiants Edgar-Fernando Arriaga-Garcia Charles-Henri Babiaud Encadrants Clément Grellier Ronan Gaugne Quentin Petit Jérôme Ricœur Valérie Gouranton Florent Violleau 31 mai 2012

1 Introduction

2 Plan 5. Démonstration de Block3D
1. Rappels du contexte : µRV 2. Fonctionnalités de Block3D 3. Architecture logicielle et physique 4. Conception et développement 5. Démonstration de Block3D 6. Bilan du projet de réalité virtuelle 7. Planification

3 Plan 5. Démonstration de Block3D
1. Rappels du contexte : µRV 2. Fonctionnalités de Block3D 3. Architecture logicielle et physique 4. Conception et développement 5. Démonstration de Block3D 6. Bilan du projet de réalité virtuelle 7. Planification

4 1. Rappel du contexte - Problématique et but
Portes ouvertes Vitrine technologique du département informatique Administration de la salle µRV Mise en place de la salle Gestion de l’accès à la salle Intégration d’autres projets 1 projet de 3INFO 3 projets de 5INFO Application ludique de réalité virtuelle à partir du projet L3G0 Déploiement dans la salle Immersia

5 1. Rappel du contexte - Matériel
Équipement de visualisation 3D : Un moniteur 3D Un vidéoprojecteur 3D Deux paires de lunettes Nvidia 3D Une paire de lunettes Vuzix Wrap 920 Équipement d’interaction : Une Kinect Deux Wiimotes avec Nunchuk Un joystick à retour de force

6 1. Rappel du contexte – Le coureur
Périphériques Visualisation : Lunettes 3D Nvidia Vidéoprojecteur Interaction : Kinect Actions Se déplacer Pivoter la caméra

7 1. Rappel du contexte – Le constructeur
Périphériques Visualisation Lunettes Vuzix Interaction Wiimote Actions Déplacer la caméra Poser pièces

8 1. Rappel du contexte – Collaboration
Collaboration avec les autres groupes Un groupe de 3ème année, Daedalus : Application de génération de labyrinthe Un groupe de 4ème année, Linnova : Stockage de leur matériel dans la salle µRV Un groupe de 5ème année : Application distribuée à l’aide d’OpenMASK D’autres groupes de 5ème année Utilisation temporaire de la salle

9 Daedalus, génération de labyrinthes
Paramètres de configuration Aperçu du labyrinthe Sauvegarde du fichier XML

10 Plan 5. Démonstration de Block3D
1. Rappels du contexte : µRV 2. Fonctionnalités de Block3D 3. Architecture logicielle et physique 4. Conception et développement 5. Démonstration de Block3D 6. Bilan du projet de réalité virtuelle 7. Planification

11 2. Fonctionnalités – Interactions (1/3)
Fonctionnalités du coureur Avancer Reculer Tourner à gauche Tourner à droite Translater à gauche Translater à droite Sauter Accéder au menu

12 2. Fonctionnalités – Interactions (2/3)
Fonctionnalités du constructeur Dézoomer Translater la vue Orienter la vue Ajouter une pièce Changer la pièce courante Accéder au menu

13 2. Fonctionnalités – Interactions (3/3)
Fonctionnalités du menu Reprendre la partie Choisir le labyrinthe Choisir les paramètres sonores Afficher l’aide Quitter le jeu

14 2. Fonctionnalités – Mode distribué (1/2)
Communication distante 14

15 2. Fonctionnalités – Mode distribué (2/2)
Labyrinthe Décors Déplacement du coureur/constructeur Menus Collisions Wiimote Interactions coureur/constructeur Communication distante 15

16 Plan 5. Démonstration de Block3D
1. Rappels du contexte : µRV 2. Fonctionnalités de Block3D 3. Architecture logicielle et physique 4. Conception et développement 5. Démonstration de Block3D 6. Bilan du projet de réalité virtuelle 7. Planification

17 3. Architecture logicielle – Vue générale
OpenMask Ogre3D OpenAL OgreAL PhysX NxOgre Critter

18 3. Architecture logicielle – Ogre
Moteur 3D Communauté active Licence libre (MIT) Multiplateforme C++

19 3. Architecture logicielle – Son spatialisé (1/4)
Utilisation d’OpenAL : Bibliothèque qui permet la manipulation de tampons sonores à bas niveau Adapté à de très nombreuses utilisations Utilisation d’OgreAL Wrappeur d’OpenAL pour Ogre3D Simplification dans le positionnement des sources sonores dans le monde symbolique Intégration aisée avec les objets de Ogre3D Utilisation des enceintes 5.1 dans le cadre de l’application Architecture sonore

20 3. Architecture logicielle – Son spatialisé (2/4)
Permettre l’immersion dans le monde symbolique du coureur Guider le coureur jusqu’à son objectif

21 3. Architecture logicielle – Son spatialisé (3/4)
Guider le coureur par l’utilisation d’un sonar Informer le coureur et le constructeur qu’une brique a été posée Sonar Pose des briques Coureur

22 3. Architecture logicielle – Son spatialisé (4/4)
Variation de la fréquence et du tempo du son : Du sonar De la musique d’ambiance Plus aigu Plus rapide Fréquence (kHz) Plus grave Moins rapide Arrivée Départ Distance par rapport à l’objectif

23 3. Architecture logicielle – Modélisation du coureur
Démarche d’utilisation de Blender : Importation d’un personnage Lego Correction des défauts (faces transparentes, …) Modification du squelette Création des animations Exportation en .mesh pour être utilisé dans Ogre Exportation des animations pour Ogre peu intuitive Relativement peu de documentation

24 Caractéristiques Empêcher le coureur de traverser les murs
3. Architecture logicielle – PhysX Empêcher le coureur de traverser les murs Caractéristiques C++ Licence commerciale Multiplateforme Développement actif Utilisé dans la plupart des jeux actuels Bien documenté Contrôleurs d’avatar Corps rigides et souples Champs de force, etc.

25 NxOgre = Wrappeur Critter = Interface et
3. Architecture logicielle – PhysX et Critter (1/2) NxOgre = Wrappeur Critter = Interface et Licence LGPL C++ Développement actif Tutoriels Visual débogueur intégré

26 Fonctionnalités supplémentaires
3. Architecture logicielle – PhysX et Critter (2/2) Fonctionnalités supplémentaires Débogueur visuel

27 3. Architecture logicielle – Gestion de projet
Site web collaboratif : Media Wiki Redmine : forge de l’INSA gestionnaire de version : Subversion intégré hébergement de la documentation : wiki intégré discussion par sujets sur des erreurs : forum intégré Communication IRC (Internet Relay Chat)

28 3. Architecture logicielle – Cmake
Gestion des dépendances logicielles Génération Makefile Génération projet VisualStudio Multiplateforme Indique les dépendances manquantes OgreAL et OpenAL VRPN OpenMASK Ogre CppUnit et CxxTest NxOgre et Critter

29 Bilan prévu / réel FAAST NxOgre et Critter VRPN OpenMASK OgreAL Ogre
CppUnit CEGUI Cmake Ogre Bites

30 3. Architecture physique– Généralités
Copie locale du monde virtuel MPI TCP IP OpenMASK Communication distante Même arborescence de fichiers sur les pc Copie locale du monde virtuel Participation des 5INFO 5INFO Coureur 30

31 3. Architecture physique– VRPN (1/2)
Virtual Reality Peripheral Network Interfaçage avec les périphériques Un serveur Associé à une IP et un port N clients Sur une machine ou plusieurs machines Serveur Clients

32 3. Architecture physique– VRPN (2/2)
Bouton : Envoi pour chaque pression/relâchement Clavier, clic, bouton Analogique : Envoi continu de l’état Joystick Tracker : Suivi d’une position Casque Bouton Analogique Tracker VRPN Événements récupérés

33 3. Architecture physique– Wiimote
Intégration d’un serveur VRPN Wiimote existant Création d’un client VRPN Interfaçage avec Block3D Boutons pressés (Bouton) Boutons relâchés (Bouton) Mouvement du joystick (Analogique) Accélération de la Wiimote (Analogique) Accélération des Nunchuk (Analogique) Wiimote - Nunchuk

34 3. Architecture physique– Intégration de la Wiimote
Serveur Wiimote Interfaçage Client Block 3D La Wiimote est connectée (Bluetooth) Le serveur Wiimote est lancé Block3D récupère les informations du serveur Les événements sont filtrés par un écouteur « WiimoteListener »

35 FAAST, serveur et client VRPN
3. Architecture physique– Contrôle de la Kinect (1/2) FAAST, serveur et client VRPN

36 FAAST, serveur et client VRPN
3. Architecture physique– Contrôle de la Kinect (2/2) FAAST, serveur et client VRPN Intégration transparente de FAAST dans Block3D transforme des événements Kinect en événements claviers Kinect FAAST Block3D

37 Plan 5. Démonstration de Block3D
1. Rappels du contexte : µRV 2. Fonctionnalités de Block3D 3. Architecture logicielle et physique 4. Conception et développement 5. Démonstration de Block3D 6. Bilan du projet de réalité virtuelle 7. Planification

38 ogre openmask model interactions block3D plugin parser time wiimote
4. Conception et développement – Diagramme de Paquetages openmask block3D plugin model parser time data element sound interactions kinect wiimote ogre

39 4. Conception et développement – Tests
Tests unitaires Tests utilisateurs CppUnit CxxTest Facilité à trouver des bêta testeurs

40 Plan 5. Démonstration de Block3D
1. Rappels du contexte : µRV 2. Fonctionnalités de Block3D 3. Architecture logicielle et physique 4. Conception et développement 5. Démonstration de Block3D 6. Bilan du projet de réalité virtuelle 7. Planification

41 Arriverez-vous à l’objectif avant que le temps soit fini ?
5. Démonstration Arriverez-vous à l’objectif avant que le temps soit fini ? Coureur Constructeur

42 Plan 5. Démonstration de Block3D
1. Rappels du contexte : µRV 2. Fonctionnalités de Block3D 3. Architecture logicielle et physique 4. Conception et développement 5. Démonstration de Block3D 6. Bilan du projet de réalité virtuelle 7. Planification

43 6. Bilan - Matériel Vuzix Wiimote et nunchuck Changement de salle
2 adaptateurs VGA sur un même ordinateur

44 6. Bilan – Difficultés de synchronisation
Synchronisation Ogre – NxOgre

45 Communication distante
6. Bilan – Difficultés du mode distribué Difficultés de prise en main d’OpenMASK Documentation et communauté restreintes Sessions d’entrainement à l’ETI Connexion MPI en réseau Adaptation du travail des 5ème année Fonctionnalités aussi restreintes Contraintes sur la reprise du code Création de plugins OpenMASK nécessaires Communication distante 45

46 6. Bilan – Possibilités d’évolution
Evolutions d’intégration Amélioration du support Linux Amélioration application distribuée Evolutions des interactions Intégration du joystick Gérer le saut de l’avatar L’avatar suit les mouvements de l’utilisateur Jeu plateforme

47 Plan 5. Démonstration de Block3D
1. Rappels du contexte : µRV 2. Fonctionnalités de Block3D 3. Architecture logicielle et physique 4. Conception et développement 5. Démonstration de Block3D 6. Bilan du projet de réalité virtuelle 7. Planification

48 7. Planification – Jalons réels et prévisionnels
Livraison rapport final 30/05/2012 Planification initiale Planification réelle Livraison projet 31/05/2012 Intégration OpenMask 31/05/2012 Applications constructeur/coureur 27/04/2012 28/05/2012 Conception Implémentation Livraison Présentation finale 31/05/2012 Immersion dans un monde en 3D 16/03/2012 01/04/2012 Interactions utilisateur/matériel 24/02/2012 01/04/2012 Livraison rapport planification 10/02/2012 En 4 mois ce sont 1 mois de retard qui ce sont accumulés 48

49 7. Planification – Nombre d’heures
Charge (h) Prévu 1759h Réalisé 2079h 49

50 7. Planification – indicateurs et causes
Retard C’est une charge réelle totale de 2079h, alors que la charge prévisionnelle était de 1768h Ce n’est qu’une V4 qui est livrée et non une V5 Causes Difficultés d’implémentation (distribué, NxOgre,…) Départ d’un membre du groupe Difficultés de gestion de la salle Gestion du matériel 50

51 7. Planification – gestion de projet
Organisation de l’équipe Formation de 3 équipes : constructeur, coureur et matériel Avancement itératif Etablissement de jalons, et livraison d’une application à chaque jalon Méthode de gestion de projet Méthode de gestion de projet SCRUM, avec réunions régulières. 51

52 Conclusion Objectifs atteints Application interactive
Un projet complet Périphériques Wiimote, Kinect Technologies Ogre, PhysX, OpenAL Objectifs atteints Application interactive Coureur/Constructeur Application distribuée Un projet passionnant Découverte de la réalité virtuelle Sujet très intéressant

53 Block3D


Télécharger ppt "Introduction."

Présentations similaires


Annonces Google