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

39 次查看(过去 30 天)
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?
  4 个评论
Umar
Umar 2024-6-18
Hi Joe, Based on your detailed description of the feedback control system you have designed for a DC Motor servomechanism using a Model Predictive Controller (MPC) block, it seems that you are aiming to enhance the system's performance by incorporating a feedforward control signal to reduce steady-state error. However, you have encountered challenges in achieving the desired improvement in controller performance with this architecture. In your setup, you have integrated a feedforward control signal that is estimated and predicted to be used by the MPC block as a measured disturbance that can be previewed. Despite your efforts to include this feedforward signal, you have not observed the expected enhancement in controller performance compared to a previous configuration involving a PI controller combined with feedforward. It is important to consider whether the approach of including the feedforward signal into the MPC block is appropriate for your specific system dynamics and requirements. While MPC offers advantages such as the ability to handle constraints and optimize control actions over a finite horizon, its effectiveness can vary based on factors like model accuracy, prediction horizon, and tuning parameters. Given that you are benchmarking controllers against sinusoidal or accelerating input signals, it is crucial to assess how well your control architecture handles such reference inputs. In your case, incorporating rate feedforward along with the optimal PI controller to estimate angular rate may seem promising in theory, but the actual performance might be influenced by factors like model fidelity, disturbance rejection capabilities, and tuning methodology. To address the discrepancy between your expectations and the observed results, it may be beneficial to revisit your MPC implementation and evaluate aspects such as prediction horizon selection, weighting matrices tuning, disturbance modeling accuracy, and preview capabilities. Additionally, considering the impact of cascade rate and current loops within your model on overall system behavior could provide insights into potential areas for improvement. In conclusion, while the integration of a feedforward control signal into an MPC-based control architecture has the potential to enhance performance by leveraging preview information, the effectiveness of this approach depends on careful consideration of system dynamics, model accuracy, tuning parameters, and implementation details. By refining your MPC setup and conducting thorough analysis and testing, you can optimize the control strategy for improved performance against various input signals.
Joe Gibbs
Joe Gibbs 2024-6-18
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?

请先登录,再进行评论。

回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by