Hugging Faceتاريخ نشر المصدر

التدريب في المحاكاة والنشر على روبوت حقيقي: Microduck مع Isaac Lab 3.0

كُتب هذا المنشور بالتعاون مع Antoine Pirrone وAugustin Crampette وMatthieu Lapeyre وCoralie Deplanne وAnne-Charlotte Passanisi وThomas Wolf.

كُتب هذا المنشور بالتعاون مع Antoine Pirrone وAugustin Crampette وMatthieu Lapeyre وCoralie Deplanne وAnne-Charlotte Passanisi وThomas Wolf.

الخلاصة السريعة

Microduck هو روبوت ثنائي القوائم مفتوح المصدر وميسور التكلفة صدر حديثًا من Pollen Robotics وHugging Face. والآن يمكنك تدريب Microduck على المشي باستخدام Isaac Lab وNewton. اختبر السياسة، وصدّرها بصيغة ONNX، وانشرها على الروبوت الحقيقي. شاركها على Hugging Face Hub أو تحقق من صحتها للمنافسة في Microduck Arena، ثم استكشف مهام أكثر تقدمًا باستخدام NVIDIA Isaac Lab.

المقدمة

سياسة المشي المدرَّبة في المحاكاة يجب أن تتعامل أيضًا مع الاحتكاك والتأخير والخلوص الميكانيكي لمحركات الروبوت الحقيقية.. NVIDIA Isaac Lab هو إطار عمل مفتوح المصدر لتدريب السياسات عبر آلاف المحاكاات المتوازية على وحدات معالجة الرسوميات. باستخدام Newton، ونمذجة المشغلات، والعشوائية النطاقية، يمكن للمطورين تهيئة السياسات للعتاد الحقيقي. Microduck يجسّد سير العمل هذا: تدريب سياسة مشي في المحاكاة، وتصديرها بصيغة ONNX، ونشرها على روبوت ثنائي القوائم حقيقي.

يرشدك هذا الدليل عبر خطوات تدريب Microduck وتقييمه باستخدام Isaac Lab وNewton، ثم تصدير السياسة للنشر. من هناك، يمكنك مشاركة نموذجك على Hugging Face Hub، واختبار توافقه والمنافسة في Microduck Arena، أو تشغيله على Microduck الخاص بك. المشي هو نقطة البداية — مع أمثلة مرتبطة تساعدك على استكشاف المزيد من Isaac Lab 3.0.

1. تثبيت Isaac Lab والتحضير لتدريب Microduck

لجزء المحاكاة والتدريب، ستحتاج إلى:

  • محطة عمل Linux مزودة بوحدة معالجة رسوميات NVIDIA مدعومة وتعريفها. انظر المتطلبات.

  • Git و uv.

للنشر، ستحتاج أيضًا إلى:

  • روبوت Microduck فعلي مُهيأ.

  • برنامج الروبوت المدمج فيه مثبّت ويعمل.

  • واجهة تحكم مدعومة، مثل ذراع تحكم مقترنة.

التثبيت السريع

على Linux مع وحدة معالجة رسوميات NVIDIA مدعومة وتعريفها، ثبّت uv (تخطَّ السطرين الأولين إذا كان متوفرًا بالفعل)، ثم استنسخ Isaac Lab وثبّت تبعياته:

curl -LsSf https://astral.sh/uv/install.sh | sh
source "$HOME/.local/bin/env"
git clone --branch develop https://github.com/isaac-sim/IsaacLab.git
cd IsaacLab
uv sync

تأكد من أن مهام Microduck والإعدادات المسبقة متوفرة:

uv run isaaclab list_envs --keyword MicroDuck --show_presets

2. فهم بيئة Microduck الجاهزة للتدريب

يوفّر Isaac Lab بالفعل نموذج روبوت Microduck والمشهد والملاحظات والأفعال والمكافآت والعشوائية النطاقية. ابدأ بمهمة المشي على أرض مستوية؛ ويضيف النسخة الوعرة الدرج والمنحدرات والتضاريس غير المستوية.

الشكل 2. بيئات Microduck جنباً إلى جنب: تضاريس مستوية (يسار) وتضاريس غير مستوية (يمين).

تتلقى السياسة 61 قيمة ملاحظة وتُخرج 14 موضع مفصل. حافظ على اتساق ترتيب الملاحظات والتطبيع وتحجيم الأفعال عند التصدير والنشر. انظر تكوين مهمة Microduck للاطلاع على الملاحظات والمكافآت وإعدادات المحاكاة الكاملة.

3. تسريع تدريب المشي باستخدام بيئات Isaac Lab المتوازية

يُسرّع Isaac Lab تدريب Microduck على المشي عبر تشغيل بيئات محاكاة متوازية على معالج الرسوميات (GPU). كما يمكن لـ Isaac Lab تشغيل تدريب موزّع عبر عدة معالجات رسوميات، على سبيل المثال التدريب باستخدام 16 معالج رسوميات لتسريع التدريب وزيادة المتانة. في هذا التكوين، يمكننا الوصول إلى 1.25M خطوة في الثانية مع تفعيل التضاريس الوعرة والفراغ الميكانيكي (backlash).

