z-logo
Premium
Linear Time Stable PD Controllers for Physics‐based Character Animation
Author(s) -
Yin Zhiqi,
Yin KangKang
Publication year - 2020
Publication title -
computer graphics forum
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.578
H-Index - 120
eISSN - 1467-8659
pISSN - 0167-7055
DOI - 10.1111/cgf.14113
Subject(s) - animation , computer science , computation , stability (learning theory) , factorization , matrix (chemical analysis) , rigid body , character animation , character (mathematics) , algorithm , computer animation , control theory (sociology) , artificial intelligence , mathematics , computer graphics (images) , control (management) , geometry , machine learning , materials science , physics , classical mechanics , composite material
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 [TLT11]. 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 [Fea14]. 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.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here