From Compliant to Rigid Contact Simulation: a Unified and Efficient Approach

*Equal contribution. Authors are listed in alphabetical order.
All authors are with INRIA Willow.

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. Overall, the proposed approach is shown to be competitive against classic methods for simple contact problems and outperforms existing solutions on more complex scenarios, involving tens of contacts and poor conditioning.

Our code is made open-source at https://github.com/Simple-Robotics/Simple.

Benchmarks

Computational time for UR5 robot.
Computational time for MuJoCo humanoid.
Computational time for Cassie robot.

Related Links

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

BibTeX

@article{simplecontacts2024,
  author    = {Carpentier, Justin and Le Lidec, Quentin and Montaut, Louis},
  title     = {From compliant to rigid contact simulation: a unified and efficient approach.},
  journal   = {Robotics: Science and Systems},
  year      = {2024},
}