في هذا البرنامج التعليمي، نستخدم Newton مع محلل MJWarp و نماذج المحركات الأفضل المعتمدة على Newton (BAM) لنمذجة استجابة السيرفو، مع إعداد backlash لتحويل أهداف الموضع إلى عزوم سيرفو واقعية من خلال نمذجة متحكم البرنامج الثابت، والحدود الكهربائية للمحرك، والاحتكاك، والتأخير. ولتمكين السياسة من الانتقال من المحاكاة، نستخدم عشوائية النطاق (domain randomization). في كل بطة نُعشوّي الكتلة/مركز الكتلة، واحتكاك الأرض، وقصور المفاصل، وإزاحات المُرمِّز، وجهد البطارية/هبوطه وزمن تأخر الأوامر. كما نُنوّع التضاريس ونطبّق دفعات، بالإضافة إلى backlash بشكل مستقل لكل مفصل لتمثيل التآكل غير المتساوي.

الـ backlash هو اللعب الميكانيكي في صندوق التروس؛ فعندما يغيّر المفصل اتجاهه، يمكن لجهاز النقل أن يتحرك قليلاً قبل الاشتباك. نمذجة هذا التأثير وتنويعه بين المفاصل أثناء التدريب يعرّض السياسة للاختلافات التي قد تواجهها على الروبوت الحقيقي.

شغّل هذا الأمر لبدء التدريب:

uv run isaaclab train \
  --rl_library rsl_rl \
  --task IsaacContrib-Velocity-Rough-MicroDuck \
  --num_envs 4096 \
  presets=backlash

استخدمنا التضاريس الوعرة للنشر، لكن يمكنك بدلاً من ذلك تدريب بيئة التضاريس المستوية بهذا الأمر:

uv run isaaclab train \
  --rl_library rsl_rl \
  --task IsaacContrib-Velocity-Flat-MicroDuck \
  --num_envs 4096 \
  presets=backlash

4. قيّم سياسة المشي الخاصة بـ Microduck وصدّرها إلى ONNX

لنشر سياسة المشي الخاصة بـ Microduck على الروبوت الفعلي، صدّرها إلى ONNX بعد تقييمها في المحاكاة. يقوم سير عمل التشغيل RSL-RL في Isaac Lab تلقائياً بتصدير ملفي TorchScript (policy.pt) وONNX (policy.onnx). استخدم policy.onnx مع بيئة التشغيل المدمجة في Microduck، مع الحفاظ على اتساق ترتيب الملاحظات والتطبيع وتوسيع الأفعال مع التدريب.

شغّل أحدث نقطة حفظ في مُصوِّر Newton المرئي:

uv run isaaclab play \
  --rl_library rsl_rl \
  --task IsaacContrib-Velocity-Rough-MicroDuck \
  --checkpoint latest \
  --num_envs 16 \
  --viz newton_gl \
  presets=backlash

استبدل latest بالمسار إلى نقطة حفظ محددة.

الشكل 4. بِطّ Microduck تنفّذ سياسة مشي عبر تضاريس غير مستوية في المحاكاة.

تصدير السياسة لـ Microduck

للنشر سنستخدم السياسة الخاصة ببيئة التضاريس الوعرة. يُصدِّر تنفيذ التشغيل الحالي لـ RSL-RL ملفات TorchScript وONNX معاً إلى دليل exported مرتبط بالتشغيل المحدد:

exported/
├── policy.pt
└── policy.onnx

تُحمِّل بيئة التشغيل المدمجة في Microduck سياسات ONNX. استخدم policy.onnx للنقل إلى العتاد. تم تنفيذ التصدير التلقائي في الخلفية الخلفية لتشغيل RSL-RL في Isaac Lab.

5. شارك السياسات على Hugging Face وقيّمها في Microduck Arena

بعد تصدير policy.onnx ، يمكنك:

  • مقارنتها في Microduck Arena، وهي مساحة Hugging Face Space لاختبار السياسات المتوافقة على تحديات مشتركة ومقارنة نتائج لوحات المتصدرين. تقبل Arena النماذج التي تحتوي على 61 قيمة ملاحظة، و14 قيمة فعل، وبحجم أقصى يبلغ 64 MiB. اتبع دليل الإرسال للتحقق من التوافق والدخول في تحدٍّ ما.

  • شغّلها على Microduck الحقيقي. بعد التحقق من واجهة الملاحظات والأفعال في القسم 4، استخدم ملف ONNX مع بيئة التشغيل المدمجة في الروبوت؛ ويغطي القسم 6 النقل إلى العتاد.

  • شاركها على Hugging Face Hub. ارفع سياستك ليتمكن الآخرون من اكتشافها وتنزيلها. نوصي بإضافة بطاقة نموذج قصيرة تشرح كيفية استخدامه. يمكنك أيضاً تضمين إعدادات التدريب لمساعدة الآخرين على إعادة إنتاج نتائجك.

