|
| 1 | +<!DOCTYPE html> |
| 2 | +<html> |
| 3 | +<head> |
| 4 | + <meta charset="utf-8"> |
| 5 | + <meta name="description" |
| 6 | + content="Analysis of contact models in robotics"> |
| 7 | + <meta name="keywords" content="Contact Models, Robotics, Physics Simulation, Contact Mechanics"> |
| 8 | + <meta name="viewport" content="width=device-width, initial-scale=1"> |
| 9 | + <title>Analysis of Contact Models in Robotics</title> |
| 10 | + |
| 11 | + <link href="https://fonts.googleapis.com/css?family=Google+Sans|Noto+Sans|Castoro" |
| 12 | + rel="stylesheet"> |
| 13 | + |
| 14 | + <link rel="stylesheet" href="./static/css/bulma.min.css"> |
| 15 | + <link rel="stylesheet" href="./static/css/bulma-carousel.min.css"> |
| 16 | + <link rel="stylesheet" href="./static/css/bulma-slider.min.css"> |
| 17 | + <link rel="stylesheet" href="./static/css/fontawesome.all.min.css"> |
| 18 | + <link rel="stylesheet" |
| 19 | + href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css"> |
| 20 | + <link rel="stylesheet" href="./static/css/index.css"> |
| 21 | + <link rel="icon" href="./static/images/favicon.svg"> |
| 22 | + |
| 23 | + <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> |
| 24 | + <script defer src="./static/js/fontawesome.all.min.js"></script> |
| 25 | + <script src="./static/js/bulma-carousel.min.js"></script> |
| 26 | + <script src="./static/js/bulma-slider.min.js"></script> |
| 27 | + <script src="./static/js/index.js"></script> |
| 28 | +</head> |
| 29 | +<body> |
| 30 | + |
| 31 | +<nav class="navbar" role="navigation" aria-label="main navigation"> |
| 32 | + <div class="navbar-brand"> |
| 33 | + <a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false"> |
| 34 | + <span aria-hidden="true"></span> |
| 35 | + <span aria-hidden="true"></span> |
| 36 | + <span aria-hidden="true"></span> |
| 37 | + </a> |
| 38 | + </div> |
| 39 | + <div class="navbar-menu"> |
| 40 | + <div class="navbar-start" style="flex-grow: 1; justify-content: center;"> |
| 41 | + <a class="navbar-item" href="https://simple-robotics.github.io"> |
| 42 | + <span class="icon"> |
| 43 | + <i class="fas fa-home"></i> |
| 44 | + </span> |
| 45 | + </a> |
| 46 | + |
| 47 | + <div class="navbar-item has-dropdown is-hoverable"> |
| 48 | + <a class="navbar-link"> |
| 49 | + More Research |
| 50 | + </a> |
| 51 | + <div class="navbar-dropdown"> |
| 52 | + <a class="navbar-item" href="https://simple-robotics.github.io/publications/simple-gradients/"> |
| 53 | + Simple Gradients |
| 54 | + </a> |
| 55 | + <a class="navbar-item" href="https://simple-robotics.github.io/publications/simple-contact-solver/"> |
| 56 | + Contact Simulation |
| 57 | + </a> |
| 58 | + <a class="navbar-item" href="https://quentinll.github.io/projects/diffsim/"> |
| 59 | + Differentiable System Identification |
| 60 | + </a> |
| 61 | + <a class="navbar-item" href="https://ieeexplore.ieee.org/document/10494919"> |
| 62 | + GJK++: accelerated collision detection |
| 63 | + </a> |
| 64 | + <a class="navbar-item" href="https://lmontaut.github.io/diffcol_rs.github.io/"> |
| 65 | + Differentiable Collision Detection |
| 66 | + </a> |
| 67 | + </div> |
| 68 | + </div> |
| 69 | + </div> |
| 70 | + </div> |
| 71 | +</nav> |
| 72 | + |
| 73 | +<section class="hero"> |
| 74 | + <div class="hero-body"> |
| 75 | + <div class="container is-max-desktop"> |
| 76 | + <div class="columns is-centered"> |
| 77 | + <div class="column has-text-centered"> |
| 78 | + <h1 class="title is-1 publication-title">Contact Models in Robotics: a Comparative Analysis</h1> |
| 79 | + <div class="is-size-5 publication-authors"> |
| 80 | + <span class="author-block"> |
| 81 | + <a href="https://quentinll.github.io">Quentin Le Lidec</a>,</span> |
| 82 | + <span class="author-block"> |
| 83 | + <a href="https://manifoldfr.github.io/">Wilson Jallet</a>,</span> |
| 84 | + <span class="author-block"> |
| 85 | + <a href="https://lmontaut.github.io">Louis Montaut</a>,</span> |
| 86 | + <span class="author-block"> |
| 87 | + <a href="https://www.di.ens.fr/~laptev/">Ivan Laptev</a>,</span> |
| 88 | + <span class="author-block"> |
| 89 | + <a href="https://cordeliaschmid.github.io/">Cordelia Schmid</a>,</span> |
| 90 | + <span class="author-block"> |
| 91 | + <a href="https://jcarpent.github.io">Justin Carpentier</a></span> |
| 92 | + </div> |
| 93 | + |
| 94 | + <div class="is-size-5 publication-authors"> |
| 95 | + <span class="author-block">All authors are with INRIA Willow.</span> |
| 96 | + </div> |
| 97 | + |
| 98 | + <div class="column has-text-centered"> |
| 99 | + <div class="publication-links"> |
| 100 | + <!-- PDF Link. --> |
| 101 | + <span class="link-block"> |
| 102 | + <a href="./static/paper/lelidec2024contacts.pdf" |
| 103 | + class="external-link button is-normal is-rounded is-dark"> |
| 104 | + <span class="icon"> |
| 105 | + <i class="fas fa-file-pdf"></i> |
| 106 | + </span> |
| 107 | + <span>Paper</span> |
| 108 | + </a> |
| 109 | + </span> |
| 110 | + <span class="link-block"> |
| 111 | + <a href="https://arxiv.org/abs/2304.06372" |
| 112 | + class="external-link button is-normal is-rounded is-dark"> |
| 113 | + <span class="icon"> |
| 114 | + <i class="ai ai-arxiv"></i> |
| 115 | + </span> |
| 116 | + <span>arXiv</span> |
| 117 | + </a> |
| 118 | + </span> |
| 119 | + <span class="link-block"> |
| 120 | + <a href="https://github.com/Simple-Robotics/ContactBench" |
| 121 | + class="external-link button is-normal is-rounded is-dark"> |
| 122 | + <span class="icon"> |
| 123 | + <i class="fab fa-github"></i> |
| 124 | + </span> |
| 125 | + <span>Code</span> |
| 126 | + </a> |
| 127 | + </span> |
| 128 | + </div> |
| 129 | + </div> |
| 130 | + </div> |
| 131 | + </div> |
| 132 | + </div> |
| 133 | + </div> |
| 134 | +</section> |
| 135 | + |
| 136 | +<section class="section"> |
| 137 | + <div class="container is-max-desktop"> |
| 138 | + <!-- Paper image. --> |
| 139 | + <div class="columns is-centered has-text-centered"> |
| 140 | + <div class="column is-four-fifths"> |
| 141 | + <div class="publication-image"> |
| 142 | + <img src="./static/images/solo_final_figure.png" alt="Contact Models Analysis" style="width:60%"> |
| 143 | + </div> |
| 144 | + </div> |
| 145 | + </div> |
| 146 | + <!--/ Paper image. --> |
| 147 | + |
| 148 | + <!-- Abstract. --> |
| 149 | + <div class="columns is-centered has-text-centered"> |
| 150 | + <div class="column is-four-fifths"> |
| 151 | + <h2 class="title is-3">Abstract</h2> |
| 152 | + <div class="content has-text-justified"> |
| 153 | + 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. |
| 154 | + </div> |
| 155 | + </div> |
| 156 | + </div> |
| 157 | + <!--/ Abstract. --> |
| 158 | + |
| 159 | + <!-- Benchmarks. --> |
| 160 | + <div class="columns is-centered has-text-centered"> |
| 161 | + <div class="column is-max-desktop"> |
| 162 | + <h2 class="title is-3">Benchmarks</h2> |
| 163 | + <div class="container is-max-desktop"> |
| 164 | + <div class="content has-text-left"> |
| 165 | + 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 | + <div class="columns is-centered"> |
| 169 | + <div class="column"> |
| 170 | + <div class="content"> |
| 171 | + <image src="./static/images/timings_ws.png" alt="Computational time with warm-start." style="width:100%"></image> |
| 172 | + </div> |
| 173 | + </div> |
| 174 | + |
| 175 | + <div class="column"> |
| 176 | + <div class="content"> |
| 177 | + <image src="./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 | +<section class="section"> |
| 189 | + <div class="container is-max-desktop"> |
| 190 | + <!-- Related Links. --> |
| 191 | + <div class="columns is-centered"> |
| 192 | + <div class="column is-full-width"> |
| 193 | + <h2 class="title is-3">Related Links</h2> |
| 194 | + |
| 195 | + <div class="content has-text-justified"> |
| 196 | + This work heavily relies on the <a href="https://github.com/stack-of-tasks/pinocchio">Pinocchio</a> and <a href="https://github.com/coal-library/coal">Coal</a> libraries. |
| 197 | + </div> |
| 198 | + </div> |
| 199 | + </div> |
| 200 | + <!--/ Related Links. --> |
| 201 | + |
| 202 | + <!-- BibTeX. --> |
| 203 | + <div class="columns is-centered"> |
| 204 | + <div class="column is-full-width"> |
| 205 | + <h2 class="title is-3">BibTeX</h2> |
| 206 | + <div class="content has-text-left"> |
| 207 | + <pre><code>@article{lelidec2024contact, |
| 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}, |
| 210 | + journal={IEEE Transactions on Robotics}, |
| 211 | + year={2024}, |
| 212 | + publisher={IEEE} |
| 213 | +}</code></pre> |
| 214 | + </div> |
| 215 | + </div> |
| 216 | + </div> |
| 217 | + <!--/ BibTeX. --> |
| 218 | + </div> |
| 219 | +</section> |
| 220 | + |
| 221 | +</body> |
| 222 | +</html> |
0 commit comments