🤖 AI Summary
Real-time Model Predictive Control (MPC) for resource-constrained microcontrollers—e.g., ARM Cortex-M7—is severely limited by memory footprint and computational latency, hindering deployment on ultra-lightweight robotic platforms.
Method: We propose a structured Alternating Direction Method of Multipliers (ADMM) solver tailored for embedded MPC, leveraging problem decomposition, hand-optimized embedded C code, and fixed-point arithmetic to minimize both memory usage and execution time.
Contribution/Results: Our solver achieves nearly 10× speedup over the state-of-the-art OSQP solver and, for the first time, enables MPC closed-loop control at >500 Hz on a 27-g quadrotor. It supports high-bandwidth trajectory tracking and dynamic obstacle avoidance. Crucially, we tightly integrate ADMM with the inherent structural properties of MPC—such as block-banded sparsity and separable constraints—yielding the first lightweight, real-time MPC framework deployable on microcontrollers. This work provides a practical, optimal-control-based solution for autonomous navigation in miniature robotics.
📝 Abstract
Model-predictive control (MPC) is a powerful tool for controlling highly dynamic robotic systems subject to complex constraints. However, MPC is computationally demanding, and is often impractical to implement on small, resource-constrained robotic platforms. We present TinyMPC, a high-speed MPC solver with a low memory footprint targeting the microcontrollers common on small robots. Our approach is based on the alternating direction method of multipliers (ADMM) and leverages the structure of the MPC problem for efficiency. We demonstrate TinyMPC’s effectiveness by bench-marking against the state-of-the-art solver OSQP, achieving nearly an order of magnitude speed increase, as well as through hardware experiments on a 27 gram quadrotor, demonstrating high-speed trajectory tracking and dynamic obstacle avoidance. TinyMPC is publicly available at https://tinympc.org.