Contact Models in Robotics: a Comparative Analysis
Quentin Le Lidec, Wilson Jallet, Louis Montaut, Ivan Laptev, Cordelia Schmid, Justin Carpentier
TL;DR
The paper addresses the challenge of accurately simulating rigid-body contacts with friction in robotics by surveying major contact models ($NCP$, LCP, CCP) and their numerical solvers, and by providing an open-source benchmarking framework. It demonstrates that common relaxations (LCP cone approximations, CCP relaxations) can introduce unphysical artifacts and widen the reality gap, affecting downstream tasks like MPC and RL. The authors compare solvers (PGS, ADMM, Newton, staggered projections) across physical fidelity, self-consistency, and computational performance, revealing trade-offs and task-dependent suitability. The work contributes a detailed analysis, practical implementation tricks, and a reusable ContactBench framework to guide simulator selection and development for robotics.
Abstract
Physics simulation is ubiquitous in robotics. Whether in model-based approaches (e.g., trajectory optimization), or model-free algorithms (e.g., reinforcement learning), physics simulators are a central component of modern control pipelines in robotics. Over the past decades, several robotic simulators have been developed, each with dedicated contact modeling assumptions and algorithmic solutions. In this article, we survey the main contact models and the associated numerical methods commonly used in robotics for simulating advanced robot motions involving contact interactions. In particular, we recall the physical laws underlying contacts and friction (i.e., Signorini condition, Coulomb's law, and the maximum dissipation principle), and how they are transcribed in current simulators. For each physics engine, we expose their inherent physical relaxations along with their limitations due to the numerical techniques employed. Based on our study, we propose theoretically grounded quantitative criteria on which we build benchmarks assessing both the physical and computational aspects of simulation. We support our work with an open-source and efficient C++ implementation of the existing algorithmic variations. Our results demonstrate that some approximations or algorithms commonly used in robotics can severely widen the reality gap and impact target applications. We hope this work will help motivate the development of new contact models, contact solvers, and robotic simulators in general, at the root of recent progress in motion generation in robotics.
