Solver "FORCES PRO" for model predictive control (MPC) and embedded system optimization

■ This is an article posted on June 2020, 12, so the content of the information may be out of date.

A solver for model predictive control (MPC) and embedded system optimization on the Unipos websiteFORCES PROPage was added.

embotechFORCES PROIs a fast and reliable solver for Model Predictive Control (MPC) and embedded system optimization.

A state-of-the-art numerical optimization algorithm specially developed for the mathematical structure of optimal control problems solves complex optimization problems in milliseconds.This fastest solver also has a very small file size and can be embedded in any hardware platform to significantly improve safety, productivity and energy efficiency.

 

How FORCES PRO works

You can automatically generate an efficient solver that runs on any hardware platform.
The user defines the problem and FORCES PROGenerate code for optimization.Useful for efficient implementation on embedded processors.

For example, it is used in autonomous driving (vehicle motion planning and energy management), rocket guidance and motion planning, wind turbine pitch control, sheet metal laser cutting, robot arm motion planning, etc.

Main features and benefits

・ Mathematical optimization problemA fast and reliable numerical solution for instantly solving
-Easy to embed because the code size is small and the memory usage is small.
-Can be executed on any hardware platform
・ Highly reliable and can be applied to fully autonomous systems
・ Industry standard for model predictive control (many achievements in serial applications)
· Can be integrated into MathWorks Model Predictive Control Toolbox
・ MISRA-C compliant (compliant with high coding standards)

* It is possible to handle highly relevant optimization problems required for embedded system optimization.

Types of optimization problems
– Nonlinear Program (NLP, Nonlinear Programming Problem)
– Mixed-Integer NLP (MI-NLP, Mixed-Integer Quadratic Programming Problem)
– Linear Program (LP, Linear Programming Problem)
– Quadratic Program (QP, quadratic programming problem)
– Quadratic-Constrained Quadratic Program (QCQP, Quadratically Constrained Quadratic Program)
– Binary-Integer QPs (binary integer programming problem)

 


Embedded system example
– Linear Model Predictive Control (Linear MPC)
– Nonlinear Model Predictive Control (Nonlinear MPC, NMPC)
– Hybrid Model Predictive Control (Hybrid MPC)
– Economic Model Predictive Control (Economic MPC)
– Motion Planning Problems
– Autonomous Decision Making

 

About optimization method

NLP can be solved until convergence with a small number of iterations, which is effective for embedded system control where maximum calculation time is important. Interior-Point Solver (IP)Effective for embedded system control that requires fast real-time optimization and feedback rate for nonlinear model predictive control. Sequential Quadratic Programming (SQP).
You can choose the best method for your application from these two algorithms.

Derivative Generation
– CASADI
– Mathworks Symbolic Toolbox
– User-made functions

Hessian
– Blockwise BFGS
– Gauss-Newton

 

License form

There are three different nodes depending on the stage of the project (technical development).Each node is available in S, M, and L linear programming algorithms.

・ NODE TYPES… Technology development phase (model-based test)

– Engineering:
Generate a problem-specific solver and run the solver on the same x86 / x86_64 platform (* for Windows / Linux / Max OS X)
– SoftWare Testing (Sil / CI):
Run solver on different x86 / x86_64 platforms without controlling the physical system
– HardWare Testing (HiL / Field Testing):
Run solvers on different platforms to control physical systems such as vehicles

・ VARIANT… Linear programming algorithm

 Overview of optimization problems that can be solved with S, M, L
– S: LP, QP, QCQP
– M: LP, QP, QCQP, Binary Integer QP, NLP with SQP
– L: LP, QP, QCQP, Binary Integer QP, NLP with SQP and IP solver, Mixed Integer NLP

・ Commercial use

Commercial licenses have two options: SCA (Source Code Access) and SHS (Self-Hosted Service).

* Series development for commercial applications is also possible.
At embtech, we have a better understanding of applications and needs and make appropriate suggestions for settings.Hearings are required, so please contact us for any requests or inquiries.