simulation · git:20260919.498ea4e · 2026-09-19 · sha256 0388983ac3e1fc80

simulation git:20260919.498ea4eA

Immutable. This exact content never changes and is served at /api/v1/blob/0388983ac3e1fc80.

---
name: simulation
description: Choose between Gazebo, Isaac Sim, and MuJoCo and define what the simulation must prove.
---

# Simulation

Choose a simulator for the project's hardest requirement, then define the
evidence that would make its results trustworthy.

## Pick by bottleneck

- For a new robot app or first simulation demo, use
  [architect](../architect/SKILL.md) to check compatible reference apps before
  selecting a fresh stack. Keep a selected example's simulator. Continue here
  when no example fits or simulator choice is the actual unresolved question;
  comparisons and existing simulation work do not need onboarding.
- **Gazebo:** prefer for ROS-centric mobile robots, standard sensor simulation,
  and projects without a confirmed compatible NVIDIA GPU.
- **Isaac Sim:** consider when photorealism, synthetic data at scale, or the
  NVIDIA Isaac stack is central. Confirm the current RTX GPU, driver, OS, and
  VRAM requirements before committing to it; use `gazebo` if that environment
  is not real and available.
- **MuJoCo:** prefer for lightweight, contact-rich manipulation that does not
  need ROS integration or photoreal rendering.
- A project may use different simulators for different concerns. Avoid forcing
  one tool to own both navigation validation and training-data generation.

After selection, use `gazebo`, `isaac-sim`, or `mujoco` for tool mechanics.
Use `isaac-lab` for training workflows on top of Isaac Sim.

## Define fidelity before building

- Name what must transfer to hardware: interfaces, sensor behavior, dynamics,
  contacts, timing, or visual appearance.
- Match real sensor rate, noise, frame names, range, field of view, resolution,
  and timestamp source where those affect downstream decisions.
- Record known model gaps instead of treating simulation success as real-world
  evidence.
- If the simulator will back regression tests, control time step and randomness
  and judge behavior with tolerances rather than pixel-perfect coincidence.

Read [sensor fidelity](SENSOR-FIDELITY.md) when adding sensors, preparing
sim-to-real work, or turning a scenario into a repeatable test. Use `data` when
the unresolved question is what training data to generate rather than how to
simulate it.

## Done

- The selected tool fits the available hardware and the project's main
  fidelity requirement.
- The simulation contract names which interfaces and physical properties must
  match reality.
- Every consumer uses a consistent clock and frame convention.
- Repeatability is designed where the simulation will be used as a test.
- Version and hardware requirements were checked in the current upstream
  [Gazebo](https://gazebosim.org/docs/),
  [Isaac Sim](https://docs.isaacsim.omniverse.nvidia.com/), or
  [MuJoCo](https://mujoco.readthedocs.io/) documentation.