Skip to content

simulo.run

Run a Simulo scenario.

Args:

  • scenario_class — Scenario class to instantiate and run
  • device — Device for simulation (“cuda” or “cpu”)
  • dt — Physics timestep in seconds
  • headless — Run without visualization
  • seed — Random seed
  • max_steps — Maximum number of steps (None = run indefinitely)
  • num_envs — Number of parallel environments (default: 1). When num_envs > 1, robots added to the scene are automatically replicated across all environments for parallel simulation.
  • env_spacing — Spacing between environment origins in meters (default: 2.0)
  • enable_cameras — Enable camera rendering for Camera sensors (default: True)
  • viewstream — Enable viewport streaming. Pass True for defaults or a ViewStreamConfig for explicit control.

Real usage, from the shipped scene app’s job body — drives a Scenario subclass end to end, called INSIDE the job (never at module scope — the identical call at module scope silently does nothing at submit, then launches a real simulation at import time on the worker):

simulo.run(
SceneScenario,
device="cuda",
headless=True,
max_steps=num_steps,
num_envs=num_envs,
env_spacing=2.0,
)
simulo.run(
scenario_class: Type[Scenario],
device: str = 'cuda',
dt: float = 0.01,
headless: bool = False,
seed: int = 0,
max_steps: Optional[int] = None,
num_envs: int = 1,
env_spacing: float = 2.0,
enable_cameras: bool = True,
viewstream: ViewStreamOption = None,
) -> None