מדריך התקנה של DK1
מ-Unboxing ועד לאיסוף נתונים דו-ידני. זמן משוער: ~2 שעות.
unboxing והרכבה
~30 דקותפתח בזהירות את שתי הזרועות וודא שכל הרכיבים קיימים לפני הפעלת משהו.
מה יש בקופסה
רשימת בדיקה להרכבה
- התקן את שתי הזרועות בצורה מאובטחת למשטח השולחן באמצעות החומרה המסופקת
- בדוק את כל חיבורי הסרוו בשרשרת המוביל (Dynamixel XL330).
- בדוק את כל חיבורי הסרוו על העוקב (בסיס DM4340, שורש כף היד/תפס DM4310)
- נתב כבלי USB בצורה נקייה הרחק מנתיבי נסיעה משותפים
- ודא מנגנוני האחיזה נפתחים ונסגרים בחופשיות ביד (כיבוי)
- קרא את דף בטיחות לפני הפעלת כוח
הגדרת תוכנה / התקנת 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
זיהוי יציאות וכיול
~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
מושב טלאופרציה ראשון
~30 דקותהתחל עם סשן טל-פעולה עם זרוע אחת כדי לאמת מעקב אחר עוקב אחר מנהיג לפני המעבר למצב דו-ידני.
טלאופרציה עם זרוע אחת
uv run lerobot-teleoperate \
--robot.type=dk1_follower \
--robot.port=/dev/ttyACM0 \
--teleop.type=dk1_leader \
--teleop.port=/dev/ttyACM2
מה לאמת
- זרוע העוקבת עוקבת בצורה חלקה אחר תנועות זרועות המנהיג
- אין שגיאות סרוו או תקלות בכל מפרק
- תפס נפתח ונסגר בתגובה לאוחז מנהיג
- אין כבל שנפער בכל טווח התנועה
לאחר שההפעלה הטלפונית בזרוע אחת פועלת כהלכה, חזור על הבדיקה עם צמד הזרועות השני לפני שתמשיך למצב דו-ידני.
רישום נתונים דו ידני
מתמשךלְהִשְׁתַמֵשׁ 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 ויקי עבור אפשרויות אינטגרציה של פלטפורמה.