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——一种以加速预处理共轭梯度(PCG)线性系统求解器为核心的GPU加速实时NMPC求解器。研究表明,MPCGPU显著提升了NMPC的可扩展性与实时性能,能以更快速度求解更大规模问题。具体而言,在使用Kuka IIWA机械臂的跟踪任务中,MPCGPU可扩展至千赫兹级控制频率,并支持长达512个节点的轨迹。这得益于其定制的PCG求解器,在大部分求解场景中,该求解器性能较当前最先进的CPU线性系统求解器提升至少10倍,平均提升达3.6倍。