마찰 접촉의 중앙경로 완화로 접촉 모드 전환까지 미분하는 보행 로봇 학습
Differentiable Contact Dynamics for Legged Locomotion: Policy Learning and Contact-Implicit Trajectory Optimization
무엇인가
이 논문이 다루는 문제는 미분 가능한 물리 시뮬레이터가 접촉을 통해 흘려보내는 1차 그래디언트의 품질이다. 강체 마찰 접촉의 정확한 접촉 민감도는 닫힌 형태로 계산할 수 있지만, 그 값은 활성 집합(접촉 모드)을 고정한 상태에서 평가되기 때문에 지금 모드 안에서의 변화만 기술하고 이웃 모드로 향하는 1차 정보는 주지 않는다. 예컨대 붙어 있는(clamping) 접촉은 계속 붙어 있는 것으로 선형화되어 떼어지기(liftoff)나 미끄러짐(slip)으로 가는 방향이 사라지고, 활성 집합이 바뀌는 순간 민감도가 불연속적으로 점프한다. 접촉 암시 궤적 최적화(CITO)에서는 이 모드 제한 민감도가 탐색을 공칭 궤적의 접촉 시퀀스 근처에 묶어 두고, BPTT 기반 1차 정책 학습에서는 같은 야코비안이 불안정하거나 무효한 최적화를 만든다.
어떻게 동작하나
제안 방법의 핵심은 전방 해는 그대로 두고 역전파만 바꾸는 것이다. 저자들은 Signorini 조건, 쿨롱 마찰 원뿔, 최대 소산 원리를 de Saxcé 보정으로 묶은 2차원 원뿔 상보성 문제(SOCCP)를 출발점으로 삼는다. 여기서 완화를 정규(normal) 방향에만 걸던 기존 Signorini 완화와 달리, 마찰 원뿔 전체를 중앙경로(central path)를 따라 완화한다. 그러면 분리, 접착, 미끄러짐 세 모드를 정의하는 조건이 매끄러워지고, 완화된 민감도는 하드 접촉 해에서 초기화한 뉴턴 반복으로 얻은 중앙경로 위의 한 점에서 평가된다. 완화 파라미터가 0으로 가면 정확한 고정 모드 민감도로 수렴하고, 접촉 모드가 바뀌는 구간에서도 민감도가 연속으로 유지된다. 정규와 접선 성분이 함께 완화되기 때문에 접착 상태의 발에 대해서도 미끄러짐 방향의 1차 정보가 생긴다는 점이 Signorini 완화와의 결정적 차이다.
무엇과 다른가
구현은 Delassus 관계 σ = Aλ + b 위에서 이루어진다. 완화된 상보성 조건을 미분해 접촉 임펄스의 민감도 ∂λ/∂η를 풀고, 이것이 상태·제어 전이 야코비안 f_x, f_u를 거쳐 BPTT의 역방향 재귀와 DDP의 리카티 스윕에 들어간다. CITO에서는 접촉별 반복과 de Saxcé 보정을 쓴 이분법으로 하드 접촉 전방 해를 유지하고, 정책 학습에서는 반복 시뮬레이션이 필요해 RaiSim을 전방 롤아웃에 쓴다. 뉴턴 반복이 물리적으로 불가능한 해(음의 정규 임펄스, 원뿔 밖 임펄스, 관통 속도)로 수렴하는 '허위 수렴' 문제도 보고하는데, 접촉 중 하나라도 타당성 검사를 통과하지 못하면 해당 전이의 f_x, f_u를 0으로 막아 그래디언트 전파를 차단한다. 이 장치를 켜면 허위 수렴 비율이 3.00%에서 한 항만 켜도 약 0.03%, 두 항 모두 켜면 0.0058%까지 떨어진다.
어떻게 쓰나
정책 학습 실험은 단일 환경 BPTT로 사족보행 정책을 학습해 실기 전이까지 확인하는 것을 목표로 한다. 제안 그래디언트로 10만 샘플, 데스크톱 PC에서 108초 학습(trotting과 pacing 각각)만으로 하드웨어에 파인튜닝 없이 전이된 정책을 얻었다. 업데이트당 롤아웃 하나로 충분했고 BPTT 지평은 0.5초이며, 같은 시뮬레이터에서 PPO와도 비교한다. 실기에서는 trotting 정책이 밀치기, 잔해 지형, 미끄러운 노면을 견뎠고, 저마찰 환경용 gait-free 정책도 함께 전이됐다.
전제와 한계
CITO 비교는 전방 접촉 모델, 목적 함수, 초기화를 모두 고정한 채 정확한 그래디언트, Signorini 완화 그래디언트, 제안 그래디언트만 바꿔서 수행했다. 평면 이동은 0.2~1.6 m를 8방향으로, yaw 회전은 양방향 최대 π rad, pitch 회전은 0.4~1.2 rad 범위에서 기준 자세를 바꿔 가며 비용을 측정했고, 제안 그래디언트가 세 과제 모두에서 가장 낮은 비용을 냈다. 1.2 rad pitch 기준에서 자세 오차는 0.91~1.34 rad로 Signorini 완화의 0.77~1.50 rad보다 좁았고, 전후방 베이스 변위 진폭은 1.19 m에서 0.60 m로 줄었다. 반면 정확한 그래디언트는 이동 0.7 m, yaw 1.0 rad까지 발이 초기 위치에 붙어 있어 베이스가 기울거나 비틀리는 것으로 비용이 커졌다.
단일 문제 추적에서는 같은 초기 궤적에서 출발해 25회 DDP 반복 후 제안 그래디언트가 비용을 116에서 39로 낮춘 반면, 정확한 그래디언트와 Signorini 완화는 각각 98, 95에 머물렀다. 제안 그래디언트는 뒤오른발 접촉을 접착에서 미끄러짐으로 전환시켜 약 0.4 m 옆으로 재배치시켰고, 그 결과 계획된 베이스 롤이 0에 가깝게 줄었다. 40 Hz, 업데이트당 최대 4회 DDP 반복으로 도는 접촉 암시 MPC에서는 1 ms 시간 간격, 마찰계수 1.0의 RaiSim에서 10초 롤아웃당 1초짜리 외부 당김을 3번 가했을 때, 제안 그래디언트가 8방향 모두에서 최대 240~350 N(평균 272 N)을 버텼다. 이는 정확한 그래디언트의 81 N 대비 3.4배, Signorini 완화의 107 N 대비 2.5배다. 250 N 전방 당김에서 제안 방법은 앞발 접촉을 접착에서 미끄러짐으로 바꿔 발을 전진시키고 최대 기울기 10도 근처에서 회복했지만, 두 베이스라인은 발이 고정된 채 3.19초와 3.34초에 넘어져 실패했다.
개발자 관점에서 이 논문의 실용적 요점은 전방 시뮬레이터를 고치지 않고 역전파 경로만 교체한다는 것이다. 하드 접촉 전방 해를 그대로 쓰기 때문에 롤아웃은 실제로 실현 가능한 궤적으로 남고, 기존 강체 접촉 솔버 위에 SOCCP 미분과 중앙경로 뉴턴 반복, 그리고 허위 수렴 시 야코비안을 0으로 만드는 안전장치를 얹는 구조로 이식할 수 있다. 다만 완화 파라미터 ρ(실험에서 1)와 자유 속도 오프셋 δ(0.5) 같은 역전파 전용 하이퍼파라미터가 성능을 좌우하므로, 자신의 로봇·접촉 강성에 맞춰 민감도 연속성과 비용을 함께 확인해야 한다.
저자들이 밝힌 한계는 분명하다. 방법은 점 접촉을 전제로 하고, 평평하지 않은 지형이나 임의 형상 간 접촉으로 확장하려면 충돌 검출까지 미분해야 한다. 정책 학습의 BPTT 지평은 0.5초로 짧아 장기 지평 학습에는 SHAC처럼 학습된 종단 가치 함수를 붙이는 확장이 필요하다고 본다. 또한 정책 학습의 전방 롤아웃에 쓴 RaiSim은 미끄러짐 중 최대 소산 원리에서 벗어날 수 있고, CITO의 외부 당김 실험은 시뮬레이션에서 수행된 것으로 정리되어 있다.