17.34 다체 접촉과 충돌 해석

1. 개요

다체 접촉과 충돌 해석은 여러 강체가 동시에 여러 점에서 상호 작용하는 상황을 수학적으로 기술하고 수치적으로 해결하는 분야이다. 단일 접촉점에서의 접촉력과 충돌 모델이 기본 원리를 제공한다면, 실제 다체 시스템에서는 동시에 발생하는 복수의 접촉, 상호 의존적인 마찰 조건, 이산적 이벤트의 연속 등으로 인해 해석이 훨씬 복잡해진다. 대표적 예로 다지 손의 파지, 이족 보행 로봇의 양발 지면 접촉, 다수의 입자가 상호 접촉하는 입상체, 군집 로봇의 상호 충돌을 들 수 있다. 본 절은 다체 접촉의 정식화, 상보성 문제와 선형·콘 구조, 동시 접촉의 일관성, 충돌의 임펄스 해석, 수치적 해법, 그리고 다체 접촉과 제어의 결합을 체계적으로 정리한다.

2. 동시 다중 접촉의 정식화

k개의 접촉점이 동시에 존재할 때 각 접촉점에서 법선 방향 간극 \phi_i(q) \ge 0, 법선 접촉력 \lambda_{n,i} \ge 0, 그리고 상보성 조건 \phi_i\lambda_{n,i} = 0이 요구된다. 모든 접촉점의 조건을 결합하여 벡터화하면 다음과 같다.

0 \le \mathbf{\Phi}(q) \perp \boldsymbol{\lambda}_n \ge 0

이는 상보성 문제(complementarity problem)의 형태이며, 다수의 접촉이 동시 활성화될 경우 모든 접촉력이 시스템 전체의 가속도에 결합적으로 영향을 미친다. 접선 방향에서는 마찰 원뿔 조건이 각 접촉점에서 적용되며, 전체 문제는 모든 접촉점의 법선과 접선 조건을 동시에 만족시키는 해를 찾는 문제가 된다.

가속도 수준 상보성 문제

접촉이 지속되는 상태에서의 가속도 일관성 조건은 다음과 같다.

\ddot{\phi}_i = J_{n,i}\ddot{q} + \dot{J}_{n,i}\dot{q} \ge 0,\qquad \lambda_{n,i}\ge 0,\qquad \ddot{\phi}_i\,\lambda_{n,i} = 0

전체 관절 공간 동역학 방정식과 결합하면 \ddot{q}\boldsymbol{\lambda}를 동시에 풀어야 하는 혼합 선형 상보성 문제(mixed LCP)가 구성된다. 마찰이 포함되면 접선 방향의 조건이 추가되며, 문제는 원뿔 보완성 문제(cone complementarity problem)로 일반화된다. 이 정식화는 다체 접촉의 수학적 엄밀성을 제공하는 표준 접근이다.

3. 마찰 원뿔의 다면체 근사

쿨롱 마찰 원뿔은 2차 콘이지만, 선형 계획과 LCP 해법과의 결합을 위해 다면체로 근사된다. k개의 생성 벡터로 정의된 다면체 원뿔은 마찰 원뿔의 외접 또는 내접 근사로 사용되며, 이를 통해 문제가 선형 상보성 문제(LCP)로 환원된다. 생성 벡터의 개수가 많아질수록 정확성이 향상되지만 해법의 크기가 커진다. 2차 콘 그대로를 다루는 원뿔 보완 프로그래밍(cone complementarity programming) 기법도 존재하며, 정확성과 안정성의 균형을 고려해 선택된다.

4. 시간 단계 기반 해법

다체 접촉의 실질적 해법은 시간 단계 기반(time-stepping) 방법이 지배적이다. Stewart-Trinkle 방식과 Anitescu-Potra 방식이 대표적이며, 일정한 시간 간격 \Delta t 내에서 위치와 속도를 동시에 업데이트하고 접촉 조건을 상보성 문제로 풀어 해석 가능한 형태로 변환한다. 시간 단계 기반 방법은 이벤트 기반 방법에 비해 다수의 동시 접촉과 고빈도 이벤트를 안정적으로 처리하며, 현대적 다체 시뮬레이터에서 표준 알고리즘으로 채택된다.

5. 이벤트 기반 해법과의 비교

이벤트 기반 해법은 접촉 개시, 해제, 전이 이벤트를 시간적으로 정확히 포착하고, 각 이벤트 사이에서는 구속이 부과된 ODE 시스템으로 취급한다. 이 접근은 단일 또는 소수의 접촉 상황에서 높은 정확성을 제공하지만, 다수의 이벤트가 동시에 또는 매우 짧은 간격으로 발생하는 경우 이벤트 포착 자체가 계산적으로 비효율적이다. 두 접근은 상황에 따라 상호 보완적으로 사용되며, 근래에는 하이브리드 방식이 연구되고 있다.

6. 충돌과 임펄스 해석

동시 다중 충돌은 운동량 변화와 반발 조건이 다수의 접촉점에서 결합적으로 적용되는 경우이다. 임펄스 \hat{\boldsymbol{\lambda}}를 도입하여 충돌 전후의 속도 전이를 다음과 같이 기술한다.

\mathbf{M}(\dot{q}^+ - \dot{q}^-) = \mathbf{J}_c^\top\,\hat{\boldsymbol{\lambda}}

