TinyMPC/TinyMPC

Model-predictive control for microcontrollers, ICRA 2024 Best Paper Award

What it solves

TinyMPC addresses the challenge of running Model-Predictive Control (MPC) on resource-constrained microcontrollers (MCUs). It provides a solver capable of performing real-time control calculations on hardware with limited memory and processing power.

How it works

TinyMPC is a specialized solver designed for embedded systems. It supports code generation to optimize performance for specific control problems, allowing it to be deployed on microcontrollers. It also offers high-level language interfaces for Python, Julia, and MATLAB to facilitate the problem setup and code generation process.

Who it’s for

This project is for robotics engineers and embedded systems developers who need to implement high-performance predictive control on small, low-power hardware like nano-quadrotors (e.g., the Crazyflie).

Highlights

  • Resource-Efficient: Specifically designed for microcontrollers with limited resources.
  • Code Generation: Supports generating optimized C code for specific control tasks.
  • Multi-Language Support: Interfaces available in Python, Julia, and MATLAB.
  • Proven Application: Demonstrated on platforms like the Crazyflie nano-quadrotor.

Related

  • Project
  • Project
  • Project
  • Project