LeRobot documentation
Meta-World
Meta-World
The commands below run the simulator locally. To keep its dependencies away from your policy's, serve it instead with `lerobot-env-server --config_path=docker/sim/configs/metaworld.yaml --sim.task=--docker=true`, where ` ` is the command's `--env.task`, and add `--env.server.endpoint=tcp/127.0.0.1:7448` to the command. A server runs the task it was started with (see [Simulation: local or served](./simulation)).
Meta-World هو معيار محاكاة مفتوح المصدر لـ التعلم المعزز متعدد المهام والتعلم المعزز الفائق في التحكم المستمر للالتقاط الروبوتي. يضم 50 مهمة متنوعة للالتقاط باستخدام أشياء يومية وذراع Sawyer شائعة على سطح الطاولة، مما يوفر ساحة اختبار موحدة لاختبار ما إذا كانت الخوارزميات قادرة على تعلم العديد من المهام المختلفة والتعميم بسرعة على مهام جديدة.
- الورقة البحثية: ورقة Meta-World: معيار وتقييم لتعلم التعزيز متعدد المهام والتعلم الفائق
- GitHub: Farama-Foundation/Metaworld
- موقع المشروع: metaworld.farama.org

المهام المتاحة
توفر Meta-World خمسين مهمة منظمة في مجموعات صعوبة. في LeRobot، يمكنك التقييم على مهام فردية، أو مجموعات صعوبة، أو مجموعة MT50 الكاملة:
| مجموعة | اسم سطر الأوامر | المهام | الوصف |
|---|---|---|---|
| سهل | easy | 28 | المهام ذات الديناميكيات البسيطة والأهداف أحادية الخطوة |
| متوسط | medium | 11 | المهام التي تتطلب استدلالًا متعدد الخطوات |
| صعب | hard | 6 | المهام ذات التفاعلات المعقدة والتلاعب الدقيق |
| صعب للغاية | very_hard | 5 | المهام الأكثر تحديًا في المجموعة |
| MT50 (الكل) | قائمة مفصولة بفواصل | 50 | جميع المهام الخمسين — أكثر إعدادات المهام المتعددة تحديًا |
يمكنك أيضًا تمرير أسماء المهام الفردية مباشرة (مثل assembly-v3، dial-turn-v3).
نوفر مجموعة بيانات جاهزة لاستخدام LeRobot لمهمة Meta-World MT50 على HF Hub: lerobot/metaworld_mt50. هذه المجموعة منسّقة لتقييم MT50 الذي يستخدم جميع المهام الخمسين مع مواضع ثابتة للأهداف/الأشياء ومتجهات مهمة أحادية الترميز (one-hot) لضمان الاتساق.
التثبيت
بعد اتباع تعليمات تثبيت LeRobot:
pip install -e ".[metaworld]"If you encounter an `AssertionError: ['human', 'rgb_array', 'depth_array']` when running Meta-World environments, this is a mismatch between Meta-World and your Gymnasium version. Reinstall the Gymnasium version LeRobot supports (Meta-World `3.0.0` works with it):pip install "gymnasium>=1.1.1,<2.0.0"
التقييم
التقييم المحلي الافتراضي
قيّم على الجزء متوسط الصعوبة (توازن جيد بين التغطية والحساب):
lerobot-eval \
--policy.path="your-policy-id" \
--env.type=metaworld \
--env.task=medium \
--eval.batch_size=1 \
--eval.n_episodes=10تقييم مهمة واحدة
التقييم على مهمة محددة:
lerobot-eval \
--policy.path="your-policy-id" \
--env.type=metaworld \
--env.task=assembly-v3 \
--eval.batch_size=1 \
--eval.n_episodes=10التقييم متعدد المهام
التقييم عبر مهام متعددة أو مجموعات صعوبة:
lerobot-eval \
--policy.path="your-policy-id" \
--env.type=metaworld \
--env.task=assembly-v3,dial-turn-v3,handle-press-side-v3 \
--eval.batch_size=1 \
--eval.n_episodes=10- يقبل
--env.taskقوائم مهام صريحة (مفصولة بفواصل) أو مجموعات صعوبة (مثلeasy،medium،hard،very_hard). - يتحكم
--eval.batch_sizeفي عدد البيئات التي تعمل بالتوازي. --eval.n_episodesيحدد عدد الحلقات التي يجب تشغيلها لكل مهمة.
مدخلات ومخرجات السياسة
الملاحظات:
observation.image— عرض كاميرا واحدة (corner2)، 480x480 HWC uint8observation.state— حالة إدراكية ذاتية الأبعاد (4) (موضع الطرف النهائي + الماسك)
الإجراءات:
- التحكم المستمر في
Box(-1, 1, shape=(4,))— دلتا طرف نهائي ثلاثي الأبعاد + قابض أحادي البعد
حلقات التقييم الموصى بها
لإجراء اختبارات قابلة للتكرار، استخدم 10 حلقات لكل مهمة. بالنسبة لمجموعة MT50 الكاملة، يؤدي ذلك إلى 500 حلقة إجمالاً. إذا كنت تهتم بالتعميم، فقم بالتنفيذ على مجموعة MT50 الكاملة — فهي مصممة لتكون صعبة عمداً وتكشف عن نقاط القوة والضعف بشكل أفضل من عدد قليل من المهام الضيقة.
التدريب
مثال على أمر التدريب
تدريب سياسة SmolVLA على مجموعة فرعية من مهام Meta-World:
lerobot-train \
--policy.type=smolvla \
--policy.repo_id=${HF_USER}/metaworld-test \
--policy.load_vlm_weights=true \
--dataset.repo_id=lerobot/metaworld_mt50 \
--env.type=metaworld \
--env.task=assembly-v3,dial-turn-v3,handle-press-side-v3 \
--output_dir=./outputs/ \
--steps=100000 \
--batch_size=4 \
--eval.batch_size=1 \
--eval.n_episodes=1 \
--env_eval_freq=1000نصائح عملية
- استخدم شرط المهمة أحادي الترميز (one-hot) للتدريب متعدد المهام (اتفاقيات MT10/MT50) حتى تمتلك السياسات سياقًا صريحًا للمهمة.
- افحص أوصاف مهام مجموعة البيانات ومفاتيح
info["is_success"]عند كتابة ما بعد المعالجة أو التسجيل حتى تتطابق مقاييس النجاح لديك مع المعيار المرجعي. - اضبط
batch_sizeوstepsوenv_eval_freqلتتوافق مع ميزانية الحوسبة لديك.