Integration — Isaac Lab
Isaac Lab is a robot learning framework built on top of Isaac Sim. SimForge integrates with Isaac Lab through SimforgeAssetCfg
to configure the spawning of assets within interactive scenes.
Requirements
SimforgeAssetCfg
The SimforgeAssetCfg
class is a SpawnerCfg
(FileCfg
) subclass that streamlines the generation and spawning of SimForge assets within Isaac Lab. The primary attributes include:
assets
: Sequence of asset types to spawnnum_assets
: The number of asset variants distributed amongassets
to generate (default:1
)seed
: The initial seed used to generate the first variant ofassets
(default:0
)use_cache
: Use cached assets instead of generating new ones (default:True
)random_choice
: Randomly select variants instead of sequentially (default:False
)
Example:
from omni.isaac.lab import sim as sim_utils
from omni.isaac.lab.assets import AssetBaseCfg, RigidObjectCfg
from omni.isaac.lab.scene import InteractiveSceneCfg
from omni.isaac.lab.utils import configclass
from simforge import AssetRegistry
from simforge.integrations.isaaclab import SimforgeAssetCfg
from simforge_foundry import ExampleModel
@configclass
class ExampleSceneCfg(InteractiveSceneCfg):
num_envs: int = 64
asset1: AssetBaseCfg = AssetBaseCfg(
prim_path="{ENV_REGEX_NS}/asset1",
spawn=SimforgeAssetCfg(
assets=[
AssetRegistry.by_name("example_geo"),
AssetRegistry.by_name("example_model"),
],
num_assets=64,
collision_props=sim_utils.CollisionPropertiesCfg(),
),
)
asset2: RigidObjectCfg = RigidObjectCfg(
prim_path="{ENV_REGEX_NS}/asset2",
spawn=SimforgeAssetCfg(
assets=[ExampleModel],
num_assets=8,
seed=42,
collision_props=sim_utils.CollisionPropertiesCfg(),
rigid_props=sim_utils.RigidBodyPropertiesCfg(),
mass_props=sim_utils.MassPropertiesCfg(),
),
)