SlideShare ist ein Scribd-Unternehmen logo
1 von 25
SOFAVR 
Simulation Open Framework Architecture 
for Virtual Reality 
SERVICE : DREAM 
EQUIPE PROJET : SOFA 
Sophia-Antipolis 01 Octobre 2012
SOMMAIRE 
1. Contextes – Objectifs - Contraintes 
2. SOFAVR et les projets connexes 
3. Bilan- perspectives 
jerome.esnault@inria.fr - SOFAVR 01 Octobre 2012 - 2
1 
Contextes – Objectifs - Contraintes 
1.1 Simulation Open Framework Architecture 
1.2 Objectifs et résultats attendus 
1.3 Méthode de travail
1.1 Simulation Open Framework Architecture 
Composants (400) : 
• Visuels 
• Topologique 
• Mapping 
• Calcul ODE / linéaire 
• Champs de forces 
• Modèles de collisions 
• Contraintes 
… 
Graphe de Simulation : 
Description XML 
Application SOFA 
Interface graphique Qt + 
rendu OpenGL 
jerome.esnault@inria.fr - SOFAVR 01 Octobre 2012 - 4
1.1 Simulation Open Framework Architecture 
jerome.esnault@inria.fr - SOFAVR 01 Octobre 2012 - 5
1.2 Objectifs et résultats attendus 
Porter SOFA sur des équipements de Réalité Virtuelle : 
• Conserver les scènes et l’interface utilisateur de SOFA 
• S’adapter aux différents dispositifs d’affichage 
• Désynchronisation de la simulation et du rendu 
• Avoir des Interactions Homme-Machine favorisant l’immersion 
Ré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 01 Octobre 2012 - 6
1.3 Méthode de travail 
Nouvelles taches Retour d’expériences 
But du sprint: ... 
Durée/date du sprint: … 
INDICATEURS 
Taches 
jerome.esnault@inria.fr - SOFAVR 01 Octobre 2012 - 7 
IMPORTANCE 
TO DO RESERVED DONE 
Non planifiés : 
… 
Suivant : 
… 
pts 
tps 
SCRUM 
Taches 
Taches 
Taches 
Taches
2 
SOFAVR et les projets connexes 
2.1 Dépendances, contraintes et structure du projet 
2.2 Fonctionnement du projet 
2.3 Implications dans les autres projets
2.1 Dépendances contraintes et structure du projet 
Dépendances des projets : 
MPI Autres VRPN Autres OpenGL Qt Autres 
OpenSceneGraph (SVN-CMake) 
isiVR (GIT-CMake) SOFA-DEV (SVN-QMake) 
SOFAVR (GIT-CMake) cmakeTools VCoRE (GIT-CMake) 
cmakeTools 
cmakeTools 
CMakeTools (GIT-CMake) 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 9
2.1 Dépendances contraintes et structure du projet 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 10
2.1 Dépendances contraintes et structure du projet 
Arborescence du projet (Cmake) : 
Sources 
Bibliothèques Plugins Applications 
sofavr 
sofaOsg 
SOFA 
QtOsgViewer 
StandaloneOsgViewer 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 11 
helper 
helperOsg 
helperSofa 
sofaApp 
isiSofa 
isiVR 
SofaWand 
useSofaApp 
sofavr
2.2 Fonctionnement du projet 
1er Plugin de rendu OpenSceneGraph : 
• Orienté Graphe de Scène 
• Synchrone avec la simulation 
• Embarqué dans l’interface graphique utilisateur 
OSG Root 
OSG utils (camera/background…) 
OSG Sofa visual 
OSG Sofa debug draw 
OSG Sofa visual draw 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 12
2.2 Fonctionnement du projet 
2nd Plugin de rendu OpenSceneGraph : 
• Orienté Graphe de Scène 
• Visualisation désynchronisé de la simulation (multi-thread) 
• Détachée de l’interface graphique utilisateur 
Main thread (simu+GUI SOFA) 
Can write data? 
SOFA 
DATAS 
Can read data? 
OSG viewer threads 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 13
2.2 Fonctionnement du projet 
Application sofavr : 
• Orienté Graphe de Scène 
• Visualisation désynchronisé de la simulation (multi-thread) 
• Détachée de l’interface graphique utilisateur 
• Utilise isiVR pour la portabilité vers les équipements de RV 
• Une seule application pour différents usages/équipements 
Le mode Single (mono machine) : 
Machine Node 0 
Send GUI events 
Rescale visualisation 
Send viewer events 
Rescale 3D interaction 
Main thread (simu+GUI SOFA) 
Can write data? 
SOFA 
DATAS 
Can read data? 
isiVR viewer threads 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 14
2.2 Fonctionnement du projet 
Le mode cluster (multi machines) : 
LAUNCH 
Machine Node 0 
mpirun 
SOFA threads 
isiVR threads 
Machine Node 1 
SOFA threads 
isiVR threads 
• 
• 
• 
Events and 
synchro 
synchro 
Machine Node 4 
SOFA threads 
isiVR threads 
Tracking system 
Périphérique 
trackés 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 15
2.3 Implication dans les autres projets 
• Création et contribution au projet CMakeTools 
• Ajouts de targets spécifiques 
• Ajouts de modules / macros / fonctions 
• Collaboration au projet SOFA (refactorisation GUI et Viewer) 
• Déploiement de SOFAVR dans l’équipe SOFA 
• Passage progressif à CMake 
• Collaboration au projet isiVR (fonctionnalité, maintenance) 
• Accompagnement/support pour isiVR et la salle immersive 
• Participation aux coding-sprint (déploiement de CMakeTools) 
• Collaboration au projet VCoRE (SOFAVR comme base de travail) 
• Participation aux réunions et formations sur les outils et codes 
existant 
• Participation aux coding-sprint (déploiement de CMakeTools) 
• Gestion CMake/GIT des différents dépôts des projets et documentation 
continue de l’ensemble 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 16
3 
Bilans - perspectives 
3.1 Jalonnage 
3.2 Ouvertures 
3.3 Retour d’expériences
Analyse métier & 
fonctionnelle 
Conception générale 
et préliminaire 
1. Compatibilité entre SOFA et OpenSceneGraph 
2. Désynchronisation et multi-fenêtrage 
3. 1ère version de sofavr 
4. Mise en place d’une méthode agile basé sur SCRUM 
5. Création du projet CMakeTools et déploiement / utilisation sur les projets 
6. Amélioration du multi-thread et de la synchro 
7. Ajouts des interactions 3D de SOFA et gestion de la préservation des scènes (mise à l’échelle) 
8. Documentation (WIKI – code) 
Codage 
Tests & 
assemblages 
Intégration et 
validation 
Conception 
Cycles itératifs 
Septembre 
2012 
3.1 Jalonnage - bilan 
Décembre 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 18 
2010
3.2 Ouvertures 
• Amélioration du system d’interaction 3D (ergonomie, affichage, 
périphériques…) 
• Gestion du son spécialisé 
• Interactions 3D multiple 
• Abstraction complète de graphe de scène 
• Ajouter d’autres composants visuels SOFA (lumières, shaders…) 
• Gestion de la configuration de sofavr/isiVR dans un composant 
• Gestion des systèmes haptiques… 
• Stabilisation/amélioration de CMakeTools (Ctest, Cpack, Cdash)… 
• Amélioration de la conception coté SOFA pour proposer plus d’interfaces 
aux autres projets (pour utiliser SOFA plus facilement)… 
• Développement du mode composite et simulation d’isiVR… 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 19
3.3 Retour d’expérience 
++ Variété des missions 
++ Variété des domaines d’activités à explorer 
++ Possibilité de monter en compétence 
++ Environnement de développement 
++ Collaboration inter-centre, inter-plateforme, franco-anglaise/franco-allemande 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 20
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/ 
Merci de votre attention 
Des questions ?
Couches – SOFA<->SOFAVR 
Entrées 
périphériques 
Logique 
Contrôleur d’objets 
Comportement des 
Propriétés 
physiques des 
objets 
Monde Physique 
objets 
Mise à jour position / déformation / 
Rendu visuel Monde Audio 
Rendu de l’objet à min 25 
images / s 
Moteur de simulation 
Sources sonores 
des objets 
son de collisions 
OpenSceneGraph 
SceneManagement 
Graphe de scène 
RessourceManagement 
Materiaux Textures 
Animations 
Outils 
Math String Logging 
Viewer 
Réalité virtuelle 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 22
Couches – SOFA<->SOFAVR 
Application User 
Sound GUI Datas Input 
Framework - 
services 
SceneGraph 
Standard 
C++ 
libraries 
GL 
OpenAL… 
GPGPU 
C / C++ / 
scripts 
VRPN 
Sound 
card 
Graphic 
card 
CPU 
Hardware 
I/O clavier 
souris 
joystick - 
ART… 
Modeler 
Sofa - GUI 
Sofa - Ressources 
Sofa - Components 
Sofa - Viewer 
Sofa – Helper (tools) 
Sofa - Core 
Computer 
Cluster 
Immersive room 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 23
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- 
Repo forge 
SOFAVR 
User 1 
NF 1 
User 2 
NF 2 
User 3 
NF 3 
User 4 
NF 4 
HUDSON-chat 
SOFA 
User 
1 
User 
2 
User 
3 
User 
4 
CMake Coordination QMake 
GIT Collaboration SVN 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 24
Méthode Agile - codage 
Rapports de tests 
Développements jalon n Développements jalon 
n+1 
Ligne du temps 
Réflexions jalon n+1 & corrections 
BUG version n - i 
Version 1.0.0 
fonctionnelle 
Version 1.0.1 
fonctionnelle 
BUG 
Utilisateurs finaux 
Version 1.0.1 fonctionnelle 
Mesure satisfaction 
clients 
Avec i le nombre d’itérations précédentes 
jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 25

