Robot design optimization, imitation learning and system identification share a common problem which requires optimization over robot or task parameters at the same time as optimizing the robot motion. To solve these problems, we can use differentiable optimal control for which the gradients of the robot's motion with respect to the parameters are required. We propose a method to efficiently compute these gradients analytically via the differential dynamic programming (DDP) algorithm using sensitivity analysis (SA). We show that we must include second-order dynamics terms when computing the gradients. However, we do not need to include them when computing the motion. We validate our approach on the pendulum and double pendulum systems. Furthermore, we compare against using the derivatives of the iterative linear quadratic regulator (iLQR), which ignores these second-order terms everywhere, on a co-design task for the Kinova arm, where we optimize the link lengths of the robot for a target reaching task. We show that optimizing using iLQR gradients diverges as ignoring the second-order dynamics affects the computation of the derivatives. Instead, optimizing using DDP gradients converges to the same optimum for a range of initial designs allowing our formulation to scale to complex systems.
翻译:机器人设计优化、 仿真学习和系统识别有一个共同的问题, 需要同时优化机器人或任务参数, 同时优化机器人运动。 为了解决这些问题, 我们可以使用不同的最佳控制方法, 需要机器人运动相对于参数的梯度。 我们提出一种方法, 通过差异动态编程( DDP) 算法, 使用敏感度分析( SA), 高效地计算这些梯度。 我们显示, 在计算梯度时, 我们必须包括二阶动态条件。 但是, 在计算运动时, 我们不需要在计算运动时包括二阶梯度参数。 我们验证了我们对于工作台和双档系统的处理方法。 此外, 我们比较了使用迭接线性线梯度调控管( iLQR) 的衍生物( iLQR ) 的衍生物, 后者忽略了各地的这些二阶梯度条件。 我们在基诺瓦臂的共设计任务中, 优化了机器人的连接长度, 以达到目标任务。 我们显示, 使用 优化 iLQR 梯度的偏差, 因为忽略了第二阶梯度动态动态会影响衍生物的计算。 相反, 使用 DDP梯度梯度会结合到最优化到最优度系统到最优化到最优化到最优化到最优化的配置。