반발 조건은 각 접촉점에서 \mathbf{J}_n\dot{q}^+ = -e\,\mathbf{J}_n\dot{q}^-의 형태로 주어지며, 다수의 반발 계수가 존재하는 경우 충돌 순서와 결합 효과가 결과에 영향을 미친다. 이 해석은 Moreau의 스위핑 프로세스 형식 체계에 의해 엄밀히 기술되며, 다중 충돌에서 에너지 보존, 모멘텀 보존, 물리적 타당성이 동시에 유지되는 해를 찾는다.

입상체와 대규모 접촉

입자 수가 많은 입상체(granular media), 파편 시뮬레이션, 군집 로봇의 상호 충돌은 매우 많은 접촉점을 포함하는 극단적 경우이다. 이러한 문제에서는 상보성 문제의 크기가 급격히 증가하므로 Gauss-Seidel 반복, 투영 Gauss-Seidel, 원뿔 보완성 프로그래밍이 사용된다. 또한 이산 요소법(discrete element method, DEM)은 접촉을 Hunt-Crossley와 같은 연속 모델로 근사하여 대규모 시뮬레이션을 가능케 한다. 두 접근은 정확성과 효율성의 절충을 제공한다.

다체 접촉과 파지

파지 문제에서는 다수의 손가락이 물체와 동시에 접촉하며, 각 접촉점에서 마찰 원뿔 내부의 힘을 분배하여 안정된 파지를 구성한다. 파지력 폐쇄(force-closure)는 접촉력을 적절히 선택했을 때 어떤 외부 외란에도 대응할 수 있는 상태를 의미하며, 다체 접촉의 대표적 제어 응용이다. 다체 접촉 해석은 이러한 파지의 안정성 평가, 내부 힘의 분배, 접촉 전이 계획의 수학적 기초를 제공한다.

시뮬레이터 구현과 실무

현대 물리 시뮬레이터(MuJoCo, Bullet, ODE, PhysX, Drake, Chrono, RaiSim)는 다체 접촉 해석을 고유의 방식으로 구현한다. MuJoCo는 콘 보완성 기반의 부드러운 접촉 모델을, Bullet은 이벤트 기반과 시간 단계 기반 혼합 해법을, Drake는 SAP(Semi-Analytical Primal) 기반 접촉 해법을 제공한다. 각 시뮬레이터는 정확성, 안정성, 계산 효율성, 미분 가능성에서 서로 다른 특성을 보이며, 응용의 목적에 따라 적절한 선택이 요구된다.

학습 기반 접근과의 결합

최근에는 강화 학습과 같은 학습 기반 제어가 다체 접촉 환경에서 중요한 역할을 하고 있다. 학습 정책은 시뮬레이터가 제공하는 접촉 해법에 강하게 의존하므로, 시뮬레이터의 접촉 모델이 실제 환경을 충분히 반영하지 못하면 시뮬레이션에서 학습된 정책이 실제 로봇에서 재현되지 않는 시뮬레이션-현실 간극(sim-to-real gap)이 발생한다. 이를 완화하기 위해 도메인 무작위화, 접촉 매개변수의 정밀 식별, 접촉 모델의 미분 가능화 같은 기법이 병행된다. 본 절에서 논의된 다체 접촉 해석의 정확성은 이러한 현대적 요구에 직접적으로 기여한다.

본 절의 의의

본 절은 동시 다중 접촉과 충돌이 발생하는 다체 시스템의 해석을 체계적으로 제시한다. 상보성 문제와 원뿔 조건, 시간 단계 기반 및 이벤트 기반 해법, 충돌 임펄스, 입상체 시뮬레이션, 다체 접촉과 파지, 학습 기반 제어와의 결합은 모두 현대 로봇 공학에서 핵심적 주제이며, 본 절의 정리는 이를 통합적으로 이해하기 위한 수학적·계산적 기반을 제공한다.

학습 권장사항

독자는 3개 내지 4개의 구를 포함하는 간단한 시뮬레이션을 직접 구성하여, 동시 접촉 시 접촉력이 어떻게 분배되는지를 관찰할 것을 권장한다. 또한 LCP 해법을 소규모 예제에 적용하여 상보성 조건이 어떻게 풀리는지를 수치적으로 체험하는 것이 유익하다. 서로 다른 시뮬레이터(MuJoCo와 Bullet 등)에서 동일한 시나리오를 실행하여 접촉 해법의 차이가 결과에 미치는 영향을 비교 분석하는 실습은 현대 시뮬레이터의 특성 이해에 도움이 된다.

참고 문헌

  • Stewart, D. E. (2000). Rigid-body dynamics with friction and impact. SIAM Review, 42(1), 3–39.
  • Anitescu, M., & Potra, F. A. (1997). Formulating dynamic multi-rigid-body contact problems with friction as solvable linear complementarity problems. Nonlinear Dynamics, 14(3), 231–247.
  • Brogliato, B. (1999). Nonsmooth Mechanics: Models, Dynamics and Control. Springer.
  • Moreau, J. J. (1988). Unilateral contact and dry friction in finite freedom dynamics. In Nonsmooth Mechanics and Applications, 1–82. Springer.
  • Cundall, P. A., & Strack, O. D. L. (1979). A discrete numerical model for granular assemblies. Géotechnique, 29(1), 47–65.
  • Todorov, E., Erez, T., & Tassa, Y. (2012). MuJoCo: A physics engine for model-based control. IEEE/RSJ International Conference on Intelligent Robots and Systems.
  • Hwangbo, J., Lee, J., & Hutter, M. (2018). Per-contact iteration method for solving contact dynamics. IEEE Robotics and Automation Letters, 3(2), 895–902.
  • Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer.

version: 1.0