6. انشر سياسة الحركة بتنسيق ONNX على Microduck حقيقي

بعد التحقق من السياسة في المحاكاة وفحص واجهتها (القسم 4)، انشر policy.onnx على Microduck مُهيَّأ:

  1. انسخ السياسة من محطة عملك، مع استبدال ROBOT_HOST باسم مضيف الروبوت أو عنوان IP الخاص به:
scp exported/policy.onnx microduck@ROBOT_HOST:/home/microduck/my_walking.onnx
  1. اتصل بالروبوت وافحص سياساته الحالية:
ssh microduck@ROBOT_HOST
robotctl policy list
  1. ادعم الروبوت على حامله، ثم حمّل سياسة المشي. إذا كان يمشي بالفعل، فإن التحميل يعيده إلى وضعيته الأصلية ويستأنف الحركة.
sudo robotctl policy load walk /home/microduck/my_walking.onnx
  1. استخدم أدوات التحكم الموثقة لاختبار الوقوف والمشي البطيء والالتفاف والتوقف. راقب حالته، واستعد سياسة المشي الافتراضية إذا لزم الأمر:
robotctl monitor
sudo robotctl policy reset walk

اتبع دليل تحميل سياسات Microduck لإعداد بيئة التشغيل والسلوك. توضح الشكل 5 متانة السياسة المنشورة تجاه السقوط: يستعيد Microduck توازنه ويستأنف المشي بعد أن يُقالب فيسقط.

الشكل 5. Microduck حقيقي يمشي باستخدام سياسة التنقل المدرَّبة في Isaac Lab.

7. توسيع تدريب Microduck إلى التضاريس الوعرة ومهام الإدراك باستخدام Isaac Lab

يفتح Isaac Lab 3.0 إمكانية التعلم الروبوتي المتوازي على وحدات معالجة الرسوميات عبر التنقل والتحكم اليدوي الماهر والمهام القائمة على الرؤية، مع بيئات قابلة للتوسيع وخلفيات فيزياء وعرض قابلة للتهيئة. استكشف هذه الأمثلة والأدوات:

  • الحركة بمستوى أكثر تعقيدًا:كيِّف مهمة التضاريس الوعرة لبرنامج Microduck للتدرجات والمنحدرات والأرض غير المستوية، مع منهج تدريجي يزيد من صعوبة التضاريس.

  • مهام الإدراك والملاحة: وسِّع سياسة المشي الخاصة بـ Microduck بمراقِبات عمق الكاميرا الرأسية وحالة الروبوت لاستكشاف المهام القائمة على الإدراك في المحاكاة. تُظهر صورة GIF أدناه عبور منحدر. استكشف الملاحِبات القائمة على الكاميرا في أمثلة Kuka–Allegro للتعامل المُمكَّن بالرؤية.

  • التعامل البراعي: جرِّب مهام الرفع وإعادة التوجيه في Kuka–Allegro لتدريب ذراع ويد متعددة الأصابع على التعامل مع الأشياء.

  • بيئات مخصصة: استخدم مولّد المشاريع لبناء مهمتك الخاصة، ثم أضف أصولًا جاهزة للمحاكاة (SimReady) من مكتبة SimReady المركزية، وكيِّف الملاحِبات والمكافآت وفق تحديات جديدة.

الشكل 7. يتيح التدريب المتوازي في NVIDIA Isaac Lab لبرامج Microduck المحاكاة التدرب على عبور منحدرات ومنصات مختلفة، مع تعلم الحفاظ على التوازن وتجنب السقوط

الشكل 8. مهمة الإدراك لبرنامج Microduck في المحاكاة، مع لقطة خارجية من الأعلى ولقطات RGB والعمق والتجزئة في الأسفل.

ابنِ سياسة المشي التالية الخاصة بك

ابدأ بـ مهمة Microduck في Isaac Lab، ودَرِّب أول سياسة مشي لك، وشارك نموذج ONNX المُصدَّر على Hugging Face Hub. تحقّق منه في Microduck Arena، وشارك في تحدٍّ، وشاهد كيف تقارن سياستك بالآخرين. ثم ابنِ على ما تتعلمه—جرِّب تضاريسًا أكثر وعورة، أو أضف الإدراك، أو أنشئ مهمتك الخاصة.

الموارد

شكر وتقدير

يعتمد سير العمل هذا على أجهزة وبرمجيات Microduck من Pollen Robotics، والمشروع الأصلي مشروع التعلم المعزز Microduck, عمل نمذجة مشغّل BAM، وتكاملات Isaac Lab وNewton.

المصدر الأصلي

Hugging Face

ملاحظات المحتوى

النشر الأصلي والحقوق تعود إلى المصدر.

ترجمة آلية · يُرجى الرجوع إلى الأصل