Pollux Logo

Isaac Lab – Using the Interactive Scene

Isaac Lab, built on NVIDIA Isaac Sim, is a modular reinforcement learning framework that simplifies how you configure and run simulation environments.

In this post, we explore how to use the InteractiveScene class in Isaac Lab to efficiently build and manage simulation environments—including floors, lighting, and robots—with minimal code.

With InteractiveScene, you no longer have to manually define each scene element. Instead, you can automatically spawn everything from config classes, and even control the number of environments at runtime using CLI arguments—ideal for reinforcement learning experiments.

https://isaac-sim.github.io/IsaacLab/main/source/tutorials/02_scene/create_scene.html

What is InteractiveScene?

📷 [Insert image describing InteractiveScene concept]

The scene.InteractiveScene class allows you to spawn a complete simulation environment—including ground plane, lighting, robots, and sensors—from configuration classes.

It simplifies what would otherwise require dozens of manual steps, and makes the scene modular, reusable, and easy to scale.

Setting Number of Environments via CLI

To dynamically control the number of environments during execution, add a CLI argument like this:

parser.add_argument("--num_envs", type=int, default=2, help="Number of environments")
  • type=int: ensures the input is an integer
  • default=2: if omitted, two environments will be created
  • Very useful for parallelized training or benchmarking

Understanding the Isaac Lab Project Structure

Image

Key directories in the Isaac Lab repository:

  • source/standalone: Demos, tutorials, and RL pipelines
  • extensions: Core features and configuration assets
    • omni.isaac.lab: Main simulation logic
    • omni.isaac.lab.assets: Contains robot/environment config files
    • lab.tasks: Task definitions for robots (e.g., locomotion, manipulation)

Core Classes and Configs

Image

Here are the essential classes used to configure simulation elements:

  • ArticulationCfg: For movable robots or arms
  • AssetBaseCfg: For fixed assets like ground or walls
  • InteractiveSceneCfg: Master config for lights, robots, and ground
  • InteractiveScene: The main class that generates the actual scene
  • SimulationContext: Controls simulation playback (step, pause, etc.)

Isaac Lab uses the @configclass decorator to define structured configs that are validated and used during runtime.

Example: CartpoleSceneCfg

Image

Here’s an example of a simple scene config for a cartpole robot:

ImageImage
  • The ground plane is created at an absolute path
  • The light simulates ambient illumination
  • The cartpole robot is placed at a unique relative path using {ENV_REGEX_NS}

Absolute vs Relative Prim Paths

In Omniverse USD scenes:

ImageImage
  • Use absolute paths (e.g., /World/...) for shared, global assets like lights or ground
Image
  • Use relative paths (e.g., {ENV_REGEX_NS}/...) for environment-specific assets like robots or tables
Image

For example, if --num_envs=32, you’ll get 32 unique environments—each with its own robot or object—when using relative prim paths.

Creating Multiple Environments with CLI

ImageImage

You can run the simulation with custom environment counts using CLI like this:

Image
  • 입력 예:
Image

./isaaclab.sh -p my_scene.py --num_envs 32

This will spawn 32 environments, and each robot (or sphere) will be generated independently.

This pattern is essential for scaling up to parallel training environments in RL.

Conclusion

In this post, we covered how to use Isaac Lab’s InteractiveScene class to build modular simulation environments.

Here’s what we learned:

  • InteractiveScene helps spawn all scene elements automatically
  • Configs use @configclass to structure reusable settings
  • Use absolute paths for shared items and relative paths for per-environment assets
  • CLI arguments like -num_envs allow dynamic scaling for multi-agent or multi-robot simulations

Isaac Lab provides a robust and flexible simulation backend for reinforcement learning, and these tools make it easy to manage scalable, reproducible environments.

Share this post:

Copyright 2025. POLLUX All rights reserved.