Simulation interactive basée sur la physique

Slides:



Advertisements
Présentations similaires
Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Advertisements

Exemples d’applications de la 2ème loi de newton
Résistance des Matériaux
Non linéarités liées à la thermique
Accélération du Rendu Volumique basée sur la Quantification des Voxels
Efficient Simplification of Point-Sampled Surfaces
Cours 7 Problèmes d’ordre 2 en temps : Analyse modale
Cours 7 Problèmes d’ordre 2 en temps : Analyse modale
Cours 3-b Méthode des éléments finis 1D
Cours 5-b Problèmes spatio-temporels d’ordre 1 en temps
Courbes & Surfaces de subdivision
Modélisation 3D Réalisation d'une image de synthèse
La schématisation cinématique des mécanismes
Animation de solides en contact par modèle physique
Sylvain Mondon Météo-France
Chapitre VII :Commande par retour d’état
L’objectif est de présenter
Asservissement et régulation continue
Lois de la statique Equilibre des solides.
Eric Guilbert, Marc Daniel *, Eric Saux
Chapitre 3: Modélisation des systèmes
MECANIQUE des MILIEUX CONTINUS
Chapitre 2 : La fonction de transfert
Résolution des Équations Différentielles
Mémoire de Projet de Fin d’Etudes
O. Coulaud Projet Numath IECN/ Inria-Lorraine
Les fluides non newtoniens
Double diplôme ENSA -ECN
Plan de l’exposé Présentation de l’équipe Présentation du stage
Méthode des Ensembles de Niveaux par Eléments Finis P1
Systèmes mécaniques et électriques
Transformée de Laplace
Modélisation de l’impact d’un réservoir rempli de fluide par la méthode SPH Directeur de thèse : Alain Combescure ( Lamcos )
Mécanique des Milieux continus ?
Réaction aux collisions dans les animations physiques François Faure, Olivier Galizzi GRAVIR Projet commun CNRS,INRIA,INPG,UJF 1 1.
L’adaptativité pour un solveur de l’équation de Vlasov
Physique 3 Vibrations et ondes mécaniques
Soutenance de stage 16 Mai au 5 Août 2011
Conception et développement d ’une interface entre un environnement de réalité virtuelle et un périphérique d ’interaction.
Chapitre 3-B : AUTOMATIQUE : LES S.L.C.I.
Mécanique du point Introduction Cinématique: études de trajectoires
Physique 3 Vibrations linéaires et ondes mécaniques
Modélisation géométrique
Modélisation et résolution du problème de contact mécanique et son application dans un contexte multiphysique Soutenance de thèse de doctorat en ingénierie.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Modélisation des Actions Mécaniques
Un état de l’art sur les logiciels de détection de collision
Projet Lancer de Rayons
Guy Gauthier, ing., Ph.D. 6 janvier 2015
Les bases de la modélisation Primitives simples et CSG.
Deuxième séance de regroupement PHR004
Patrick Chedmail – Philippe Wenger Fouad Bennis - Alain Bernard
Les différents modèles
2.1.7 Modèle Géométrique Direct Forward Kinematics
Couche limite atmosphérique
1/16 Chapitre 3: Représentation des systèmes par la notion de variables d’état Contenu du chapitre 3.1. Introduction 3.2. Les variables d’état d’un système.
Equipe synthèse d ’images et réalité virtuelle IRIT-UPS Toulouse Surfaces implicites Les différents modèles analytiques.
LCIN4U73 Bases géométriques de l’imagerie
Simulation Mécanique de Fils J. Lenoir, P. Meseure, L. Grisoni, C. Chaillou Equipe GRAPHIX, LIFL, Lille 1.
Les Solides en mouvements
Oscillateur harmonique
Organisation des séquences pédagogiques TD TP
3. Inertie et force La première loi de Newton:
Terminale Si Dynamique Lionel GRILLET.
LES TORSEURS.
Géométrie et communication graphique
Couche limite atmosphérique Micrométéorologie. Équations de Reynolds 7 équations et 16 inconnues...
GdR MoMaS Novembre 2003 Conditions d’interface optimales algébriques pour la vibro-élasticité. François-Xavier Roux (ONERA) Laurent Sériès (ONERA) Yacine.
MECANIQUE DES MILLIEUX CONTINUS ET THERMODYDAMIQUE SIMULATIONS.
Novembre 2003 Simulation numérique en vibro-acoustique par couplage de deux codes parallèles Unité de Recherche Calcul à Haute Performance François-Xavier.
Transcription de la présentation:

