Whether rigid or compliant, contact interactions are inherent to robot motions, enabling them to move or manipulate things. Contact interactions result from complex physical phenomena, that can be mathematically cast as Nonlinear Complementarity Problems (NCPs) in the context of rigid or compliant point contact interactions. Such a class of complementarity problems is, in general, difficult to solve both from an optimization and numerical perspective. Over the past decades, dedicated and specialized contact solvers, implemented in modern robotics simulators (e.g., Bullet, Drake, MuJoCo, DART, Raisim) have emerged. Yet, most of these solvers tend either to solve a relaxed formulation of the original contact problems (at the price of physical inconsistencies) or to scale poorly with the problem dimension or its numerical conditioning (e.g., a robotic hand manipulating a paper sheet). In this paper, we introduce a unified and efficient approach to solving NCPs in the context of contact simulation. It relies on a sound combination of the Alternating Direction Method of Multipliers (ADMM) and proximal algorithms to account for both compliant and rigid contact interfaces in a unified way. To handle ill-conditioned problems and accelerate the convergence rate, we also propose an efficient update strategy to adapt the ADMM hyperparameters automatically. By leveraging proximal methods, we also propose new algorithmic solutions to efficiently evaluate the inverse dynamics involving rigid and compliant contact interactions, extending the approach developed in MuJoCo. We validate the efficiency and robustness of our contact solver against several alternative contact methods of the literature and benchmark them on various robotics and granular mechanics scenarios. Our code is made open-source at https://github.com/Simple-Robotics/Simple.
翻译:无论是刚性还是顺应性,接触交互都是机器人运动的内在特性,使其能够移动或操控物体。接触交互源于复杂的物理现象,在刚性或顺应性点接触交互的背景下,可通过数学方法表述为非线性互补问题(NCPs)。这类互补问题通常从优化和数值计算的角度都难以求解。过去几十年来,现代机器人仿真器(如Bullet、Drake、MuJoCo、DART、Raisim)中已涌现出多种专用接触求解器。然而,这些求解器大多倾向于求解原始接触问题的松弛形式(以物理不一致性为代价),或在问题维度或数值条件不佳时(例如机械手操控纸张)扩展性较差。本文提出了一种统一且高效的方法来解决接触模拟中的NCPs。该方法基于交替方向乘子法(ADMM)与邻近算法的合理组合,以统一方式处理顺应性和刚性接触界面。为处理病态问题并加速收敛速率,我们还提出了一种高效的自适应ADMM超参数更新策略。通过利用邻近方法,我们进一步提出了新的算法解决方案,以高效计算涉及刚性和顺应性接触交互的逆动力学问题,从而扩展了MuJoCo中开发的方法。我们通过多种机器人学和颗粒力学场景,将所提出的接触求解器与文献中的其他接触方法进行对比验证,证明了其高效性和鲁棒性。代码已在https://github.com/Simple-Robotics/Simple开源。