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++实现。我们的结果表明,机器人技术中常用的一些近似或算法可能会严重扩大现实差距,并影响目标应用。我们希望这项工作将有助于促进新的接触模型、接触求解器和机器人模拟器的发展,以推动机器人运动生成方面的最新进展。