  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 scheme 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 to
solve the expensive linearized dynamics. Inspired by Projective Dynamics (PD),
we present DiffPD, an efficient differentiable soft-body simulator with
implicit time integration. The key idea in DiffPD is to speed up
backpropagation by exploiting the prefactorized Cholesky decomposition in PD to
achieve a super-linear convergence rate. To handle contacts, DiffPD solves
contact forces by analyzing a linear complementarity problem (LCP) and its
gradients. With the assumption that contacts occur on a small number of nodes,
we develop an efficient method for gradient computation by exploring the
low-rank structure in the linearized dynamics. We evaluate the performance of
DiffPD and observe a speedup of 4-19 times compared to the standard Newton's
method in various applications including system identification, inverse design
problems, trajectory optimization, and closed-loop control.
