Learn(으)로 돌아가기

레로봇 호환형 데이터 세트를 기록하는 방법

레로봇 기록 CLI를 사용하여 에피소드 기반의 파켓 + 비디오 샷을 캡처합니다.

레로봇은 허깅 페이스의 오픈소스 로봇 학습 스택입니다. 데이터 세트 형식은 팔 규모의 모방 학습의 기본이되었습니다. 에피소드 기반, 파킷 + 비디오 셔드, 자기 설명 메타데이터, 허깅 페이스 허브 네이티브. 이 튜토리얼은 T6 CLI를 사용하여 순수한 50 에피소드 데이터 세트를 처음부터 기록하고 게시합니다.

데이터 수집 총 시간: 약 2시간 어려움: 초보자 2026년 4월 업데이트

당신 이 성취 할 것

이 튜토리얼의 끝에는 50 에피소드 레로봇 데이터 세트, 시각 검사 통과, 정상화 통계는, HuggingFace Hub에 공개된 공공 또는 개인 데이터 세트 등이 있습니다. 이 데이터 세트는 레로봇 정책 교육 (ACT, 전파 정책, VLA 헤드), 참조 구현 및 커뮤니티 평가와 즉시 호환됩니다.

레로봇 데이터셋 형식은 각 에피소드를 별도의 MP4 셰어에 저장된 비디오 프레임에 대한 공동 상태, 액션 및 참조로 파켓 파일의 라인 범위로 저장합니다. 이 형식은 허브에서 효율적으로 스트리밍, PyTorch DataLoaders에 깔끔하게 로드하고 JSON 메타데이터 파일을 통해 자전 설명하도록 설계되었습니다.

전제 조건

  • ** 레로봇 지원 로봇 팔.** SO-100 / SO-101, 오픈아름, 코치 v1.1, 모스, 아로하, 와도우엑스, UR 시리즈 지원 목록은 정기적으로 증가합니다. 옵션에 대해 [로봇 스토어]T25) 를 탐색하십시오.
  • ** 적어도 한 장의 카메라.** USB 웹캠 또는 인텔 리얼센스 손목 + 위 아래는 이상적입니다.
  • Ubuntu 22.04 파이썬 3.10+ 및 ffmpeg를 사용하는 작업장
  • HuggingFace 계정 출판을 위한 (선택)
  • 또한 텔레오프 기구가 필요하다면, [ALOHA 텔레오프 튜토리얼]T26) 를 참조하십시오.

단계

  1. 레로봇을 설치하세요

파이프에서 LeRobot을 설치합니다. 하드웨어 유형에 따라 선택적 추가가 있습니다.

```
conda create -n lerobot python=3.10 -y
conda activate lerobot
pip install --upgrade pip
pip install lerobot

# hardware-specific extras (pick yours)
pip install 'lerobot[feetech]'    # SO-100, Koch
pip install 'lerobot[dynamixel]'  # Aloha, WidowX
pip install 'lerobot[intelrealsense]'  # for RealSense cameras
```

설치 확인: T7. 현재 지원되는 하드웨어 매트릭스를 확인하기 위해 github.com/huggingface/lerobot 에서 하프스트림을 확인합니다. 프로젝트가 빠르게 움직입니다.

  1. 팔을 기량화해

지원된 팔마다 기량 하위 명령이 있습니다.

```
lerobot-calibrate \
  --robot.type=so100 \
  --robot.port=/dev/ttyACM0
```

이 방법은 모터 ID를 발견하고, 관절 0 위치를 설정하고, 기계를 T8로 저장합니다. 팔을 다시 설치하거나 케이블을 교환하면 다시 실행합니다.

  1. 카메라와 텔레오프를 확인해

생중계 시션을 진행해서 모든 것을 확인해 보세요.

```
lerobot-teleoperate \
  --robot.type=so100 \
  --robot.port=/dev/ttyACM0 \
  --robot.cameras='{"top": {"type":"opencv","index":0}, "wrist": {"type":"opencv","index":2}}' \
  --display_data=true
```

카메라 스트림은 30 FPS로 찢어지지 않고, 팔 트랙이 깨끗하고, 미리보기 창 업데이트를 확인합니다. 팔이 흔들리면, 먼저 USB 케이블 품질을 확인합니다.

  1. 임무와 명령에 대해 정의하세요

