How do I incorporate a feedforward control signal into an MPC block?
13 views (last 30 days)
Show older comments
I have designed a feedback control system using an Model Predictive Controller block for a DC Motor servomechanism. In order to reduce the steady-state error I want to include a feedforward control signal that I can estimate and predict. The MPC block therefore needs to have knowledge of the feedforward control signal as, I assume, a measured disturbance which is able to be previewed. I have implemented this as below:
I haven't been able to improve the controller performance with this architecture as I would expect (previous PI + Feedforward works very well), so I wanted to ask whether this was the correct approach to include the feedforward signal into the MPC block?
5 Comments
Umar
on 29 Aug 2024
Hi @Joe Gibbs,
Please see response from @Harsh Sharma, he has provided documentation regarding to your comments. Let us know if this helps.
Answers (1)
Harsh Sharma
on 29 Aug 2024
Hi Joe,
According to my understanding, MPC is generally used in closed loop configuration and the “Measured disturbances” is used for the feedforward compensation as suggested in the “MPC Signal Types” documentation - https://www.mathworks.com/help/mpc/gs/plant-inputs-and-outputs.html?searchHighlight=MPC%20feedforward%20&s_tid=srchtitle_support_results_4_MPC%20feedforward%20
However, you can certainly create MPC with feedforward as per your design. You may check following resources to understand how MPC and feedforward control are designed using MATLAB.
MPC with Simulink - https://youtu.be/evyvdvApPLY?si=xLgpJ7ZrLBufTesE
Feedforward with Simulink - https://youtu.be/FW_ay7K4jPE
0 Comments
See Also
Categories
Find more on Controller Creation 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!