Penalty-Based Contact Model
- Detto anche: spring-damper contact model, penalty method contact
- Categoria: Software & tooling › Simulation & twins
- Tag: contact, physics-simulation, differentiable-simulation, numerical-methods, dynamics
Un modello di contatto che lascia i corpi compenetrarsi leggermente e li separa con una forza molla-smorzatore proporzionale alla profondità e alla velocità di penetrazione.
Definizione
Modello di contatto a penalità (penalty-based contact model) è quello che tratta il contatto come una molla rigida con smorzamento. Quando due corpi si compenetrano, il simulatore misura la profondità di penetrazione lungo la normale di contatto e applica una forza repulsiva, tipicamente k volte la profondità più d volte la velocità di penetrazione, dove k è una rigidezza e d un coefficiente di smorzamento. La forza agisce solo finché i corpi si compenetrano ed è limitata in modo che il contatto non attiri mai i corpi l'uno verso l'altro. Esistono varianti non lineari; il modello di Hunt–Crossley, per esempio, fa crescere la forza di smorzamento con la profondità di penetrazione per evitare il salto di forza non fisico al momento dell'impatto. L'attrito tangenziale viene di solito aggiunto come versione regolarizzata dell'attrito coulombiano.
L'approccio è interessante perché è semplice e locale: le forze di contatto sono funzioni esplicite dello stato corrente, quindi non va risolto alcun problema globale di vincoli, e le forze sono continue nello stato, il che si adatta all'ottimizzazione basata sul gradiente e alla simulazione differenziabile. La famiglia alternativa, il contatto rigido o basato su vincoli, impone esattamente la non compenetrazione tramite problemi di complementarità o ottimizzazione vincolata, al prezzo di solver più complessi e di un comportamento non regolare. I modelli a vincoli morbidi e quelli idroelastici si collocano tra i due.
La difficoltà principale è la rigidezza. Una molla morbida consente una penetrazione visibile e un contatto rimbalzante e spugnoso. Una molla rigida mantiene piccola la penetrazione ma rende le equazioni stiff, richiedendo passi temporali molto piccoli o un'integrazione implicita per restare stabile, e produce forze grandi che cambiano rapidamente. Nella simulazione differenziabile questo conta anche per i gradienti: i contatti a penalità rigidi producono gradienti molto grandi vicino agli eventi di contatto, e la loro varianza tra i rollout cresce all'aumentare della rigidezza, il che può rendere i gradienti esatti del simulatore meno utili per l'ottimizzazione della policy rispetto a stime più regolari.
Perché è importante
Il contatto è il punto in cui la simulazione dei robot è più difficile, e la scelta del modello di contatto determina quanto un simulatore sia stabile, veloce, accurato e differenziabile. I modelli a penalità sono comuni nei simulatori differenziabili e di ricerca, quindi comprendere il loro compromesso sulla rigidezza spiega molte delle instabilità, delle compenetrazioni e dei problemi di gradiente in cui incorrono gli ingegneri.
Applicazioni principali
- Simulatori fisici differenziabili per l'ottimizzazione del controllo e del progetto
- Simulazione di contatto morbido e deformabile
- Simulazione della locomozione con gambe con modelli di suolo cedevole
- Rendering aptico e virtual fixture
- Semplici simulatori su misura per prototipazione e ricerca
In pratica
Un ricercatore costruisce un semplice simulatore differenziabile per ottimizzare un movimento di spinta. I contatti tra lo spintore, la scatola e il tavolo usano un modello a penalità con una molla e uno smorzatore lineari lungo la normale e un termine di attrito coulombiano smussato. Con una rigidezza bassa la scatola affonda visibilmente nel tavolo e scivola in modo strano; aumentare la rigidezza risolve il problema ma fa esplodere la simulazione a meno di ridurre il passo temporale di un ordine di grandezza. Anche i gradienti della posizione finale della scatola rispetto alla traiettoria di spinta diventano erratici. Il ricercatore sceglie una rigidezza che mantiene la penetrazione entro una frazione di millimetro al passo temporale scelto, aggiunge uno smorzamento vicino a quello critico e regolarizza le stime del gradiente facendo la media su diversi rollout perturbati.
Idee sbagliate comuni
- La penetrazione significa che il modello è guasto — la molla ha bisogno di una certa deflessione per produrre forza, quindi una piccola penetrazione è intrinseca e va regolata invece che eliminata
- Un contatto più rigido è sempre più accurato — una rigidezza maggiore richiede passi temporali più piccoli, può destabilizzare la simulazione e aumenta la varianza dei gradienti
- Il contatto a penalità dà gradienti regolari ovunque — la forza viene comunque attivata e disattivata al momento del contatto, quindi i gradienti attorno agli eventi di contatto possono essere grandi o poco informativi
Chi dovrebbe saperlo
- Sviluppatori di simulazione fisica e di motori fisici
- Ricercatori che lavorano con la simulazione differenziabile
- Ingegneri di locomozione e manipolazione che si affidano alla simulazione
- Sviluppatori di aptica
Tecnologie correlate
- Modello di contatto di Hunt-Crossley (Hunt-Crossley Contact Model)
- Modello di Kelvin-Voigt (Kelvin-Voigt Model)
- Problema di complementarità lineare (Linear Complementarity Problem)
- Contatto idroelastico (Hydroelastic Contact)
- Integrazione implicita (Implicit Integration)
Termini correlati
- Differentiable Simulation
- Coulomb Friction
- Contact mode
- Signed Distance Field
- Hybrid system
- Reduced Coordinates
Progetti correlati
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- ProtoMotions: NVIDIA framework for training simulated digital humans and humanoid robots on GPUs
- PHC: Physics-based perpetual humanoid controller with fail-state recovery for real-time avatars
- SOFA Framework: Real-time physics simulation framework for medical simulation and soft tissue modeling
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
- frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics