ODYS Embedded MPC

A software library for real-time model predictive control

ODYS Embedded MPC is a software library for implementing Model Predictive Control solutions in real-time applications.

ODYS Embedded MPC provides MPC and state estimation functions. Both are crafted with emphasis on execution speed, numerical robustness, limited memory footprint, and support for advanced control design.

It can be integrated with ODYS Deep Learning Toolset, a plugin available in MATLAB® and Python for developing prediction models based on neural networks that can be exported to C code for immediate use by the MPC and state estimation functions.

ODYS Embedded MPC also has a plugin to run nonlinear MPC projects designed using the Model Predictive Control Toolbox™ for MATLAB. With a single click, users can port their existing project carried out with the Model Predictive Control Toolbox™ to fast and robust C code compatible with ODYS Embedded MPC.

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.

If you use ODYS Embedded MPC in a scientific paper, please add a citation.

Powerful design

ODYS Embedded MPC handles general multivariable linear time-varying and nonlinear prediction models. The software provides many advanced MPC design features, in terms of formulation of cost function, constraints, preview, and degrees of freedom in the optimization. State estimation is performed by using state-of-the-art Kalman filtering techniques, optimized for computation efficiency and numerical robustness also in single precision.

Fast, reliable, compliant

ODYS Embedded MPC is fast and robust also in single precision, predictable in worst-case execution time, and requires very limited memory footprint. Also, it is compliant with MISRA-C 2012. Ad-hoc sparse linear algebra functions allow efficient handling of sparsity in prediction models. Thanks to the tight integration with our MPC-dedicated QP solver, we can solve MPC problems more efficiently than using general purpose QP solvers (typically, twice as fast and with half the memory footprint).

Developed for production

Being a standalone C-code library, the code can run on industrial desktop PCs as well as any embedded platform that supports floating-point operations.

APIs to MATLAB® and Simulink® are available for testing in simulation. The MPC controller can be defined in MATLAB® code, rather than C code, and MATLAB Coder® can be used to generate the corresponding C code.

A history of success

We have solid experience in MPC for industrial production. Motion planning, autonomous driving, next-gen ADAS, energy optimization in electric or hybrid vehicles, control of mobile robots, motor control, are just some of the problems we can help our clients solve.

Have a look at some of the projects that our clients have carried out with our support.