شنو هو SuperMimic؟
SuperMimic هو مشروع بحثي لتدريب متتبّع للحركة ديال الجسم كامل ديال روبو بشري، باستعمال نموذج واحد قابل للاشتقاق. مبني على mjlab، وكيوفّر مهام تدريب بجوج تمثيلات مختلفين للإحداثيات.
تقدر تلقى معلومات إضافية على المشروع فـ صفحة مشروع SuperMimic وفـ البحث العلمي.
المزايا الرئيسية
- تتبّع حركة الجسم كامل ديال الروبو البشري: المشروع كيدرّب سياسة لتتبّع حركة الروبو البشري.
- نموذج عالم قابل للاشتقاق: التدريب كيعتمد على نموذج عالم واحد قابل للاشتقاق مع السياسة.
- جوج تمثيلات للمهام: SuperMimic كيدعم مهام الإحداثيات المعمّمة والإحداثيات القصوى بالنسبة لـ G1.
- سكريبتات التدريب وإعادة التشغيل: كاينين أوامر منفصلة لبداية التدريب وإعادة تشغيل نموذج مدرّب.
- اختيار GPU: تقدر تسند التدريب لـ GPU معيّن باستعمال
CUDA_VISIBLE_DEVICES.
ثبّت SuperMimic
1. ثبّت uv
SuperMimic كيستعمل uv باش يشغّل السكريبتات ديالو. ثبّتو بالأمر اللي موجود فـ README ديال المشروع:
curl -LsSf https://astral.sh/uv/install.sh | sh2. صايب مساحة العمل
خاص مستودعي SuperMimic و mjlab_research يتنسخو كمجلدين متجاورين. صايب مساحة عمل مشتركة، دخل ليها، ونسخ المستودعين:
mkdir supermimic_ws && cd supermimic_ws
git clone git@github.com:HybridRobotics/supermimic.git
git clone git@github.com:HybridRobotics/mjlab_research.git
cd supermimicالبنية الناتجة كتخلي supermimic و mjlab_research فنفس المستوى ديال المجلدات. نفّذ الأوامر الباقية من داخل مجلد supermimic.
اختار مهمة التدريب
SuperMimic كيوفّر جوج معرّفات للمهام:
SuperMimic-GenCoord-G1كيستعمل تمثيل الإحداثيات المعمّمة.SuperMimic-MaxCoord-G1كيستعمل تمثيل الإحداثيات القصوى.
استعمل معرّف المهمة بالحرف فكل من أوامر التدريب وإعادة التشغيل. اختار التمثيل اللي مناسب للتجربة اللي بغيتي تدير.
درّب نموذج للعالم وسياسة
سكريبت التدريب كياخذ معرّف المهمة واسم وصفي للتجربة. تقدر تشغّلو على GPU مختار باستعمال القالب التالي:
CUDA_VISIBLE_DEVICES=<GPU_ID> uv run src/supermimic/scripts/train.py \
<TASK_ID> --runner.run_name <description>بدّل <GPU_ID> برقم GPU، و<TASK_ID> بواحد من معرّفات المهام المدعومة، و<description> باسم واضح للتجربة.
مثلاً، الأمر التالي كيختار GPU 0 وكيبدا مهمة الإحداثيات المعمّمة:
CUDA_VISIBLE_DEVICES=0 uv run src/supermimic/scripts/train.py \
SuperMimic-GenCoord-G1 --runner.run_name g1_generalized_coordinatesباش تدرّب باستعمال تمثيل الإحداثيات القصوى، بدّل معرّف المهمة:
CUDA_VISIBLE_DEVICES=0 uv run src/supermimic/scripts/train.py \
SuperMimic-MaxCoord-G1 --runner.run_name g1_maximal_coordinatesعاود شغّل نموذج مدرّب
استعمل سكريبت إعادة التشغيل مع معرّف المهمة الأصلي والمسار ديال تجربة Weights & Biases الخاصة بالنموذج المدرّب:
uv run src/supermimic/scripts/play.py \
<TASK_ID> --wandb-path <RUN_PATH>بالنسبة لتجربة بالإحداثيات المعمّمة، الأمر كيكون بهاد الشكل:
uv run src/supermimic/scripts/play.py \
SuperMimic-GenCoord-G1 --wandb-path <RUN_PATH>بدّل <RUN_PATH> بالمسار المناسب للتجربة. خَلّي معرّف مهمة إعادة التشغيل مطابق للتمثيل اللي تستعمل فالتدريب.
نصائح متقدّمة لسير العمل
خلي المستودعات متجاورة
حافظ على بنية مساحة العمل اللي توضّحات فتعليمات الإعداد. ما تحطّش mjlab_research داخل مستودع supermimic ولا العكس.
استعمل أسماء واضحة للتجارب
القيمة ديال --runner.run_name خاصها توضّح التجربة مزيان. إدخال تمثيل الإحداثيات فالاسم كيخلّي التمييز بين تجارب الإحداثيات المعمّمة والقصوى أسهل.
اختار GPU بشكل صريح
فجهاز فيه بزاف ديال GPU، عيّن CUDA_VISIBLE_DEVICES قبل أمر التدريب باش تختار GPU المطلوبة. مثلاً، استعمل CUDA_VISIBLE_DEVICES=1 باش تخلّي GPU 1 متاحة للعملية.
طابق معرّفات المهام فإعادة التشغيل
ملي تعاود تشغّل نموذج، استعمل نفس معرّف المهمة ديال تمثيل الإحداثيات اللي تستعمل فالتدريب. بهاد الطريقة كيبقى أمر إعادة التشغيل متوافق مع التجربة الأصلية.
اعتمادات المشروع والرخصة
SuperMimic فيه كود مستوحى من ControlVAE و robotic_world_model و DreamerV3. هاد المشاريع كتستعمل، بالترتيب، رخص BSD-3-Clause و Apache-2.0 و MIT.
SuperMimic منشور تحت رخصة Apache 2.0. حقوق النشر 2026 لمؤلفي SuperMimic.
الخلاصة
SuperMimic كيوفّر سير عمل مركّز لتدريب وإعادة تشغيل متتبّع لحركة الجسم كامل ديال روبو بشري باستعمال نموذج عالم قابل للاشتقاق. من بعد ما تثبّت uv وتنسخ جوج المستودعات المتجاورة المطلوبة، اختار تمثيل الإحداثيات، بَدا التدريب على GPU المناسبة، واستعمل مسار تجربة Weights & Biases الناتج لإعادة التشغيل.
