🤖 Robot Learning
EmbodiedGen-generated worlds are not just viewable — they are online training environments. Spin up parallel gym environments from a generated layout, record sensor and trajectory data, and evaluate the grasp quality of generated assets.
In a companion sim-to-real RL study, policies trained purely in EmbodiedGen-generated worlds reached 79.8% simulation task success (from 9.7%) and 75.0% real-robot task success (from 21.7%). The training code is not part of this repository; the tools below provide the environment side.
🏎️ Parallel Simulation Environments
Generate multiple parallel simulation environments with gym.make and record sensor and trajectory data.
python embodied_gen/scripts/parallel_sim.py \
--layout_file "outputs/layouts_gen/task_0000/layout.json" \
--output_dir "outputs/parallel_sim/task_0000" \
--num_envs 16
The generated results are organized as follows:
outputs/parallel_sim/task_0000
├── 0.mp4 # Tiled preview render across the parallel envs
├── layout.json # Copy of the layout the envs were built from
└── scene_tree.jpg # Scene-graph visualization
🦾 Grasp-Quality Evaluation
Evaluate the grasp quality of a generated URDF via a top-down Panda grasp trial (ManiSkill + SAPIEN). Outputs a JSON report and per-trial MP4 next to the URDF.
python embodied_gen/scripts/eval_collision_success.py \
--urdf-path outputs/imageto3d/sample_00/result/sample_00.urdf \
--num-trials 4
Next Steps
- Compose task-driven worlds to train in — see Layout Generation.
- Export environments to your simulator — see Any Simulators.