Penalty-Based Contact Model
- Também chamado: spring-damper contact model, penalty method contact
- Categoria: Software & tooling › Simulation & twins
- Tags: contact, physics-simulation, differentiable-simulation, numerical-methods, dynamics
Um modelo de contato que deixa os corpos se sobreporem levemente e os afasta com uma força de mola-amortecedor proporcional à profundidade e à velocidade de penetração.
Definição
Modelo de contato por penalidade (penalty-based contact model) é o que trata o contato como uma mola rígida com amortecimento. Quando dois corpos se sobrepõem, o simulador mede a profundidade de penetração ao longo da normal de contato e aplica uma força repulsiva, normalmente k vezes a profundidade mais d vezes a taxa de penetração, onde k é uma rigidez e d um coeficiente de amortecimento. A força atua apenas enquanto os corpos se sobrepõem e é limitada para que o contato nunca puxe os corpos um para o outro. Existem variantes não lineares; o modelo de Hunt–Crossley, por exemplo, faz a força de amortecimento crescer com a profundidade de penetração para evitar o salto de força não físico no momento do impacto. O atrito tangencial geralmente é acrescentado como uma versão regularizada do atrito de Coulomb.
A abordagem é atraente porque é simples e local: as forças de contato são funções explícitas do estado atual, então nenhum problema global de restrições precisa ser resolvido, e as forças são contínuas no estado, o que se adapta à otimização baseada em gradiente e à simulação diferenciável. A família alternativa, o contato rígido ou baseado em restrições, impõe exatamente a não penetração por meio de problemas de complementaridade ou de otimização com restrições, ao custo de solvers mais complexos e de comportamento não suave. Os modelos de restrições suaves e os hidroelásticos ficam entre os dois.
A principal dificuldade é a rigidez. Uma mola macia permite penetração visível e contato saltitante e esponjoso. Uma mola rígida mantém a penetração pequena, mas torna as equações rígidas, exigindo passos de tempo muito pequenos ou integração implícita para permanecer estável, e produz forças grandes que mudam rapidamente. Na simulação diferenciável, isso também importa para os gradientes: contatos por penalidade rígidos produzem gradientes muito grandes perto dos eventos de contato, e sua variância entre rollouts cresce conforme a rigidez aumenta, o que pode tornar os gradientes exatos do simulador menos úteis para a otimização de políticas do que estimativas mais suaves.
Por que importa
O contato é onde a simulação de robôs é mais difícil, e a escolha do modelo de contato determina o quão estável, rápido, preciso e diferenciável é um simulador. Modelos por penalidade são comuns em simuladores diferenciáveis e de pesquisa, então entender seu compromisso de rigidez explica muitas das instabilidades, penetrações e problemas de gradiente que os engenheiros encontram.
Principais aplicações
- Simuladores físicos diferenciáveis para otimização de controle e de projeto
- Simulação de contato macio e deformável
- Simulação de locomoção com pernas com modelos de solo complacente
- Renderização háptica e guias virtuais (virtual fixtures)
- Simuladores simples e personalizados para prototipagem e pesquisa
Na prática
Um pesquisador constrói um simulador diferenciável simples para otimizar um movimento de empurrão. Os contatos entre o empurrador, a caixa e a mesa usam um modelo por penalidade com uma mola e um amortecedor lineares ao longo da normal e um termo de atrito de Coulomb suavizado. Com rigidez baixa, a caixa afunda visivelmente na mesa e desliza de forma estranha; aumentar a rigidez corrige isso, mas faz a simulação explodir, a menos que o passo de tempo seja reduzido em uma ordem de grandeza. Os gradientes da posição final da caixa em relação à trajetória de empurrão também se tornam erráticos. O pesquisador escolhe uma rigidez que mantém a penetração em uma fração de milímetro no passo de tempo escolhido, acrescenta amortecimento próximo do crítico e suaviza as estimativas de gradiente fazendo a média sobre vários rollouts perturbados.
Equívocos comuns
- Penetração significa que o modelo está quebrado — a mola precisa de alguma deflexão para produzir força, então uma pequena penetração é inerente e é ajustada em vez de eliminada
- Contato mais rígido é sempre mais preciso — rigidez maior exige passos de tempo menores, pode desestabilizar a simulação e aumenta a variância dos gradientes
- O contato por penalidade dá gradientes suaves em toda parte — a força ainda é ligada e desligada no momento do contato, então os gradientes em torno de eventos de contato podem ser grandes ou pouco informativos
Quem deve saber
- Desenvolvedores de simulação física e de motores de física
- Pesquisadores que trabalham com simulação diferenciável
- Engenheiros de locomoção e de manipulação que dependem de simulação
- Desenvolvedores de háptica
Tecnologias relacionadas
- Modelo de contato de Hunt-Crossley (Hunt-Crossley Contact Model)
- Modelo de Kelvin-Voigt (Kelvin-Voigt Model)
- Problema de complementaridade linear (Linear Complementarity Problem)
- Contato hidroelástico (Hydroelastic Contact)
- Integração implícita (Implicit Integration)
Termos relacionados
- Differentiable Simulation
- Coulomb Friction
- Contact mode
- Signed Distance Field
- Hybrid system
- Reduced Coordinates
Projetos relacionados
- 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