Skip to content

Sim-to-Real 갭 정량화

핵심 과제

시뮬레이션에서 학습된 모든 로봇 정책은 결국 물리 하드웨어에서 실행되어야 합니다. 시뮬레이션과 현실 사이의 성능 차이 — Sim-to-Real 갭 — 은 SimOps가 체계적으로 해결하고자 하는 근본적인 장벽입니다.

flowchart LR
    subgraph Gap["Sim-to-Real 갭"]
        direction TB
        G1["물리 불일치"]
        G2["센서 오차"]
        G3["액추에이터 동역학"]
        G4["환경 변화"]
    end

    SIM["🖥️ 시뮬레이션<br/>성능: 95%"] -- "갭" --> REAL["🤖 하드웨어<br/>성능: ???"]

    style SIM fill:#4CAF50,color:#fff
    style REAL fill:#FF9800,color:#fff

숨겨진 리스크

체계적인 갭 정량화 없이는, Sim-to-Real 실패를 하드웨어에서 발견하게 됩니다 — 가장 비싸고 시간이 많이 드는 곳에서.

3계층 갭 모델

SimOps는 Sim-to-Real 갭을 세 개의 독립적인 계층에서 각각 측정합니다:

flowchart TD
    subgraph L1["계층 1: 학습 → 검증 갭"]
        A1["학습 시뮬레이터<br/>(MuJoCo / Isaac Lab)"]
        A2["검증 시뮬레이터<br/>(AGX Dynamics + UE5)"]
        A1 -- "ΔP₁: 물리 갭" --> A2
    end

    subgraph L2["계층 2: 검증 → 하드웨어 갭"]
        B1["검증 시뮬레이터<br/>(AGX Dynamics + UE5)"]
        B2["물리 하드웨어"]
        B1 -- "ΔP₂: 현실 갭" --> B2
    end

    subgraph L3["계층 3: 엔드투엔드 갭"]
        C1["학습 시뮬레이터"]
        C2["물리 하드웨어"]
        C1 -- "ΔP_total = ΔP₁ + ΔP₂" --> C2
    end

    L1 --> L2 --> L3

계층 1: 학습 → 검증 갭 (ΔP₁)

SimOps의 이중 시뮬레이터 파이프라인을 통해 측정하고 줄일 수 있는 갭입니다.

메트릭 학습 시뮬 검증 시뮬 일반적 ΔP₁
접촉력 정확도 ±20–50% ±2–5% 15–45%
관절 토크 추적 ±10–30% ±1–3% 9–27%
센서 노이즈 모델 가우시안만 하드웨어 매칭 가변
충돌 검출 단순화 메시 볼록 분해 10–30%

계층 2: 검증 → 하드웨어 갭 (ΔP₂)

검증 시뮬레이터와 현실 사이의 잔여 갭입니다. 잘 설정된 AGX Dynamics + UE5가 이를 최소화합니다.

원인 일반적 기여도 완화 방법
모델링되지 않은 마찰 2–8% 시스템 식별
액추에이터 백래시 1–5% 모터 특성화
센서 캘리브레이션 1–3% 하드웨어 인더 루프
환경 요인 1–5% 도메인 랜덤화

계층 3: 엔드투엔드 갭 (ΔP_total)

총 갭은 두 계층의 합성입니다:

ΔP_total = ΔP₁ + ΔP₂ - ΔP_overlap

SimOps 없이:   ΔP_total = ΔP₁ + ΔP₂ ≈ 30–60%  (측정 불가)
SimOps 사용:   ΔP₁은 피드백을 통해 측정 및 감소
               ΔP₂는 고충실도 검증으로 최소화
               ΔP_total ≈ 5–15%  (측정되고 바운드됨)

갭 측정 메트릭

SimOps는 각 계층에서 갭을 정량화하기 위한 표준화된 메트릭을 정의합니다:

태스크 수준 메트릭

graph TD
    subgraph Metrics["갭 측정 프레임워크"]
        M1["📊 <b>성공률 갭</b><br/>SR_sim - SR_real"]
        M2["📏 <b>궤적 편차</b><br/>sim/real 경로 RMSE"]
        M3["⚡ <b>힘 프로파일 오차</b><br/>접촉력 상관관계"]
        M4["⏱️ <b>타이밍 정확도</b><br/>태스크 완료 시간 차이"]
        M5["🎯 <b>정밀도 갭</b><br/>엔드이펙터 위치 오차"]
    end
메트릭 공식 목표
성공률 갭 SR_sim − SR_real < 5%
궤적 RMSE √(Σ(p_sim − p_real)²/n) < 10mm
힘 상관관계 corr(F_sim, F_real) > 0.95
타이밍 차이 |t_sim − t_real| / t_real < 3%
위치 오차 |x_sim − x_real| < 5mm

센서 수준 메트릭

센서 갭 메트릭 측정 방법
뎁스 카메라 (D435) 깊이 오차 분포 그라운드 트루스 포인트 클라우드와 비교
IMU 드리프트 비율 비교 Allan 분산 분석
힘/토크 크기 + 방향 오차 교정된 로드셀 기준
관절 엔코더 위치/속도 오차 광학 엔코더 기준

갭 감소 파이프라인

핵심 통찰: 갭을 측정할 수 있으면 줄일 수 있습니다.

flowchart TD
    A["1️⃣ 기준선 측정<br/>양쪽 시뮬에서 정책 실행"] --> B["2️⃣ 갭 식별<br/>어떤 메트릭이 발산하는가?"]
    B --> C["3️⃣ 근본 원인 분석<br/>물리? 센서? 액추에이터?"]
    C --> D{"갭 원인"}
    D -->|물리| E["검증 시뮬 파라미터<br/>SysID로 튜닝"]
    D -->|센서| F["센서 모델을<br/>실제 데이터로 개선"]
    D -->|액추에이터| G["학습 시뮬에<br/>액추에이터 동역학 추가"]
    E --> H["4️⃣ 갭 재측정"]
    F --> H
    G --> H
    H --> I{"ΔP < 임계값?"}
    I -->|아니오| B
    I -->|예| J["✅ 갭 바운드됨<br/>정책 하드웨어 준비 완료"]

실용 예시: 배드민턴 랠리 로봇

배드민턴 랠리 로봇 쇼케이스에서의 갭 정량화 초점:

측면 학습 시뮬 갭 검증 시뮬 갭 목표
셔틀콕 궤적 예측 충격 시 ±15cm 충격 시 ±3cm ±5cm
라켓 접촉 타이밍 ±20ms ±3ms ±5ms
팔 관절 추적 최대 속도에서 ±5° ±0.5° ±1°
셔틀콕 공기역학 단순화된 항력 풀 마그누스 + 텀블 실제 비행 매칭
뎁스 카메라 레이턴시 모델링 안 됨 하드웨어 매칭 < 5ms 차이

SimOps의 장점

이중 시뮬레이터 접근법 없이는, 이러한 갭들을 하드웨어에서만 발견하게 됩니다. SimOps는 검증 시뮬레이터에서 미리 잡아냅니다 — 물리 프로토타이핑보다 10–100× 빠르고 저렴한 곳에서.