Change MPC scalefactor at runtime
Ältere Kommentare anzeigen
Hi,
I am doing a control system with an AMPC controller with LPV. My system is strongly non-linear and its configuration changes all the time, affecting the bounds of the manupulated variables (MV) Umin and Umax. I can change the MV bounds at runtime through the MPC block inputs, however I cannot change the scalefactors, which are only set once when I compile the MPC m file. The scale factors affect the stability of my system and I am looking for a way to access the MPC object at runtime.
Thank you
Best regards
Vincent
3 Kommentare
Danus
am 4 Feb. 2025
Hey Vincent,
Have you found a solution to your problem? I've got the same issue.
Thanks in advance and kind regards,
Danus
MULI
am 13 Feb. 2025
In Model Predictive Control (MPC), "ScaleFactors" are primarily used to normalize signals of different magnitudes to improve numerical conditioning and solver performance. However, once the controller is compiled, these ScaleFactors are fixed and cannot be modified at runtime.
If your system is experiencing stability issues, you might consider tuning of weights, constraints, or the prediction model. Could you clarify why you need to change ScaleFactors at runtime?
Danus
am 17 Feb. 2025
Hi Muli,
First of all, thanks for the answer.
Regarding your question: I've got a system where some of the states grow over time. Depending on the simulation duration, I assume the scale difference might affect the control quality. Therefore my first idea was to change the scale factors during run time. My second thought was to change the system dynamics so that the errors of the original states become the new states but with this change other problems occur.
Kind regards,
Danus
Antworten (0)
Kategorien
Mehr zu Controller Creation finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!