Dojo: A Differentiable Physics Engine for Robotics

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Howell, Taylor A., Cleac'h, Simon Le, Brüdigam, Jan, Chen, Qianzhong, Sun, Jiankai, Kolter, J. Zico, Schwager, Mac, Manchester, Zachary
Format: Preprint
Published: 2022
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912555222433792
author Howell, Taylor A.
Cleac'h, Simon Le
Brüdigam, Jan
Chen, Qianzhong
Sun, Jiankai
Kolter, J. Zico
Schwager, Mac
Manchester, Zachary
author_facet Howell, Taylor A.
Cleac'h, Simon Le
Brüdigam, Jan
Chen, Qianzhong
Sun, Jiankai
Kolter, J. Zico
Schwager, Mac
Manchester, Zachary
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2203_00806
institution arXiv
publishDate 2022
record_format arxiv
spellingShingle 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
Robotics
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.
title Dojo: A Differentiable Physics Engine for Robotics
topic Robotics
url https://arxiv.org/abs/2203.00806