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.
翻译:非线性模型预测控制是一种先进的运动控制与操作控制方法,该方法在每个控制步长中利用轨迹优化。尽管该方法的性能受计算能力约束,但采用迭代方法求解底层中等规模稀疏线性系统的直接轨迹优化实现,天然适用于并行硬件加速。本文提出MPCGPU——一种基于GPU加速的实时非线性模型预测控制求解器,其核心采用加速预处理共轭梯度线性系统求解器。研究表明,MPCGPU提升了非线性模型预测控制的可扩展性和实时性能,能够以更快的速率求解更大规模的问题。特别地,在使用Kuka IIWA机械臂的跟踪任务中,MPCGPU可在轨迹长度达512个节点的情况下实现千赫兹级控制频率。这一性能得益于定制的预处理共轭梯度求解器,该求解器在大多数求解场景下较基于CPU的先进线性系统求解器性能提升至少10倍,平均性能提升达3.6倍。