You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
We compared various contact models and solvers. Timing statistics
166
+
(mean and standard deviation in microseconds) for solving contact forces with warm-start (Left) and without warm-start (Right) are averaged over a full trajectory.
167
+
</div>
168
+
<divclass="columns is-centered">
169
+
<divclass="column">
170
+
<divclass="content">
171
+
<imagesrc="./static/images/timings_ws.png" alt="Computational time with warm-start." style="width:100%"></image>
172
+
</div>
173
+
</div>
174
+
175
+
<divclass="column">
176
+
<divclass="content">
177
+
<imagesrc="./static/images/timings_cs.png" alt="Computational time without warm-start." style="width:100%">
178
+
</div>
179
+
</div>
180
+
</div>
181
+
</div>
182
+
</div>
183
+
</div>
184
+
<!--/ Benchmarks. -->
185
+
</div>
186
+
</section>
187
+
188
+
<sectionclass="section">
189
+
<divclass="container is-max-desktop">
190
+
<!-- Related Links. -->
191
+
<divclass="columns is-centered">
192
+
<divclass="column is-full-width">
193
+
<h2class="title is-3">Related Links</h2>
194
+
195
+
<divclass="content has-text-justified">
196
+
This work heavily relies on the <ahref="https://github.com/stack-of-tasks/pinocchio">Pinocchio</a> and <ahref="https://github.com/coal-library/coal">Coal</a> libraries.
197
+
</div>
198
+
</div>
199
+
</div>
200
+
<!--/ Related Links. -->
201
+
202
+
<!-- BibTeX. -->
203
+
<divclass="columns is-centered">
204
+
<divclass="column is-full-width">
205
+
<h2class="title is-3">BibTeX</h2>
206
+
<divclass="content has-text-left">
207
+
<pre><code>@article{lelidec2024contacts,
208
+
title={Contact Models in Robotics: a Comparative Analysis},
209
+
author={Le Lidec, Quentin and Jallet, Wilson and Montaut, Louis and Laptev, Ivan and Schmid, Cordelia and Carpentier, Justin},
0 commit comments