论文标题

Dojo:用于机器人技术的可区分物理引擎

Dojo: A Differentiable Physics Engine for Robotics

论文作者

Howell, Taylor A., Cleac'h, Simon Le, Brüdigam, Jan, Chen, Qianzhong, Sun, Jiankai, Kolter, J. Zico, Schwager, Mac, Manchester, Zachary

论文摘要

我们提出了Dojo,这是一种用于机器人技术的可区分物理引擎,优先考虑稳定模拟,准确的接触物理学以及相对于状态,动作和系统参数的可不同性。 Dojo与二阶锥体约束的非线性互补性问题进行硬接触和摩擦模型。我们引入了一种自定义的原始双重内点方法,以在广泛的样本速率上解决稳定的远期模拟的二阶锥体程序。通过隐式函数定理,我们通过该求解器获得平滑的梯度近似,从而为下游轨迹优化,策略优化和系统识别应用提供了有用的梯度。具体而言,我们建议将内部点求解器中的中心路径参数阈值用作用户可调的设计参数。高值可以平稳地近似接触动力学,并具有光滑的梯度以进行优化和学习,而低值则可以通过硬接触而精确的模拟推出。我们演示了Dojo在轨迹优化,策略学习和系统标识示例中的不同性能。我们还针对多种机器人模型对Mujoco,Pybullet,Drake和Brax进行了基准测试,并研究了一系列样品频率和准确性公差的稳定性和仿真质量。最后,我们使用Ufactory XARM 6机器人评估了硬件实验中的SIM到实现差距。 Dojo是一个带有Python Bindings的开源项目,其代码可在https://github.com/dojo-sim/dojo.jl上找到。

We present Dojo, a differentiable physics engine for robotics that prioritizes stable simulation, accurate contact physics, and differentiability with respect to states, actions, and system parameters. Dojo models hard contact and friction with a nonlinear complementarity problem with second-order cone constraints. We introduce a custom primal-dual interior-point method to solve the second order cone program for stable forward simulation over a broad range of sample rates. We obtain smooth gradient approximations with this solver through the implicit function theorem, giving gradients that are useful for downstream trajectory optimization, policy optimization, and system identification applications. Specifically, we propose to use the central path parameter threshold in the interior point solver as a user-tunable design parameter. A high value gives a smooth approximation to contact dynamics with smooth gradients for optimization and learning, while a low value gives precise simulation rollouts with hard contact. We demonstrate Dojo's differentiability in trajectory optimization, policy learning, and system identification examples. We also benchmark Dojo against MuJoCo, PyBullet, Drake, and Brax on a variety of robot models, and study the stability and simulation quality over a range of sample frequencies and accuracy tolerances. Finally, we evaluate the sim-to-real gap in hardware experiments with a Ufactory xArm 6 robot. Dojo is an open source project implemented in Julia with Python bindings, with code available at https://github.com/dojo-sim/Dojo.jl.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源