DOJO

a differentiable simulator for robotics

Taylor Howell & Simon Le Cleac'h

Zico Kolter, Mac Schwager, Zachary Manchester


Abstract

We present a differentiable rigid-body-dynamics simulator for robotics that prioritizes physical accuracy and differentiability: Dojo. The simulator utilizes an expressive maximal-coordinates representation, achieves stable simulation at low sample rates, and conserves energy and momentum by employing a variational integrator. A nonlinear complementarity problem, with nonlinear friction cones, models hard contact and is reliably solved using a custom primal-dual interior-point method. The implicit-function theorem enables efficient differentiation of an intermediate relaxed problem and computes smooth gradients from the contact model. We demonstrate the usefulness of the simulator and it’s gradients through a number of examples including: simulation, trajectory optimization, reinforcement learning, and system identification.

BiBteX

@article{howelllecleach2022,

title={Dojo: A Differentiable Simulator for Robotics},

author={Taylor, A. Howell and Le Cleac'h, Simon and Kolter, Zico and Schwager, Mac and Manchester, Zachary},

journal={arXiv preprint arXiv:2203.00806},

year={2022}

}

Features

Differentiable

Dojo provides smooth informative dynamics gradients

Non-linear friction cone

Using a second-order cone results in more realistic friction simulation

Energy & momentum conservation

A variational integrator enforces perfect momentum convservation

Application domains

Reinforcement Learning

Training trotting gait for Half-Cheetah

Trajectory Optimization

Optimizing walking gait for Atlas

System Identification

Recovering object geometry from trajectories

Environments

Real hardware

Atlas

Unitree A1

REx hopper

Gym

humanoid

half-cheetah

ant

hopper

Classic control

pendulum

cartpole

Physics Simulation

Dzhanibekov effect

tippe top

four-bar linkage

nonlinear friction cone

Acknowledgments

The authors would like to thank Jan Brüdigam for his contributions to the open-source libraries ConstrainedDynamics.jl and GraphBasedSystems.jl which served as a foundation for Dojo, as well as early technical discussions and support; and Suvansh Sanjeev for assistance with the Python interface. Toyota Research Institute provided funds to support this work.

Authors

Taylor Howell

Simon Le Cleac'h

Zico Kolter

Mac Schwager

Zachary Manchester