Change MPC scalefactor at runtime
이전 댓글 표시
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
Danus
2025년 2월 4일
Hey Vincent,
Have you found a solution to your problem? I've got the same issue.
Thanks in advance and kind regards,
Danus
MULI
2025년 2월 13일
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
2025년 2월 17일
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
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Controller Creation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!