SO-101 설정 가이드

부품부터 첫 번째 데이터 수집까지. 예상 시간: ~3~4시간(3D 프린트 시간은 포함하지 않음).

1

집회

~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)
  • 전원을 켜기 전에 베이스를 안정된 표면에 고정하세요.
  • 읽기 안전 페이지 힘을 가하기 전에
BOM 및 STL 파일을 얻을 수 있는 위치: 전체 자재 명세서와 인쇄 가능한 부품은 HuggingFace LeRobot 저장소에 보관됩니다. 에서 "SO-101"을 검색하세요. 르로봇 GitHub.
1b

부품 3D 프린팅

인쇄 시간 ~8~16시간

SO-101의 모든 구조 구성 요소는 표준 데스크탑 프린터를 사용하여 FDM 인쇄가 가능합니다. STL 파일은 각 팔에 대한 단일 파일 프린트로 구성되어 있어 슬라이싱이 간단합니다.

권장 슬라이서 설정

환경
재료 PLA+
노즐 직경 0.4mm(또는 0.6mm)
레이어 높이 0.2mm(0.6mm 노즐의 경우 0.4mm)
충전 밀도 15%
지원 어디에나; 경사가 45° 이상인 경우 무시
침대접착 PEI 또는 유리에 표준 접착제 스틱
테스트를 거친 프린터 Prusa MINI+, Creality Ender 3, Bambu Lab A/P/X 시리즈

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을 인쇄하십시오. STL/Gauges/ 레고 블록이나 STS3215 서보에 대해 테스트해 보세요. 게이지가 올바르게 맞으면 프린터 보정이 정확하다는 것을 확인할 수 있습니다. 전체 인쇄를 시작하기 전에 필요한 경우 배율을 조정하십시오.
프린터가 없나요? 참조 3DPRINT.md 가이드 인쇄 서비스 옵션은 SO-ARM100 저장소에 있습니다. 사전 인쇄된 키트도 다음에서 구입할 수 있습니다. 파트봇 (우리를), 씨드 스튜디오 (국제) 및 자동 검색 (EU).
2

소프트웨어 설치

~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에 사전 설치됨)
3

포트 감지 및 교정

~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
재조립 후에는 다시 교정하십시오. 교정 데이터는 로컬에 저장됩니다. 조인트를 분해하고 재조립하는 경우 보정을 다시 실행하여 정확한 영점 위치를 복원하십시오.
4

첫 번째 모션 테스트

~15분

리더 암을 연결하기 전에 단일 암 모드에서 원격 작동 스크립트를 실행하여 모든 관절이 올바르게 반응하는지 확인하십시오.

python lerobot/scripts/teleoperate.py \
  --robot.type=so101 \
  --robot.port=/dev/ttyACM0

확인해야 할 사항

  • 6개의 관절 모두 건너뛰지 않고 명령에 응답합니다.
  • 터미널에 서보 정지 또는 과부하 경고가 없습니다.
  • 그리퍼는 전체 범위에서 열리고 닫힙니다.
  • 어떤 조인트 위치에서도 케이블이 걸리지 않습니다.
비상 정지 즉시 팔과의 통신을 끊으려면 USB 케이블을 분리하세요. 전동 작동 중에는 작업 공간에 손을 대지 마십시오.
5

원격조작

~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
이중 수동 설정: SO-101은 DK1 리더 암과 함께 팔로워 암으로 사용할 수 있습니다. 둘 다 LeRobot 기반이며 USB 직렬을 통해 통신합니다. 참조 DK1 페이지 전체 이중 수동 설정 세부정보를 확인하세요.
6

데이터 수집

전진

다음을 사용하여 시연을 녹음합니다. 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 학습 경로 설정부터 모델 배포까지 체계적으로 진행됩니다.

설정이 완료되었나요?

커뮤니티에 가입하여 결과를 공유하고 고급 구성에 대한 도움을 받으세요.