SOFAVRSimulation Open Framework Architecturefor Virtual Reality SERVICE : DREAM EQUIPE PROJET : SOFA Sophia-Antipolis     ...
SOMMAIRE1. Contextes – Objectifs - Contraintes2. SOFAVR - actuellement3. Suite du projet  jerome.esnault@inria.fr - SOFAVR...
1Contextes – Objectifs - Contraintes1.1 Simulation Open Framework Architecture1.2 Objectifs et résultats attendus1.3 Initi...
1.2 Simulation Open Framework Architecture                                                   Graphe de Simulation :  Compo...
1.2 Objectifs et résultats attendusPorter SOFA sur des équipements de Réalité Virtuelle :• S’adapter aux différents dispos...
1.3 Initialisation du projet SOFAVR           Fort dynamisme                                                Naissance     ...
1.3 Initialisation du projet SOFAVR                     Rythme des cycles de développement différents                     ...
1.3 Initialisation du projet SOFAVR                      Synchronisation régulière pour ne pas diverger                   ...
2SOFAVR - actuellement2.1 Structure du projet2.2 SOFAVR aujourd’hui2.2 Cas d’utilisation : sofaOsg et ses plugins
2.1 Structure du projet                                   Dépendances des projets :Autres     MPI       VRPN          Autr...
2.2 SOFAVR aujourd’hui     Bibliothèque                              Bibliothèque       Bibliothèque      sofaOsg         ...
2.3 sofaOsg et ses plugins : cas d’utilisation                        ObjectFactory          FileRepository           Sofa...
2.3 sofaOsg et ses plugins : cas d’utilisation                        ObjectFactory                  FileRepository       ...
2.3 sofaOsg et ses plugins : cas d’utilisation    VisualModel               ObjectFactory                  FileRepository ...
3Bilans - perspectives3.1 Jalonnage3.2 Planning à suivre – ouvertures3.3 Retour d’expériences
3.1 Jalonnage - bilan      Analyse métier &                                                            Intégration et     ...
3.1 La situation aujourd’hui        Jalons prévisionnels                                     Jalons réalisées             ...
3.2 Planning à suivre et ouvertures•   Distribution MPI (SOFAVR sur I-Space)•   Couplage de SOFAVR avec les interfaces de ...
3.3 Retour d’expérienceImplantation géographique : service DREAM (Sophia)Implantation projet : SOFA (Lille – Grenoble – So...
Merci de votre attention.   Des questions ?         PmWiki SofaVR :         https://www-sop.inria.fr/dream/wiki/SofaVR/Sof...
Simulation Open Framework Architecture jerome.esnault@inria.fr - SOFAVR   19 Septembre 2011 - 21
Simulation Open Framework Architecturejerome.esnault@inria.fr - SOFAVR   19 Septembre 2011 - 22
Couches – SOFA<->SOFAVR OpenSceneGraph                                                                        Contrôleur d...
Couches – SOFA<->SOFAVR                                     Application User                                              ...
Méthode de collaboration :              Granulation temporelle et informationnelle asynchrone                             ...
Méthode Agile - codage                                                             Utilisateurs finaux                    ...
Tâches prévues  Dec         • Prise en main de Sofa (en continue) Janv         • SofaOsg :Fev-        Intégration d’un ren...
Tâches non prévues  Dec         • Initialisation gestion de projet (forge git/svn – Cmake – PmWiki)         • Prise en mai...
Cas d’utilisation : StandaloneOsgViewer (sous sofavr)                                   sofaOsg                           ...
Cas d’utilisation : sofavr Basé sur MPI :                    sofaOsg •Le même code …                                      ...
SOFAVR CppDependjerome.esnault@inria.fr - SOFAVR            19 Septembre 2011 - 31
SOFAVR CppDependjerome.esnault@inria.fr - SOFAVR         19 Septembre 2011 - 32
Equipements, ressources INRIA-RennesEquipements :•CAVE = Sol + mur vertical (10m de long + 3m de haut + 3m profondeur)    ...
Prochain SlideShare
Chargement dans…5
×

SOFAVR_jesnault_19-09-11_presentation1

330 vues

Publié le

Le travail consistait à créer une extension du projet SOFA (Simulation Open Framework Architecture) nommé SOFAVR portant l’application de simulation physique sur des équipements de Réalité Virtuelle. Une première partie est d’adapter le rendu 3D séquentiel de SOFA (OpenGL) à un rendu 3D orienté graphe de scène (OpenSceneGraph). Une seconde partie est d’adapter l’architecture de SOFA aux équipements de Réalité Virtuelle, dans un premier temps dans la salle immersive de Sophia Antipolis, puis dans un second temps dans les autres centres. Voici la première présentation des premiers résultats.

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
330
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
6
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • 1) sofaOsg (passerelle entre SOFA et OSG) a) Plugin SOFA pour un rendu OSG dans l’interface graphique Qt (utilisable par l’application standard de SOFA) b) Plugin SOFA pour un rendu externalisé (fenêtrée et dans un boucle séparé de celle du rendu) -&gt; self-threaded2) Bibliothèque Sofapp a) Encapsule l’application principale de SOFA a) Inhibe la création automatique d’un rendu b) Création d’un rendu manuellement (basé sur osgvr et utilisant sofaOsg)3) Application sofavr (utilisant le projet OSGVR) a) Création d’un mode de rendu OSGVR faisant le lien avec sofaOsg permettant l’affichage sur le CADWALL de Sophia b) Travaux d’integration sur le CAVE (ISPACE) en cours car basé sur MPI -&gt; gestion de la communication (le même code sur plusieurs machines)
  • SOFAVR_jesnault_19-09-11_presentation1

    1. 1. SOFAVRSimulation Open Framework Architecturefor Virtual Reality SERVICE : DREAM EQUIPE PROJET : SOFA Sophia-Antipolis 19 Septembre 2011
    2. 2. SOMMAIRE1. Contextes – Objectifs - Contraintes2. SOFAVR - actuellement3. Suite du projet jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 2
    3. 3. 1Contextes – Objectifs - Contraintes1.1 Simulation Open Framework Architecture1.2 Objectifs et résultats attendus1.3 Initialisation du projet SOFAVR
    4. 4. 1.2 Simulation Open Framework Architecture Graphe de Simulation : Composants (400) :• Visuels• Topologique• Mapping• Calcul ODE / linéaire• Champs de forces• Modèles de collisions• Contraintes… Description XML Interface graphique Qt + rendu OpenGL Application SOFA jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 4
    5. 5. 1.2 Objectifs et résultats attendusPorter SOFA sur des équipements de Réalité Virtuelle :• S’adapter aux différents dispositifs d’affichage (sphérique, cubique…) des équipements de Réalité Virtuelle• Avoir des Interactions Homme-Machine favorisant l’immersion (plus de clavier / souris), découplées de la visualisation• Désynchronisation de la simulation et du rendu en deux boucles indépendantes (avoir un rendu orienté utilisateur)Pré requis :• Prise en main de SOFA et des API/outils disponiblesRésultats attendus :• Apporter une brique technologique innovante supplémentaire à SOFA• Promouvoir l’utilisation d’équipements de Réalité Virtuelle• Favoriser les échanges inter-INRIA (national) en contribuant à l’homogénéisation d’une architecture compatible avec les différents équipements de Réalité Virtuelle. jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 5
    6. 6. 1.3 Initialisation du projet SOFAVR Fort dynamisme Naissance Besoin de stabilité et de confort SOFA-DEV SOFAVR Dépôt SVN: Dépôt GIT :branche sofa-dev branche svn git svn fetch git pushDépôt distant Dépôt GIT : .svn branche svnDépôt local git commit git svn rebase Dépôt GIT :Répertoire de travail branche svn https://gforge.inria.fr/projects/sofa-vr/ jerome.esnault@inria.fr - SOFAVR -6 19 Septembre 2011
    7. 7. 1.3 Initialisation du projet SOFAVR Rythme des cycles de développement différents Etre le moins intrusif possible SOFA-DEV SOFAVR Dépôt SVN: Dépôt GIT : Dépôt GIT :branche sofa-dev branche svn branche master git pushDépôt distant git merge svn Dépôt GIT : Dépôt GIT : .svn branche svn branche masterDépôt local git checkout master git commit Dépôt GIT : Dépôt GIT : branche Master branche svn Conflits? branche MasterRépertoire de travail https://gforge.inria.fr/projects/sofa-vr/ jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 7
    8. 8. 1.3 Initialisation du projet SOFAVR Synchronisation régulière pour ne pas diverger SOFA-DEV SOFAVR Dépôt SVN: Dépôt GIT : Dépôt GIT : Dépôt GIT :branche sofa-dev branche svn branche master branche masterDépôt distant Dépôt GIT : Dépôt GIT : Dépôt GIT : git svn dcommit .svn branche svn branche master branche masterDépôt local Dépôt GIT : Dépôt GIT :Répertoire de travail branche master branche master https://gforge.inria.fr/projects/sofa-vr/ jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 8
    9. 9. 2SOFAVR - actuellement2.1 Structure du projet2.2 SOFAVR aujourd’hui2.2 Cas d’utilisation : sofaOsg et ses plugins
    10. 10. 2.1 Structure du projet Dépendances des projets :Autres MPI VRPN Autres OpenGL Qt Autres OpenSceneGraph (SVN-CMake) OSGVR (GIT-CMake) SOFA-DEV (SVN-QMake) SOFAVR (GIT-CMake) Arborescence du projet (Cmake) : Sources Bibliothèques Plugins Applications sofaOsg sofapp QtOsgViewer StandaloneOsgViewer « tests » sofavr jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 10
    11. 11. 2.2 SOFAVR aujourd’hui Bibliothèque Bibliothèque Bibliothèque sofaOsg sofapp osgvr Réalité Plugin Plugin Virtuelle : QtOsg Standalone Application sofavr Viewer OsgViewer • IHM fenêtrée CADWALL Application runSofa • Rendu plein écran Machine Maitre : Main thread : simulation I-SPACE Machines esclaves: Render threads jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 11
    12. 12. 2.3 sofaOsg et ses plugins : cas d’utilisation ObjectFactory FileRepository SofaViewer SofaPluginRessourcePath OsgSofaViewer SofaXmlAliases OsgBackground QtOsgViewer osg root node Background node Camera jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 12
    13. 13. 2.3 sofaOsg et ses plugins : cas d’utilisation ObjectFactory FileRepository SofaViewer <<Interface>> SofaPluginRessourcePath OsgSofaViewer DrawManager SofaXmlAliases OsgBackground OsgSofaDrawManager QtOsgViewer osg sofaRoot node osg root node debugDisplay node Background node Camera Geometries Drawables Visual Primitives jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 13
    14. 14. 2.3 sofaOsg et ses plugins : cas d’utilisation VisualModel ObjectFactory FileRepository SofaViewer VisualModelImpl <<Interface>> SofaPluginRessourcePath OsgSofaViewer DrawManager SofaXmlAliases OsgBackground OsgModel OsgSofaDrawManager QtOsgViewer osg sofaRoot node osg root node OsgSofaVisualModel debugDisplay nodeMatrixTransform node Background node Camera Switch node Models nodes Geometries DrawablesVisual Visual Visual PrimitivesNormals Model jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 14
    15. 15. 3Bilans - perspectives3.1 Jalonnage3.2 Planning à suivre – ouvertures3.3 Retour d’expériences
    16. 16. 3.1 Jalonnage - bilan Analyse métier & Intégration et fonctionnelle validation Conception générale Conception Tests & et préliminaire assemblages Codage Cycles itératifs 1. Configuration du projet 2. Prise en main d’OSG et de SOFA 3. Cycles itératifs d’analyses, de développements et de tests techniques 4. Intégration d’un plugin OSG Viewer basé sur Qt dans SOFA 5. Développements d’outils de chargement / déchargements de scènes SOFA… + autres 6. Développement d’un Viewer OSG Standalone self-threaded 7. Application SOFAVR basée sur OSGVR et MPI 8. Documentation (WIKI – code) Dec Jan Fev Mar Avr Mai Jui Juil Aout jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 16
    17. 17. 3.1 La situation aujourd’hui Jalons prévisionnels Jalons réalisées Avancedurée jalon durée jalon ments 1 Initialisation du projet (wiki, outils, configuration ) NP 2 Prise en main de SOFA 1 Prise en main de SOFA (rendu) P 1 Rendu OSG dans SOFA P 1 Séparation GUI / Rendu P 1 Visualisation asynchrone. 1 Séparation SIMU(main thread) / rendu (self-threaded) P 1 Gestion du démarrage de SOFA et de sa vue NP 1 Sécurisation, compatibilité, outils OSG NP 1 Connexion périph I - Travaux sur OSGVR P 1 Connexion périph I/O - - P 1 Visualisation CadWall 2 Application SOFAVR sur CadWall et iSpace P 2 Visualisation iSpace 3 SOFA-VR autres centres - Collaboration avec Rennes P 1 Intégration releases SOFA - Intégration local et proposition d’un plan d’intégration P P : Prévus NP : Non prévus jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 17
    18. 18. 3.2 Planning à suivre et ouvertures• Distribution MPI (SOFAVR sur I-Space)• Couplage de SOFAVR avec les interfaces de Réalité Virtuelle• Portage de SOFAVR vers les autres centres INRIA• Contribution au projet OSGVR / SOFAVR (et support)• Contribution au projet SOFA / SOFAVR (et support)• Intégration aux releases de SOFAProjet international MixedReality :• Création d’une API OpenSource dédiée RV en collaboration avec les centres INRIA• Projet porté par la D2T• Collaboration nationale Rennes/Grenoble – internationale Allemagne (IGD- fraunhofer)• SOFA est le cas d’utilisation  implication dans les processus du projet… jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 18
    19. 19. 3.3 Retour d’expérienceImplantation géographique : service DREAM (Sophia)Implantation projet : SOFA (Lille – Grenoble – Sophia)Maintien de la cohérence du projet SOFAVR :• Gestion de projet : - Réunion hebdomadaire SOFAVR - Réunion mensuelle SOFAVR (DREAM) / SOFA (EVASION-SHAMAN-ASCLEPIOS) - Wiki dédié à jour• Implications multiples : - Familiarisation des outils (GIT, CMake/cmaketools, OSG, documentation) - Participation au projet SOFA (réunions, chat IRC, mailling-list, documentation) jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 19
    20. 20. Merci de votre attention. Des questions ? PmWiki SofaVR : https://www-sop.inria.fr/dream/wiki/SofaVR/SofaVR SofaVR sur la forge (demander l’accès): https://gforge.inria.fr/projects/sofavr/
    21. 21. Simulation Open Framework Architecture jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 21
    22. 22. Simulation Open Framework Architecturejerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 22
    23. 23. Couches – SOFA<->SOFAVR OpenSceneGraph Contrôleur d’objets SceneManagement Entrées Graphe de scène périphériques Propriétés Comportement des physiques desRessourceManagement objets objetsMateriaux Textures Animations Logique Monde Physique Outils Mise à jour position / déformation / son de collisionsMath String Logging Viewer Rendu visuel Monde Audio Réalité virtuelle Sources sonores Rendu de l’objet à min 25 des objets images / s Moteur de simulation jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 23
    24. 24. Couches – SOFA<->SOFAVR Application User ModelerFramework - services Sound GUI Datas Input Sofa - GUI Sofa - Ressources SceneGraph Sofa - Components C / C++ / Standard Sofa - Viewer scripts OpenAL… C++ VRPN GL libraries Sofa – Helper (tools) GPGPU Sofa - Core I/O clavier Computer Hardware Sound Graphic souris CPU Cluster card card joystick - ART… Immersive room jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 24
    25. 25. Méthode de collaboration : Granulation temporelle et informationnelle asynchrone Collaboration en session Equipe sofavr (DREAM) Modèle 3C : Equipe sofa-dev PmWiki Communication MediaWiki-TracWiki- HUDSON-chat CMake Coordination QMake GIT Collaboration SVNUser 1 User 2 User User NF 1 NF 2 1 2 SOFAVR Repo forge SOFAUser 3 User 4 User User NF 3 NF 4 3 4 jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 25
    26. 26. Méthode Agile - codage Utilisateurs finaux Version 1.0.1 fonctionnelle Rapports de tests Mesure satisfaction clients Version 1.0.0 Version 1.0.1 BUG fonctionnelle fonctionnelle Réflexions jalon n+1 & corrections Développements jalonDéveloppements jalon n BUG version n - i n+1 Avec i le nombre d’itérations précédentes Ligne du temps jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 26
    27. 27. Tâches prévues Dec • Prise en main de Sofa (en continue) Janv • SofaOsg :Fev- Intégration d’un renduOSG dans SOFA (plugin Qt)Mars Connexion au modèle visuel (avec déformations + textures)Avril- Mai Travaux sur le mode « standaloneviewer » osg (plugin) Juin- Travaux sur le mode multi-thread (simu <-> rendu) Juil • SofaVR :Aout- Intégration d’OSGVR Sept Interactions SOFAVR tps jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 27
    28. 28. Tâches non prévues Dec • Initialisation gestion de projet (forge git/svn – Cmake – PmWiki) • Prise en main d’OpenSceneGraph (en continue) Janv • SofaOsg : • Travaux sur RigidState (mis en attente d’intégration)Fev- • Travaux sur le chargement/déchargement (ressources dir / XML)Mars • Ajout sur les outils OSG (background – debug infos)Avril- Mai • Autres : Juin- Sandbox.git (en continue) Juil Cmaketools.git (en continue) Groupe de travail communication interne (réunions ponctuelles)Aout- Sept tps jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 28
    29. 29. Cas d’utilisation : StandaloneOsgViewer (sous sofavr) sofaOsg •Inhiber la création automatique d’un viewer SofaThreadApplication sofavr •Création d’un viewer manuellement (main) StandAloneOsgViewer •Construit le graph de scène OSG • Rend la scène dans une fenêtre indépendante • Externalisation du rendu dans une boucle dédiée Main thread : QApplication (GUI) + simulation Render thread : OsgViewerStandalone (draw visitors on sofa graph) jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 29
    30. 30. Cas d’utilisation : sofavr Basé sur MPI : sofaOsg •Le même code … Inhiber la création automatique d’un viewer SofaThread Création d’un viewer manuellementApplication sofavr (main) SofaVRViewer Osgvr::Viewer::AbstractViewer Abstraction d’un rendu sur I-space et CAD-WALL SofaVRCallBack Mise à jour du graph de scène OSG …tournant indépendamment sur 1 machine maitre et des machines esclaves : Machine Maitre : Machines esclaves: Main thread : Render threads : QApplication (GUI) + simulation SofaVRViewer (draw visitors on sofa graph) jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 30
    31. 31. SOFAVR CppDependjerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 31
    32. 32. SOFAVR CppDependjerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 32
    33. 33. Equipements, ressources INRIA-RennesEquipements :•CAVE = Sol + mur vertical (10m de long + 3m de haut + 3m profondeur) • Stéréo active (INFITEC) (sync par 6 émetteurs infrarouges) • 2 machines quadroplex + 1 • Tracking ART 16 caméras • 2 API (OpenMASK et ColaVIZ) •Son spacialisé (OpenAL wrappé dans OpenMASK et ColaVIZ) • OS windows •Applis Ogre pas encore portées en salle•HAPTIC : 2 bras à retour d’effort (dont un phantom)• Utilisations de SOFA: •Avec INRIA-Lille sur une appli de neuro-chirurgie •A INRIA-Rennes contrôle de déplacement de robot sur surface flexible (abdomen) jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 33

    ×