-
Notifications
You must be signed in to change notification settings - Fork 2.7k
feat(sim): add metaworld env #2088
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for MetaWorld environments to the lerobot package, enabling integration with the MetaWorld benchmark suite for robotic manipulation tasks.
- Implements a new
MetaworldEnv
class that wraps MetaWorld environments with configurable observation types and camera settings - Adds factory functions to create single or multiple MetaWorld environments with support for multitask evaluation
- Integrates MetaWorld configuration into the existing environment system
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
File | Description |
---|---|
src/lerobot/envs/metaworld.py | New MetaWorld environment wrapper with task management and observation formatting |
src/lerobot/envs/factory.py | Integration of MetaWorld environment creation into the factory pattern |
src/lerobot/envs/configs.py | Configuration class for MetaWorld environments with feature mapping |
pyproject.toml | Dependency specification for the metaworld package |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Signed-off-by: Jade Choghari <[email protected]>
… for normalization (#2088) Signed-off-by: AdilZouitine <[email protected]>
Co-authored-by: Copilot <[email protected]> Signed-off-by: Jade Choghari <[email protected]>
… for normalization (#2088) (#2090) Signed-off-by: AdilZouitine <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very good PR 😄
You just need to tweak few details!
examples/train.sh
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Delete this file
xarm = ["gym-xarm>=0.1.1"] | ||
libero = ["lerobot[transformers-dep]", "libero @ git+https://github.com/huggingface/lerobot-libero.git@main#egg=libero"] | ||
|
||
metaworld = ["metaworld>=3.0.0"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
put gymnasium
upgrade here
src/lerobot/envs/metaworld.py
Outdated
from huggingface_hub import hf_hub_download | ||
|
||
# download the JSON | ||
path = hf_hub_download(repo_id="jadechoghari/smolvla-metaworld-keys", filename="tasks_metaworld.json") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can hard code this.
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update. |
What this does
feat(sim): add Metaworld environment
This PR add Metaworld, a standard robotic VLA simulation benchmark with 50+ manipulation tasks (e.g. pick-and-place, drawer, door, button press). It is designed to test policy generalization, multi-task learning, compositionality, and transfer across diverse manipulation skills.
Corresponding dataset: https://huggingface.co/datasets/lerobot/metaworld_mt50 ; demonstrations for all tasks, ready for training and evaluation.