Ostrich: Taking Large Strides Through Stiff Contact in Differentiable Dynamics
cs.RO · cs.GR · cs.LG
Quick verdict
Claims GPU hard-contact IFT gradients at 0.1 s steps, O(1) memory; convincing on its scenes but rests on one robot, two baselines, truncated mesh adjoint.
Summary
Ostrich is a GPU-accelerated differentiable rigid-body simulator that resolves hard contacts and Coulomb friction with a non-smooth Newton solver inside backward-Euler steps as large as 0.1 s, then differentiates the converged residual via the implicit function theorem, reusing the forward matrix-free Schur operator so gradient memory is O(1) per timestep. On top of Macklin et al.'s non-smooth Newton formulation it adds implicit PD servo constraints, best-iterate backtracking, and cone-projected friction, implemented in NVIDIA Warp with Newton providing collision detection. Across 14 real pallet traversals of a three-wheeled robot, Ostrich matches MuJoCo's held-out sim-to-real accuracy (~0.21 m combined error) at h=100 ms, where MuJoCo needs 2 ms and Semi-Implicit 0.25-0.5 ms. On a 6 s box-traversal control-synthesis task (25 random trials, 50 Adam iterations), it reaches 100% success versus 16% (MJX) and 8% (Semi-Implicit), with warm iterations of 0.55 s (211x faster than MJX, 4.7x than Semi-Implicit) and 8,192 parallel worlds at 348 world-iterations/s on one 24 GB GPU (29x checkpointed MJX). A 10 s terrain-trajectory demonstration over a ~12,500-face mesh attains 0.143 m median RMSE over 50 seeds, but there the adjoint truncates the position pull-back because the full gradient proved unusable. Main limitations: evidence comes from one wheeled robot, impacts are inelastic, and code is promised but not yet released.
Review complete
Assessment at a glance
5
risk flags identified
● high 0
● medium 2
● low 3
4 strengths · 5 weaknesses · 5 author questions
AI text signal = Binoculars zero-shot detector score over 20 sampled passages (Fast-DetectGPT co-reported) — absence does not prove human authorship, and a flag does not imply misconduct.
Levels reflect verification complexity — not a quality score. Evolve never rates your paper.
Key claims under review
- Ostrich holds MuJoCo-level sim-to-real accuracy (0.208 m held-out combined error) at h=100 ms, a 50x larger timestep than MuJoCo's usable 2 ms and ~200x Semi-Implicit's, on 10 held-out real pallet traversals.
- Differentiating the converged residual via the implicit function theorem, reusing the forward matrix-free Schur operator, achieves O(1) gradient memory per timestep, verified against finite differences (0.02-1.6% relative error).
- On the 6 s box control-synthesis task Ostrich succeeds on 100% of 25 trials vs 16% (MJX) and 8% (Semi-Implicit), with warm optimization iterations of 0.55 s (211x faster than MJX, 4.7x than Semi-Implicit).
- It differentiates 8,192 parallel worlds on one 24 GB GPU at 348 world-iterations/s (29x checkpointed MJX) and supports gradient-based trajectory optimization over ~12,500-face mesh terrain at a 10 s horizon (median best RMSE 0.143 m over 50 seeds, using a truncated adjoint).
Strengths
Adjoint is validated against finite differences and the checks run in CI
Section III-D reports max relative error 0.02% on an impulsive contact-boundary test, <=0.4% across all wheel DOFs (per-scenario maxima 0.04-0.33%), and <=1.6% on cart-pole losses over 50-step horizons - unusual verification rigor for a simulator paper.
Unusually honest decomposition of the sim-to-real result
Section IV-A shows all three engines saturate at a shared 0.21-0.32 m error floor attributed to constant-friction-coefficient modeling, so the authors explicitly demote accuracy (engines differ by <=0.11 m) and let timestep range carry the claim; the abstract is worded accordingly.
Full-stack evaluation on one scene: real data, gradients, and scale
Contributions beyond Macklin et al. are cleanly scoped
Weaknesses
Flagship mesh result runs on a truncated adjoint
IFT differentiation on deliberately non-converged iterates
Narrow evidence base
Only two baselines; closest relative excluded
No inferential statistics
Full Review Report
$1.99 · one-timeUnlock the complete preliminary analysis Evolve produced for this paper.
Report preview
Scope & Claims
Ostrich (arXiv 2609.08800; Kučera and Zimmermann, CTU Prague) is a method paper presenting a GPU differentiable rigid-body simulator that combines hard NCP contact and Coulomb friction (non-smooth Newton inside backward-Euler steps up to h=0.1 s) with an implicit-function-theorem adjoint that reuses the forward matrix-free Schur operator, giving O(1) gradient memory per timestep. Contributions beyond Macklin et al. [11] are explicitly scoped (§I, §III): implicit PD servo constraints solved jointly with contacts and well-posed at any positive gain, best-iterate backtracking with cone-admissibility safeguards, and scaling solve and adjoint to triangle meshes and thousands of parallel worlds. Central claims: (1) MuJoCo-level sim-to-real accuracy at 50x MuJoCo's / ~200x Semi-Implicit's usable timestep (§IV-A); (2) 100% vs 16%/8% success on control synthesis with warm iterations 211x/4.7x faster (§IV-B); (3) 8,192 worlds at 348 world-iterations/s on one 24 GB GPU, 29x checkpointed MJX (§IV-C); (4) mesh-terrain optimization at a 10 s horizon (§IV-D).
The remaining sections cover Methodology Assessment, Statistical Evidence, Results & Reproducibility, Limitations & Risks, and Verdict & Recommendations.
- All 4 strengths & 5 weaknesses, analyzed in detail
- 5 risk flags with severity, section & reviewer questions
- Methods & statistical evidence assessment
- 5 questions a peer reviewer would ask
- Full six-dimension evaluation report & recommendations
One-time purchase · this paper only
One-time purchase, this paper only. AI-generated preliminary analysis — not peer review.
Frequently asked questions
What is the Ostrich simulator?
Ostrich is a GPU-accelerated differentiable rigid-body simulator from CTU Prague (arXiv 2609.08800). It resolves hard contacts and Coulomb friction with a non-smooth Newton solver inside backward-Euler steps as large as 0.1 s, and computes exact gradients of converged solutions via the implicit function theorem, reusing the forward solve's Schur operator so gradient memory is constant per timestep.
How much faster is Ostrich than MJX?
On the paper's box-traversal benchmark, one warm optimization iteration takes 0.55 s versus 116 s for MJX (211x) and 2.6 s for Semi-Implicit (4.7x). At scale, Ostrich sustains 348 world-iterations/s across 8,192 parallel worlds on one 24 GB GPU, versus 12 for checkpointed MJX capped at 4,096 worlds - a 29x throughput gap.
Is Ostrich's code available?
Not yet at review time. The paper states that code and the robot model 'will be released', but no repository, license, or link is given, and availability of the 14 real pallet-traversal recordings is unstated. The mathematical formulation in Section III is specified in enough detail to reimplement independently.
What robot and data were used to validate Ostrich?
A custom 106 kg three-wheeled robot with 35 cm-radius wheels on revolute joints, driven open-loop from logged 100 Hz wheel-velocity commands, across 14 real traversals of a 1.2 x 0.8 m, 14.4 cm tall wooden pallet. Pose ground truth comes from onboard lidar-inertial odometry; four runs trained per-engine parameter identification and ten were held out for scoring.
About this review
This is an AI-generated preliminary review by Evolve.Pub, produced from the openly available text of the paper. It is not peer review and does not represent the authors' views. The canonical record of the paper is at the publisher link above.
- Figure plots (Figs. 1-6) are not recoverable from text extraction; all quantitative statements rely on in-text numbers, which appear complete.
- The metadata abstract is cut at 'across a 10', but the full body text contains the complete sentence (10 s horizon), so no body content is lost.
Go deeper on this paper
Wrote a paper? Stress-test it before reviewers do.
Upload your manuscript for the same structured scrutiny — reasoning, statistics, evidence, figures, and reproducibility.
