1 / 78

Simulation interactive basée sur la physique

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. Plan du cours. Introduction et Vocabulaire Présentation générale Modélisation Simulation Un moteur complet : Spore

shamus
Download Presentation

Simulation interactive basée sur la physique

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

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

  4. 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

  5. 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

  6. 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

  7. Les modèles à particules • Modèles • 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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é

  13. 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

  14. 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

  15. 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

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

  17. A A d B B d 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

  18. Couplesd'objets Zone deCollisions Détectionexacte Détectionapproximative Recherchede proximité Objets (narrow-phase) (broad-phase) 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

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

  20. 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

  21. 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

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

  23. 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

  24. Dispositif Modèles de corps Corpsinertes Spore Corps Passifs Boucle de commande Corps Actifs NoyauCollisionsIntégration Application SporeGfx Les objectifs de Spore

  25. 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

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

  27. Spore : le noyau • L ’algorithme principal while (Simulation_en_cours) { Récupération de la position des objets actifsDé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 passifsRésolution des équations Calcul du nouvel état des corps } • Minimisation du temps entre acquisition des positions et retour d'effort

  28. 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

  29. 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é

  30. 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 !

  31. Spore : les collisions • Modèle de collisions basés sur des sphèresDé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

  32. 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

  33. 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

  34. 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 ?

  35. Position Position Dispositif et Commande bas-niveau Commande haut-niveau ApplicationSPORE Consigne de Forces Forces 500Hz à 1Khz 25 à 50 Hz 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é

  36. 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 Commande haut-niveau ApplicationSPORE Consigne de Forces Position outils virtuel

  37. 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

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

  39. 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

  40. 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

  41. 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

  42. 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

  43. 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

  44. Modèle déformable 1D • Résultats

  45. 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

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

  47. 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

  48. 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

  49. 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

  50. 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»)

More Related