Tutorial 16: EmbodiedGen Layout Scenes#
Objective: Learn how to load procedurally generated scene layouts from EmbodiedGen.
What you’ll learn:
Loading LayoutGen-generated scenes
Using natural language to describe scene requirements
Working with simulation-ready 3D environments
Prerequisites: Completed Tutorial 15: Gaussian Splatting Backgrounds
Estimated time: 30 minutes
This tutorial demonstrates how to load layout scenes generated by EmbodiedGen into MetaSim.
The LayoutGen module in EmbodiedGen enables users to generate interactive 3D scenes directly from natural language task descriptions. Given a high-level description (e.g., “a franka robot arm grasping different styles of cups”), LayoutGen automatically creates a complete simulation-ready environment, including:
Procedural generation of sim-ready 3D object assets
Physically plausible object placement and scene layout
Consideration of robot reachability, graspability, and task constraints
The generated assets are exported in a universal format that supports multiple simulators (e.g., SAPIEN, Isaac Sim, MuJoCo, PyBullet, Genesis, Isaac Gym).
Below is an example showing how to load a LayoutGen generated scene in RoboVerse. You can download more scenes from example_layouts folder under hf datasets or use EmbodiedGen to generate by yourself.
For more information on generating layout scenes, please refer to the EmbodiedGen-LayoutGen documentation.
Common Usage#
python get_started/16_embodiedgen_layout.py --sim <simulator>
In headless mode:
python get_started/16_embodiedgen_layout.py --sim isaacsim --headless
python get_started/16_embodiedgen_layout.py --sim isaacgym --headless
MUJOCO_GL=egl python get_started/16_embodiedgen_layout.py --sim mujoco --headless
python get_started/16_embodiedgen_layout.py --sim genesis --headless
python get_started/16_embodiedgen_layout.py --sim sapien3 --headless
python get_started/16_embodiedgen_layout.py --sim pybullet --headless
You will get the following result: