Pseudospectral collocation methods have proven to be powerful tools to solve optimal control problems. While these methods generally assume the dynamics is given in the first order form $\dot{x} = f (x, u, t)$, where x is the state and u is the control vector, robotic systems are typically governed by second order ODEs of the form $\ddot{q} = g(q, \dot{q}, u, t)$, where q is the configuration. To convert the second order ODE into a first order one, the usual approach is to introduce a velocity variable v and impose its coincidence with the time derivative of q. Lobatto methods grant this constraint by construction, as their polynomials describing the trajectory for v are the time derivatives of those for q, but the same cannot be said for the Gauss and Radau methods. This is problematic for such methods, as then they cannot guarantee that $\ddot{q} = g(q, \dot{q}, u, t)$ at the collocation points. On their negative side, Lobatto methods cannot be used to solve initial value problems, as given the values of u at the collocation points they generate an overconstrained system of equations for the states. In this paper, we propose a Legendre-Gauss collocation method that retains the advantages of the usual Lobatto, Gauss, and Radau methods, while avoiding their shortcomings. The collocation scheme we propose is applicable to solve initial value problems, preserves the consistency between the polynomials for v and q, and ensures that $\ddot{q} = g(q, \dot{q}, u, t)$ at the collocation points.
翻译:伪谱配点法已被证明是求解最优控制问题的强大工具。尽管这类方法通常假设动力学系统以一阶形式 $\dot{x} = f (x, u, t)$ 给出(其中 x 为状态变量,u 为控制向量),但机器人系统通常由形如 $\ddot{q} = g(q, \dot{q}, u, t)$ 的二阶常微分方程支配(其中 q 为构型变量)。为将二阶常微分方程转换为一阶形式,常规做法是引入速度变量 v 并强制其与 q 的时间导数相等。Lobatto 方法通过构造保证这一约束成立——其描述 v 轨迹的多项式恰好是 q 轨迹多项式的导数,但 Gauss 与 Radau 方法无法实现这一点。这导致后两类方法存在缺陷:在配点处无法保证 $\ddot{q} = g(q, \dot{q}, u, t)$ 成立。另一方面,Lobatto 方法无法用于求解初值问题,因为给定配点处的 u 值后,其生成的关于状态变量的方程组将是超定的。本文提出一种勒让德-高斯配点法,该方法既保留了传统 Lobatto、Gauss 与 Radau 方法的优势,又规避了各自的缺陷。所提出的配点方案可适用于初值问题求解,既保持 v 与 q 多项式的一致性,又确保在配点处满足 $\ddot{q} = g(q, \dot{q}, u, t)$。