Efficient Analytical Derivatives of Rigid-Body Dynamics using Spatial Vector Algebra
arXiv:2105.05102 · doi:10.1109/LRA.2022.3141194
Abstract
An essential need for many model-based robot control algorithms is the ability to quickly and accurately compute partial derivatives of the equations of motion. State of the art approaches to this problem often use analytical methods based on the chain rule applied to existing dynamics algorithms. Although these methods are an improvement over finite differences in terms of accuracy, they are not always the most efficient. In this paper, we contribute new closed-form expressions for the first-order partial derivatives of inverse dynamics, leading to a recursive algorithm. The algorithm is benchmarked against chain-rule approaches in Fortran and against an existing algorithm from the Pinocchio library in C++. Tests consider computing the partial derivatives of inverse and forward dynamics for robots ranging from kinematic chains to humanoids and quadrupeds. Compared to the previous open-source Pinocchio implementation, our new analytical results uncover a key computational restructuring that enables efficiency gains. Speedups of up to 1.4x are reported for calculating the partial derivatives of inverse dynamics for the 50-dof Talos humanoid.
References in corpus (4)
- Automatic Differentiation of Rigid Body Dynamics for Optimal Control and Estimation
- Numerical Methods to Compute the Coriolis Matrix and Christoffel Symbols for Rigid-Body Systems
- Efficient Analytical Derivatives of Rigid-Body Dynamics using Spatial Vector Algebra
- The Complex-Step Derivative Approximation on Matrix Lie Groups
Cited by in corpus (4)
- Efficient Analytical Derivatives of Rigid-Body Dynamics using Spatial Vector Algebra
- GRiD: GPU-Accelerated Rigid Body Dynamics with Analytical Gradients
- 16 Ways to Gallop: Energetics and Body Dynamics of High-Speed Quadrupedal Gaits
- Adapting Rigid-Body Dynamics Derivatives for Constraint Embedding Closed-Chain Models