  We present a novel, fast differentiable simulator for soft-body learning and
control applications. Existing differentiable soft-body simulators can be
classified into two categories based on their time integration methods:
Simulators using explicit time-stepping schemes require tiny time steps to
avoid numerical instabilities in gradient computation, and simulators using
implicit time integration typically compute gradients by employing the adjoint
method and solving the expensive linearized dynamics. Inspired by Projective
Dynamics (PD), we present Differentiable Projective Dynamics (DiffPD), an
efficient differentiable soft-body simulator based on PD with implicit time
integration. The key idea in DiffPD is to speed up backpropagation by
exploiting the prefactorized Cholesky decomposition in forward PD simulation.
In terms of contact handling, DiffPD supports two types of contacts: a
penalty-based model describing contact and friction forces and a
complementarity-based model enforcing non-penetration conditions and static
friction. We evaluate the performance of DiffPD and observe it is 4-19 times
faster compared with the standard Newton's method in various applications
including system identification, inverse design problems, trajectory
optimization, and closed-loop control. We also apply DiffPD in a
reality-to-simulation (real-to-sim) example with contact and collisions and
show its capability of reconstructing a digital twin of real-world scenes.
