A software library for real-time model predictive control
ODYS Embedded MPC is a software library for developing Model Predictive Control solutions in real-time applications.
At its core, ODYS Embedded MPC implements real-time MPC and state estimation functions in C code, crafted with emphasis on execution speed, numerical robustness, limited memory footprint, and the ability to support advanced control design features.
However, ODYS Embedded MPC is much more than that. It provides easy-to-use interfaces to C/C++, MATLAB, and Simulink to run the same, efficient code in both simulation environments and production platforms. It includes a user-friendly performance assessment tool for in-depth visualization and comprehensive analysis of MPC results, enabling easier development, calibration, and troubleshooting, and providing insights that improve the user’s understanding of the control system.
The software can be integrated with ODYS Deep Learning Toolset, a plugin available in MATLAB® and Python for developing prediction models based on neural networks, that are automatically exported to C code for immediate use by our MPC and state estimation functions.
As part of the MathWorks Connections Program, ODYS Embedded MPC has a plugin to run linear and nonlinear MPC controllers designed using the Model Predictive Control Toolbox™ for MATLAB. With a single click, users can port their existing project carried out with MATLAB’s Model Predictive Control Toolbox™ to ODYS framework. This will enable the use of fast and robust C code, ready for simulation and deployment on your target hardware.
Check out an overview of ODYS software tools for real-time optimization and embedded MPC, as presented at IFAC TC on Optimal Control “Trends in software and tools for optimal and predictive control” on May 18, 2022.
The current version of the software is v3.2.0, released on December 22, 2022. If you use ODYS Embedded MPC in a scientific paper, please add a citation.
Interested in ODYS Embedded MPC? Get in touch with us. We will discuss the requirements of your application, assist you in evaluating the benefits and capabilities of our software, and provide a quotation for your project’s needs.