From Compliant to Rigid Contact Simulation: a Unified and Efficient Approach
Justin Carpentier, Louis Montaut, Quentin Le Lidec
TL;DR
This work tackles the challenge of accurately simulating frictional contact in robotics by framing forward and inverse dynamics as nonlinear complementarity problems (NCPs) and solving them with a novel proximal ADMM method. The approach unifies compliant and rigid contact models without relaxing the physics, leveraging a cascade of optimization subproblems, a proximal regularization, and adaptive spectral updates to the ADMM penalty. It demonstrates robustness and efficiency across robotics and computational mechanics benchmarks, outperforming traditional per-contact methods and competing with state-of-the-art engines, while preserving the ability to model purely rigid interactions. The method is implemented in open-source C++ and integrates with existing rigid-body pipelines, with potential for hardware acceleration and broader applicability in MPC/RL workflows demanding high-fidelity contact physics.
Abstract
Whether rigid or compliant, contact interactions are inherent to robot motions, enabling them to move or manipulate things. Contact interactions result from complex physical phenomena, that can be mathematically cast as Nonlinear Complementarity Problems (NCPs) in the context of rigid or compliant point contact interactions. Such a class of complementarity problems is, in general, difficult to solve both from an optimization and numerical perspective. Over the past decades, dedicated and specialized contact solvers, implemented in modern robotics simulators (e.g., Bullet, Drake, MuJoCo, DART, Raisim) have emerged. Yet, most of these solvers tend either to solve a relaxed formulation of the original contact problems (at the price of physical inconsistencies) or to scale poorly with the problem dimension or its numerical conditioning (e.g., a robotic hand manipulating a paper sheet). In this paper, we introduce a unified and efficient approach to solving NCPs in the context of contact simulation. It relies on a sound combination of the Alternating Direction Method of Multipliers (ADMM) and proximal algorithms to account for both compliant and rigid contact interfaces in a unified way. To handle ill-conditioned problems and accelerate the convergence rate, we also propose an efficient update strategy to adapt the ADMM hyperparameters automatically. By leveraging proximal methods, we also propose new algorithmic solutions to efficiently evaluate the inverse dynamics involving rigid and compliant contact interactions, extending the approach developed in MuJoCo. We validate the efficiency and robustness of our contact solver against several alternative contact methods of the literature and benchmark them on various robotics and granular mechanics scenarios. Our code is made open-source at https://github.com/Simple-Robotics/Simple.
