Research Analyzer
← Back ICRA 2026

Code Generation and Conic Constraints for Model-Predictive Control on Microcontrollers with Conic-TinyMPC

Ishaan Mahajan, Khai Nguyen, Samuel Schoedel, Elakhya Nedumaran, Moises Mata, Brian Plancher, Zachary Manchester

PDF

AI summary

Key figure (auto-extracted from paper)
Conic-TinyMPC enables real-time, conic-constrained MPC on resource-constrained microcontrollers with up to two orders of magnitude speedup and significantly reduced memory usage compared to state-of-the-art solvers.
Model-predictive control microcontrollers second-order cone programming code generation embedded optimization ADMM

Problem

Deploying model-predictive control with expressive conic constraints on resource-limited microcontrollers is computationally prohibitive, and existing embedded solvers lack native conic support, efficient warm-starting, or easy code generation for tiny hardware.

Approach

The authors extend the TinyMPC framework with second-order cone support and a multi-language code-generation tool that exploits problem structure, caches precomputed terms, and uses division-free ADMM iterations for efficient embedded deployment.

Key results

  • Up to 142.7× speedup and two-order-of-magnitude memory reduction over state-of-the-art embedded solvers
  • Enables solving order-of-magnitude larger problems within tight microcontroller memory constraints
  • Successfully deployed on a 27g Crazyflie quadrotor for trajectory tracking with conic glideslope constraints
  • Provides open-source, dependency-free C++ code generation with Python, MATLAB, and Julia interfaces

Why it matters

It enables advanced, constraint-rich MPC on tiny, low-cost robots and embedded systems that previously lacked the compute to run them.

Abstract

Model-predictive control (MPC) is a state-of-the- art control method for constrained robotic systems, yet deploy- ment on resource-limited hardware remains difficult. This chal- lenge is magnified by expressive conic constraints, which offer greater modeling power but require significantly more com- putation than linear alternatives. To address this challenge, we extend recent work developing fast, structure-exploiting, cached solvers for embedded applications based on the Alternating Direction Method of Multipliers (ADMM) to provide support for second-order cones, as well as C++ code generation from Python, MATLAB, and Julia. Microcontroller benchmarks show that our solver provides up to a two-order-of-magnitude speedup, ranging from 10.6x to 142.7x, over state-of-the-art embedded solvers on QP and SOCP problems, and enables us to fit order-of-magnitude larger problems in memory. We validate our solver’s deployed performance through simulation and hardware experiments, including trajectory tracking with conic constraints on a 27g Crazyflie quadrotor. Our open-source code is available at https://tinympc.org.

Index terms

Optimization and Optimal Control Software Architecture for Robotic and Automation Embedded Systems for Robotic and Automation

Related papers