[ANN] LinearMPC.jl: Embedded Model Predictive Control of linear systems

darnstrom
Mon, 28 Apr 2025 11:06:40 +0000
Package Announcements

I am developing the package LinearMPC.jl, which is a package for Model Predictive Control (MPC) of linear dynamical systems.

The focus of the package to produce high-performant and lightweight C-code that can easily be used on embedded systems, while at the same time give a user-friendly and expressive development environment for linear MPC.
It also includes tools for computing explicit MPC controllers, and for certifying the compelxity of implicit MPC controllers before they are deployed on hardware.

A summary of some of the main features:

Code generation of high-performant, allocation-free, library-free, and lightweight C-code that can be embedded on any micro controller (with the QP solver DAQP).

State-of-the-art computation of explicit MPC (~100x faster than other software packages such as MPT in MATLAB)

Tools to determine real-time certificates of the complexity of the solver, allowing for MPC in with guarantees on the memory and computationala requirements before deploying the solver.

The main difference to the excellent package ModelPredictiveControl.jl of @franckgaga & @baggepinnen is that LinearMPC.jl focus on MPC controllers that can be deployed directly on embedded systems, while ModelPredictiveControl.jl is currently more for high-level development of MPCs in Julia with more flexibility (e.g., support for nonlinear MPC).

Any feedback is highly appreciated!

11 posts - 4 participants