Simulation interactive basée sur la physique Modélisation de corps déformables et exemples en chirurgie Par C Chaillou, P Meseure, L Grisoni, J Lenoir

Présentation générale Plan du cours Introduction et Vocabulaire Présentation générale Modélisation Simulation Un moteur complet : Spore Modèle déformable 1D Un exemple d ’habillage avec des surfaces implicites La simulation chirurgicale La formation des médecins Exemples de simulateurs

Introduction Forces Retour d’effort >100Hz Modèle mécanique Moteur de simulation Machine Capteurs Positions Positions Visualisation >30Hz Opérateur

Dynamique versus statique Vocabulaire Dynamique versus statique Statique Résolution d’un système Ni régime transitoire, ni phénomène dynamique Fréquence du système quelconque Dynamique Intégration par rapport au temps Synchronicité : Calibrage des repères temporels machine et monde Mise en évidence des différents aspects Représentation mécanique crédible Calculer les évolutions en temps réel Fournir le nouvel état pour la visualisation et le retour d ’effort

Présentation Générale La mécanique des corps rigides Les modèles mécaniques déformables Particules Masses-ressorts Eléments finis Les méthodes d’intégration La gestion des collisions Les habillages

Mécanique des corps rigides Mécanique du point : loi de Newton On fait le bilan des forces et on en déduit l’accélération Intégration de l’équation Il faut tenir compte à la fois de la position et de l’orientation Position: Centre de masse : mécanique du point Orientation : équation de Newton

Les modèles à particules Ensemble de points autonomes Un ensemble de forces d ’interaction comme les équations de Navier-Stokes Un générateur Un durée de vie Particulièrement adaptés pour les fluides

Modèle masses ressorts : graphe dont Les masses-ressorts Modèle masses ressorts : graphe dont Les noeuds sont les masses Les arcs des liaisons visco-élastiques Bilan des forces appliquées en chaque point Double intégration pour obtenir La vitesse puis La position des noeuds

Les particules et masses-ressorts Points positifs Facile à mettre en œuvre Permet de prendre en compte des non-linéarités Très utilisé pour les vêtements Mais peu réalistes Difficile de faire de la conservation de volume Risque de divergence des calculs Et surtout, pas d ’identification facile au réel

Les modèles éléments finis Principe des travaux virtuels Equation sous forme d’une intégrale à résoudre Découpages du volume en éléments intégrables Etude du phénomène au niveau de chaque élément Regroupement du résultat sous forme d’un système Déplacement des autres points par interpolation

Les modèles éléments finis Points positifs Modèle très connu en mécanique De bonnes méthodes de résolution Relativement indépendant du maillage Simple avec un modèle linéaire et des petits déplacements Identifiable Mais Des calculs très importants Difficile à mettre en œuvre

Approche lagrangienne Principe : On suppose un jeu de déformations possibles (dilatation, torsion, courbure...) A l’aide la physique, on quantifie l’amplitude de ces déformations Approches basées sur l’analyse modale Algorithme de recherche de valeurs propres Mécanique de Lagrange Modélisation du système en termes de degrés de liberté Un jeu de déformations possible = 1 degré de liberté

Les méthodes d ’intégration Pour toutes les modélisations, on peut exprimer le problème sous la forme d ’équations différentielles d ’ordre 2 De la forme MA=B A est un vecteur fonction des accélérations B est un vecteur fonction des caractéristiques et des entrées externes M une matrice

Les méthodes d ’intégration Intégration explicite: Ex: Euler: v(t+dt)=v(t)+a(t)dt et x(t+dt)=x(t)+v(t)dt Schémas d’ordre plus élevé: point milieu (ordre 2) , Runge Kutta 4 Souvent peu stable, génère oscillations haute fréquence Intégration implicite Implicite: x(t+dt)=x(t)+f(t+dt)dt Généralement approximation linéaire de df/dx: x(t+dt)=x(t)+df/dx(t+dt)dxdt Nécessite inversion matricielle, mais le dt toléré est plus important

Gestion des collisions C ’est un problème central en simulation On peut décomposer le problème en trois: La détection des collisions entre les primitives Presque toujours des polyèdres Les méthodes d ’accélération Le calcul des réponses

Détection des collisions Les différentes possibilités : Détection spatiale Détection spatio-temporelle Statique Discrète Continue/ dynamique Intersection vide Distance inter-objets Intersection des surfaces Mesure des interpénétrations Intersection Dichotomie Anticipation Retour arrière Intersection 3D des volumes de trajectoire Intersection 4D Calculs analytiques Interpénétration Instant du contact

