CLASH: Collision Learning via Augmented Sim-to-real Hybridization to Bridge the Reality Gap
이 논문은 시뮬레이션과 현실 간의 격차, 특히 충돌 역학의 부정확한 모델링 문제를 해결하기 위해, 소량의 실제 데이터로 파라미터를 식별하고 미세 조정하여 기존 시뮬레이터에 플러그인 방식으로 통합하는 데이터 효율적 하이브리드 프레임워크인 CLASH 를 제안함으로써 현실 세계로의 로봇 정책 전이 성공률을 획기적으로 향상시킨다는 내용입니다.
원저자:Haotian He, Ning Guo, Siqi Shi, Qipeng Liu, Wenzhao Lian
로봇을 가르칠 때, 실제 로봇을 쓰면 시간이 너무 오래 걸리고 부러질 위험도 있어서 보통 **컴퓨터 속의 가상 세계 (시뮬레이션)**에서 먼저 훈련시킵니다.
하지만 여기서 큰 문제가 생깁니다.
가상 세계 (시뮬레이션): 물리 법칙이 완벽하지 않습니다. 예를 들어, 공을 탁자에 때렸을 때 튕겨 나가는 각도나 마찰력을 계산할 때, 속도를 내기 위해 약간의 '단순화'를 합니다. 마치 요리 레시피가 "소금 1g"이라고만 적혀 있는데, 실제로는 소금의 종류나 습기에 따라 맛이 달라지는 것과 비슷합니다.
실제 세계: 로봇이 실제 물건을 치거나 부딪히면, 가상에서 예측한 것과 전혀 다른 결과가 나옵니다. (예: 공이 예상과 다르게 굴러가거나 멈춥니다.)
이 '가상과 현실의 차이 (Reality Gap)' 때문에, 컴퓨터에서 잘하던 로봇이 실제 세상에서는 엉뚱한 행동을 하곤 합니다.
💡 해결책: CLASH (충돌 학습을 위한 하이브리드 방식)
저자들은 이 문제를 해결하기 위해 CLASH라는 방법을 개발했습니다. 이 방법은 "가상 세계의 지혜를 배우되, 현실의 작은 교정을 받아들이는" 똑똑한 방식입니다.
1. 가상 세계의 '기본 레시피'를 배운다 (Distillation)
먼저, 컴퓨터 시뮬레이션 (MuJoCo) 에서 수만 번의 충돌 실험을 시켜 로봇에게 **'기본적인 물리 법칙'**을 가르칩니다.
비유: 요리사가 수천 번의 가상 시뮬레이션으로 "불을 켜면 물이 끓는다"는 기본 원리를 완벽하게 익히는 단계입니다.
2. 현실의 '작은 샘플'로 레시피를 수정한다 (System Identification & Fine-tuning)
그런데 가상 레시피만으로는 실제 요리의 맛을 100% 맞출 수 없습니다. 그래서 실제 로봇으로 아주 적은 횟수 (예: 10 번) 만 실험을 해봅니다.
비유: 요리사가 실제 손님의 입맛을 테스트하기 위해, 아주 적은 양의 재료를 써서 "소금 양을 0.1g 더 줄여야겠다"거나 "마찰력 (재료의 질감) 이 조금 더 끈적하다"는 것을 발견합니다.
핵심: 여기서 중요한 건, 전체 레시피를 다 다시 쓰는 게 아니라, '핵심 변수' (마찰력, 탄성 등) 만 살짝 조정한다는 점입니다. 그래서 데이터가 아주 적어도 됩니다.
3. '하이브리드 시뮬레이션'을 만든다 (The Hybrid Simulator)
이제 조정된 레시피를 가상 세계에 다시 심어줍니다.
비유: 이제 요리사는 "가상 세계의 빠른 계산 능력"을 유지하면서, "실제 손님의 입맛에 맞춘 수정된 레시피"를 사용합니다.
결과: 가상 세계에서 로봇이 움직일 때, 실제 세상과 거의 똑같은 결과 (공이 튕겨 나가는 방향 등) 를 예측하게 됩니다.
🚀 왜 이 방법이 특별한가요?
데이터가 거의 필요 없습니다: 보통 현실 세계 데이터를 많이 모으려면 로봇이 수천 번 부딪혀야 하지만, CLASH 는 10 번 정도만 부딪히면 됩니다. (시간과 비용 절감)
계산 속도가 빠릅니다: 복잡한 충돌 계산을 매번 새로 하는 게 아니라, 학습된 '간단한 모델'을 켜서 계산하므로 속도가 약 2 배 빨라집니다.
성공률이 확 올라갑니다: 실험 결과, 이 방법을 쓴 로봇은 실제 세상에서 물건을 밀거나 치는 작업의 성공률이 2 배나 높아졌습니다.
📝 한 줄 요약
**"가상 세계의 빠른 학습 능력과 현실 세계의 작은 교정을 합쳐서, 로봇이 실제 세상에서도 '요리 실력'을 100% 발휘하게 해주는 똑똑한 시스템"**입니다.
이 기술 덕분에 로봇은 더 안전하고 빠르게, 실제 세상에서 복잡한 일 (물건 옮기기, 공 치기 등) 을 할 수 있게 될 것입니다.
1. 문제 정의 (Problem)
로봇 제어 정책은 시뮬레이션에서 학습하는 것이 안전하고 비용 효율적이지만, **시뮬레이션 - 현실 간극 (Sim-to-real Gap)**으로 인해 실제 로봇에 적용할 때 성능이 저하되거나 실패하는 경우가 많습니다. 특히, **충돌 (Collision)**과 같은 접촉이 풍부한 역학 (Contact-rich dynamics) 은 불연속적이고 마찰 효과에 민감하여 정확한 모델링이 매우 어렵습니다.
기존 시뮬레이션의 한계: MuJoCo 와 같은 기존 물리 엔진은 실시간 성능을 위해 충돌 계산을 단순화하거나 근사화 (예: 페널티 기반 접촉, 선형화된 마찰 원뿔) 합니다. 이로 인해 충돌 후 속도 변화, 마찰 소산, 궤적 등에서 실제와 큰 오차가 발생합니다.
기존 해결책의 부족:
도메인 랜덤화 (Domain Randomization): 파라미터 범위를 넓히지만, 정책이 환경 파라미터에 과도하게 의존할 경우 한계가 있습니다.
잔차 학습 (Residual Learning): 시뮬레이션과 현실의 차이를 신경망으로 학습하지만, 방대한 양의 실제 데이터가 필요하거나 과적합 (Overfitting) 문제가 발생합니다.
시스템 식별 (System Identification): 파라미터를 추정하지만, 모델링되지 않은 비선형 효과 (unmodeled effects) 를 완전히 제거하지 못합니다.
2. 방법론 (Methodology)
저자들은 **CLASH (Collision Learning via Augmented Sim-to-real Hybridization)**라는 데이터 효율적인 하이브리드 프레임워크를 제안합니다. 이는 시뮬레이션의 물리 사전 지식 (Priors) 을 학습된 모델에 주입하고, 소량의 실제 데이터로 미세 조정하여 현실과 유사한 하이브리드 시뮬레이터를 구축합니다.
핵심 단계:
시뮬레이션 증류 (Simulation Distillation):
대량의 시뮬레이션 데이터 (MuJoCo) 를 사용하여 충돌 역학을 학습하는 **미분 가능한 대리 모델 (Differentiable Surrogate Model)**을 사전 학습합니다.
이 모델은 충돌 전 상태 (Spre) 와 시스템 파라미터 (마찰계수 μ, 반발계수 e 등, P) 를 입력받아 충돌 후 상태 (Spost) 를 예측하는 3 층 MLP 입니다.
이를 통해 물리 엔진의 내재된 물리 법칙을 모델에 주입합니다.
시스템 식별 및 적응 (System Identification & Adaptation):
**소량의 실제 데이터 (예: 10 개 샘플)**만 사용하여 모델을 현실에 적응시킵니다.
단계 1 (파라미터 식별): 네트워크 가중치를 고정하고, 실제 데이터에 맞춰 마찰계수 등 물리 파라미터를 경사 하강법으로 최적화합니다.
단계 2 (미세 조정): 식별된 파라미터를 고정하고, 네트워크 가중치를 소수 단계 (예: 10 스텝) 만 업데이트하여 잔차 (Residual) 를 학습합니다. 이는 과적합을 방지하면서도 모델링되지 않은 실제 효과를 포착합니다.
하이브리드 시뮬레이션 (Hybrid Simulator):
학습된 대리 모델을 MuJoCo 의 기본 충돌 모듈로 플러그인 (Plug-in) 형태로 통합합니다.
충돌이 감지되면 신경망 모델을 호출하여 결과를 예측하고, 그 외의 역학 계산은 기존 엔진을 사용합니다.
이 방식은 기존 시뮬레이션의 구조를 유지하면서 충돌 정확도만 극대화합니다.
3. 주요 기여 (Key Contributions)
CLASH 프레임워크 제안: 시뮬레이션의 물리 사전 지식을 미분 가능한 대리 모델에 증류하고, 소량의 실제 상호작용으로 파라미터 기반 식별 및 잔차 학습을 수행하는 데이터 효율적인 하이브리드화 방법론을 제시했습니다.
플러그인 하이브리드 시뮬레이션 구축: 학습된 모델을 MuJoCo 에 통합하여, 충돌 후 예측 정확도를 높이고 충돌이 빈번한 CMA-ES 와 같은 최적화 알고리즘의 실행 시간을 단축했습니다.
향상된 시뮬레이션 - 현실 전이 성능: 하이브리드 시뮬레이터를 통해 학습된 정책이 실제 로봇 (Franka Arm) 에서 더 강력하게 전이됨을 증명했습니다. 특히 강화학습 (RL) 기반 연속 밀기 작업에서 성공률을 2 배 이상 향상시켰습니다.
4. 실험 결과 (Results)
실험은 모델 기반 최적화 (Model-based Optimization) 와 강화학습 (RL) 두 가지 하위 작업에서 수행되었습니다.
충돌 모델 정확도:
제안된 모델은 MuJoCo, MJX(미분 가능 시뮬레이터), 그리고 실제 데이터만으로 학습된 신경망 (Pre-train 없음) 보다 모든 테스트 환경 (반원, 정사각형, 삼각형 블록) 에서 높은 예측 정확도를 보였습니다.
특히 소량의 데이터 (10 개) 로도 과적합 없이 높은 정확도를 달성했습니다.
모델 기반 최적화 (CMA-ES):
정확도: 하이브리드 시뮬레이터를 사용한 경우, 실제 로봇의 목표 위치 도달 오차가 MuJoCo 대비 **35.10% (반원), 26.58% (정사각형), 26.29% (삼각형)**만큼 감소했습니다.
속도: 충돌 계산에 신경망 모델을 사용하여 CMA-ES 검색의 월클락 (Wall-clock) 시간이 42-48% 단축되었습니다.
강화학습 (Sequential Pushing Task):
반원형 물체를 연속으로 밀어 목표 지점에 도달하는 RL 작업에서, 하이브리드 시뮬레이터로 학습된 정책은 MuJoCo 로 학습된 정책보다 성공률 (Success Rate) 이 약 2 배 높았습니다.
이는 정확한 충돌 모델링이 RL 정책의 현실 전이 (Sim-to-real transfer) 에 결정적임을 보여줍니다.
5. 의의 및 결론 (Significance)
데이터 효율성: 방대한 실제 데이터 수집 없이 소량의 데이터만으로도 시뮬레이션의 정확도를 획기적으로 개선할 수 있음을 입증했습니다.
실용성: 기존 물리 엔진 (MuJoCo) 을 완전히 교체하지 않고, 오차가 큰 모듈 (충돌) 만 선택적으로 데이터 기반 모델로 보강하는 모듈형 업그레이드 방식을 제시하여 실제 로봇 공학에 적용하기 용이합니다.
향후 방향: 마찰, 회전 소산 등 다른 물리 현상에도 이 프레임워크를 확장할 수 있으며, 다양한 형상에 대한 일반화를 위해 공유된 기하학적 표현 (Point clouds, SDFs) 을 도입할 경우 더 큰 효과를 기대할 수 있습니다.
요약하자면, CLASH 는 시뮬레이션의 속도/구조적 이점과 실제 데이터의 정확성을 결합하여, 충돌이 중요한 로봇 작업의 시뮬레이션 - 현실 간극을 효과적으로 해결하는 강력한 프레임워크입니다.