Penalty-Based Contact Model
- 다른 이름: spring-damper contact model, penalty method contact
- 카테고리: Software & tooling › Simulation & twins
- 태그: contact, physics-simulation, differentiable-simulation, numerical-methods, dynamics
물체가 약간 겹치는 것을 허용하고, 침투 깊이와 침투 속도에 비례하는 스프링-댐퍼 힘으로 물체를 밀어내는 접촉 모델.
정의
페널티 기반 접촉 모델(penalty-based contact model)은 접촉을 감쇠가 있는 강한 스프링으로 다룬다. 두 물체가 겹치면 시뮬레이터는 접촉 법선 방향의 침투 깊이를 측정하고 반발력을 가하는데, 이 힘은 보통 k 곱하기 깊이에 d 곱하기 침투 속도를 더한 값이다. 여기서 k는 강성, d는 감쇠 계수이다. 이 힘은 물체가 겹쳐 있는 동안에만 작용하며, 접촉이 물체를 서로 끌어당기는 일이 없도록 잘라 낸다(clipping). 비선형 변형도 있다. 예를 들어 Hunt–Crossley 모델은 감쇠력이 침투 깊이에 따라 커지게 하여 충돌 순간의 비물리적인 힘 도약을 피한다. 접선 방향 마찰은 보통 쿨롱 마찰의 정규화된 형태로 추가된다.
이 접근법은 단순하고 국소적이라는 점에서 매력적이다. 접촉력은 현재 상태의 명시적 함수이므로 전역 구속 문제를 풀 필요가 없고, 힘이 상태에 대해 연속이므로 경사 기반 최적화와 미분 가능 시뮬레이션에 적합하다. 다른 계열인 하드 접촉, 즉 구속 기반 접촉은 상보성 문제나 제약 최적화를 통해 비침투를 정확히 강제하지만, 그 대가로 솔버가 더 복잡해지고 거동이 매끄럽지 않다. 소프트 구속 모델과 하이드로엘라스틱(hydroelastic) 모델은 둘 사이에 위치한다.
주된 어려움은 강성이다. 부드러운 스프링은 눈에 보이는 침투와 통통 튀고 푹신한 접촉을 허용한다. 강한 스프링은 침투를 작게 유지하지만 방정식을 강성(stiff) 문제로 만들어, 안정성을 유지하려면 매우 작은 시간 간격이나 암시적 적분이 필요하고, 크고 빠르게 변하는 힘을 만든다. 미분 가능 시뮬레이션에서는 이것이 경사에도 영향을 준다. 강한 페널티 접촉은 접촉 이벤트 근처에서 매우 큰 경사를 만들고, 롤아웃 간 경사의 분산은 강성이 커질수록 증가하므로, 정책 최적화에서는 정확한 시뮬레이터 경사가 더 매끄러운 추정값보다 덜 유용할 수 있다.
중요한 이유
접촉은 로봇 시뮬레이션에서 가장 어려운 부분이며, 접촉 모델의 선택이 시뮬레이터가 얼마나 안정적이고, 빠르고, 정확하고, 미분 가능한지를 좌우한다. 페널티 모델은 미분 가능 시뮬레이터와 연구용 시뮬레이터에서 흔하므로, 그 강성 절충을 이해하면 엔지니어가 부딪히는 많은 불안정성, 침투, 경사 문제를 설명할 수 있다.
주요 응용
- 제어 및 설계 최적화를 위한 미분 가능 물리 시뮬레이터
- 부드럽고 변형 가능한 접촉의 시뮬레이션
- 순응 지면 모델을 이용한 다리 보행 시뮬레이션
- 햅틱 렌더링과 가상 고정구(virtual fixtures)
- 프로토타이핑과 연구를 위한 간단한 자체 시뮬레이터
실제 사례
한 연구자가 밀기 동작을 최적화하기 위해 간단한 미분 가능 시뮬레이터를 만든다. 푸셔, 상자, 탁자 사이의 접촉에는 법선 방향의 선형 스프링과 댐퍼, 그리고 평활화한 쿨롱 마찰 항을 가진 페널티 모델을 사용한다. 강성이 낮으면 상자가 탁자 속으로 눈에 띄게 가라앉고 이상하게 미끄러진다. 강성을 높이면 이 문제는 해결되지만, 시간 간격을 한 자릿수만큼 줄이지 않으면 시뮬레이션이 발산한다. 밀기 궤적에 대한 최종 상자 위치의 경사도 불규칙해진다. 연구자는 선택한 시간 간격에서 침투를 밀리미터의 몇 분의 일로 유지하는 강성으로 정하고, 임계 감쇠에 가까운 감쇠를 더하며, 섭동을 준 여러 롤아웃에 대해 평균을 내어 경사 추정값을 평활화한다.
흔한 오해
- 침투가 생기면 모델이 잘못된 것이다 — 스프링이 힘을 내려면 어느 정도 변형이 필요하므로, 작은 침투는 본질적인 것이며 없애는 대상이 아니라 조정하는 대상이다
- 접촉이 단단할수록 항상 더 정확하다 — 강성이 높을수록 더 작은 시간 간격이 필요하고, 시뮬레이션이 불안정해질 수 있으며, 경사의 분산이 커진다
- 페널티 접촉은 어디에서나 매끄러운 경사를 준다 — 힘은 여전히 접촉 순간에 켜지고 꺼지므로, 접촉 이벤트 주변의 경사는 클 수도 있고 정보가 없을 수도 있다
알아야 할 사람
- 물리 시뮬레이션 및 엔진 개발자
- 미분 가능 시뮬레이션을 다루는 연구자
- 시뮬레이션에 의존하는 보행 및 조작 엔지니어
- 햅틱스 개발자
관련 기술
- Hunt-Crossley 접촉 모델(Hunt-Crossley Contact Model)
- Kelvin-Voigt 모델(Kelvin-Voigt Model)
- 선형 상보성 문제(Linear Complementarity Problem)
- 하이드로엘라스틱 접촉(Hydroelastic Contact)
- 암시적 적분(Implicit Integration)
관련 용어
- Differentiable Simulation
- Coulomb Friction
- Contact mode
- Signed Distance Field
- Hybrid system
- Reduced Coordinates
관련 프로젝트
- 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