첫 번째 데이터 세트에 대해 잘 정의된 작업을 선택하세요. "붉은 큐브를 선택하고 파란색 그릇에 넣으십시오"는 "그 큐브와 함께 일을 해 보세요"를 때리는 모든 시간. 모든 에피소드에서 자연어 명령어가 문자 그대로 저장되며 하류 정책에서 볼 수있는 유일한 텍스트 조건입니다.

** 팁:** 작업 성공 기준을 바이너리로 유지하여 데이터에서 관찰할 수 있습니다. "큐브는 그릇에 있습니다".

  1. 50개의 에피소드를 녹음해

이제 주요 이벤트. T9 CLI로 50 에피소드를 녹음합니다. 플래그 이름들은 릴리스 사이에 약간 이동합니다.

```
lerobot-record \
  --robot.type=so100 \
  --robot.port=/dev/ttyACM0 \
  --robot.cameras='{"top": {"type":"opencv","index":0}, "wrist": {"type":"opencv","index":2}}' \
  --dataset.repo_id=<your-username>/red_cube_blue_bowl \
  --dataset.num_episodes=50 \
  --dataset.single_task="Pick the red cube and place it in the blue bowl." \
  --dataset.fps=30 \
  --dataset.episode_time_s=20
```

에피소드 사이에서는 조금 다른 초기 구성으로 시나를 재설정합니다. 큐브 위치, 보울 위치, 조명 각이 달라집니다. 훈련된 정책이 얼마나 잘 일반화되는지에 대한 가장 큰 요인입니다. 휴식을 취하십시오. ~ 30 에피소드 후 운영자의 피로지는 실제입니다. 마지막 20 개의 데모의 품질은 생각보다 중요합니다.

  1. 데이터 세트를 검사

내장된 시각화 장치로 에피소드를 스크롤하십시오.

```
lerobot-dataset-visualize --repo-id=<your-username>/red_cube_blue_bowl
```

카메라 중퇴, 관절 중단, 작업을 놓친 에피소드, 프레임 속도 변동성. 일반적인 정신 검진: 시간 흐름에 따라 플롯 액션 규범 스파이크는 일반적으로 텔레오프 유물들을 의미합니다.

  1. 나쁜 에피소드를 없애고 통계를 계산해

데이터 세트 메타 데이터에서 실패하거나 엉뚱한 에피소드를 제거합니다. 레로봇은 에피소드 인덱스별 필터링을 지원합니다. 청소 후, 정상화 통계를 (행동 및 상태 차원당 평균 / std) 다시 계산하여 하류 훈련은 올바른 값을 사용합니다. T10 CLI에는 T11 명령이 포함되어 있습니다.

  1. HuggingFace Hub로 밀어넣어

T12로 한 번 인증하고, 다음으로 누르십시오. T13 CLI는 자동 업로드를 지원합니다. 또한 사실 후에 누르실 수 있습니다:

```
huggingface-cli upload <your-username>/red_cube_blue_bowl \
  ~/.cache/huggingface/lerobot/<your-username>/red_cube_blue_bowl \
  --repo-type=dataset
```

데이터 세트는 이제 공개 (또는 개인) 이다. T14로 어디서나 로드 할 수 있습니다. ACT가 1시간 이내에 50 개의 데모를 수용할 수 있다면, 하나의 명령으로 기본 ACT 정책을 실행하십시오.

다음으로 어떻게 해야 할까요?

일단 깨끗한 레로봇 데이터 세트를 가지고 나면 두 가지 높은 가치의 후속 작업이 있습니다. (1) 그것에 대해 정책을 훈련시키는 ACT는 가장 쉬운 첫 번째 기본 라인이며 (2) 완화한 OpenVLA 는 ACT 기본 라인과 비교하기 위해 데이터 세트에 있습니다. 심각한 데이터 수집에 대한 확장이라면, ALOHA 쌍방향 텔레오프 는 하드웨어의 다음 단계입니다. 인형물에서는 Unitree G1 카메라 캘리브레이션 로 시작하십시오.

일반적인 실패 모드

** 에피소드는 길이가 다르기:** 훈련 중에 레로봇 패드 레로봇 패드

** 대용량 데이터 세트 크기는:** LeRobot 비디오 샷은 H.264 코드입니다. 크기가 여전히 문제가 있다면, 더 큰 해상도를 필요로 하지 않는 카메라에 15 FPS 또는 480p로 떨어뜨립니다.

** 정책 과잉 즉시:** 수집 중에 충분한 장면 변동이 없습니다. 초기 조건을 더 공격적으로 무작위로 설정합니다.

