SO-101 설정 가이드
부품부터 첫 번째 데이터 수집까지. 예상 시간: ~3~4시간(3D 프린트 시간은 포함하지 않음).
집회
~60분 + 인쇄 시간SO-101은 완전한 오픈 소스 암입니다. 모든 부품은 3D 프린팅되거나 HuggingFace의 LeRobot BOM에 나열된 기성품 하드웨어로 제공됩니다.
필요한 부품
- 6× Feetech STS3215 서보 모터
- 3D 프린팅 구조 부품(SO-101 GitHub 저장소의 STL 파일)
- USB-직렬 어댑터 케이블(CH340 또는 CP2102 칩)
- 12V 전원 공급 장치(최소 3A)
- 서보 케이블 및 커넥터 하드웨어(BOM별)
조립 체크리스트
- 모든 구조 구성 요소(베이스, 링크, 엔드 이펙터) 인쇄
- STS3215 서보를 해당 링크 하우징에 설치하십시오.
- 인쇄된 케이블 채널을 통해 서보 케이블 배선
- 올바른 순서의 데이지 체인 서보(베이스에서 팁까지 ID 1~6)
- 전원을 켜기 전에 베이스를 안정된 표면에 고정하세요.
- 읽기 안전 페이지 힘을 가하기 전에
부품 3D 프린팅
인쇄 시간 ~8~16시간SO-101의 모든 구조 구성 요소는 표준 데스크탑 프린터를 사용하여 FDM 인쇄가 가능합니다. STL 파일은 각 팔에 대한 단일 파일 프린트로 구성되어 있어 슬라이싱이 간단합니다.
권장 슬라이서 설정
STL 파일 — 인쇄할 파일
일반적인 침대 크기에 대해 미리 준비된 단일 파일 인쇄를 사용할 수 있습니다.
- 220×220mm 침대(엔더 3):
- 수행원:
STL/SO101/Follower/Ender_Follower_SO101.stl - 지도자:
STL/SO101/Leader/Ender_Leader_SO101.stl
- 수행원:
- 205×250mm 침대(Prusa / UP):
- 수행원:
STL/SO101/Follower/Prusa_Follower_SO101.stl - 지도자:
STL/SO101/Leader/Prusa_Leader_SO101.stl
- 수행원:
STL/Gauges/ 레고 블록이나 STS3215 서보에 대해 테스트해 보세요. 게이지가 올바르게 맞으면 프린터 보정이 정확하다는 것을 확인할 수 있습니다. 전체 인쇄를 시작하기 전에 필요한 경우 배율을 조정하십시오.
소프트웨어 설치
~15분SO-101은 HuggingFace LeRobot에서 기본적으로 지원됩니다. 추가 플러그인은 필요하지 않습니다. LeRobot을 설치하기만 하면 됩니다.
르로봇 설치
# Using pip
pip install lerobot
# Or with uv (recommended)
uv pip install lerobot
Linux 직렬 포트 권한
Linux에서는 아래의 직렬 포트 /dev/ttyACM* 사용자가 dialout 그룹. 이것을 한 번 실행하고 로그아웃했다가 다시 로그인하십시오.
sudo usermod -aG dialout $USER
# Then log out and back in, or run:
newgrp dialout
전제조건
- 파이썬 3.10+
- Linux(Ubuntu 22.04 권장) 또는 macOS
- USB-직렬 드라이버 설치(macOS의 CH340 드라이버, 일반적으로 Linux에 사전 설치됨)
포트 감지 및 교정
~20분팔에 맞는 USB 직렬 포트를 찾은 다음 LeRobot 보정 스크립트를 실행하여 서보 영점 위치를 설정합니다.
직렬 포트 찾기
python lerobot/scripts/find_motors_bus_port.py
메시지가 표시되면 USB 케이블을 연결했다가 분리합니다. 스크립트는 암이 연결된 포트를 식별합니다. 일반적인 값:
# Linux: /dev/ttyACM0 (or ttyUSB0 for CH340 adapters)
# macOS: /dev/tty.usbmodem* or /dev/tty.usbserial-*
교정 실행
메시지가 표시되면 팔을 전체 동작 범위로 이동합니다.
python lerobot/scripts/calibrate.py \
--robot.type=so101 \
--robot.port=/dev/ttyACM0
첫 번째 모션 테스트
~15분리더 암을 연결하기 전에 단일 암 모드에서 원격 작동 스크립트를 실행하여 모든 관절이 올바르게 반응하는지 확인하십시오.
python lerobot/scripts/teleoperate.py \
--robot.type=so101 \
--robot.port=/dev/ttyACM0
확인해야 할 사항
- 6개의 관절 모두 건너뛰지 않고 명령에 응답합니다.
- 터미널에 서보 정지 또는 과부하 경고가 없습니다.
- 그리퍼는 전체 범위에서 열리고 닫힙니다.
- 어떤 조인트 위치에서도 케이블이 걸리지 않습니다.
원격조작
~30분SO-101은 독립형 암으로 작동하거나 원격 조작을 위한 리더 암이 있는 팔로어 암으로 작동합니다. 두 번째 팔을 리더로 사용하면 모방 학습을 위한 고품질 데모가 생성됩니다.
독립형 모드(키보드/프로그래밍 방식)
python lerobot/scripts/teleoperate.py \
--robot.type=so101 \
--robot.port=/dev/ttyACM0
리더 암 포함(예: DK1 리더)
python lerobot/scripts/teleoperate.py \
--robot.type=so101 \
--robot.port=/dev/ttyACM0 \
--teleop.type=so101 \
--teleop.port=/dev/ttyACM1
데이터 수집
전진다음을 사용하여 시연을 녹음합니다. record.py. 데이터는 LeRobot 형식으로 저장되며 훈련을 위해 HuggingFace Hub로 직접 푸시될 수 있습니다.
기본녹음
python lerobot/scripts/record.py \
--robot.type=so101 \
--robot.port=/dev/ttyACM0 \
--dataset.repo_id=your-org/so101-dataset \
--dataset.task="pick cube"
USB 카메라로
python lerobot/scripts/record.py \
--robot.type=so101 \
--robot.port=/dev/ttyACM0 \
--robot.cameras.top.type=opencv \
--robot.cameras.top.index=0 \
--dataset.repo_id=your-org/so101-dataset \
--dataset.task="pick cube"
모범 사례 기록
- 교육 전에 작업당 최소 50개의 데모를 녹음하세요.
- 에피소드 전반에 걸쳐 개체 위치와 방향을 다양하게 변경
- 설명을 사용하세요
--dataset.task나중에 필터링할 이름 - OAK-D 또는 Intel RealSense 카메라는 깊이 기반 데이터 수집에 적합합니다.
- 각 세션 후에 HuggingFace Hub에 데이터세트가 업로드되는지 확인하세요.
다음 단계
데이터를 수집한 후에는 LeRobot의 교육 스크립트를 사용하여 ACT 또는 확산 정책 모델을 교육하세요. 전체 내용을 읽어보세요 SO-101 학습 경로 설정부터 모델 배포까지 체계적으로 진행됩니다.