Analytical Second-Order Partial Derivatives of Rigid-Body Inverse Dynamics (original) (raw)
Abstract:Optimization-based robot control strategies often rely on first-order dynamics approximation methods, as in iLQR. Using second-order approximations of the dynamics is expensive due to the costly second-order partial derivatives of the dynamics with respect to the state and control. Current approaches for calculating these derivatives typically use automatic differentiation (AD) and chain-rule accumulation or finite-difference. In this paper, for the first time, we present analytical expressions for the second-order partial derivatives of inverse dynamics for open-chain rigid-body systems with floating base and multi-DoF joints. A new extension of spatial vector algebra is proposed that enables the analysis. A recursive algorithm with complexity of mathcalO(Nd2)\mathcal{O}(Nd^2)mathcalO(Nd2) is also provided where NNN is the number of bodies and ddd is the depth of the kinematic tree. A comparison with AD in CasADi shows speedups of 1.5-3$\times$ for serial kinematic trees with N>5N> 5N>5, and a C++ implementation shows runtimes of approx\approxapprox51$\mu s$ for a quadruped.
Submission history
From: Shubham Singh [view email]
[v1] Thu, 3 Mar 2022 03:21:06 UTC (607 KB)
[v2] Sun, 14 Aug 2022 21:55:26 UTC (517 KB)