YAML: simulationclassSimulationConfig

Simulation

Declares the simulation backend and runtime parameters. stereotype selects the engine; UniSimFactory instantiates the corresponding UniSim subclass.

sourcefastsim/configs/simulation_cfg.py

Top-level Fields3

FieldTypeRequiredDefaultDescription / Constraints
stereotypestringrequiredSimulation backend identifier (e.g. isaaclab); must be registered in the UniSim registry
Run fastsim show-registry to list available values; custom backends require scan_project
dtfloatrequiredPhysics timestep in seconds; typical value 0.0166667 (60 Hz)
Must be > 0
intiailize_stepsintoptional0Initialization steps after reset to let the physics world stabilize before the task begins
Must be >= 0

IsaacLab Backend (stereotype: isaaclab)

When stereotype is isaaclab, the config class is IsaacLabConfig, extending the common fields with the following parameters and three nested config objects.

classIsaacLabConfigstereotypeisaaclabfastsim/simulators/isaaclab/isaaclab_config.py
FieldTypeRequiredDefaultDescription / Constraints
devicestringoptionalcuda:0Compute device
cpu or cuda:<index> (e.g. cuda:0, cuda:1)
render_intervalintoptional1Render one frame every N physics steps
Must be >= 1
gravitylist[3]optional[0.0, 0.0, -9.81]Gravity vector [x, y, z] in m/s²
create_stage_in_memorybooloptionaltrueCreate USD Stage in memory to speed up startup
launch_configLaunchConfigoptionalIsaac Sim AppLauncher startup parameters; see LaunchConfig
physics_configPhysicsConfigoptionalPhysX physics engine parameters; see PhysicsConfig
render_configRenderConfigoptionalRendering parameters; see RenderConfig
classLaunchConfigfastsim/simulators/isaaclab/isaaclab_config.py
FieldTypeRequiredDefaultDescription / Constraints
headlessbooloptionalfalseHeadless mode, no GUI window; suitable for server/training environments
widthintoptional1280Render window width in pixels; ignored when headless is true
heightintoptional720Render window height in pixels
anti_aliasingintoptional0Anti-aliasing level
0=off / 1=FXAA / 2=TAA
enable_camerasbooloptionaltrueWhether to enable camera rendering pipeline; must be true when collecting image data
classPhysicsConfigfastsim/simulators/isaaclab/isaaclab_config.py
FieldTypeRequiredDefaultDescription / Constraints
solver_typeintoptional1Physics solver type
0=PGS (projected Gauss-Seidel) / 1=TGS (temporal Gauss-Seidel, more accurate)
num_position_iterationsintoptional4Position constraint iterations per step; higher = more accurate but slower
num_velocity_iterationsintoptional1Velocity constraint iterations per step
enable_ccdbooloptionalfalseContinuous collision detection (CCD); prevents fast objects from tunneling, but reduces performance
enable_stabilizationbooloptionaltruePhysics stabilization to reduce micro-jitter
gpu_max_soft_body_contactsintoptional1048576GPU max soft body contacts (2²⁰); adjust for soft body simulations
gpu_max_particle_contactsintoptional1048576GPU max particle contacts (2²⁰); adjust for soft body simulations
classRenderConfigfastsim/simulators/isaaclab/isaaclab_config.py
FieldTypeRequiredDefaultDescription / Constraints
enable_rtx_renderingbooloptionalfalseEnable RTX ray-tracing rendering; higher quality but significantly higher GPU usage

Example

simulation blockYAML
simulation:
  stereotype: isaaclab
  dt: 0.0166667
  intiailize_steps: 30
  device: cuda:0
  render_interval: 1
  gravity: [0.0, 0.0, -9.81]
  create_stage_in_memory: true
  launch_config:
    headless: false
    width: 1280
    height: 720
    enable_cameras: true
  physics_config:
    solver_type: 1
    num_position_iterations: 4
    enable_ccd: false
  render_config:
    enable_rtx_rendering: false

Common Errors

Error messageCauseFix
Simulation config is requiredMissing simulation block or stereotype field not providedAdd a complete simulation config block with a valid stereotype
Invalid simulator stereotypestereotype value not found in the UniSim registryRun fastsim show-registry to see available backends; custom backends need scan_project enabled