inference

DAgger (개입 데이터 수집)

추론 중 정책이 stuck 상태에 빠졌을 때 그 자세에서 즉시 텔레옵으로 전환해 "어떻게 빠져나오는지"를 추가 시연으로 남기는 흐름.

최근 확인 버전: v5.0.0

DAgger(Dataset Aggregation)는 학습된 정책을 추론으로 굴려보다가 막히는 순간 사람이 개입해 그 자세에서부터 직접 시연하고, 그 결과를 새로운 에피소드로 데이터셋에 추가하는 흐름입니다. Easy Trainer는 추론 → 텔레옵 전환을 홈 포즈 이동 없이 그 자리에서 바로 일으켜 stuck 상태의 정확한 시각적 컨텍스트를 보존합니다.

어떤 상황에 쓰나

상황DAgger가 유용한 이유
정책이 특정 자세에서 떨림·정체 (stuck)사람이 그 자세에서 빠져나오는 시연을 새 데이터로 추가
처음 보는 물체 / 조명에서 실패실패 직전의 frame을 시작점으로 시연 보강
마지막 한 두 단계만 학습이 부족끝맺음 동작을 강하게 보강

학습된 분포가 익숙한 상황은 정책에게 맡기고, 어려운 순간만 사람이 시연하기 때문에 적은 라벨 비용으로 효과적으로 개선할 수 있습니다.

사용 흐름

    1. 체크포인트를 선택하고 추론 실행을 시작합니다.

      정책이 stuck 상태에 들어갈 때까지 그대로 둡니다.

    2. MonitoringWindow 상단의 노란 DAgger 버튼을 누릅니다.

      school 아이콘이 있는 amber 색 버튼입니다.

      스크린샷 누락/docs/inference/dagger-01-button.png

      추론 중 MonitoringWindow 상단의 노란 DAgger 버튼

    3. DAgger 데이터 수집 다이얼로그가 열립니다.

      이 시점에 백엔드는 이미 추론을 끊고 정리를 끝낸 상태입니다. 로봇은 stuck이 발생한 그 자세에 그대로 머물러 있습니다 — Home Pose로 이동하지 않습니다.

      다이얼로그에 다음 항목을 입력합니다.

      • Dataset — 새로 만들 에피소드를 추가할 대상 데이터셋
      • Language Instruction — 자연어 지시 (선택)
      • Teleop Type — 키보드 / 리더 / Vive / Motion Planning 중 선택
      • Hz / Step Size — 텔레옵 타입에 맞는 추가 옵션
      스크린샷 누락/docs/inference/dagger-02-dialog.png

      DAgger 다이얼로그 — Dataset / Language Instruction / Teleop Type / Hz 입력

    4. 추론 중지 후 수집 버튼을 누릅니다.

      다이얼로그가 닫히고 곧바로 텔레옵 + 데이터 수집이 시작됩니다. 일반 수집과 다른 점은 Home Pose로 이동하는 단계가 강제로 비활성화된다는 것입니다 (forceNoHomepose=true). 정책이 막혔던 그 자세에서 그대로 사람이 이어받아 시연합니다.

    5. stuck 자세에서 빠져나오는 동작을 시연하고, 일반 수집과 동일하게 SUCCESS / DONE / STOP 으로 마무리합니다.

      생성된 에피소드는 선택한 데이터셋에 평범한 에피소드 한 건으로 저장됩니다. 이후 학습에 그대로 포함시켜 다시 학습하면 stuck 상황에서 빠져나오는 동작이 정책에 반영됩니다.

일반 수집과 어떻게 다른가

항목일반 데이터 수집DAgger
시작 자세Home Pose로 이동 후 시작정책이 멈춘 자세 그대로 시작
진입 경로워크스페이스의 data 탭 → RECMonitoringWindow 추론 중 → DAgger 버튼
자연어 지시 / 데이터셋 선택data 탭 setup row 에서 직접DAgger 다이얼로그에서 직접
저장 형태새 에피소드새 에피소드 (동일)

저장 형태는 동일하므로, 학습 시점에는 일반 에피소드와 DAgger 에피소드를 구분 없이 함께 사용할 수 있습니다.

관련 문서