How do I incorporate a feedforward control signal into an MPC block?

13 views (last 30 days)
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
Joe Gibbs
Joe Gibbs on 18 Jun 2024
Thank you for the detailed response. I think however that my main question is how to include a feedforward control signal with the MPC block. Ignoring the performance, is the structure I have used what is recommended by Mathworks?
Umar
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.

Sign in to comment.

Answers (1)

Harsh Sharma
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.
Feedforward with Simulink - https://youtu.be/FW_ay7K4jPE

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!