YAML:
simulationclassSimulationConfigSimulation
Declares the simulation backend and runtime parameters. stereotype selects the engine; UniSimFactory instantiates the corresponding UniSim subclass.
Top-level Fields5
| Field | Type | Required | Default | Description / Constraints |
|---|---|---|---|---|
stereotype | string | required | — | Simulation backend identifier (isaaclab / mujoco / pybullet); must be registered in the UniSim registry ⚠Run fastsim show-registry to list available values; custom backends require scan_project |
dt | float | required | — | Physics timestep in seconds; typical value 0.0166667 (60 Hz) ⚠Must be > 0 |
initialize_steps | int | optional | 60 | Initialization steps after reset to let the physics world stabilize before the task begins ⚠Must be >= 0 |
num_envs | int | optional | 1 | Number of parallel environments (GPU parallel simulation); 1 = single environment ⚠Must be >= 1 |
env_spacing | float | optional | 2.5 | Spacing between parallel environments in meters; effective when num_envs > 1 ⚠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.
class
IsaacLabConfigstereotypeisaaclabfastsim/simulators/isaaclab/isaaclab_config.py| Field | Type | Required | Default | Description / Constraints |
|---|---|---|---|---|
device | string | required | cuda:0 | Compute device ⚠cpu or cuda:<index> (e.g. cuda:0, cuda:1) |
render_interval | int | required | 1 | Render one frame every N physics steps ⚠Must be >= 1 |
gravity | tuple[3] | required | (0.0, 0.0, -9.81) | Gravity vector (x, y, z) in m/s² |
physics_prim_path | string | required | /physicsScene | Physics scene prim path ⚠Must start with / |
enable_scene_query_support | bool | required | false | Enable scene query support (ray casting, etc.) |
use_fabric | bool | required | true | Use Fabric data interface for accelerated data access |
create_stage_in_memory | bool | required | true | Create USD Stage in memory to speed up startup |
launch_config | LaunchConfig | required | — | Isaac Sim AppLauncher startup parameters; see LaunchConfig |
physics_config | PhysicsConfig | required | — | PhysX physics engine parameters; see PhysicsConfig |
render_config | RenderConfig | required | — | Rendering parameters; see RenderConfig |
class
LaunchConfigfastsim/simulators/isaaclab/isaaclab_config.py| Field | Type | Required | Default | Description / Constraints |
|---|---|---|---|---|
headless | bool | required | false | Headless mode, no GUI window; suitable for server/training environments |
livestream | int | required | 0 | Remote livestream mode ⚠0=disabled / 1=public network / 2=local network |
enable_cameras | bool | required | true | Whether to enable camera rendering pipeline; must be true when collecting image data |
device | string | required | cuda | Compute device ⚠cpu or cuda / cuda:<index> |
class
PhysicsConfigfastsim/simulators/isaaclab/isaaclab_config.py| Field | Type | Required | Default | Description / Constraints |
|---|---|---|---|---|
solver_type | int | required | 1 | Physics solver type ⚠0=PGS (projected Gauss-Seidel) / 1=TGS (temporal Gauss-Seidel, more accurate) |
min_position_iteration_count | int | required | 1 | Min position constraint iterations per step |
max_position_iteration_count | int | required | 255 | Max position constraint iterations per step |
min_velocity_iteration_count | int | required | 0 | Min velocity constraint iterations per step |
max_velocity_iteration_count | int | required | 255 | Max velocity constraint iterations per step |
enable_ccd | bool | required | false | Continuous collision detection (CCD); prevents fast objects from tunneling, but reduces performance |
enable_stabilization | bool | required | false | Physics stabilization to reduce micro-jitter |
enable_enhanced_determinism | bool | required | false | Enhanced determinism mode; trades performance for better reproducibility |
bounce_threshold_velocity | float | required | 0.5 | Bounce threshold velocity |
friction_offset_threshold | float | required | 0.04 | Friction offset threshold |
friction_correlation_distance | float | required | 0.025 | Friction correlation distance |
gpu_max_rigid_contact_count | int | required | 8388608 | GPU max rigid contact count (2²³) |
gpu_max_rigid_patch_count | int | required | 163840 | GPU max rigid patch count (5×2¹⁵) |
gpu_found_lost_pairs_capacity | int | required | 2097152 | GPU found/lost pairs capacity (2²¹) |
gpu_found_lost_aggregate_pairs_capacity | int | required | 33554432 | GPU found/lost aggregate pairs capacity (2²⁵) |
gpu_total_aggregate_pairs_capacity | int | required | 2097152 | GPU total aggregate pairs capacity (2²¹) |
gpu_collision_stack_size | int | required | 67108864 | GPU collision stack size (2²⁶) |
gpu_heap_capacity | int | required | 67108864 | GPU heap capacity (2²⁶) |
gpu_temp_buffer_capacity | int | required | 16777216 | GPU temp buffer capacity (2²⁴) |
gpu_max_num_partitions | int | required | 8 | GPU max number of partitions |
gpu_max_soft_body_contacts | int | required | 1048576 | GPU max soft body contacts (2²⁰) |
gpu_max_particle_contacts | int | required | 1048576 | GPU max particle contacts (2²⁰) |
solve_articulation_contact_last | bool | required | false | Whether to solve articulation contacts last |
class
RenderConfigfastsim/simulators/isaaclab/isaaclab_config.py| Field | Type | Required | Default | Description / Constraints |
|---|---|---|---|---|
enable_translucency | bool | required | false | Enable translucency rendering |
enable_reflections | bool | required | false | Enable reflections |
enable_global_illumination | bool | required | true | Enable global illumination |
antialiasing_mode | string | required | DLSS | Antialiasing mode ⚠Off / FXAA / DLSS / TAA / DLAA |
enable_dlssg | bool | required | false | Enable DLSS frame generation |
enable_dl_denoiser | bool | required | true | Enable deep learning denoiser |
dlss_mode | int | required | 0 | DLSS quality mode ⚠0 / 1 / 2 / 3 |
enable_direct_lighting | bool | required | true | Enable direct lighting |
samples_per_pixel | int | required | 1 | Samples per pixel |
enable_shadows | bool | required | true | Enable shadows |
enable_ambient_occlusion | bool | required | true | Enable ambient occlusion |
dome_light_upper_lower_strategy | int | required | 0 | Dome light upper/lower strategy ⚠0 / 3 / 4 |
carb_settings | dict[str, Any] | optional | {} | Custom Carbonite render settings |
rendering_mode | string | optional | performance | Rendering quality mode ⚠performance / balanced / quality |
MuJoCo Backend (stereotype: mujoco)
When stereotype is mujoco, the config class is MuJoCoConfig. Uses the MuJoCo physics engine; runs on CPU only.
class
MuJoCoConfigstereotypemujocofastsim/simulators/mujoco/mujoco_config.py| Field | Type | Required | Default | Description / Constraints |
|---|---|---|---|---|
headless | bool | required | false | Headless mode, no GUI viewer |
render_width | int | required | 640 | Render width in pixels |
render_height | int | required | 480 | Render height in pixels |
gravity | list[3] | required | [0, 0, -9.81] | Gravity vector [x, y, z] in m/s² |
PyBullet Backend (stereotype: pybullet)
When stereotype is pybullet, the config class is PyBulletConfig. Uses PyBullet for CPU-only simulation, ideal for lightweight testing and OMPL planning.
class
PyBulletConfigstereotypepybulletfastsim/simulators/pybullet/pybullet_config.py| Field | Type | Required | Default | Description / Constraints |
|---|---|---|---|---|
headless | bool | required | true | Headless mode, no GUI viewer (PyBullet defaults to headless) |
gravity | list[3] | required | [0, 0, -9.81] | Gravity vector [x, y, z] in m/s² |
render_width | int | required | 640 | Render width in pixels |
render_height | int | required | 480 | Render height in pixels |
Example
simulation blockYAML
simulation:
stereotype: isaaclab
dt: 0.0166667
initialize_steps: 60
device: cuda:0
render_interval: 1
gravity: [0.0, 0.0, -9.81]
create_stage_in_memory: true
launch_config:
headless: false
livestream: 0
enable_cameras: true
device: cuda
physics_config:
solver_type: 1
min_position_iteration_count: 1
max_position_iteration_count: 255
enable_ccd: false
enable_stabilization: false
render_config:
antialiasing_mode: DLSS
enable_shadows: true
rendering_mode: performanceCommon Errors
| Error message | Cause | Fix |
|---|---|---|
Simulation config is required | Missing simulation block or stereotype field not provided | Add a complete simulation config block with a valid stereotype |
Invalid simulator stereotype | stereotype value not found in the UniSim registry | Run fastsim show-registry to see available backends; custom backends need scan_project enabled |