Nonlinear Model Predictive Control (NMPC) is a state-of-the-art approach for locomotion and manipulation which leverages trajectory optimization at each control step. While the performance of this approach is computationally bounded, implementations of direct trajectory optimization that use iterative methods to solve the underlying moderately-large and sparse linear systems, are a natural fit for parallel hardware acceleration. In this work, we introduce MPCGPU, a GPU-accelerated, real-time NMPC solver that leverages an accelerated preconditioned conjugate gradient (PCG) linear system solver at its core. We show that MPCGPU increases the scalability and real-time performance of NMPC, solving larger problems, at faster rates. In particular, for tracking tasks using the Kuka IIWA manipulator, MPCGPU is able to scale to kilohertz control rates with trajectories as long as 512 knot points. This is driven by a custom PCG solver which outperforms state-of-the-art, CPU-based, linear system solvers by at least 10x for a majority of solves and 3.6x on average.
翻译:非线性模型预测控制(NMPC)是一种用于运动与操作控制的先进方法,其在每个控制步中均进行轨迹优化。虽然该方法的性能受计算能力限制,但采用迭代法求解中等规模稀疏线性系统的直接轨迹优化实现方案,天然适合并行硬件加速。本研究提出MPCGPU——一种基于GPU加速的实时NMPC求解器,其核心采用加速的预条件共轭梯度(PCG)线性系统求解器。我们证明MPCGPU显著提升了NMPC的可扩展性与实时性能,能够以更快速度求解更大规模问题。特别是在使用Kuka IIWA机械臂的轨迹跟踪任务中,MPCGPU能够将控制频率扩展至千赫兹级别,同时处理长达512个节点轨迹的优化问题。这得益于我们设计的定制化PCG求解器,其在多数求解案例中性能超越当前最先进的CPU线性系统求解器至少10倍,平均提升达3.6倍。