End-to-End and Highly-Efficient Differentiable Simulation for Robotics

*Equal contribution.
All authors are with INRIA Willow.

Abstract

Over the past few years, robotics simulators have largely improved in efficiency and scalability, enabling them to generate years of simulated data in a few hours. Yet, efficiently and accurately computing the simulation derivatives remains an open challenge, with potentially high gains on the convergence speed of reinforcement learning and trajectory optimization algorithms, especially for problems involving physical contact interactions. This paper contributes to this objective by introducing a unified and efficient algorithmic solution for computing the analytical derivatives of robotic simulators. The approach considers both the collision and frictional stages, accounting for their intrinsic nonsmoothness and also exploiting the sparsity induced by the underlying multibody systems. These derivatives have been implemented in C++, and the code will be open-sourced in the Simple simulator. They depict state-of-the-art timings ranging from 5 microseconds for a 7-dof manipulator up to 95 microseconds for 36-dof humanoid, outperforming alternative solutions by a factor of at least 100.

Benchmarks

We compared our approach to MuJoCo, and MJX frameworks. Timing statistics (mean and standard deviation in microseconds) for simulation, gradient, and finite-differences com- putation are measured for one simulation step. For MJX, N/A denotes scenarios where geometries were not sup- ported.

Related Links

This work heavily relies on the Pinocchio and HPP-FCL libraries.

BibTeX

@article{simple2024gradients,
  author    = {Le Lidec, Quentin and Montaut, Louis and De Mont-Marin, Yann and Carpentier, Justin},
  title     = {End-to-End and Highly-Efficient Differentiable Simulation for Robotics},
  journal   = {preprint},
  year      = {2024},
}