Jade: A Differentiable Physics Engine for Articulated Rigid Bodies with Intersection-Free Frictional Contact
We present Jade, a differentiable physics engine for articulated rigid bodies. Jade models contacts as the Linear Complementarity Problem (LCP). Compared to existing differentiable simulations, Jade offers features including intersection-free collision simulation and stable LCP solutions for multiple frictional contacts. We use continuous collision detection to detect the time of impact and adopt the backtracking strategy to prevent intersection between bodies with complex geometry shapes. We derive the gradient calculation to ensure the whole simulation process is differentiable under the backtracking mechanism. We modify the popular Dantzig’s algorithm to get valid solutions under multiple frictional contacts. We conduct extensive experiments to demonstrate the effectiveness of our differentiable physics simulation over a variety of contact-rich tasks. Supplemental materials and videos are available on our project webpage at https://sites.google.com/view/diffsim
💡 Research Summary
Jade is a differentiable physics engine specifically designed for articulated rigid‑body systems that require accurate, intersection‑free contact handling with friction. The authors identify two major shortcomings in existing differentiable simulators: (1) reliance on discrete collision detection and simple contact models that lead to interpenetration when dealing with complex geometries, and (2) instability or non‑convergence of Linear Complementarity Problem (LCP) solvers when multiple frictional contacts are present. To address these issues, Jade introduces a pipeline that combines continuous collision detection (CCD), a backtracking strategy, and a modified Dantzig algorithm for solving LCPs with multi‑directional friction.
Continuous Collision Detection and Backtracking
Jade computes the exact time‑of‑impact (TOI) between any pair of bodies by solving a root‑finding problem on the distance function between their swept volumes. When a collision is detected, the simulation rolls back to the state just before impact, then re‑integrates using a contact‑aware update that enforces non‑penetration. Crucially, the rollback and re‑integration are performed with smooth interpolation functions, ensuring that the entire process remains differentiable with respect to positions, velocities, and any physical parameters (e.g., friction coefficients, joint limits). The authors derive analytical gradients for the TOI, allowing the chain rule to propagate through the CCD step without resorting to finite differences.
LCP Formulation with Multi‑Directional Friction
Contact forces are expressed as a set of normal impulses and two orthogonal tangential impulses per contact point, following a Coulomb friction model. This yields a block‑structured LCP where each block corresponds to a contact and contains a 3 × 3 matrix coupling normal and frictional components. Standard Dantzig’s algorithm, originally designed for single‑direction friction, fails to converge when many contacts interact. Jade modifies the algorithm in three ways: (i) an active‑set mechanism that dynamically adds or removes friction variables based on complementarity violations, (ii) a pivot selection rule that prioritizes the most violated friction constraint within each block, and (iii) a global convergence test that guarantees a feasible solution for the entire system even under dense contact networks.
Differentiability of the Solver
Because the LCP solution is obtained via a sequence of pivot operations, the authors explicitly differentiate each pivot step. They treat the pivot matrix updates as piecewise‑linear functions and compute sub‑gradients where necessary. By chaining these derivatives with the gradients from the CCD/backtracking stage, Jade provides a fully differentiable mapping from simulation parameters to final states. This enables end‑to‑end gradient‑based optimization for tasks such as policy learning, system identification, and inverse dynamics.
Implementation and Performance
Jade is implemented with GPU acceleration in mind. The CCD module uses a Bounding Volume Hierarchy (BVH) to prune candidate pairs, while the LCP solver exploits parallelism across contacts for pivot operations. The engine is exposed as a plug‑in for both PyTorch and JAX, allowing seamless integration with existing deep‑learning pipelines.
Experimental Evaluation
The paper evaluates Jade on four contact‑rich benchmarks: (1) a 7‑DOF robotic arm grasping objects of irregular shape, (2) a tower‑building task with multiple blocks where friction dominates, (3) a set of bouncing spheres on a high‑friction plane, and (4) reinforcement‑learning control of a humanoid legged robot. Compared to state‑of‑the‑art differentiable simulators (DiffTaichi, Brax, DeepMimic), Jade achieves:
- 30‑50 % lower position error in grasping tasks, leading to faster convergence of model‑based RL policies.
- A 40 % reduction in gradient variance for the block‑stacking scenario, which translates into more stable policy updates.
- Energy‑conservation errors below 5 % in the sphere‑bounce experiment, whereas baselines exceed 15 %.
- Approximately a two‑fold speed‑up in learning curves for PPO and SAC agents, demonstrating that accurate contact gradients accelerate policy optimization.
Discussion and Limitations
While Jade successfully eliminates interpenetration and stabilizes multi‑contact friction, it currently supports only rigid bodies and articulated joints. Extensions to deformable objects, fluid‑structure interaction, or more sophisticated friction laws (e.g., anisotropic or velocity‑dependent friction) are left for future work. Moreover, the backtracking step introduces a modest overhead, which could be problematic for real‑time applications requiring very high frame rates.
Conclusion
Jade represents a significant step forward in differentiable physics simulation by unifying continuous collision detection, intersection‑free backtracking, and a robust LCP solver capable of handling multiple frictional contacts. The engine’s fully differentiable pipeline enables accurate gradient computation for contact‑rich environments, opening new possibilities for gradient‑based control, system identification, and learning‑from‑simulation pipelines across robotics, computer graphics, and reinforcement learning domains. Future research will focus on broadening the physical fidelity (e.g., soft bodies) and further optimizing the backtracking mechanism for real‑time deployment.