We propose an efficient way of solving optimal control problems for rigid-body systems on the basis of inverse dynamics and the multiple-shooting method. We treat all variables, including the state, acceleration, and control input torques, as optimization variables and treat the inverse dynamics as an equality constraint. We eliminate the update of the control input torques from the linear equation of Newton's method by applying condensing for inverse dynamics. The size of the resultant linear equation is the same as that of the multiple-shooting method based on forward dynamics except for the variables related to the passive joints and contacts. Compared with the conventional methods based on forward dynamics, the proposed method reduces the computational cost of the dynamics and their sensitivities by utilizing the recursive Newton-Euler algorithm (RNEA) and its partial derivatives. In addition, it increases the sparsity of the Hessian of the Karush-Kuhn-Tucker conditions, which reduces the computational cost, e.g., of Riccati recursion. Numerical experiments show that the proposed method outperforms state-of-the-art implementations of differential dynamic programming based on forward dynamics in terms of computational time and numerical robustness.
翻译:我们建议一种有效的方法,在反向动态和多射法的基础上解决僵硬机体系统的最佳控制问题。我们把所有变量,包括状态、加速度和控制输入矩形作为优化变量,并将反向动态作为平等制约处理;我们通过对反向动态进行凝结,消除牛顿方法线性方程式中控制输入矩形的更新;由此产生的线性方程式的大小与基于前向动态的多射法的大小相同,但与被动联合和接触的变量除外。与基于前向动态的传统方法相比,拟议方法通过使用回流式牛顿-尤尔算法(RENA)及其部分衍生物来降低动态的计算成本及其敏感度。此外,它增加了Karush-Kuhn-Tucker的赫西语的紧张性,这降低了前向动态变量的计算成本,例如Ricccati的重复。Numerical实验显示,拟议方法在动态-前向动态模型的动态状态方面,在动态-前向动态模型的动态模型上,比前向性数字差异执行的拟议方法快。