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条件、库仑定律和最大耗散原理),以及它们在当前仿真器中的实现方式。针对每个物理引擎,我们揭示了其固有的物理简化处理以及所采用数值技术带来的局限性。基于本研究,我们提出了理论依据充分的定量标准,并在此基础上构建了评估仿真物理准确性与计算性能的基准测试。我们通过开源且高效的C++实现来支持现有算法变体的验证。研究结果表明,机器人学中常用的某些近似方法或算法可能显著扩大现实差距并影响目标应用。我们希望这项工作能够推动新型接触模型、接触求解器乃至整个机器人仿真器的发展,这些正是近年来机器人运动生成领域取得进展的根基。