Implementing mpctools package (from Rawlings group) in Simulink
17 次查看(过去 30 天)
显示 更早的评论
I want to implement mpctools (https://sites.engineering.ucsb.edu/~jbraw/software/mpctools/index.html) in Simulink for a Non Linear MPC. It seems that CASADI offers a demo file for implementation of MPC using CASADI (https://web.casadi.org/blog/mpc-simulink/), however I am planning to use mpctools (IPOPT Solver), and not sure what modifications are needed.
(The state dynamics include states, control and disturbances, and I also want to impose constraints on states, control, and change in control)
I would prefer implementation using Interpreter Function or MATLAB System Object (Similar to CASADI Implementation), however if this package can also be used with a Model Predictive Controller Toolbox, I would appreciate that too.
0 个评论
回答(1 个)
Emmanouil Tzorakoleftherakis
2023-7-17
I cannot comments on mpctools, but if your objective is to use IPOPT in Simulink, Model Predictive Control Toolbox allows you to bring in your own solver. Please take a look at the following links for additional information:
1 个评论
Dynamo
2025-3-28
Thank you for your response on @Anshul Paunikar orginal post. I wasn't aware of solver configuration in NMPC blocks. I have a follow up question because I am also working on same problem and would like some guidance. when we are looking for optimization of NMPC for lower real-time computation load. Natural choice of engineers is CasADi or ACADOS, but implementation of either of these is painful in Simulink with existing NMPC setup. Albiet, one needs to code the NMPC in MATLAB independently, which does help in CodeGen and higher performance for real-time use, but the learning curve is very steep.
How does sqp solver perform against CasADi or ACADOS? What trade-offs we are expecting over implementation simplicity?
Is there any way CasADi or ACADOS can be integrated into Simulink for NMPC problems?
Thanks
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Controller Creation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!