Model-based control for robots has increasingly been dependent on optimization-based methods like Differential Dynamic Programming and iterative LQR (iLQR). These methods can form the basis of Model-Predictive Control (MPC), which is commonly used for controlling legged robots. Computing the partial derivatives of the dynamics is often the most expensive part of these algorithms, regardless of whether analytical methods, Finite Difference, Automatic Differentiation (AD), or Chain-Rule accumulation is used. Since the second-order derivatives of dynamics result in tensor computations, they are often ignored, leading to the use of iLQR, instead of the full second-order DDP method. In this paper, we present analytical methods to compute the second-order derivatives of inverse and forward dynamics for open-chain rigid-body systems with multi-DoF joints and fixed/floating bases. An extensive comparison of accuracy and run-time performance with AD and other methods is provided, including the consideration of code-generation techniques in C/C++ to speed up the computations. For the 36 DoF ATLAS humanoid, the second-order Inverse, and the Forward dynamics derivatives take approx 200 mu s, and approx 2.1 ms respectively, resulting in a 3x speedup over the AD approach.
翻译:机器人的模型控制越来越依赖于优化法方法,如差异动态编程和迭代LQR(iLQR)等。这些方法可以构成模型预防控制(MPC)的基础,而模型预防控制(MPC)通常用于控制腿部机器人。计算动态部分衍生物往往是这些算法中最昂贵的部分,无论是否使用分析方法、“细差差异”、“自动差异”(AD)或“链规则积累”等,这些算法都是最昂贵的部分。由于动态的第二阶衍生物导致推论计算,因此往往被忽视,导致使用iLQR,而不是完全的二阶DDP方法。在本文件中,我们提出了分析方法,用以对具有多-DoF联合和固定/浮动基础的开放链硬体系统的反向和前向动态衍生物进行二阶反向和前向动态衍生物的计算,同时提供了与反倾销和其他方法的准确性能和运行时间性能的广泛比较,包括考虑C/C++的代码生成技术以加速计算。对于36 DOF ATLAS 人造型、第二阶、导致双向、双向、双向、双向和前向驱动的ADVIADADADADMs分别分别采用3和前动方法。