표준 형식이 중요한 이유
로봇 학습은 역사적으로 다른 데이터 형식을 사용하는 모든 실험실에서 어려움을 겪었습니다. 이로 인해 데이터 세트를 공유하거나, 다른 로봇의 데이터를 결합하거나, 시스템 전반에 걸쳐 사전 훈련된 정책을 사용할 수 없게 되었습니다. LeRobot 데이터 세트 형식은 지원되는 모든 하드웨어에서 작동하는 단일 스키마를 정의하여 이 문제를 해결합니다. SO-100에 기록된 데이터 세트는 작업 공간 차원이 일치하는 한 변환 없이 OpenArm에 대한 정책을 훈련하는 데 사용할 수 있습니다.
기록하기 전에 형식을 이해하면 훈련 중에 데이터의 구조적 문제를 발견하지 못할 것입니다. 또한 디버깅이 훨씬 쉬워집니다. 훈련이 실패할 때 가장 먼저 살펴봐야 할 곳은 데이터 세트입니다.
데이터세트 구조: Parquet + MP4
각 LeRobot 데이터 세트는 다음 구조의 디렉터리에 있습니다.
Parquet(숫자 시계열용)와 MP4(비디오용) 간의 분할은 의도적인 것입니다. Parquet은 관절 상태와 동작을 효율적으로 압축하고 에피소드 인덱스를 통해 빠른 무작위 액세스를 지원합니다. MP4는 이미지 시퀀스용으로 설계된 비디오 코덱을 사용하므로 원시 이미지를 텐서로 저장하는 것보다 10~30배 더 작은 파일을 생성합니다.
각 에피소드의 주요 필드
| 필드 | 모양 | 설명 |
|---|---|---|
| 관찰.상태 | [티,디] | 각 시간 단계의 관절 위치(및 선택적으로 속도)입니다. D는 조인트 수입니다(예: SO-100의 경우 7: 조인트 6개 + 그리퍼 1개). |
| 행동 | [티,디] | 각 시간 단계에서 명령된 대상 관절 위치입니다. Observation.state와 동일한 차원입니다. |
| 타임스탬프 | [티] | 에피소드 시작 이후의 시간(초)으로, 기본적으로 50Hz입니다(단계당 0.02초). |
| 에피소드_색인 | 스칼라 | 데이터세트 내 이 에피소드의 정수 인덱스입니다. 데이터로더에서 시간 단계를 에피소드로 그룹화하는 데 사용됩니다. |
| 프레임_인덱스 | [티] | 에피소드 내의 프레임 번호(0~T-1)입니다. 해당 MP4의 프레임 번호와 일치합니다. |
| 다음.완료 | [티] | 부울 플래그 — 에피소드의 마지막 시간 단계에서 True입니다. 훈련 중에 에피소드 경계를 알리는 데 사용됩니다. |
| task_index | 스칼라 | Tasks.jsonl에 대한 색인입니다. 서로 다른 에피소드가 서로 다른 지침에 해당하는 다중 작업 데이터 세트를 활성화합니다. |
observation.images.cam_high 원시 픽셀 데이터가 아닌 경로 참조(프레임 인덱스 + 에피소드 인덱스)로 사용됩니다. LeRobot 데이터로더는 디코딩과 동기화를 투명하게 처리합니다.
기존 데이터 세트 로드 및 시각화
로드 lerobot-raw/aloha_sim_insertion_scripted HuggingFace Hub에서 데이터세트를 가져와 3개의 에피소드를 시각화합니다. 이 데이터세트에는 페그를 삽입하는 양손 로봇의 스크립트 데모가 포함되어 있습니다. 이는 잘 구조화된 데이터세트의 모습을 보여주는 깔끔한 예입니다.
시각화 도우미는 동기화된 공동 상태 플롯과 함께 각 에피소드의 비디오 재생이 포함된 HTML 페이지를 생성합니다. 다음을 찾으세요:
- 부드러운 관절 궤적 — 날카로운 스파이크는 녹음 아티팩트 또는 암 충돌을 나타냅니다.
- 일관된 에피소드 길이 — 길이가 매우 다양한 에피소드(예: 50 프레임과 400 프레임)는 일부 데모가 부분적으로 캡처되었거나 중단된 동작을 나타냅니다.
- 그리퍼 상태 변경 — 마지막 조인트 치수는 조작 작업을 위해 명확한 이진 전환(열림 → 닫힘 → 열림)을 표시해야 합니다.
SVRC 데이터세트 컬렉션 살펴보기
SVRC 데이터 세트 라이브러리에는 LeRobot 형식의 엄선된 로봇 학습 데이터 세트가 포함되어 있습니다. 직접 녹음하기 전에 다양한 작업과 하드웨어가 어떤 모습인지 살펴보세요. 데이터 세트 찾아보기 →
단원 2 완료 시기...
의 3개 에피소드를 성공적으로 시각화했습니다. lerobot-raw/aloha_sim_insertion_scripted HTML 출력이 브라우저에서 열립니다. Python으로 로드된 Parquet 파일에서 관찰.상태, 작업 및 타임스탬프 필드를 식별할 수 있습니다. Parquet과 MP4에 저장된 것의 차이점을 이해하고 있습니다. 단원 3에서 자신만의 데이터세트를 기록할 준비가 되었습니다.