DK1 설정 가이드

언박싱부터 양방향 데이터 수집까지. 예상 시간: ~2시간.

1

개봉 및 조립

~30분

전원을 켜기 전에 양쪽 암을 조심스럽게 개봉하고 모든 구성 요소가 있는지 확인하십시오.

상자 안에 무엇이 들어있나요?

리더암 유닛
팔로워 암 유닛
USB 케이블(양방향 수동용 2개)
탁상용 장착 하드웨어
전원 어댑터
빠른 시작 카드

조립 체크리스트

  • 제공된 하드웨어를 사용하여 두 팔을 테이블 위에 안전하게 장착합니다.
  • 리더(Dynamixel XL330) 체인의 모든 서보 연결을 검사합니다.
  • 팔로어(DM4340 베이스, DM4310 손목/그리퍼)의 모든 서보 연결을 검사합니다.
  • 공동 이동 경로에서 USB 케이블을 깔끔하게 배선하십시오.
  • 그리퍼 메커니즘이 손으로 자유롭게 열리고 닫히는지 확인합니다(전원 끄기).
  • 읽기 안전 페이지 힘을 가하기 전에
전원을 켜기 전에 두 팔이 모두 단단히 장착되어 있고 케이블이 관절 이동 경로를 가로지르지 않는지 확인하십시오. 양손 모드를 시도하기 전에 단일 암 작동을 테스트하십시오.
2

소프트웨어 설치 / 르로봇 설치

~30분

DK1은 일류 하드웨어 플러그인으로 LeRobot과 통합됩니다. 기존 LeRobot 환경과 함께 설치하세요.

전제조건

  • Python 3.10 이상 uv 패키지 관리자
  • Python 환경에 설치된 LeRobot
  • Linux(Ubuntu 22.04 권장) 또는 macOS

DK1 플러그인 설치

# Clone the repo
git clone https://github.com/robot-learning-co/trlc-dk1.git
cd trlc-dk1

# Create a virtual environment
uv venv

# Install as LeRobot plugin (GIT_LFS_SKIP_SMUDGE=1 avoids downloading
# large LeRobot dependency assets during install)
GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .

# Verify device types registered
python -c "from lerobot.common.robot_devices.robots.factory import make_robot; print('DK1 ready')"
플러그인 감지 작동 방식: 후에 uv pip install -e ., 장치 유형 dk1_follower, dk1_leader, bi_dk1_follower, 그리고 bi_dk1_leader 동일한 Python 환경의 모든 LeRobot CLI에서 자동으로 사용할 수 있습니다. 수동 등록이 필요하지 않습니다. 그만큼 GIT_LFS_SKIP_SMUDGE=1 LeRobot은 종속성으로 끌어오고 Git LFS를 통해 대규모 자산을 저장하기 때문에 플래그가 필요합니다. 스머지를 건너뛰면 설치 중에 다운로드되는 것을 방지할 수 있습니다.

Linux 직렬 포트 권한

Linux에서는 아래의 직렬 포트 /dev/ttyACM* 사용자가 dialout 그룹. 이것을 한 번 실행한 후 로그아웃했다가 다시 로그인하십시오.

sudo usermod -aG dialout $USER
# Then log out and back in, or run:
newgrp dialout
3

포트 감지 및 교정

~20분

내장된 포트 찾기를 사용하여 각 암이 어떤 USB 직렬 포트에 연결되어 있는지 식별한 다음 각 암에 대해 보정을 실행합니다.

자동으로 포트 찾기

# Plug in one USB cable at a time to identify each arm's port
uv run lerobot-find-port

이중 수동 설정을 위한 일반적인 포트 할당:

# Leader right arm:   /dev/ttyACM0
# Leader left arm:   /dev/ttyACM1
# Follower right:    /dev/ttyACM2
# Follower left:     /dev/ttyACM3

# On macOS these appear as /dev/tty.usbmodem* instead

각 팔을 교정

각 암에 대해 개별적으로 보정을 실행합니다. 메시지가 표시되면 팔을 전체 범위로 이동합니다.

# Calibrate follower right arm
uv run lerobot-calibrate \
  --robot.type=dk1_follower \
  --robot.port=/dev/ttyACM0