Weitere ähnliche Inhalte

Andere mochten auch (20)

6-Cm15 14-15
6-Cm15 14-156-Cm15 14-15
6-Cm15 14-15
 
Les mets suisses
Les mets suissesLes mets suisses
Les mets suisses
 
Relacion de la tecnologia con el desarrollo económico social
Relacion de la tecnologia con el desarrollo económico socialRelacion de la tecnologia con el desarrollo económico social
Relacion de la tecnologia con el desarrollo económico social
 
Pour les abonnés de la saison 2012-2013
Pour les abonnés de la saison 2012-2013Pour les abonnés de la saison 2012-2013
Pour les abonnés de la saison 2012-2013
 
6-Cm6 15-16
6-Cm6 15-166-Cm6 15-16
6-Cm6 15-16
 
Ipoe (APPLOIDE)
Ipoe (APPLOIDE)Ipoe (APPLOIDE)
Ipoe (APPLOIDE)
 
4-Cm3 14-15
4-Cm3 14-154-Cm3 14-15
4-Cm3 14-15
 
Panorama Top 250 des éditeurs et créateurs de logiciels français
Panorama Top 250 des éditeurs et créateurs de logiciels françaisPanorama Top 250 des éditeurs et créateurs de logiciels français
Panorama Top 250 des éditeurs et créateurs de logiciels français
 
