LeRobot documentation
Meta-World
Meta-World
Meta-World adalah benchmark simulasi open-source untuk multi-task dan meta reinforcement learning dalam manipulasi robotik continuous-control. Benchmark ini menyediakan 50 tugas manipulasi yang beragam menggunakan benda-benda sehari-hari dan lengan Sawyer tabletop yang umum, sehingga menjadi arena standar untuk menguji apakah algoritma dapat mempelajari banyak tugas yang berbeda dan beradaptasi dengan cepat ke tugas-tugas baru.
- Paper: Meta-World: A Benchmark and Evaluation for Multi-Task and Meta Reinforcement Learning paper
- GitHub: Farama-Foundation/Metaworld
- Situs web proyek: metaworld.farama.org

Tugas yang tersedia
Meta-World menyediakan 50 tugas yang diorganisasikan ke dalam kelompok tingkat kesulitan. Di LeRobot, Anda dapat mengevaluasi pada tugas individual, kelompok tingkat kesulitan, atau suite MT50 lengkap:
| Grup | Nama CLI | Tugas | Deskripsi |
|---|---|---|---|
| Mudah | easy | 28 | Tugas dengan dinamika sederhana dan tujuan satu langkah |
| Sedang | medium | 11 | Tugas yang memerlukan penalaran multi-langkah |
| Sulit | hard | 6 | Tugas dengan kontak kompleks dan manipulasi yang presisi |
| Sangat Sulit | very_hard | 5 | Tugas-tugas paling menantang dalam suite |
| MT50 (semua) | Daftar yang dipisahkan koma | 50 | Semua 50 tugas — pengaturan multi-tugas yang paling menantang |
Anda juga dapat langsung meneruskan nama tugas individual (misalnya, assembly-v3, dial-turn-v3).
Kami menyediakan dataset yang siap digunakan LeRobot untuk Meta-World MT50 di HF Hub: lerobot/metaworld_mt50. Dataset ini diformat untuk evaluasi MT50 yang menggunakan semua 50 tugas dengan posisi objek/target tetap dan vektor tugas one-hot untuk konsistensi.
Instalasi
Setelah mengikuti instruksi instalasi 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"
Evaluasi
Evaluasi default (disarankan)
Evaluasi pada split dengan tingkat kesulitan sedang (keseimbangan yang baik antara cakupan dan komputasi):
lerobot-eval \
--policy.path="your-policy-id" \
--env.type=metaworld \
--env.task=medium \
--eval.batch_size=1 \
--eval.n_episodes=10Evaluasi tugas tunggal
Evaluasi pada tugas tertentu:
lerobot-eval \
--policy.path="your-policy-id" \
--env.type=metaworld \
--env.task=assembly-v3 \
--eval.batch_size=1 \
--eval.n_episodes=10Evaluasi multi-tugas
Evaluasi di berbagai tugas atau kelompok tingkat kesulitan:
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.taskmenerima daftar tugas eksplisit (dipisahkan koma) atau grup tingkat kesulitan (misalnya,easy,medium,hard,very_hard).--eval.batch_sizemengontrol berapa banyak lingkungan yang berjalan secara paralel.--eval.n_episodesmengatur jumlah episode yang dijalankan per tugas.
Input dan output kebijakan
Observasi:
observation.image— tampilan kamera tunggal (corner2), 480x480 HWC uint8observation.state— keadaan proprioseptif 4-dimensi (posisi ujung efektor + gripper)
Aksi:
- Kontrol kontinu di
Box(-1, 1, shape=(4,))— delta ujung-efektor 3D + gripper 1D
Episode evaluasi yang direkomendasikan
Untuk benchmarking yang dapat direproduksi, gunakan 10 episode per tugas. Untuk suite MT50 lengkap, ini menghasilkan total 500 episode. Jika Anda peduli pada generalisasi, jalankan pada MT50 lengkap — suite ini sengaja dibuat menantang dan lebih baik mengungkapkan kekuatan/kelemahan dibandingkan beberapa tugas yang sempit.
Pelatihan
Perintah pelatihan contoh
Latih kebijakan SmolVLA pada subset tugas 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=1000Tips praktis
- Gunakan kondisioning tugas one-hot untuk pelatihan multi-tugas (konvensi MT10/MT50) agar kebijakan memiliki konteks tugas yang eksplisit.
- Periksa deskripsi tugas dataset dan kunci
info["is_success"]saat menulis pascaproses atau logging agar metrik keberhasilan Anda selaras dengan benchmark. - Sesuaikan
batch_size,steps, danenv_eval_freqagar sesuai dengan anggaran komputasi Anda.