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
File size: 3,593 Bytes
ee7feb0 1e09dca ee7feb0 1e09dca | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | ---
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.
|