Détection des collisions Intersection entre polyèdres convexes Non-intersection par plan séparateur Calcul de distance de séparation Calcul d'interpénétration Calcul de l ’intersection A B d A d B

Accélération des collisions Trouver les objets en forte probabilité de collisions Détection des non-collisions sûres Organisation en pipeline : Détection de proximité Division spatiale Critères topologiques ou cinématiques Recherche de proximité Détection approximative Détection exacte Objets Couples d'objets Zone de Collisions (broad-phase) (narrow-phase)

Accélération des collisions Détection approximative R1 O1 R2 O2 Sphères dist(O1,O2)²>(R1+R2)² Pmin2 Pmax2 Pmax1 Pmin1 AABB k-DOP A B a1A1 a2A2 b1B1 b2B2 T L OBB Choix parmi 15 directions différentes

Réponses aux collisions Choc élastique: conservation de la quantité de mouvement, de l’énergie cinétique, principe d’action-réaction Force de réponse à la collision devient une force de pénalité, généralement calculée à partir de distance d’interpénétration Lors des pénétrations, création d ’un ressort virtuel qui tend a faire s ’éloigner les objets Le traitement des collisions entre des corps déformables n ’a pas encore de solutions générales

Présentation géométrique de la surface Habillage les points du modèle mécanique comme squelette ou points de contrôle de surfaces. Cela réduit les calculs mécaniques Présentation géométrique de la surface Free Form Deformation Fonctions implicites = Iso-potentielles bâties autour d’un squelette

Le moteur de simulation SPORE Les objectifs et principes Le découpage en trois aspects Le noyau logiciel

SPORE est décomposée en : Les objectifs de Spore On veut : Différents modèles physiques compatibles avec le temps réel détecter les collisions et interpénétrations entre tous ces corps SPORE est décomposée en : Un noyau : résolution et collisions Une bibliothèque de corps autonomes Corps inertes, pas de calcul de comportement Corps actifs, position définie par l’utilisateur Corps passifs, Animés par les lois de la physique

Noyau Collisions Intégration Les objectifs de Spore Noyau Collisions Intégration Corps Actifs Corps inertes Corps Passifs Modèles de corps Spore SporeGfx Application Dispositif Boucle de commande

Le découpage en trois couches Couche géométrique Séparation des corps en 3 couches : Couche mécanique : aussi simple que possible Couche géométrique: visualisation de qualité Facettes NURBS Surfaces implicites Couche de collision : décomposition en sphères Positions Couche mécanique Positions Forces Couche collisions

Le découpage en trois couches Couche géométrique Couche de collisions Couche mécanique Un corps rigide Les fluides Lennard-Jones Couche mécanique Couche géométrique Couche de collisions

Spore : le noyau L ’algorithme principal while (Simulation_en_cours) { Récupération de la position des objets actifs Détection de toutes les collisions Calcul de la réponse aux collisions Calcul des efforts à retourner à l’utilisateur Calcul des accélérations des objets passifs Résolution des équations Calcul du nouvel état des corps } Minimisation du temps entre acquisition des positions et retour d'effort

Corps dynamiques uniquement Spore : le noyau Corps dynamiques uniquement Les corps statiques sont autonomes Compatible avec les équations de Newton et Lagrange : résolution d'ODE d'ordre 2 Exemple : une masse ponctuel

Spore : le noyau Exemple : orientation d'un solide Problème de Cauchy : SPORE gère un vecteur d'état global incluant tous les degrés de liberté

Les méthodes d ’intégration Méthode d'Euler explicite Rapide mais divergence Méthode Runge-Kutta d'ordre 4 Assez bonne robustesse Nécessite 4 évaluations des forces Méthodes multi-pas (Adams) Faire comme RK4, mais en se basant sur les pas de temps précédents, Moins robuste que RK4 Méthode Euler implicite Résolution fiable, bonne détection des divergences Très lent !

Problème des Hiérarchies : Spore : les collisions Modèle de collisions basés sur des sphères Détection des intersections de sphères Problème des Hiérarchies : Détection en ln(n) mais plusieurs descentes dans l'arbre si plusieurs corps sont simulés Mise à jour en n*ln(n) si déformation Modèle sans hiérarchie

