How to specify time varying constraints(linear combination of input/output variables) using MPC Toolbox?
3 views (last 30 days)
Show older comments
To clarify the issue: I am working on designing a linear MPC controller. Ideally, I would like to speficy constraints that vary over the prediction horizon.
I know this is possible for simple lower and upper bounds on inputs/outputs (see: https://de.mathworks.com/help/mpc/ug/time-varying-weights-and-constraints.html ), atleast within MPC Designer. I also know that constraints(linear combination of input/output variables) can vary inbetween the solution cycle/at run-time (See: https://de.mathworks.com/help/mpc/ug/run-time-constraint-updating.html ). However, as of today, I could not find any way to vary linear combinations of input/output variables for linear MPC over the prediction horizon.
Is there a way to achieve what I am looking for?
Thanks in advance.
0 Comments
Answers (2)
Kothuri
on 21 Jun 2024
To vary the linear combinations of input/output variables over the prediction horizon, you can try NonLinearMPC Design which offers a greater flexibility in defining the constraints.
Below are the documentation links for more information on Non-Linear MPC Design
Jordan Olson
on 24 Jun 2024
Hello Benedikt,
The simplest way to implement time-varying constraints for a nonlinear MPC is to use a multistage nonlinear MPC. This is essentially a special formulation of the standard nonlinear MPC where you can explicitly specify the cost and constraint functions separately for each stage from k to , p being the prediction horizon. For more information, please see the following:
- nlmpcMultistage documentation (specifically, see Properties -> Stages -> IneqConFcn): https://www.mathworks.com/help/mpc/ref/nlmpcmultistage.html
- [Example] Truck and Trailer Automatic Parking Using Multistage Nonlinear MPC: https://www.mathworks.com/help/mpc/ug/truck-and-trailer-automatic-parking-using-multistage-mpc.html
See Also
Categories
Find more on Refinement in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!