Linear Time Stable PD Controllers for
Physics-based Character Animation

ACM SIGGRAPH/Eurographics Symposium on Computer Animation 2020

In physics-based character animation, Proportional-Derivative (PD) controllers are commonly used for tracking reference motions in motor control tasks. Stable PD (SPD) controllers significantly improve the numerical stability of traditional PD controllers and support large gains and large integration time steps during simulation. For an articulated rigid body system with n degrees of freedom, all SPD implementations to date, however, use an O(n^3) dense matrix factorization based method. In this paper, we propose a linear time algorithm for SPD computation, which is based on Featherstone’s forward dynamics formulation for articulated rigid body systems in generalized coordinates. We demonstrate the performance advantage of our algorithm by comparing with both the conventional dense matrix factorization based method and an alternative sparse matrix factorization based method. We show that the proposed algorithm provides superior stability when controlling complex models at large time steps. We further demonstrate that our algorithm can improve the learning speed and quality of a Deep Reinforcement Learning (DRL) system for physics-based character animation.