Hub 업로드 실패: 일반적으로 repo-가 존재하거나 권한 오류. T15로 repo를 먼저 생성하십시오.

깊이 잠수: 레로봇 데이터 세트 형식

레로봇 데이터 세트의 레이아웃 디스크: T16, T17, T18, 파켓 셔드 (일반적으로 에피소드마다 하나) 와 T19 폴더와 MP4 셔드 (MP4) 를 포함하는 최고 수준의 디렉토리. 파켓 라인은 시간 단계별 스칼라와 참조입니다. MP4는 프레임 인덱스에 의해 참조되는 이미지 관측을 포함합니다.

이 디자인은 의도적입니다. 파켓의 스칼러들은 패시 데이터 로딩에 대한 빠른 열 열 열 접근을 제공합니다. MP4는 프라임 이미지 파일보다 대량 순서로 디스크 압축을 더 잘 제공합니다. 무작위 접근을 희생하지 않고. CRF 18에 암호화 된 H.264는 조작에 거의 손실이 없습니다. CRF 23는 대부분의 작업에 대한 정책 훈련에 가시적인 품질 영향을 미치지 않는 약 3배 더 작은 파일을 제공합니다.

깊이 잠수: 현상 변동은 단일 가장 큰 품질 레버입니다

녹화 할 2시간이 있다면, 첫 30분 동안의 시나리오의 변화를 계획하고, 첫 90분 동안의 시나리오를 녹화하지 마십시오.

  • ** 객체 포지.** 작업 공간 전체에 있는 그리드에서 적어도 10개의 시작 위치.
  • 등화. 상공 광선 대 따뜻한 램프 대 자연 창문 최소 3가지 조건
    • 방해물*** 테이블에 비관적인 물체 2~3개를 절반 정도 더하십시오. 방해물 없이 훈련된 정책은 엔지니어링 책상 위에 커피컵이 있는 순간 깨집니다.
  • ** 배경.** 2개 또는 3개의 테이블 표면이나 테이블 표면을 돌라.
  • ** 지침 문장.** "붉은 거리를 선택해서 그릇에 넣어라" / "붉은 거리를 파란색 거리에 넣어라" / "붉은 거리를 그릇으로 옮기라".

심층 다이빙: 녹음에서 훈련까지 한 오후

레로봇 데이터 세트를 기록하는 전체 목적은 그것에 대한 정책을 훈련시키는 것입니다. 녹화가 완료되면 기본 레시피는: T22. 단일 GPU에서 ACT 정책은 약 45 분에서 2 시간 동안 50 에피소드에 적합합니다. 손실과 액션 공간 오류가 지속적으로 감소하는 것을 볼 수 있습니다. 훈련된 체크포인트를 T23로 실행하여 실제 로봇에 대한 평가를하십시오. 만약 데이터 세트가 깨끗하다면 50개의 에피소드와 함께 훈련된 작업에서 70%+의 성공과 100개의 에피소드에서 85%+의 성공을 볼 수 있을 것입니다.

깊이 잠수: 언제 녹음을 그만두고 훈련에 착수해야 하는가

팀들은 종종 과잉 기록을 한다. 올바른 유리스틱: 25 에피소드마다 기본 ACT 정책을 훈련시키고, 성공을 측정하고, 성공 곡선이 평평화되면 멈추게 한다. 당신은 종종 하나의 작업에 대한 80에서 150 에피소드 정도의 감소 수익을 얻을 수 있다. 다른 작업에 대한 추가 기록 시간을 보내는 것이 오히려 더 나은 멀티 작업 정책을 만들어냅니다.

자주 묻는 질문

** 레로봇과 함께 내 자신의 사용자 지정 로봇을 사용할 수 있습니까?** 네. 레로봇 T24 인터페이스와 일치하는 파이썬 클래스를 구현하십시오.

** 50 에피소드 데이터 세트가 얼마나 큰가?** 카메라 수와 해상도에 따라 약 1~5 GB 정도.

** 시뮬레이션 데이터를 기록할 수 있나요?** 네 레로봇은 SIM 환경 (ALOHA, PushT, Xarm) 을 지원합니다.

공동 각 이상에서의 proprioception는 어떨까요? LeRobot은 임의 상태 차원을 지원합니다. 데이터 세트 정보에서 이를 선언하고, 로더가 나머지는 처리합니다.

관련 교과서 및 자원