Spore : accélération des collisions Découpage de l'espace en grille régulière de voxels Chaque voxel contient Une liste de sphères immobiles (corps inertes) Etablie une fois pour toutes Une liste de sphères mobiles (corps passifs) Vidée à chaque pas de temps Parcours des voxels évité par système de datation Les nœuds de corps actifs n'y sont pas inclus

Spore : accélération des collisions Parcours de chaque corps passif et actif Pour une sphère : Choix des voxels recouverts Test de l'intersection de la sphère avec les sphères déjà présentes dans les listes des voxels Ajout des couples en collisions dans une liste Ajout de la sphère (cas passif) dans les voxels Détection et remplissage sont simultanés

Spore : traitement des collisions Évaluation des forces de répulsion pour chaque couple de sphères en collision Méthode à pénalité : Ressorts pour limiter l'intersection Amortisseurs dans le sens de la pénétration Forces supplémentaires Frottements ? Adhérence ?

Spore : le retour d ’effort Calcul pour chaque objet actif : de la résultante : retour d'effort en translation du moment : retour d'effort en rotation Envoi des données au dispositif La commande haut-niveau assure : les corrections du dispositif la transparence et la passivité Position Forces Application SPORE Commande haut-niveau Dispositif et Commande bas-niveau Consigne de Forces 500Hz à 1Khz 25 à 50 Hz

Spore : le retour d ’effort Prendre un modèle simplifié pour les forces Découpler le retour d'effort de la simulation Utilisation du couplage virtuel Méthode du God-Object Position dispositif Position Dispositif et Commande bas-niveau Application SPORE Commande haut-niveau Position outils virtuel Consigne de Forces

Spore est opérationnel C’est un logiciel de recherche Vers :SOFA Spore : bilan Spore est opérationnel C’est un logiciel de recherche Vers :SOFA Plate-forme de simulation Harmonisation et comparaison des recherches Nouveaux concepts logiciels 3D temps réel Intégration et validation de modèles dans un même logiciel Faciliter le transfert technologique Moyens Fédération de groupes de recherche en simulation médicale Création d’une structure à l ’échelle mondiale

Modèle déformable 1D Introduction Le modèle Les contraintes Travail de thèse de Julien Lenoir

Modèle déformable 1D : introduction Modèle 1D au comportement réaliste Utilisation d ’un modèle continu Calculable en temps réel avec interaction Simulation de fils Contraintes mécaniques entre le fil et les matériaux Comportement plausible du fil (élongation, courbure, torsion, déformations à « mémoire ») Serrage du nœud nécessite une forte résolution du modèle géométrique/mécanique

Modèle déformable 1D : définition Géométrie Utilisation d ’une modélisation par Splines interpolation/approximation de n points de contrôle la masse est fourni par les fonctions bi

Modèle déformable 1D : définition Propriétés importantes des splines: Vecteur de valeurs paramétriques Continuité: C0, C1(Catmull-Rom), C2( Bspline cubique),… Pour de nombreux modèles: localité d ’ordre m: Chaque point de contrôle influe sur au plus m segments

Modèle déformable 1D : définition Modèle physique avec le formalisme de Lagrange: Ensemble de N DDL virtuel Utilisation des travaux virtuels et du principe de minimisation Les DDL sont les points de contrôle Equation du mouvement

Modèle déformable 1D : définition L ’équation peut se mettre sous la forme MA=B M est une matrice de masse généralisée Accélération des DDL B prend en compte les énergies de déformations, la gravité, les forces externes, … Prise en compte de élongations et flexions

Modèle déformable 1D Résultats

Modèle déformable 1D : les contraintes On étend les équations précédentes Pour chaque contrainte, un multiplieur de Lagrange λ Cet outil permet D’imposer des points fixes De fixer un tangente De contraindre à passer par des points donnés D’assembler des objets

Modèle déformable 1D : les contraintes Résultats

Habillage par des surfaces implicites Le problème de l ’habillage Habillage : Procédé consistant à fournir un modèle géométrique à un modèle mécanique les surfaces implicites Facettisation en temps réel Travail de thèse de Frédéric Triquet

Habillage par des surfaces implicites Apports des surfaces implicites à squelette : surfaces complexes à partir peu de points formes organiques habillage de modèles non structurés Cas général F : 3  , S = { (x,y,z)  3, F(x,y,z) = k } Cas des surfaces à squelette fonction de potentiel / iso-surface un ensemble de primitives (points, etc)  Fi F(x,y,z) = Σ Fi(distance)  blending

