Change MPC scalefactor at runtime
Afficher commentaires plus anciens
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 commentaires
Danus
le 4 Fév 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
le 13 Fév 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
le 17 Fév 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
Réponses (0)
Catégories
En savoir plus sur Controller Creation dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!