6-Cm16 14-15
6-Cm16 14-156-Cm16 14-15
6-Cm16 14-15
 
A5-Droit à l'image & création salariale
A5-Droit à l'image & création salarialeA5-Droit à l'image & création salariale
A5-Droit à l'image & création salariale
 
Lancement LJE alumni
Lancement LJE alumniLancement LJE alumni
Lancement LJE alumni
 
4-Cm26 14-15
4-Cm26 14-154-Cm26 14-15
4-Cm26 14-15
 
4-Cm2 14-15
4-Cm2 14-154-Cm2 14-15
4-Cm2 14-15
 
4-Cm19 11-12
4-Cm19 11-124-Cm19 11-12
4-Cm19 11-12
 
Congo
CongoCongo
Congo
 
A8 management dans les grosses structures
A8 management dans les grosses structuresA8 management dans les grosses structures
A8 management dans les grosses structures
 
3-Cm21 2011-2012
3-Cm21 2011-20123-Cm21 2011-2012
3-Cm21 2011-2012
 
Foro III CB María Mora
Foro III CB María MoraForo III CB María Mora
Foro III CB María Mora
 
6-Cm8 14-15
6-Cm8 14-156-Cm8 14-15
6-Cm8 14-15
 
Ajouter du son sur prezi
Ajouter du son sur preziAjouter du son sur prezi
Ajouter du son sur prezi
 

Ähnlich wie ADT SOFAVR jesnault 01-10-12 final presentation 2