Habillage par des surfaces implicites L’affichage de surfaces implicites Lancer de rayons intersection rayon/surface : F(Xo+t.Xv) = k bonne qualité mais temps de calculs longs Rendu voxels découpage en cubes projection parallèle Facettisation échantillonnage  triangles accélérations matérielles

Habillage par des surfaces implicites L ’algorithme du marching cube standard Diviser l’espace en cubes Évaluer le potentiel de chaque nœud Générer des facettes au sein de chaque cube 256 configurations (mais 14 «de base»)

Habillage par des surfaces implicites intérieur extérieur Facettisation éventuelle Facettisation éventuelle Rotations & inversion de polarités Cube de base Topologies différentes  Trous Séparation Fusion

Habillage par des surfaces implicites Séparation

Habillage par des surfaces implicites Cube déjà empilé (horodaté) pile Un ensemble de mécanisme d ’accélération horodatage des résultats pour éviter les redondances Simplification de la fonction évaluée le suivi de surfaces

Habillage par des surfaces implicites Résultats

La simulation médicale Introduction Les entreprises L ’expérience Simedge Un simulateur de ponction écho-guidé

Simulation médicale : Introduction Formation ‘classique’ Sur patients Sur animaux Sur cadavres Interventions de plus en plus complexes Nouvelles méthodes Formation sur simulateurs Patients virtuels

Simulation médicale : Introduction Bénéfices des simulateurs Augmenter le temps de formation pratique Maîtriser les cas rares Evaluer les capacités Domaines voisins Assistance en cours d'intervention Préparation du geste opératoire

Simulation médicale : Introduction Patients virtuels Modèles géométriques Réactifs aux gestes chirurgicaux Interface médecin-patient virtuel Réalisme visuel Retour d'effort Pédagogie et bases de cas

Simulation médicale : Introduction Technologies matérielles Capture de gestes Dispositifs d’affichage Interfaces à retour d’efforts Logiciels Modélisation d’objets déformables Synthèse d’images Reconstruction 3D

Simulation médicale : Industrie Encore très petit secteur industriel Les leaders : Immersion Medical Simbionix Medsim Surgical Science Simsurgery De nombreux projets en recherche

Simulation médicale : Industrie Immersion Medical USA Principal acteur industriel Filiale du groupe Immersion 5 produits Laparoscopie Simulateur d ’intraveineuse Endosccopie Endoscopie vasculaire Hystéroscopie

Simulation médicale : Industrie Immersion Medical Laparoscopie

Simulation médicale : Industrie Immersion Medical Cathsim : simulation de piqûre intraveineuse

Simulation médicale : Industrie Simbionix USA-Israël Concurrent direct du précédent Gamme large de produits Endoscopie Laparoscopie Angiographie

Simulation médicale : Industrie Simbionix Simulateurs d ’endoscopie

Simulation médicale : Industrie Simbionix Simulateur de laparoscopie Interface à retour d’effort Xitact

Simulation médicale : Industrie Medsim Israël

Simulation médicale : Industrie Surgical Science : Suède Laparoscopie, logiciel LapSim Accord commercial avec immersion

Simulation médicale : Industrie SimSurgery : Norvège simulateurs pour laparoscopie et robot

Entreprise créée en 1999 et disparue fin 2004 L ’expérience Simedge Entreprise créée en 1999 et disparue fin 2004 A partir de résultats de recherche © SimEdge

L ’expérience Simedge Le simulateur © SimEdge

Techniquement, raisonnable Forte demande sur le produit L ’expérience Simedge Techniquement, raisonnable Forte demande sur le produit Invitation dans les conférences Environ 25 ventes en 4 ans dont 50 % en France Les utilisateurs ne sont pas les payeurs Insuffisant pour faire vivre une entreprise

Un simulateur de ponction écho-guidé L’intervention médicale : Amniocentèse Les caractéristiques du simulateur

Un simulateur de ponction écho-guidé Extraire du liquide amniotique Les différentes phases Repérage Atteindre la citerne Ponctionner

Un simulateur de ponction écho-guidé Echographie : Réflexion Réfraction Diffusion Absorption Gain réglable

Un simulateur de ponction écho-guidé impulsion incidente impulsion réfractée impulsion réfléchie Le principe de l ’échographie diffusion

Un simulateur de ponction écho-guidé synthèse d’image échographique : Simulant la physique Permettant de visualiser des objets dynamiques Les principes Lancer de rayons pour les réflexions et réfractions Utilisation de placage de textures pour la diffusion Calcul du gain comme dans la réalité

Un simulateur de ponction écho-guidé Une méthode de synthèse d’images échographiques