Simulation
MuJoCo vs robosuite vs Isaac Lab for evaluation
Training wants throughput; evaluation wants determinism and contact realism. A comparison of MuJoCo, robosuite, and Isaac Lab through the verification lens.
Ask three robotics engineers which simulator to use and you will get three answers, each correct for their problem: training throughput, visual fidelity, or hardware-in-the-loop integration. Evaluation has a different priority list, and it changes the answer.
This post compares the three most common options — MuJoCo, robosuite, and Isaac Lab — through the verification lens: repeatability, contact fidelity, perturbation control, and auditability.
What evaluation actually needs from a simulator
1. Determinism under seeds
An evaluation protocol must be re-runnable. The same seed must produce the same trajectory and the same score, to the precision required by the report. Non-determinism — multithreaded contact solvers, stochastic init, GPU nondeterminism — quietly breaks reproducibility while leaving single-run scores intact.
2. Contact fidelity
Most manipulation failures are contact failures: slip, regrasp, penetration, force spikes. The simulator's contact model determines whether these failures are physically meaningful or solver artifacts. Evaluation cares about which failures the policy produces under stress, so contact realism matters more than render quality.
3. Controllable perturbation
Mass, friction, and surface properties must be resampleable per-trial with pinned seeds. The ability to build severity tiers — nominal, mild, extreme — is the entire basis of adversarial stress testing. A simulator that makes perturbation awkward makes robustness evaluation awkward.
4. Auditability
The protocol must be expressible as versioned configuration: exact solver settings, timestep, contact parameters, seed scheme. If the scoring runs cannot be reconstructed from the config, the numbers are hearsay.
MuJoCo
Strengths: fast, deterministic on a single thread, excellent contact model for its cost, tiny footprint, deeply documented physics. Its soft-contact model is well understood — a known quantity you can reason about. Easy to pin seeds and exact solver parameters in XML config.
Weaknesses: no built-in robot assembly or manipulation environments (you build them); visuals are minimal; GPU parallelization (the newer engine) introduces nondeterminism that must be carefully managed for evaluation runs.
Best role: reference physics engine for protocols that must be maximally reproducible. Its determinism and configurability make it the natural substrate for calibration and detector work.
robosuite
Strengths: purpose-built manipulation environments (Lift, Stack, PickPlaceCan, Door among others) on top of MuJoCo; native support for domain randomization of mass, friction, and textures; per-trial seeding of environments and perturbations is first-class. This is the one option designed with evaluation workflows in mind.
Weaknesses: single-threaded performance limits large-scale training; environment suite is manipulation-focused (no mobile robot support).
Best role: manipulation policy evaluation. This is why Haga's policy pillar runs its tiered mass/friction perturbations on robosuite tasks — the perturbation API and seeded environment resampling map directly onto a frozen evaluation protocol. See the Lab for the published curves.
Isaac Lab / Isaac Sim
Strengths: GPU-parallel training at scale, photorealistic rendering, domain randomization pipelines, broad asset ecosystem, hardware vendor support. Unmatched for training throughput and visual evaluation.
Weaknesses: determinism is hard-won — GPU parallelism, asset pipeline versions, and OS-level dependencies all introduce run-to-run variation. A reproducible protocol requires aggressive seed pinning and serialized verification runs, which undercuts the throughput advantage. Resource footprint is heavy.
Best role: training at scale and visual/sensor-level evaluation where photorealistic rendering is the point. For verification-grade reproducibility, treat it as the simulator you must discipline hardest.
The verdict by use case
- Training throughput: Isaac Lab wins on scale; MuJoCo wins on simplicity.
- Manipulation evaluation: robosuite is the pragmatic choice — seeded perturbation and contact realism in one package.
- Protocol reference runs: MuJoCo, for determinism.
- Sensor/vision evaluation: Isaac Sim, for rendering fidelity.
The deeper point: the simulator choice matters less than the protocol discipline around it. Every simulator in this comparison has been used to produce both honest evaluations and cherry-picked demos. What separates them is whether the runs are versioned, seeded, and re-runnable — the properties covered in the simulator evaluation guide and the benchmark design post. Choose your simulator for throughput; build your evaluation for reproducibility.
A perturbation-control comparison
Since robustness evaluation lives or dies on perturbation control, the three options differ meaningfully there:
| Capability | MuJoCo | robosuite | Isaac Lab |
|---|---|---|---|
| Per-trial seed pinning | Manual (config discipline) | First-class (env.seed) |
Possible, requires discipline |
| Mass/friction resample per episode | Manual | Native DomainRandomizationWrapper |
Native pipelines |
| Severity tiers as first-class config | Manual | Natural (perturbation ranges in config) | Natural |
| Determinism under parallel runs | High (single-threaded) | High | Low without serialization |
| Contact realism at evaluation cost | Excellent for cost | Excellent (inherits MuJoCo) | Good, heavier |
The column that decides evaluation quality is not raw fidelity — all three are usable for policy evaluation — it is how much protocol discipline the simulator demands of you. MuJoCo and robosuite reward good habits with determinism; Isaac Lab punishes sloppy seed handling with silent run-to-run variance. That asymmetry is why Haga's policy evaluations run their severity-tier perturbations on robosuite tasks while using MuJoCo for detector calibration and reference runs. Neither choice is about which simulator is "better" — it is about which one makes the audit trail cheapest to produce.
The seed discipline checklist
Whatever you choose, this checklist is simulator-agnostic and non-negotiable for evaluation runs:
- Pin the simulator seed, the environment seed, and the perturbation seed separately. Three independent streams; the config records all three. A single global seed collapses them and makes ablations impossible.
- Serialize verification runs. For the official protocol, run episodes single-threaded with fixed schedules. Parallel evaluation is for screening, never for the record.
- Record solver configuration verbatim. Timestep, contact solver type, iterations, tolerance — the numbers that change contact behavior. Two runs differing only in timestep are two different protocols.
- Version the assets. Robot URDFs, object meshes, and task XMLs change behavior invisibly. Pin them to hashes in the protocol.
- Run a control condition. A nominal, unperturbed configuration through the identical pipeline gives the baseline every perturbation tier is measured against.
The checklist does not depend on the simulator — but it exposes which simulators cooperate. Teams that run evaluation on the simulator that makes this cheapest get more evaluations, better audits, and numbers that survive a second look.
Want an independent check on a policy or world-model artifact? Haga runs fixed protocols with shown failures — not self-graded demos.
Related reading
- Physics-violation detection: current benchmark results
100% detection of injected physics violations at zero false flags on clean runs — with the full methodology, thresholds, and confidence intervals published.
- Obstacle avoidance metrics beyond collision counts
Zero collisions can still mean a robot that freezes, brushes, or deadlocks. Here is the avoidance metric stack that distinguishes safe navigation from lucky navigation.
- Physical AI verification: the security-audit model
The software industry solved self-certification with independent audits. Physical AI verification should borrow that structure: separated checkers, frozen protocols, and adversarial evidence.