curriculum-v2
롤아웃·학습 실행 / 모니터 / 교정 / 진급
타겟 그룹을 정해 롤아웃을 시작하고, 별도로 학습을 시작해 가중치를 주기 배포하며, 진행을 모니터링하면서 실패를 교정하고, 성공률 목표 도달 시 스테이지 진급을 확인합니다.
최근 확인 버전: v5.0.0
설정이 끝나면 화면 우측의 컨트롤 바에서 롤아웃과 학습을 실행합니다. 우측 패널은 위쪽의 컨트롤 바와 그 아래 그룹별 대시보드 카드로 구성됩니다.
V2의 컨트롤 바에는 롤아웃과 학습 버튼이 분리되어 있습니다. 롤아웃(데이터 수집)과 학습(가중치 갱신)은 서로 독립적으로 시작·중지할 수 있으며, 보통은 둘을 동시에 켜 두고 운영합니다. 그래야 로봇이 굴러가며 데이터를 모으는 동안 학습이 그 데이터를 흡수해 가중치를 계속 개선하는 온라인 루프가 돕니다.
/docs/curriculum-v2/v2-02-overview.png우측 컨트롤 바 — 타겟 그룹 다중선택, 반복 횟수, 롤아웃 시작/중지, 학습 시작/중지, 전체초기화
롤아웃 시작
-
디바이스 탭에서 로봇과 센서를 모두 켭니다.
하나라도 꺼져 있으면 컨트롤 바에 "로봇과 센서를 모두 켜야 시작할 수 있습니다. (디바이스 탭에서 확인)" 안내가 표시되고 롤아웃 시작 버튼이 비활성화됩니다.
-
타겟 체크포인트 그룹을 선택합니다.
이번 롤아웃에서 판정할 그룹을 다중 선택할 수 있습니다.
-
반복 횟수를 정합니다.
몇 번 반복할지 입력합니다. 0 = 무한으로, V2의 기본값이며 직접 정지할 때까지 계속 반복합니다.
-
롤아웃 시작을 누릅니다.
롤아웃이 시작되면 헤더 상태칩이 실행 중으로 바뀝니다. 멈추려면 롤아웃 중지를 누릅니다.
스크린샷 누락/docs/curriculum-v2/v2-run-start.png컨트롤 바 — 타겟 그룹 선택, 반복 횟수, 롤아웃 시작 버튼
학습 시작
V2의 학습은 롤아웃과 독립적으로 시작합니다. 학습은 무한 step으로 계속 돌면서, 데이터셋 그룹에 쌓인 데이터를 주기적으로 다시 읽어 일정 스텝마다 같은 체크포인트에 새 가중치를 배포합니다. 따라서 롤아웃으로 데이터가 모이는 동안 학습을 켜 두면 정책이 점점 개선됩니다.
-
타겟 그룹을 선택한 상태에서 학습 시작을 누릅니다.
컨트롤 바의 학습 시작(파란색)을 누르면 학습 시작 다이얼로그(학습 시작 — 무한 step · 주기 배포)가 열립니다.
-
학습 시작 다이얼로그를 채웁니다.
- 학습 서버 URL — 학습을 수행할 서버 주소입니다. 비우면 로컬 학습 서버(127.0.0.1:5100)가 자동으로 사용됩니다.
- 성공데이터 포함 — 켜면 성공 데이터와 교정 데이터를 모두 학습하고, 끄면 교정(DAgger) 데이터만 학습합니다.
- 체크포인트별 파라미터 — 체크포인트마다 **n(데이터로더 갱신 에피소드)**과 **m(배포 주기 스텝)**을 정합니다. n 에피소드가 새로 쌓이면 데이터로더를 갱신(핫스왑)하고, m 스텝마다 best-val 가중치를 배포합니다.
- GPU 사용량 / 여유 공간 — 예상 VRAM 사용량(합)과 가용량, 동시 학습 가능 여부를 표시합니다.
스크린샷 누락/docs/curriculum-v2/v2-run-train-dialog.png학습 시작 다이얼로그 — 학습 서버 URL, 성공데이터 포함 토글, 체크포인트별 n·m, GPU 사용량
-
학습 시작을 눌러 학습을 시작합니다.
학습이 돌기 시작하면 해당 그룹의 대시보드 카드에 학습중 칩이 표시됩니다. 학습을 멈추려면 컨트롤 바의 학습 중지(주황색)를 누릅니다.
모니터
롤아웃 실행 중에는 화면 우측 하단에 모니터 버튼(FAB)이 떠 있습니다. 누르면 전체화면 모니터가 열려 진행 상황을 자세히 볼 수 있습니다.
/docs/curriculum-v2/v2-run-monitor.png전체화면 모니터 — 라이브 카메라/로봇 뷰, 현재 블록, 스텝 진행바, 실패처리/전체 종료 버튼
모니터에서는 다음을 확인할 수 있습니다.
- 라이브 카메라와 로봇 뷰
- 현재 실행 중인 블록과 스텝 진행바
- 에피소드 저장 배너(성공/실패 에피소드를 인코딩·저장하는 중)
- 중단 버튼
체크포인트 블록이 추론 중인 플랜 칸에는 실패처리 버튼이 표시됩니다. 정책이 실패하고 있다고 판단되면 이 버튼을 눌러 해당 체크포인트를 실패로 처리하고 교정 흐름으로 넘어갈 수 있습니다. 동시에 여러 플랜이 진행 중이면(멀티 플랜) 각 칸의 실패처리는 그 플랜만 겨냥하며, 한쪽이 교정 중이라 반대편 추론이 멈추면 교정 대기 중 뱃지가 표시됩니다. 파이프라인 전체를 끝내려면 하단의 전체 종료를 누릅니다.
교정 (DAgger)
체크포인트가 (최대 스텝 초과 또는 실패처리로) 실패하면 체크포인트 실패 확인 다이얼로그가 뜹니다. 사용자가 직접 로봇을 조종해 올바른 동작을 시연하는 교정(DAgger) 데이터를 수집할 수 있습니다.
/docs/curriculum-v2/v2-run-correction.png체크포인트 실패 다이얼로그 — 실패 요약, 예 교정 시작 / 건너뛰기
-
체크포인트 실패 다이얼로그에서 교정 여부를 고릅니다.
교정하려면 예, 교정 시작을, 건너뛰려면 건너뛰기를 누릅니다. 다이얼로그에는 진행한 스텝·최대 스텝·실패 사유가 함께 표시되며, 선택과 무관하게 플래너는 fallback 블록으로 이미 이동해 있습니다.
-
되감기로 교정 시작 지점을 정합니다.
예, 교정 시작을 누르면 되감기 화면이 열립니다. ←/→ 키 또는 버튼으로 체크포인트가 지나온 과거 스텝까지 로봇 팔을 되감은 뒤, 원하는 지점에서 이 지점에서 교정 시작을 누릅니다. 되감는 동안 롤아웃은 일시정지 상태로 유지됩니다.
스크린샷 누락/docs/curriculum-v2/v2-run-correction-rewind.png되감기 화면 — ←/→ 로 과거 스텝 되감기, 교정 시작 지점 선택
-
교정 텔레옵 설정을 채우고 수집을 시작합니다.
되감기를 마치면 교정 텔레옵 설정이 열립니다. 자연어 지시, 텔레오퍼레이션 타입, Hz를 정한 뒤 수집 시작을 누릅니다.
스크린샷 누락/docs/curriculum-v2/v2-run-correction-teleop.png교정 텔레옵 설정 — 자연어 지시, 텔레오퍼레이션 타입, Hz, 수집 시작
대시보드
우측 패널의 그룹별 대시보드 카드에서 진행 상황과 지표를 확인합니다. 각 카드에는 그룹 색·이름·체크포인트 수가 표시되고, 학습 중인 그룹에는 학습중 칩이 붙습니다.
/docs/curriculum-v2/v2-run-dashboard.png그룹 대시보드 카드 — 성공/실패/교정/평균 길이 테이블, 판정 조건, 노이즈 범위, 성공률 라인차트
카드에서 볼 수 있는 지표는 다음과 같습니다.
- 성공 / 실패 / 교정 / 평균 길이 — 체크포인트별 누적 수치입니다.
- 판정 조건 — 체크포인트별 최대 스텝과 성공 임계값입니다.
- 노이즈 ± 범위 — 모션 블록별 노이즈 범위로, 선택한 스테이지(stage_index)를 기준으로 계산됩니다.
- 성공률 라인차트 — 성공률(= 성공 / (성공 + 실패))을 스테이지별로 보여 줍니다.
카드 상단에서는 Stage 를 선택해 스테이지별 지표를 볼 수 있습니다.
스테이지 진급
V2의 진급은 누적 개수가 아니라 성공률로 판단합니다. 현재 스테이지의 성공률(= 성공 / (성공 + 실패))이 그룹 정책의 목표 성공률(기본 0.8)에 도달하고, 최소 롤아웃 수(기본 10)를 넘기면 더 어려운 다음 스테이지로 자동 진급합니다.
진급하면 노이즈 정책만 갱신되어 노이즈 범위가 step_up만큼 한 단계 넓어집니다(학습은 멈추지 않고 계속 이어집니다). 즉 V1처럼 진급 때마다 새 체크포인트가 만들어지는 것이 아니라, 같은 체크포인트가 학습으로 계속 개선되는 동안 출발 조건만 점점 어려워집니다.
초기화 / 스테이지 관리
컨트롤 바와 대시보드에서 다음 동작을 수행할 수 있습니다.
- 전체초기화 — 자가학습에서 쌓은 데이터셋을 모두 삭제합니다. 그룹 정의는 유지되고 첫 스테이지가 다시 만들어집니다.
- 스테이지 초기화 — 선택한 스테이지의 데이터만 삭제합니다.
- 이전 스테이지로 복귀 — 스테이지가 둘 이상일 때 대시보드 카드에서 현재 스테이지를 삭제하고 이전 스테이지로 복귀합니다.
- 실패 데이터 버리기 — 스테이지의 실패 데이터셋을 비웁니다.