scenic.simulators.isaac.lab

Simulator interface running Scenic scenarios in Isaac Lab manager-based environments.

Summary of Module Members

Classes

IsaacLabSimulation

A Scenic Simulation backed by an Isaac Lab manager-based environment.

IsaacLabSimulator

Scenic simulator backend for Isaac Lab manager-based environments.

Member Details

class IsaacLabSimulator(*, env=None, task=None, env_cfg=None, env_cfg_entry_point=None, env_cls=None, timestep=0.01, decimation=None, num_envs=None, env_spacing=None, terrainBorderWidth=20.0, environmentUSDPath=None, headless=False, device=None, use_fabric=True, render_mode=None, app_launcher_args=None, debug_lifecycle=True, **kwargs)[source]

Bases: Simulator

Scenic simulator backend for Isaac Lab manager-based environments.

Supported construction modes:
  1. env=<already-created Isaac Lab env>

  2. task=”Isaac-Cartpole-v0” or another registered Isaac Lab task

  3. env_cfg=<ManagerBasedEnvCfg / ManagerBasedRLEnvCfg instance or class>

  4. env_cfg_entry_point=”package.module:CfgClass”

If none of these is given, a minimal empty manager-based environment is used and populated with the sampled Scenic objects.

Parameters:
  • env (Any | None)

  • task (str | None)

  • env_cfg (Any | None)

  • env_cfg_entry_point (str | None)

  • env_cls (Any | None)

  • timestep (float | None)

  • decimation (int | None)

  • num_envs (int | None)

  • env_spacing (float | None)

  • terrainBorderWidth (float)

  • environmentUSDPath (str | os.PathLike | None)

  • headless (bool)

  • device (str | None)

  • use_fabric (bool)

  • render_mode (str | None)

  • app_launcher_args (dict[str, Any] | None)

  • debug_lifecycle (bool)

class IsaacLabSimulation(scene, simulator, *, timestep, **kwargs)[source]

Bases: Simulation

A Scenic Simulation backed by an Isaac Lab manager-based environment.

Scenic objects are collected during createObjectInSimulator and turned into asset cfgs in setup, when the Isaac Lab environment is built.

Parameters:

simulator (IsaacLabSimulator)

setup()[source]

Build the Isaac Lab env after Scenic has collected all objects.

_buildEnvCfg()[source]

Create, validate, and patch an Isaac Lab manager-based env cfg.

_materializeEnvCfg()[source]

Resolve env cfg from task, cfg object/class, or entry point.

_loadEntryPoint(entry_point)[source]

Load ‘package.module:ClassName’.

Parameters:

entry_point (str)

_applyStandardOverrides(cfg)[source]

Apply common simulator-level overrides to the env cfg.

_applyScenicToEnvCfg(cfg)[source]

Patch the Isaac Lab cfg using the objects sampled by Scenic.

  • Terrain objects are merged into one mesh installed via a custom terrain generator (see lab_env.configureEnvCfgForScenicTerrain).

  • The environment USD, if any, is added as a static asset.

  • If a Scenic object name matches an existing cfg.scene field, that asset’s initial pose is patched; otherwise a new asset cfg is created.

_makeEnv(cfg)[source]

Construct the actual Isaac Lab environment.

_resolveEnvCls(cfg)[source]

Pick ManagerBasedEnv or ManagerBasedRLEnv from the cfg type.

createObjectInSimulator(obj)[source]

Collect Scenic objects; they are spawned together in setup.

step()[source]

Apply buffered robot commands, then step the Isaac Lab environment once.

_applyPendingRobotCommands()[source]

Apply buffered Scenic robot commands to Isaac Lab articulations.

_zeroLabAction()[source]

A zero action tensor with the shape Isaac Lab expects (num_envs first).

getProperties(obj, properties)[source]

Read Scenic-requested properties from Isaac Lab asset buffers (env 0).

_physicsValuesFromAsset(asset, env_id=0, initial_rotation=None)[source]

Read the root state of a RigidObject/Articulation for one environment.

Parameters:

env_id (int)