Skip to content

Commit c8e9dbb

Browse files
committed
docs(libero): document get_task_class registration for native tasks
1 parent 417b2df commit c8e9dbb

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

  • docs/source/dataset_benchmark/integrations

docs/source/dataset_benchmark/integrations/libero.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ task's MJCF and meshes from HF on demand and runs it; verified bitwise on all 13
3737
| MetaSim MuJoCo migration | 6/6 dims: state-set Δ=0, **engine Δ=0** | `scripts/migrate_liberoplus_metasim.py` |
3838
| OSC_POSE port | **bitwise** — per-state joint-torque Δ = 5.55e-15 N·m | `scripts/osc/` |
3939
| BC policy (closed-loop) | clean 100 % / light 0 % / camera 50 % / noise 75 %; passthrough==native Δ=0 | `scripts/policy/` |
40-
| **Native tasks (no libero/robosuite)** | **130 / 130** base tasks: ported BDDL checker bitwise (0 mismatch vs `env._check_success`), render bitwise (state-replay) | `roboverse_pack/tasks/libero_native/` |
40+
| **Native tasks (no libero/robosuite)** | **130 / 130** base tasks: ported BDDL checker bitwise (0 mismatch vs `env._check_success`), render bitwise (state-replay); **discoverable via `get_task_class("libero_native/...")`** | `roboverse_pack/tasks/libero_native/` |
4141
| **Vendored assets (library-deletable)** | 130 portable MJCF + **193 deduped assets / 265 MB** on HF; fresh-machine model fields **130/130** exact (max\|Δ\|=0), checker **130/130** | `RoboVerseOrg/roboverse_data` `libero/` |
4242

4343
MetaSim core changes: **0** (the passthrough reuses the unmodified upstream env;
@@ -97,6 +97,22 @@ task.render() # agentview RGB (geom-group matched to robosuite)
9797
task.step(action, grip) # one OSC_POSE policy step (inlined controller)
9898
```
9999

100+
All 130 base tasks are also **registered**, so they are discoverable through the
101+
task registry exactly like the other RoboVerse tasks — and resolve and run even
102+
with `libero` / `robosuite` uninstalled:
103+
104+
```python
105+
from metasim.task.registry import get_task_class
106+
107+
Task = get_task_class("libero_native/libero_object/pick_up_the_alphabet_soup_and_place_it_in_the_basket")
108+
env = Task() # loads the vendored scene; no libero
109+
obs = env.reset() # deterministic seed=0 BDDL reset state
110+
obs, reward, success, time_out, _ = env.step([0, 0, -0.1, 0, 0, 0, -1]) # OSC delta + gripper
111+
```
112+
113+
Registration is cheap (the task list is shipped; the scene/assets load lazily on
114+
first instantiation), and `success` uses the **bitwise** ported BDDL checker.
115+
100116
What was ported, and how it stays 1:1:
101117

102118
- **BDDL success checker** (`checker.py`) — every goal predicate reduced to a

0 commit comments

Comments
 (0)