GPU Acceleration for Real-time, Whole-body, Nonlinear Model Predictive Control


Whole-body, nonlinear model predictive control (MPC) refers to the control strategy where a robot’s state and input trajectories are continually optimized over a finite time horizon while taking into account the robot’s full nonlinear dynamics. This has been referred to as the “Holy Grail” of robot motion planning and control, as it can enable robots to dynamically compute optimal trajectories and adapt to changes in their environment. Unfortunately, the underlying trajectory optimization algorithms traditionally used to solve these problems are computationally expensive and often too slow to run in real-time. Compounding this issue, the impending end of Moore’s Law and the end of Dennard Scaling have led to a utilization wall that limits the performance a single CPU chip can deliver, requiring computer scientists to look beyond the CPU to exploit large-scale parallelism available on alternative computing platforms such as GPUs. This dissertation address these challenges by exposing, analyzing, and leveraging the structured sparsity and parallelism patterns found in the numerical optimization and rigid body dynamics algorithms commonly used for whole-body, nonlinear MPC. Through careful algorithmic refactoring and re-design, this work exploits these patterns to enable real-time MPC performance through GPU-acceleration. It also validates the feasibility of this approach in the presence of model discrepancies and communication delays between the robot and GPU by deploying the resulting implementations onto a physical manipulator arm. Overall, this dissertation finds that GPU acceleration can provide nearly order-of-magnitude speedups, and open-sources its implementations to aid the wider robotics community in accelerating both robotics computations and application development timelines.

Harvard University PhD Dissertation