TinyMPC: Model-Predictive Control on Resource-Constrained Microcontrollers

📅 2023-10-25
🏛️ IEEE International Conference on Robotics and Automation
📈 Citations: 31
Influential: 2
📄 PDF
🤖 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.
Problem

Research questions and friction points this paper is trying to address.

Enabling MPC on resource-constrained microcontrollers
Reducing computational demands for dynamic robotic control
Achieving high-speed trajectory tracking on small robots
Innovation

Methods, ideas, or system contributions that make the work stand out.

ADMM-based high-speed MPC solver
Low memory footprint for microcontrollers
Efficient MPC problem structure utilization
🔎 Similar Papers
No similar papers found.