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

35 vues (au cours des 30 derniers jours)
Joe Gibbs
Joe Gibbs le 17 Juin 2024
Commenté : Umar le 29 Août 2024
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 commentaires
Joe Gibbs
Joe Gibbs le 18 Juin 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 le 29 Août 2024
Hi @Joe Gibbs,
Please see response from @Harsh Sharma, he has provided documentation regarding to your comments. Let us know if this helps.

Connectez-vous pour commenter.

Réponse acceptée

Harsh
Harsh le 29 Août 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

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by