Table of Contents
Fetching ...

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.

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

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.
Paper Structure (24 sections, 49 equations, 8 figures, 4 tables, 2 algorithms)

This paper contains 24 sections, 49 equations, 8 figures, 4 tables, 2 algorithms.

Figures (8)

  • Figure 1: Simulation of an ill-conditioned stack of cubes. Our approach robustly solves high-dimensional and ill-conditioned problems such as the ones involved when simulating a stack of $15$ cubes involving more than $60$ contact points and objects' masses varying from $1$ kg (bottom row, in light blue) to $10.000$ kg (highest row, in bright red). Simulation videos at https://youtu.be/i_qg9cTx0NY?si=NGtx1tiYrIGtHXSK.
  • Figure 2: Compliant contacts. Our contact solver can handle both purely rigid (left) and compliant contacts (right).
  • Figure 3: Robotics systems. We evaluate our approach on common robotics scenarios occurring during locomotion, e.g., Talos falling on the ground (left), Solo walking on steep terrain (center), and manipulation, e.g., Allegro hand interacting with cubes (right).
  • Figure 4: Convergence analysis. Convergence of the dual feasibility (left) and complementarity (right) is monitored across iterations on the contact problems obtained from simulating a stack of cubes (top row) and the Talos robot (bottom row).
  • Figure 5: Timings on robotics systems. Thanks to its combination of automatic spectral adaptation (Sec.\ref{['subsec:admm_update_parameter']}) and sparse Cholesky update (Sec. \ref{['subsec:sparsity']}), our algorithm (in red) yields a stable behavior across the various robot simulations.
  • ...and 3 more figures