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 $\mathcal{O}(Nd^2)$ is also provided where $N$ is the number of bodies and $d$ 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> 5$, and a C++ implementation shows runtimes of $\approx$51$\mu s$ for a quadruped.
翻译:优化的机器人控制战略往往依赖一阶动态近似法,如iLQR。使用二阶动态近似法,费用昂贵,因为州和控制的动态具有昂贵的二阶部分衍生物。目前计算这些衍生物的方法通常使用自动区分(AD)和链则积累或定点差异。本文首次对带有浮动基数和多度多功能组合的开放链硬体系统的第二阶部分衍生物进行了分析表达式。提出了空间矢量代数的新扩展,使分析得以进行。还提供了复杂度为$\mathcal{O}(Nd%2)的循环算法,其中,单位数为N$,运动树的深度为$。与CasAdi的AD的比较显示,序列运动树的加速时间为1.5-3美元,价值为5美元以上,而C++的安装时间为$\ approx$51\mu$。