GPU原生求解器让模型预测控制实时处理更长时域,提升机器人协同效率。
CUDA MPC: A GPU-Native Solver for Model Predictive Control

- 用融合内核和共享内存,实现全程在GPU上迭代求解
- 在100秒前瞻下0.1秒采样间隔内完成避障停车计算
- 适合高维、长时域、多智能体协同等实时控制场景
模型预测控制(MPC)能处理约束,但依赖在线优化,限制了其在高速动态、高维模型或长时域系统中的应用。现有GPU实现通常仅将设备当作线性代数加速器,优化循环仍依赖频繁的内核调用和高延迟内存传输。本文提出CUDA MPC,一个为CUDA硬件量身定制的原生MPC框架,协同设计优化算法、执行模型与内存架构。该框架采用并行于时域的交替方向乘子法(ADMM)分裂策略,并通过融合内核在设备端完成整个迭代求解过程。中间优化变量驻留在低延迟片上共享内存中,局部原子标志协议仅同步相邻时域块,最大限度减少主机干预、内核调度开销和全局内存流量。在六个非线性机器人基准测试中,跨状态维度递增和约束密度变化的场景下,CUDA MPC实现了比CPU求解器长一到两个数量级的时域下的实时性能:在0.1秒采样间隔内完成100秒前瞻的避障泊车问题求解;是唯一在集中式10智能体群组中同时实现实时运行与无碰撞协调的求解器,而acados和CasADi均未找到可行解,分别耗时3.5秒和4.5秒/次求解。相较于同种ADMM分裂的张量框架实现,该融合内核最高快965倍。
原文摘要 · Abstract (English)
Model Predictive Control (MPC) delivers constraint-aware control, but its reliance on online optimization limits its use on systems with fast dynamics, high-dimensional models, or long horizons. Existing GPU implementations typically treat the device as a linear-algebra accelerator, leaving the optimization loop dependent on repeated kernel launches and high-latency memory transfers. This paper introduces CUDA MPC, a GPU-native MPC framework that co-designs the optimization algorithm, execution model, and memory architecture for CUDA hardware. CUDA MPC pairs a parallel-in-horizon alternating direction method of multipliers (ADMM) splitting with a fused CUDA kernel that runs the entire iterative solve on the device. Intermediate optimization variables stay in low-latency, on-chip shared memory, and a localized atomic-flag protocol synchronizes only adjacent horizon blocks, minimizing host intervention, kernel-dispatch overhead, and global-memory traffic. Across six nonlinear robotics benchmarks spanning increasing state dimension and constraint density, CUDA MPC sustains real-time rates at horizons one to two orders of magnitude longer than CPU solvers: it solves an optimization-based collision-avoidance parking problem with 100 s of lookahead within a 0.1 s sampling interval, and is the only solver evaluated that achieves both real-time execution and collision-free coordination for a centralized 10-agent swarm, where acados and CasADi return no feasible solution and require 3.5 s and 4.5 s per solve. Against tensor-framework implementations of the same ADMM splitting, the fused kernel is up to $965\times$ faster.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。