RoboWBC NVIDIA Comparison

This page is generated automatically in CI from the normalized RoboWBC-vs-official benchmark artifacts. It keeps the matched-path comparison package visible on GitHub Pages without requiring readers to reconstruct the Markdown summary locally.

Rows stay honest: if a future rerun loses models, prerequisites, or an executable upstream seam, the page surfaces the blocked artifact instead of approximating a nearby path.

Cases8
Matched ok pairs8
Blocked or missing rows0
Providercpu
RoboWBC commitf1b940ac0f78c77252c18eb69b8d9f2f6effd3b5
Official upstream commitbc38f6d0ce6cab4589e025037ad0bfbab7ba73d8

Host fingerprint: runnervmeorf1 | Linux 6.17.0-1010-azure | x86_64 | AMD EPYC 9V74 80-Core Processor

Case Matrix

Case RoboWBC Official NVIDIA p50 ratio Why it matters Artifacts
gear_sonic_velocity/cold_start_tick
First velocity tick after reset; forces a fresh planner path.
p50 109.094 ms; p95 110.612 ms; hz n/a p50 104.508 ms; p95 105.389 ms; hz n/a 1.04x If this row regresses, RoboWBC still pays a measurable planner cold-start tax before any DX win can matter. RoboWBC JSON
Official JSON
gear_sonic_velocity/warm_steady_state_tick
Velocity interpolation tick after an initial plan; planner stays idle.
p50 3.386 ms; p95 3.511 ms; hz n/a p50 1.122 us; p95 1.503 us; hz n/a 3017.58x This is the steady-state path most likely to dominate the average control budget for locomotion. RoboWBC JSON
Official JSON
gear_sonic_velocity/replan_tick
Velocity tick that crosses the replan boundary and executes planner_sonic.onnx.
p50 3.159 ms; p95 3.264 ms; hz n/a p50 103.969 ms; p95 105.310 ms; hz n/a 0.03x If replan ticks miss parity, the planner path needs attention before stronger NVIDIA comparison claims. RoboWBC JSON
Official JSON
gear_sonic_tracking/standing_placeholder_tick
Encoder plus decoder standing-placeholder tracking tick with planner loaded but idle.
p50 3.070 ms; p95 3.148 ms; hz n/a p50 3.023 ms; p95 3.197 ms; hz n/a 1.02x A tracking-path miss suggests the motion-reference contract is the real optimization target, not the planner path. RoboWBC JSON
Official JSON
decoupled_wbc/walk_predict
GR00T G1 history contract with a movement command that routes to the walk checkpoint.
p50 59.662 us; p95 59.866 us; hz n/a p50 293.537 us; p95 340.694 us; hz n/a 0.20x This row captures the locomotion path people hit while actually moving, not the standing fallback. RoboWBC JSON
Official JSON
decoupled_wbc/balance_predict
GR00T G1 history contract with a near-zero command that routes to the balance checkpoint.
p50 59.936 us; p95 60.138 us; hz n/a p50 291.428 us; p95 324.602 us; hz n/a 0.21x This row makes the command-magnitude model switch explicit instead of hiding it behind one average number. RoboWBC JSON
Official JSON
gear_sonic/end_to_end_cli_loop
RoboWBC CLI loop running configs/sonic_g1.toml through the synthetic transport with a JSON report.
p50 3.726 ms; p95 4.153 ms; hz 48.632 Hz p50 1.126 us; p95 105.738 ms; hz 26.911 Hz 3308.94x This row answers the operator-facing question: can the whole deployment loop hold the target frequency, not just one inference call? RoboWBC JSON
Official JSON
decoupled_wbc/end_to_end_cli_loop
RoboWBC CLI loop running configs/decoupled_g1.toml through the synthetic transport with a JSON report.
p50 268.500 us; p95 353.372 us; hz 49.720 Hz p50 422.506 us; p95 568.290 us; hz 49.805 Hz 0.64x If the loop holds up here, the comparison story can move beyond one policy tick and toward deployable control loops. RoboWBC JSON
Official JSON

Rerun Commands

python3 scripts/bench_robowbc_compare.py --all
python3 scripts/bench_nvidia_official.py --all
python3 scripts/render_nvidia_benchmark_summary.py --output artifacts/benchmarks/nvidia/SUMMARY.md --html-output /tmp/robowbc-site/benchmarks/nvidia/index.html
# or build the full static site bundle:
python3 scripts/build_site.py --output-dir /tmp/robowbc-site