Animation de solides en contact par modèle physique Auteur : Olivier Galizzi Tuteur : François Faure
Introduction Simulation par modèle physique Vaste champ d'applications Animations réalistes Simulations de solides rigides Contacts et chocs entre solides Domaine largement exploré Problèmes Temps de calculs Stabilité Plante 2002
Plan Rappels Etat de l'art Méthode de résolution itérative globale Extensions Bilan et perspective
Plan Rappels Etat de l'art Méthode de résolution itérative globale Modélisation et dynamique du solide Cinématique du solide Collisions Etat de l'art Méthode de résolution itérative globale Extensions Bilan et perspective
Modélisation et dynamique Modélisation d’un solide en déplacement Un repère local en déplacement Une masse et une inertie : Une position-orientation : Une vitesse linéaire et angulaire : Une accélération linéaire et angulaire : Principe fondamental de la dynamique
Jacobienne des contraintes j1 Cinématique Vitesse d’un point p1 lié à un solide Projection sur un axe n normalisé Idem pour les accélérations Jacobienne des contraintes j1
Collisions Interpénétrations dues à la discrétisation du temps Notion de : Vecteur d’extraction n Distance de pénétration Vitesse de pénétration Accélération de pénétration Solide 1 p2 n p1 Solide 2
Plan Rappels Etat de l'art Méthode de résolution itérative globale Méthodes de pénalités Méthodes analytiques Traitements global des contacts Synchronisation des collisions Méthode de résolution itérative globale Extensions Bilan et perspective
Avant 1988 Méthodes de pénalités Utilisation de ressorts Avantages Facile à implémenter Assez stables aux amoncellements Inconvénients Petits pas de temps (ressorts rigides) Réglages délicats Pas de frottement p2 l p1
Dés 1988 Méthodes analytiques MW88 – Hah88 Conservation des moments linéaires et angulaires Résolution locale collision par collision Avantages Contrôle du rebond Gestion du frottement Inconvénients Retour dans le temps Lenteur
1994 Traitement global des contacts Bar94 Tous les contacts sont traités en même temps Résolution d’un LCP Avantage Plus efficace Inconvénient Reste O(n3) Pas itératif
2001 Synchronisation des collisions Correction positions, vitesses, accélérations Utilisation de méthodes d'optimisation Avantages Grande stabilité Plus de retours en arrière Inconvénients Lenteur Complexité MS01
Etat de l'art : Bilan Trois classes de méthodes de résolution Résolution locale sans synchronisation des collisions Résolution locale avec synchronisation des collisions Résolution globale Corrections Des accélérations Des vitesses Des positions Problèmes Lenteur Stabilité
Plan Rappels Etat de l’art Méthode de résolution itérative globale Objectif Ecriture du système d’équations Résolution du système Boucle de simulation Extensions Bilan et perspective
Objectif Simulation temps réel Gérer un grand nombre (plusieurs centaines) De solides De collisions Compromis précision/temps de calcul
Principe Synchronisation des collisions Correction Positions : distances de pénétrations nulles Vitesses : vitesses de pénétrations nulles Accélérations : accélérations de pénétrations nulles Utilisation de contraintes Résolution itérative à l'aide d'un gradient conjugué
Matrice dynamique JM-1JT La jacobienne des contraintes J du système Matrice creuse 2 blocs non nuls de type ji par lignes Calcul des vitesses de pénétrations Relie une action de contrainte à un mouvement relatif 3 1 2 4
Influence d'une impulsion Utilisation du terme JM-1JT π = impulsions (kg.m.s-1) appliquées aux pi selon les axes de contrainte JT π = impulsions π exprimées aux centres de gravité M-1JT π = variations de vitesses des repères locaux JM-1JT π = variations de vitesses de pénétrations
Correction des vitesses des solides Calcul des vitesses de pénétration Résolution du système matriciel Correction des vitesses des solides à l'aide de π = variations instantanées de vitesses π
Correction des positions et accélérations Calcul des accélérations de pénétrations Résolution de : Positions Calcul des distances de pénétrations f δ
Résolution du système λ λ Nouvel algorithme basé sur la méthode du gradient bi-conjugué Résolution de par minimisation itérative de Prise en compte de la signification physique des actions dynamiques et des mouvements relatifs λ λ
Avantages Exploitation de la forme de la matrice dynamique pas creuse mais et creuses Produit matrice-vecteur en trois étapes O(n) Réglage précision/temps de calcul Limitation du nombre d'itérations Définition d'un seuil sur la précision des calculs
Méthodes d’ensembles actifs Partition du système d’équation en deux classes Contraintes actives Contraintes passives Contraintes actives traitées uniquement Mise à jour des classes et Tantque (pas resolu) resoudre λ sur voire mise a jour de voire
Notre approche Mise à jour rapide des ensembles actifs Tantque (pas resolu) Faire un pas du gradient sur mise a jour de Si (modification de ) reinitialisation Etat de contact actif Etat de décollement
Influence de la modification Itération 1 Itération i contrainte répulsive Itération n contrainte attractive
Boucle de simulation Calcul forces externes Calcul forces externes Intégration du temps Correction vitesses + Calcul forces de contraintes Détection collisions Construction de J Construction de J Correction positions ou Affichage
Boucle de simulation Calcul forces externes Calcul forces externes Intégration du temps Correction vitesses + Calcul forces de contraintes Détection collisions Construction de J Construction de J Correction positions ou Affichage
Boucle de simulation Calcul forces externes Calcul forces externes Intégration du temps Correction vitesses + Calcul forces de contraintes Détection collisions Construction de J Construction de J Correction positions ou Affichage
Boucle de simulation Calcul forces externes Calcul forces externes Intégration du temps Correction vitesses + Calcul forces de contraintes Détection collisions Construction de J Construction de J Correction positions ou Affichage
Boucle de simulation Calcul forces externes Calcul forces externes Intégration du temps Correction vitesses + Calcul forces de contraintes Détection collisions Construction de J Construction de J Correction positions ou Affichage
Boucle de simulation Calcul forces externes Calcul forces externes Intégration du temps Correction vitesses + Calcul forces de contraintes Détection collisions Construction de J Construction de J Correction positions ou Affichage
Boucle de simulation Calcul forces externes Calcul forces externes Intégration du temps Correction vitesses + Calcul forces de contraintes Détection collisions Construction de J Construction de J Correction positions ou Affichage
Boucle de simulation Calcul forces externes Calcul forces externes Intégration du temps Correction vitesses + Calcul forces de contraintes Détection collisions Construction de J Construction de J Correction positions ou Affichage
Boucle de simulation Calcul forces externes Calcul forces externes Intégration du temps Correction vitesses + Calcul forces de contraintes Détection collisions Construction de J Construction de J Correction positions ou Affichage
Boucle de simulation Calcul forces externes Calcul forces externes Intégration du temps Correction vitesses + Calcul forces de contraintes Détection collisions Construction de J Construction de J Correction positions ou Affichage
Vidéo
Plan Rappels Etat de l'art Méthode de résolution itérative globale Extensions Solides Articulés Frottement adhérent Bilan et perspective
Extension aux solides articulés Utilisation de contraintes points sur points Trois contraintes scalaires Pas d'inégalités ( reste dans ) L’algorithme reste globalement inchangé Solide 1 Solide 2 p1=p2
Video
Gestion du frottement adhérent Ajout de deux contraintes tangentielles Axe normal au contact n + 2 axes tangents t et s Pour garantir : Vitesse relative nulle selon t et s Accélération relative nulle selon t et s n t s
Video
Plan Rappels Etat de l'art Méthode de résolution itérative globale Extensions Bilan et perspectives
Bilan L’algorithme offre de bonnes performances Efficacité de la résolution (rapidité) Triple correction (stabilité) Réglage compromis précision/temps de calcul Permet des simulations temps réel Permet des simulations complexes non temps réel Calcul des corrections uniforme
Perspectives Introduction du frottement de Coulomb Discrétisation du cône de coulomb Difficultés dans les transitions adhérence-glissement n t s
Merci de votre attention… … des questions ??
Généralisation de la jacobienne des contraintes Calcul des vitesses relatives : Forme générale
Intégration du temps Différents schémas possible Euler explicite le plus adapté Trois choix possible : Euler standard : Euler modifié : Stoermer :
Influence du pas d'euler sur le nombre de collisions
Influence du pas d'euler sur le nombre d'itérations
Choix du pas d'euler Trois choix possible : Euler standard : Euler modifié : Stoermer : Différence et problème engendré
Intégration du temps Etat d’un solide : Intégration du temps : Approximation du terme intégral : Euler explicite Euler implicite Runge Kutta 2 Runga Kutta 4 Utilisation de euler explicite Discontinuités des forces Collisions
Performance du gradient modifié (2/2)
Performance du gradient modifié
Discrétisation du cône Discrétisation du cône de coulomb Cinq cas à distinguer Adhérence axes s et t (1) Adhérence axe s et glissement axe t (2 et 3) Glissement axe s et adhérence axe t (4 et 5) Glissement axe s et glissement axe t (6, 7, 8 et 9) Décollement 4 9 8 n n n 2 t 3 1 t t s s 6 7 s 5
Gestion du frottement de Coulomb On doit toujours garantir f dans la pyramide : adhérence f sur la pyramide : glissement Ajout de 1 ou 2 contraintes sur les fi si sortie du cône Utilisation de JnM-1JT au lieu de JM-1JT On se ramène à un système de la forme
Automate de transition Adhérence t Adhérence s Glissement s Glissement t Décollement
Vidéo
Outils utilisés Jacobienne des contraintes jc p1 p’1
Jacobienne des contraintes Relations linéaires entre les variations sur les degrés de libertés et les valeurs contraintes p1 Fl o1 f fa
Répartition des calculs Objectif : Répartir n itérations de calcul entre correction des positions, vitesse et accélérations Trouver la répartition optimale Critère de qualité : distance de pénétrations moyennes après correction Principe 0,0,30 30,0,0 0,30,0 Nb itérations positions Nb itérations vitesses 0,15,15 15,0,15 15,15,0 10,10,10
Optimisation de la répartition
Performance du gradient modifié : O(n²) ?