Instructions to use lukasskellijs/env_assembly_bench with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use lukasskellijs/env_assembly_bench with LeRobot:
- Notebooks
- Google Colab
- Kaggle
| license: apache-2.0 | |
| tags: | |
| - robotics | |
| - isaaclab | |
| - isaac-lab-arena | |
| - lerobot | |
| - envhub | |
| - simulation | |
| - manipulation | |
| # env-assembly-bench | |
| [EnvHub](https://huggingface.co/docs/lerobot/en/envhub) package for the NIST | |
| taskboard **assembly** benchmark on | |
| [Isaac Lab Arena](https://github.com/isaac-sim/IsaacLab-Arena). | |
| Load with one line (executes Hub code β pin a commit in production): | |
| ```python | |
| from lerobot.envs import make_env | |
| from lerobot.envs.configs import IsaaclabArenaEnv | |
| cfg = IsaaclabArenaEnv( | |
| hub_path="lukasskellijs/env_assembly_bench", | |
| environment="assembly_bench", | |
| embodiment="droid_abs_joint_pos_softmimic", | |
| headless=True, | |
| enable_cameras=True, | |
| state_keys="joint_pos,gripper_pos,eef_pos,eef_quat", | |
| camera_keys="front_cam_rgb,wrist_camera_rgb", | |
| state_dim=15, | |
| action_dim=8, | |
| enable_pinocchio=False, | |
| kwargs={"variant": "peg_round_M1_loose", "reward": "none"}, | |
| ) | |
| suites = make_env(cfg, n_envs=1, trust_remote_code=True) | |
| env = next(iter(next(iter(suites.values())).values())) | |
| ``` | |
| `cfg.task` is the natural-language prompt (LeRobot convention). The Arena | |
| variant id is `kwargs.variant` (for example `peg_round_M1_loose`). | |
| ## Prerequisites | |
| Same stack as [Isaac Lab Arena + EnvHub](https://huggingface.co/docs/lerobot/en/envhub_isaaclab_arena): | |
| - NVIDIA GPU, Isaac Sim 6.x, Isaac Lab + Isaac Lab Arena installed locally | |
| - `pip install -r requirements.txt` (Hub glue only) | |
| - Optional: `pip install -e .` so `assembly_bench` imports without a Hub snapshot | |
| EULA (once per shell): | |
| ```bash | |
| export ACCEPT_EULA=Y PRIVACY_CONSENT=Y OMNI_KIT_ACCEPT_EULA=YES | |
| ``` | |
| ## Variants | |
| 15 loose-clearance tasks plus `debug` (appleβbowl). Peg sizes use suite codes | |
| `S/M1/M2/L` (4/8/12/16 mm): | |
| | family | examples | | |
| |---|---| | |
| | peg insert | `peg_round_M1_loose`, `peg_square_L_loose` | | |
| | gear mesh | `gear_small`, `gear_medium`, `gear_large` | | |
| | nut thread | `nut_M8`, `nut_M12`, `nut_M16`, `nut_M20` | | |
| Default embodiment: `droid_abs_joint_pos_softmimic` (Franka + Robotiq, 8-D | |
| absolute joint targets, DROID cameras). | |
| ## LeRobot eval | |
| ```bash | |
| lerobot-eval \ | |
| --env.type=isaaclab_arena \ | |
| --env.hub_path=lukasskellijs/env_assembly_bench \ | |
| --env.environment=assembly_bench \ | |
| --env.embodiment=droid_abs_joint_pos_softmimic \ | |
| --env.headless=true \ | |
| --env.enable_cameras=true \ | |
| --env.state_keys=joint_pos,gripper_pos,eef_pos,eef_quat \ | |
| --env.camera_keys=front_cam_rgb,wrist_camera_rgb \ | |
| --env.state_dim=15 \ | |
| --env.action_dim=8 \ | |
| --env.enable_pinocchio=false \ | |
| --env.kwargs='{"variant": "peg_round_M1_loose"}' \ | |
| --trust_remote_code=True \ | |
| --eval.batch_size=1 \ | |
| --policy.path=<your-policy> | |
| ``` | |
| ## HUD | |
| [`hud_env.py`](hud_env.py) is the standard HUD robot entry: it snapshot-downloads | |
| this Hub repo, calls `env.py:make_env`, and exposes the sim via `env.gym(...)`. | |
| ```bash | |
| OMNI_KIT_ACCEPT_EULA=YES ACCEPT_EULA=Y PRIVACY_CONSENT=Y \ | |
| python -m hud.environment.server hud_env.py --port 8765 | |
| ``` | |
| Point a `RobotAgent` / `Runtime("tcp://127.0.0.1:8765")` at that port as in the | |
| HUD robots guide. | |
| ## Layout | |
| ``` | |
| env_assembly_bench/ | |
| βββ env.py # EnvHub make_env | |
| βββ hud_env.py # HUD Environment (Hub download path) | |
| βββ isaaclab_env_wrapper.py | |
| βββ example_envs.yaml | |
| βββ contract.json # HUD obs/action contract | |
| βββ assembly_bench/ # Arena package + USD/HDR assets | |
| ``` | |
| ## Security | |
| `trust_remote_code=True` runs Hub Python. Review `env.py`, pin | |
| `lukasskellijs/env_assembly_bench@<commit>`, and prefer this org only if you | |
| trust it. | |