🤖 AI Summary
To address the low computational efficiency and poor accuracy of derivative computation for contact dynamics—particularly collisions and friction—in robotic simulation, which hinder convergence in reinforcement learning and trajectory optimization, this paper introduces the first unified analytical differentiation method for nonsmooth contact events. The method jointly exploits the sparsity of multibody systems and the intrinsic nonsmoothness of contact dynamics. Implemented in C++ and integrated into the Simple simulator, it supports arbitrary-degree-of-freedom rigid-body systems. On a 7-DOF manipulator and a 36-DOF humanoid robot, derivative evaluation takes only 5 μs and 95 μs, respectively—over 100× faster than state-of-the-art methods. This marks the first demonstration of microsecond-scale, high-accuracy, end-to-end differentiable robotic simulation.
📝 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.