دليل إعداد DK1

من فتح العلبة إلى جمع البيانات يدويًا. الوقت المقدر: ~ 2 ساعة.

1

فتح العلبة والتجميع

~ 30 دقيقة

قم بإخراج كلا الذراعين بعناية وتأكد من وجود جميع المكونات قبل تشغيل أي شيء.

ماذا يوجد في الصندوق

وحدة ذراع القائد
وحدة الذراع التابعة
كابلات USB (2× للدليلين)
أجهزة تركيب الطاولة
محول الطاقة
بطاقة البداية السريعة

قائمة مراجعة التجميع

  • قم بتركيب كلا الذراعين بشكل آمن على سطح الطاولة باستخدام الأجهزة المتوفرة
  • افحص جميع التوصيلات المؤازرة على السلسلة الرائدة (Dynamixel XL330).
  • افحص جميع التوصيلات المؤازرة على المتابع (قاعدة DM4340، المعصم/المقبض DM4310)
  • قم بتوجيه كبلات USB بشكل نظيف بعيدًا عن مسارات السفر المشتركة
  • التحقق من أن آليات القابض تفتح وتغلق بحرية باليد (إيقاف التشغيل)
  • اقرأ صفحة السلامة قبل تطبيق السلطة
قبل التشغيل تأكد من تثبيت كلا الذراعين بشكل آمن وعدم عبور أي كابلات لمسارات السفر المشتركة. اختبر التشغيل بذراع واحدة قبل محاولة الوضع اليدوي.
2

إعداد البرنامج / تثبيت LeRobot

~ 30 دقيقة

يتكامل DK1 مع LeRobot باعتباره مكونًا إضافيًا للأجهزة من الدرجة الأولى. قم بتثبيته جنبًا إلى جنب مع بيئة LeRobot الموجودة لديك.

المتطلبات الأساسية

  • بايثون 3.10+ مع uv مدير الحزم
  • تم تثبيت LeRobot في بيئة Python الخاصة بك
  • 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 متاحة تلقائيًا لأي LeRobot CLI في نفس بيئة Python. لا حاجة للتسجيل اليدوي. ال GIT_LFS_SKIP_SMUDGE=1 تكون العلامة مطلوبة لأنه يتم سحب LeRobot باعتباره تبعية ويقوم بتخزين أصول كبيرة عبر Git LFS - يؤدي تخطي smudge إلى تجنب تنزيلها أثناء التثبيت.

أذونات المنفذ التسلسلي لنظام التشغيل 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 أسماء للتصفية في وقت لاحق

الخطوات التالية

بمجرد الانتهاء من جمع البيانات، قم بتدريب نموذج ACT أو سياسة النشر باستخدام نصوص تدريب LeRobot. انظر DK1 ويكي لخيارات تكامل النظام الأساسي.

هل اكتمل الإعداد؟

انضم إلى المجتمع لمشاركة النتائج والحصول على المساعدة بشأن التكوينات المتقدمة.