SOFAVR_jesnault_19-09-11_presentation1
SOFAVR_jesnault_19-09-11_presentation1SOFAVR_jesnault_19-09-11_presentation1
SOFAVR_jesnault_19-09-11_presentation1Jérôme Esnault
 
La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsChristophe Villeneuve
 
Transhumance pres anr_25-septembre synthese v10
Transhumance pres anr_25-septembre synthese v10Transhumance pres anr_25-septembre synthese v10
Transhumance pres anr_25-septembre synthese v10François Huguet
 
Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...GDG Bujumbura
 
Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Microsoft
 
Une plateforme moderne pour le groupe SIPA/Ouest-France 
Une plateforme moderne pour le groupe SIPA/Ouest-France Une plateforme moderne pour le groupe SIPA/Ouest-France 
Une plateforme moderne pour le groupe SIPA/Ouest-France François-Guillaume Ribreau
 
OCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware
 
Microsoft mdday2010
Microsoft mdday2010Microsoft mdday2010
Microsoft mdday2010MD DAY
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 MinutesMicrosoft
 
Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3Anne-Marie Pinna-Dery
 
retour sur confoo2011 et Symfony2
retour sur confoo2011 et Symfony2retour sur confoo2011 et Symfony2
retour sur confoo2011 et Symfony2Saad Tazi
 
Programmation Android - 01 - Introduction
Programmation Android - 01 - IntroductionProgrammation Android - 01 - Introduction
Programmation Android - 01 - IntroductionYann Caron
 
Xamarin.Forms [french]
Xamarin.Forms [french]Xamarin.Forms [french]
Xamarin.Forms [french]Laurent Duveau
 

Ähnlich wie ADT SOFAVR jesnault 01-10-12 final presentation 2 (20)

SOFAVR_jesnault_19-09-11_presentation1
SOFAVR_jesnault_19-09-11_presentation1SOFAVR_jesnault_19-09-11_presentation1
SOFAVR_jesnault_19-09-11_presentation1
 
La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applications
 
Transhumance pres
Transhumance presTranshumance pres
Transhumance pres
 
Transhumance pres anr_25-septembre synthese v10
Transhumance pres anr_25-septembre synthese v10Transhumance pres anr_25-septembre synthese v10
Transhumance pres anr_25-septembre synthese v10
 
Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...
 
Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5
 
Une plateforme moderne pour le groupe SIPA/Ouest-France 
Une plateforme moderne pour le groupe SIPA/Ouest-France Une plateforme moderne pour le groupe SIPA/Ouest-France 
Une plateforme moderne pour le groupe SIPA/Ouest-France 
 
OCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCS
 
Flutter Rennes - #1
Flutter Rennes - #1Flutter Rennes - #1
Flutter Rennes - #1
 
Microsoft mdday2010
Microsoft mdday2010Microsoft mdday2010
Microsoft mdday2010
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 Minutes
 
Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3
 
retour sur confoo2011 et Symfony2
retour sur confoo2011 et Symfony2retour sur confoo2011 et Symfony2
retour sur confoo2011 et Symfony2
 
dossier20-ecran
dossier20-ecrandossier20-ecran
dossier20-ecran
 
Programmation Android - 01 - Introduction
Programmation Android - 01 - IntroductionProgrammation Android - 01 - Introduction
Programmation Android - 01 - Introduction
 
Fully Automated Nagios Jm2L 2009
Fully Automated Nagios Jm2L 2009Fully Automated Nagios Jm2L 2009
Fully Automated Nagios Jm2L 2009
 
Enseigner avec la 3d
Enseigner avec la 3dEnseigner avec la 3d
Enseigner avec la 3d
 
Xamarin.Forms [french]
Xamarin.Forms [french]Xamarin.Forms [french]
Xamarin.Forms [french]
 
Formation mobile-cross-platform
Formation mobile-cross-platformFormation mobile-cross-platform
Formation mobile-cross-platform
 
Gl intro
Gl introGl intro
Gl intro
 

