Intégration de la plateforme de simulation SOFA dans un simulateur de chirurgie laparoscopique Darina Dimitrova Laboratoire Recherche et Développement de l IRCAD (Institut National de Recherche contre les Cancers de l Appareil Digestif),Strasbourg. Maitre de stage: Clément Forest Stage d initiation à la Recherche: 05 septembre 2007
Contexte La chirurgie mini-invasive Le patient: Il souffre moins et se remet plus vite de l opération, De l espoir pour patients qui n auraient pu subir une opération ouverte. Le chirurgien: Difficulté du geste à réaliser Perception visuelle réduite technique d opérations sans ouvrir le corps du patient, utilise des caméras. Demande de formation poussée des chirurgiens besoin d outils pédagogiques
Les simulateurs médicaux en réalité virtuelle Les simulateurs médicaux en réalité virtuelle La qualité du simulateur est jugée par: son réalisme (simulation réaliste=riche en informations) la fluidité de l interaction (temps réel= à des fréquences proches à celles de la perception humaine)
Objectifs Objectifs du stage Préparer l intégration de Sofa dans le simulateur ULIS 1 intégration de la plate-forme de simulation SOFA et le moteur de rendu 3D portage de la simulation et le rendu sur des threads concurrents intégration de SOFA avec un système à retour haptique 1 Unlimited Laparoscopic Immersive Simulator
Objectifs Plan de l exposé État de l art Le simulateur ULIS-État des lieux Présentation de SOFA Présentation de VgSDK Intégration de VgSDK dans SOFA Organisation du graphe de scène Transformation du modèle visuel existant Séparation du flux d exécution en deux threads: Interface Haptique Conclusion
État de l art Le simulateur ULIS-État des lieux Le simulateur ULIS-État des lieux Système de visualisation basée sur VgSDK. Interface haptique -pilote le dispositif de retour d effort de la société Karl Storz 2 Simulation: modèle pré-calculé de déformation, faible réalisme Positions Boucle de simulation Forces Boucle haptique Commandes Positions Boucle d affichage & IHM
État de l art Présentation de SOFA SOFA:L Approche multimodale Objectif: Réduire les dépendances logicielles Simplifier les calculs, améliorer la performance Principe: Objet simulé = Ensemble de modules Module = Aspect de la simulation
État de l art Présentation de SOFA SOFA: Graphe et Boucle de simulation Le moteur de simul. parcourt le graphe de la simul. et applique des traitements aux composantes: Intégration numérique = résolution des modèles mécaniques Détection des collisions = interactions entre les modèles de collision Calcul de la réponse aux collisions, Bilan des forces Synchronisation des différentes composantes d un objet= Mise à jour des mappings
État de l art Présentation de VgSDK Présentation de VgSDK (Virtual Graphics Software Developement Kit Bibliothèque graphique comme OpenGL et VTK Calcul du rendu = parcours de graphe de scène Graphe de scène noeuds géométriques: sphère, cube, nuage de points propriétés graphiques: matériau, éclairage noeuds de groupe: séparateur Moteur de rendu Bans une boucle d affichage: Parcours du graphe et application des traitements aux noeuds les traitements encapsulent des commandes OpenGL
État de l art Présentation de VgSDK Travail réalisé Intégration de VgSDK dans SOFA Organisation du graphe de scène Transformation du modèle visuel existant Séparation du flux d exécution en deux threads: Interface Haptique
Intégration de VgSDK dans SOFA Organisation du graphe de scène Organisation du graphe de scène chaque modèle est représenté par un sous-arbre(noeuds de contrôle + primitives) le modèle géom. est représenté par un maillage. Le modèle visuel est réécrit. la f-n draw de modèle visuel non réécrit est encapsulé dans le noeud Callback. Material root Switch Switch Switch TransfSeparator Separator TransfSeparator Separator TransfSeparator Separator VertexShape Callback Material VertexShape Transform
Intégration de VgSDK dans SOFA Transformation du modèle visuel Transformation du modèle visuel Le nouveau modèle visuel: décrit la géométrie et la topologie d un maillage comme noeud géométrique insère les noeuds dans le graphe de scène, qui ordonne les commandes OpenGL le moteur VgSDK se charge avec le rendu _ VgSDK manipule des structures de haut niveau, les mappings visuels de SOFA ne sont pas adaptés
Intégration de VgSDK dans SOFA Transformation du modèle visuel Exemples Objet rigide VertexShape + TransformMatrix+ Rotation VgsdkRigidMapping: settransformmatrix, setrotation Objet déformable VertexShape + EditorField Chaque sommet doit être mis à jour. Réutilisation du BarrycentricMapping Objet non structuré la géométrie et la topologie varient pendant la simulation
Séparation du flux d exécution en deux threads Séparation du flux d exécution en deux threads La simulation des objets déformables est très complexe, le rendu doit s exécuter en temps réel Une fois initialisé le graphe VgSDK, le calcul du rendu il est pris en charge du moteur 3D L ancienne f-n draw a été appelé à partir de l IHM et non pas du moteur de la simulation Maintenant à partir de la phase d initialisation: le moteur de simulation traite tous les noeuds sauf les modèles visuels du graphe de la simu le moteur de rendu parcourt son propre graphe de scène
Séparation du flux d exécution en deux threads Architecture avec 2 threads Communication entre les 2 boucles uniquement pendant la mise à jour des mappings. Communications par mémoire partagé - la liste des sommets du modèle visuel. Protection avec des verrous. SOFA VgSDK Initialisation Intégration numérique liste de DDLs Détection des collisions Boucle de simulation Réponse aux collisions Mappings visuels Barrycentric Mapping Autres Mappings fluide objet déformable corps rigide VgsdkRigid Mapping SPHFluidForceField Mapping Maillage topologie liste des sommets Matrice de transformation Rotation Paint Boucle d affichage & IHM Traitement des interactions avec l utilisateur
Interface Haptique Interface Haptique Interface haptique Permet aux chirurgiens de faire appel à leur sens de toucher pour compenser la perception visuelle réduite Les modèles déformables son trop complexes pour satisfaire la contrainte temps réel
Interface Haptique Intégration d un système haptique dans SOFA Intégration de système haptique dans SOFA Modèle Mécanique = Modèle Haptique l état mécanique de l objet qui représente le fantôme est lu par la boucle haptique le traitement des collisions se fait par la méthode des pénalités. F penal = k (x 2 x 1 ) un transfert possible dans le mapping entre le modèle mécanique et le modèle des collisions
Interface Haptique Intégration d un système haptique dans SOFA Conclusion 1/2 Choses bien On a développé une application de réalité virtuelle composée de 3 parties: 1. Une IHM ( emphviewer ) avec fenêtre d affichage 2. L affichage est contrôlé par le moteur VgSDK 3. Un processus de simulation basée sur SOFA La simulation et le rendu s exécutent sur des threads différents On arrive à manipuler un objet rigide à l aide du Phantom de Sens- Able Si l objet manipulé entre en collision avec les autres objets dans la scène, ceux-ci réagissent correctement On charge une scène laparoscopique du vrai patient à partir de la géométrie dont on dispose à IRCAD
Interface Haptique Intégration d un système haptique dans SOFA Conclusion 2/2 Choses restant à faire Améliorer l architecture des mappings visuels Calculer le retour de force Portage de notre application vers ULIS