מדריך התקנה של DK1

מ-Unboxing ועד לאיסוף נתונים דו-ידני. זמן משוער: ~2 שעות.

1

unboxing והרכבה

~30 דקות

פתח בזהירות את שתי הזרועות וודא שכל הרכיבים קיימים לפני הפעלת משהו.

מה יש בקופסה

יחידת זרוע מנהיג
יחידת זרוע עוקב
כבלי USB (2× עבור דו-ידני)
חומרת הרכבה על השולחן
מתאם מתח
כרטיס התחלה מהירה

רשימת בדיקה להרכבה

  • התקן את שתי הזרועות בצורה מאובטחת למשטח השולחן באמצעות החומרה המסופקת
  • בדוק את כל חיבורי הסרוו בשרשרת המוביל (Dynamixel XL330).
  • בדוק את כל חיבורי הסרוו על העוקב (בסיס DM4340, שורש כף היד/תפס DM4310)
  • נתב כבלי USB בצורה נקייה הרחק מנתיבי נסיעה משותפים
  • ודא מנגנוני האחיזה נפתחים ונסגרים בחופשיות ביד (כיבוי)
  • קרא את דף בטיחות לפני הפעלת כוח
לפני ההפעלה ודא ששתי הזרועות מותקנות היטב ושאין כבלים חוצים את נתיבי הנסיעה המפרק. בדוק את פעולת הזרוע האחת לפני שתנסה במצב דו-ידני.
2

הגדרת תוכנה / התקנת LeRobot

~30 דקות

ה-DK1 משתלב עם LeRobot כתוסף חומרה מהשורה הראשונה. התקן אותו לצד סביבת LeRobot הקיימת שלך.

דרישות מוקדמות

  • Python 3.10+ עם uv מנהל חבילות
  • LeRobot מותקן בסביבת Python שלך
  • לינוקס (מומלץ ב-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 זמינים אוטומטית לכל LeRobot CLI באותה סביבת Python. אין צורך ברישום ידני. ה GIT_LFS_SKIP_SMUDGE=1 הדגל נדרש מכיוון ש-LeRobot נמשך כתלות ומאחסן נכסים גדולים באמצעות Git LFS - דילוג על כתם מונע הורדה שלהם במהלך ההתקנה.

הרשאות יציאה טורית של לינוקס

בלינוקס, יציאות טוריות תחת /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 שמות לסינון מאוחר יותר

השלבים הבאים

לאחר שנאסף נתונים, אמן מודל ACT או Diffusion Policy באמצעות סקריפטי ההדרכה של LeRobot. ראה את DK1 ויקי עבור אפשרויות אינטגרציה של פלטפורמה.

ההגדרה הושלמה?

הצטרף לקהילה כדי לשתף תוצאות ולקבל עזרה עם תצורות מתקדמות.