ADT SOFAVR jesnault 01-10-12 final presentation 2

  • 1. SOFAVR Simulation Open Framework Architecture for Virtual Reality SERVICE : DREAM EQUIPE PROJET : SOFA Sophia-Antipolis 01 Octobre 2012
  • 2. SOMMAIRE 1. Contextes – Objectifs - Contraintes 2. SOFAVR et les projets connexes 3. Bilan- perspectives jerome.esnault@inria.fr - SOFAVR 01 Octobre 2012 - 2
  • 3. 1 Contextes – Objectifs - Contraintes 1.1 Simulation Open Framework Architecture 1.2 Objectifs et résultats attendus 1.3 Méthode de travail
  • 4. 1.1 Simulation Open Framework Architecture Composants (400) : • Visuels • Topologique • Mapping • Calcul ODE / linéaire • Champs de forces • Modèles de collisions • Contraintes … Graphe de Simulation : Description XML Application SOFA Interface graphique Qt + rendu OpenGL jerome.esnault@inria.fr - SOFAVR 01 Octobre 2012 - 4
  • 5. 1.1 Simulation Open Framework Architecture jerome.esnault@inria.fr - SOFAVR 01 Octobre 2012 - 5
  • 6. 1.2 Objectifs et résultats attendus Porter SOFA sur des équipements de Réalité Virtuelle : • Conserver les scènes et l’interface utilisateur de SOFA • S’adapter aux différents dispositifs d’affichage • Désynchronisation de la simulation et du rendu • Avoir des Interactions Homme-Machine favorisant l’immersion Ré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 01 Octobre 2012 - 6
  • 7. 1.3 Méthode de travail Nouvelles taches Retour d’expériences But du sprint: ... Durée/date du sprint: … INDICATEURS Taches jerome.esnault@inria.fr - SOFAVR 01 Octobre 2012 - 7 IMPORTANCE TO DO RESERVED DONE Non planifiés : … Suivant : … pts tps SCRUM Taches Taches Taches Taches
  • 8. 2 SOFAVR et les projets connexes 2.1 Dépendances, contraintes et structure du projet 2.2 Fonctionnement du projet 2.3 Implications dans les autres projets
  • 9. 2.1 Dépendances contraintes et structure du projet Dépendances des projets : MPI Autres VRPN Autres OpenGL Qt Autres OpenSceneGraph (SVN-CMake) isiVR (GIT-CMake) SOFA-DEV (SVN-QMake) SOFAVR (GIT-CMake) cmakeTools VCoRE (GIT-CMake) cmakeTools cmakeTools CMakeTools (GIT-CMake) jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 9
  • 10. 2.1 Dépendances contraintes et structure du projet jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 10
  • 11. 2.1 Dépendances contraintes et structure du projet Arborescence du projet (Cmake) : Sources Bibliothèques Plugins Applications sofavr sofaOsg SOFA QtOsgViewer StandaloneOsgViewer jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 11 helper helperOsg helperSofa sofaApp isiSofa isiVR SofaWand useSofaApp sofavr
  • 12. 2.2 Fonctionnement du projet 1er Plugin de rendu OpenSceneGraph : • Orienté Graphe de Scène • Synchrone avec la simulation • Embarqué dans l’interface graphique utilisateur OSG Root OSG utils (camera/background…) OSG Sofa visual OSG Sofa debug draw OSG Sofa visual draw jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 12
  • 13. 2.2 Fonctionnement du projet 2nd Plugin de rendu OpenSceneGraph : • Orienté Graphe de Scène • Visualisation désynchronisé de la simulation (multi-thread) • Détachée de l’interface graphique utilisateur Main thread (simu+GUI SOFA) Can write data? SOFA DATAS Can read data? OSG viewer threads jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 13
  • 14. 2.2 Fonctionnement du projet Application sofavr : • Orienté Graphe de Scène • Visualisation désynchronisé de la simulation (multi-thread) • Détachée de l’interface graphique utilisateur • Utilise isiVR pour la portabilité vers les équipements de RV • Une seule application pour différents usages/équipements Le mode Single (mono machine) : Machine Node 0 Send GUI events Rescale visualisation Send viewer events Rescale 3D interaction Main thread (simu+GUI SOFA) Can write data? SOFA DATAS Can read data? isiVR viewer threads jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 14
  • 15. 2.2 Fonctionnement du projet Le mode cluster (multi machines) : LAUNCH Machine Node 0 mpirun SOFA threads isiVR threads Machine Node 1 SOFA threads isiVR threads • • • Events and synchro synchro Machine Node 4 SOFA threads isiVR threads Tracking system Périphérique trackés jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 15
  • 16. 2.3 Implication dans les autres projets • Création et contribution au projet CMakeTools • Ajouts de targets spécifiques • Ajouts de modules / macros / fonctions • Collaboration au projet SOFA (refactorisation GUI et Viewer) • Déploiement de SOFAVR dans l’équipe SOFA • Passage progressif à CMake • Collaboration au projet isiVR (fonctionnalité, maintenance) • Accompagnement/support pour isiVR et la salle immersive • Participation aux coding-sprint (déploiement de CMakeTools) • Collaboration au projet VCoRE (SOFAVR comme base de travail) • Participation aux réunions et formations sur les outils et codes existant • Participation aux coding-sprint (déploiement de CMakeTools) • Gestion CMake/GIT des différents dépôts des projets et documentation continue de l’ensemble jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 16
  • 17. 3 Bilans - perspectives 3.1 Jalonnage 3.2 Ouvertures 3.3 Retour d’expériences
  • 18. Analyse métier & fonctionnelle Conception générale et préliminaire 1. Compatibilité entre SOFA et OpenSceneGraph 2. Désynchronisation et multi-fenêtrage 3. 1ère version de sofavr 4. Mise en place d’une méthode agile basé sur SCRUM 5. Création du projet CMakeTools et déploiement / utilisation sur les projets 6. Amélioration du multi-thread et de la synchro 7. Ajouts des interactions 3D de SOFA et gestion de la préservation des scènes (mise à l’échelle) 8. Documentation (WIKI – code) Codage Tests & assemblages Intégration et validation Conception Cycles itératifs Septembre 2012 3.1 Jalonnage - bilan Décembre jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 18 2010
  • 19. 3.2 Ouvertures • Amélioration du system d’interaction 3D (ergonomie, affichage, périphériques…) • Gestion du son spécialisé • Interactions 3D multiple • Abstraction complète de graphe de scène • Ajouter d’autres composants visuels SOFA (lumières, shaders…) • Gestion de la configuration de sofavr/isiVR dans un composant • Gestion des systèmes haptiques… • Stabilisation/amélioration de CMakeTools (Ctest, Cpack, Cdash)… • Amélioration de la conception coté SOFA pour proposer plus d’interfaces aux autres projets (pour utiliser SOFA plus facilement)… • Développement du mode composite et simulation d’isiVR… jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 19
  • 20. 3.3 Retour d’expérience ++ Variété des missions ++ Variété des domaines d’activités à explorer ++ Possibilité de monter en compétence ++ Environnement de développement ++ Collaboration inter-centre, inter-plateforme, franco-anglaise/franco-allemande jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 20
  • 21. 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/ Merci de votre attention Des questions ?
  • 22. Couches – SOFA<->SOFAVR Entrées périphériques Logique Contrôleur d’objets Comportement des Propriétés physiques des objets Monde Physique objets Mise à jour position / déformation / Rendu visuel Monde Audio Rendu de l’objet à min 25 images / s Moteur de simulation Sources sonores des objets son de collisions OpenSceneGraph SceneManagement Graphe de scène RessourceManagement Materiaux Textures Animations Outils Math String Logging Viewer Réalité virtuelle jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 22
  • 23. Couches – SOFA<->SOFAVR Application User Sound GUI Datas Input Framework - services SceneGraph Standard C++ libraries GL OpenAL… GPGPU C / C++ / scripts VRPN Sound card Graphic card CPU Hardware I/O clavier souris joystick - ART… Modeler Sofa - GUI Sofa - Ressources Sofa - Components Sofa - Viewer Sofa – Helper (tools) Sofa - Core Computer Cluster Immersive room jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 23
  • 24. 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- Repo forge SOFAVR User 1 NF 1 User 2 NF 2 User 3 NF 3 User 4 NF 4 HUDSON-chat SOFA User 1 User 2 User 3 User 4 CMake Coordination QMake GIT Collaboration SVN jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 24
  • 25. Méthode Agile - codage Rapports de tests Développements jalon n Développements jalon n+1 Ligne du temps Réflexions jalon n+1 & corrections BUG version n - i Version 1.0.0 fonctionnelle Version 1.0.1 fonctionnelle BUG Utilisateurs finaux Version 1.0.1 fonctionnelle Mesure satisfaction clients Avec i le nombre d’itérations précédentes jerome.esnault@inria.fr - SOFAVR 19 Septembre 2011 - 25