DETB is a simulation-first design evaluation toolkit for quadruped systems engineering. It is designed to turn Isaac Lab experiments into reviewable engineering evidence, not deployment claims or sim-to-real guarantees.
- A reproducible experiment runner for quadruped design studies.
- A contract-first pipeline for manifests, metrics, and artifact bundles.
- A framework for terrain, sensor, fault, and tuning studies.
- A public-facing GitHub repository intended for technical review.
- A field deployment stack.
- A certification tool.
- A claim of validated sim-to-real transfer.
- A generic reinforcement learning benchmark zoo.
The concrete v1 operator path is:
trainevaluatevisualizebundle-artifactsgenerate-requirements
The v1 contract is supported on the mock backend for fast local validation, and the real Isaac Lab backend is verified for the core simulator-backed path that feeds those same artifacts.
The following commands are experimental and are not part of the v1 support contract:
train-guisweepsensor-evalterrain-evalfailure-evaltune
As of 2026-04-14, the repository supports the v1 operator contract above with a complete mock backend for fast local validation and a verified Isaac Lab backend for the core simulator-backed flows. Simulator-native task and robot ownership live under source/detb_lab, while detb/ remains the orchestration and evidence layer. Windows GUI launches through DETB use --/app/vulkan=false on this machine so the GUI path stays stable and reviewable in the launch spec.
- Isaac Sim:
5.1.0 - Isaac Lab checkout:
..\IsaacLab-5.1 - Isaac Lab version file:
2.3.0 - Conda environment:
isaaclab51 - Default device:
cuda:0 - Default GPU index:
0
On 2026-04-14, GPU 0 on this machine resolved to NVIDIA GeForce RTX 5080 Laptop GPU with driver 595.79. DETB records the detected GPU and driver automatically in the run manifest.
For low-friction sessions, see docs/permissions.md. The practical target is one persistent approval for python -m detb.cli plus one for python -m pytest.
cd "C:\Dev Projects\NVIDIA Omniverse\IsaacLab Testbed"
python -m pip install -e .[dev]
python -m pip install -e source/detb_lab
detb train
detb evaluate
detb visualize --set visualization.execute=true
detb bundle-artifacts --source-dir outputs/evaluate/<run_id>
detb generate-requirements --source-dir outputs/evaluate/<run_id>The following commands are useful for development, but they are not part of the v1 support contract:
train-guisweepsensor-evalterrain-evalfailure-evaltune
Use dry-run launch specs first so the exact Isaac Lab command is reviewable before anything opens:
detb visualize
detb visualize --set visualization.execute=trueFor the baseline task=flat_walk path, visualization.use_pretrained_checkpoint=true now resolves to the upstream Isaac Lab ANYmal-C pretrained checkpoint. DETB-only task variants without a published upstream equivalent fail fast instead of silently replaying the latest local smoke checkpoint.
The GUI training path remains available for manual inspection, but it is experimental:
detb train-gui
detb train-gui --set visualization.train_execute=trueTune and study workflows are also experimental:
detb tune --set study=sweep
detb tune --set study=sweep --set objective.terrain_weight=0.5 --set objective.target_tgs=0.8
detb sweep
detb sensor-eval
detb terrain-eval
detb failure-evalSelect a DETB-owned task variant directly from Hydra when you want a different Isaac registry family:
detb train --set task=flat_walk_stability
detb evaluate --set task=flat_walk_stability
detb visualize --set task=flat_walk_stability --set visualization.execute=trueSelect the simple-actuator robot/profile path by pairing the matching task and robot groups:
detb train --set task=flat_walk_simple_actuator --set robot=anymal_c_simple_actuator
detb evaluate --set task=flat_walk_simple_actuator --set robot=anymal_c_simple_actuator| Command | Purpose |
|---|---|
detb train |
Produce a manifest, training summary, reward curve artifacts, and either a synthetic checkpoint (mock) or copied real checkpoint/config snapshots (isaaclab). |
detb evaluate |
Produce episode metrics, aggregate metrics, overview plot, summary markdown, and Isaac run metadata when execution.backend=isaaclab. |
detb visualize |
Launch the pinned Isaac Lab GUI playback path or emit a launch spec when visualization.execute=false. |
detb bundle-artifacts --source-dir ... |
Rebuild the summary and bundle artifacts from an existing run directory. |
detb generate-requirements --source-dir ... |
Generate a candidate requirement ledger from stored artifacts. |
| Command | Purpose |
|---|---|
detb train-gui |
Launch the pinned Isaac Lab GUI training path or emit a launch spec when visualization.train_execute=false. |
detb sweep |
Run staged design-point screening using the configured study points. |
detb sensor-eval |
Compare configured sensor profiles under matched conditions. |
detb terrain-eval |
Run the configured terrain battery and compute TGS. |
detb failure-eval |
Sweep fault severity and detect the first critical threshold. |
detb tune |
Rank design points using objective weights and target thresholds. |
Each major run writes to outputs/<command>/<run_id>/ and includes:
resolved_config.yamlrun_manifest.jsonartifact_registry.json- machine-readable CSV or JSON outputs
- reviewable markdown summary
- lightweight SVG plots where applicable
GUI commands also emit launch-spec JSON files so the exact Isaac Lab invocation is reviewable before execution. Executed visualize runs now persist isaac_play_result.json, playback_telemetry.csv, playback logs, and any recorded videos/play/*.mp4 files in the same run directory.
configs/ Hydra configs and pinned defaults
detb/ Core package, runtime, backends, and contracts
source/detb_lab/ External Isaac Lab extension package for custom tasks and robot configs
docs/ Bootstrap, architecture, research, and workflow notes
scripts/ Convenience launchers
tests/ Unit and integration tests
outputs/ Generated artifacts (gitignored)
docs/bootstrap.mddocs/architecture.mddocs/data-contracts.mddocs/cli.mddocs/modules.mddocs/reproducibility.mddocs/terrain-research.mddocs/terrain-design.md
- Keep the v1 operator contract stable across
train,evaluate,visualize,bundle-artifacts, andgenerate-requirements. - Keep the mock-backed pipeline stable as the contract baseline.
- Expand DETB-owned task families and robot configs under
source/detb_lab. - Keep experimental study commands clearly separated from the v1 support contract.
- Continue using GUI launch specs and Isaac Lab playback/training to inspect progress visually when needed.
- Expand the verified real Isaac Lab backend only after the v1 path remains stable.