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.
翻译:物理模拟在机器人学中无处不在。无论是基于模型的方法(如轨迹优化)还是无模型算法(如强化学习),物理模拟器都是现代机器人控制流程的核心组成部分。在过去几十年中,多种机器人模拟器被开发出来,每种都带有专门的接触建模假设和算法解决方案。本文综述了机器人学中模拟涉及接触交互的高级机器人运动时常用到的主要接触模型及相关数值方法。具体而言,我们回顾了接触与摩擦的基础物理定律(即Signorini条件、Coulomb定律和最大耗散原理),以及这些定律如何在当前模拟器中被转换实现。对于每种物理引擎,我们揭示了其固有的物理松弛假设及因所采用数值技术而产生的局限性。基于我们的研究,我们提出了理论支撑的定量评价标准,并据此构建了评估模拟的物理与计算两方面的基准测试。我们通过一个开源、高效的C++实现来支持我们的工作,该实现涵盖了现有算法变体。我们的结果表明,机器人学中常用的一些近似方法或算法可能严重扩大现实差距并影响目标应用。我们希望这项工作能激励新接触模型、接触求解器以及更广泛的机器人模拟器的开发,这些正是机器人运动生成领域近期进步的根基。