# Calibrate follower left arm
uv run lerobot-calibrate \
  --robot.type=dk1_follower \
  --robot.port=/dev/ttyACM1

# Calibrate leader right arm
uv run lerobot-calibrate \
  --robot.type=dk1_leader \
  --robot.port=/dev/ttyACM2

# Calibrate leader left arm
uv run lerobot-calibrate \
  --robot.type=dk1_leader \
  --robot.port=/dev/ttyACM3
충돌 후 재보정: 예상치 못한 정지 또는 충돌 후 보정을 다시 실행하여 정확한 조인트 영점 위치를 보장합니다.
4

첫 번째 원격조작 세션

~30분

이중 수동 모드로 이동하기 전에 단일 팔 원격 조작 세션으로 시작하여 리더-추종자 추적을 확인합니다.

단일 팔 원격 조작

uv run lerobot-teleoperate \
  --robot.type=dk1_follower \
  --robot.port=/dev/ttyACM0 \
  --teleop.type=dk1_leader \
  --teleop.port=/dev/ttyACM2

확인해야 할 사항

  • 팔로어 팔은 리더 팔의 움직임을 원활하게 추적합니다.
  • 어떤 조인트에서도 서보 오류나 정지가 없습니다.
  • 그리퍼는 리더 그리퍼에 반응하여 열리고 닫힙니다.
  • 전체 동작 범위에서 케이블이 걸리지 않습니다.
비상 정지 즉시 팔과의 통신을 끊으려면 USB 케이블을 분리하세요. 전동 작동 중에는 작업 공간에 손을 대지 마십시오.

단일 팔 원격 조작이 올바르게 작동하면 양손 모드로 진행하기 전에 두 번째 팔 쌍으로 테스트를 반복하십시오.

5

양방향 데이터 기록

전진

사용 lerobot-record 와 함께 bi_dk1_follower 그리고 bi_dk1_leader 동기화된 이중 수동 데모를 수집하는 장치 유형입니다.

전체 양방향 녹음 명령

아래 명령은 두 개의 리더 팔을 두 개의 팔로어 팔에 연결하고 머리 및 손목 카메라 스트림과 동기화된 에피소드를 녹화합니다.

lerobot-record \
  --robot.type=bi_dk1_follower \
  --robot.right_arm_port=/dev/ttyACM0 \
  --robot.left_arm_port=/dev/ttyACM1 \
  --robot.joint_velocity_scaling=1.0 \
  --teleop.type=bi_dk1_leader \
  --teleop.right_arm_port=/dev/ttyACM2 \
  --teleop.left_arm_port=/dev/ttyACM3 \
  --robot.cameras="{
      head:        {type: opencv, index_or_path: /dev/video0, width: 960, height: 540, fps: 60, fourcc: MJPG},
      right_wrist: {type: opencv, index_or_path: /dev/video2, width: 960, height: 540, fps: 60, rotation: 180, fourcc: MJPG},
      left_wrist:  {type: opencv, index_or_path: /dev/video4, width: 960, height: 540, fps: 60, rotation: 180, fourcc: MJPG}
  }" \
  --dataset.repo_id=$USER/my_bimanual_dataset \
  --dataset.push_to_hub=false \
  --dataset.num_episodes=10 \
  --dataset.episode_time_s=30 \
  --dataset.reset_time_s=20 \
  --dataset.single_task="Bimanual pick and place task."

녹화하기 전에 카메라 색인을 검색하려면:

uv run lerobot-find-cameras

모범 사례 기록

  • 교육 전에 작업당 최소 50개의 데모를 녹음하세요.
  • 에피소드 전반에 걸쳐 개체 위치와 방향을 다양하게 변경
  • 세션 간에 카메라 노출을 일관되게 유지
  • 각 세션 후에 Hugging Face Hub에 데이터세트가 업로드되는지 확인하세요.
  • 설명을 사용하세요 --dataset.task 나중에 필터링할 이름

다음 단계

데이터를 수집한 후에는 LeRobot의 교육 스크립트를 사용하여 ACT 또는 확산 정책 모델을 교육하세요. 참조 DK1 위키 플랫폼 통합 옵션의 경우.

설정이 완료되었나요?

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