Why is my custom constraint for adaptive MPC controller not working?
4 次查看(过去 30 天)
显示 更早的评论
I am using Adaptive MPC controller in simulink to control a system with 4 states (same as 4 outputs) and 2 control inputs. Since the system is in the form of xdot=A*x+B*u+dc, "dc" is a constant matrix(4x1), so I regard them as "measured disturbance".
What I mean to do is let the system follow a reference [0 0 0 0]' and after 1 second, the fourth state(x(4)) is constrained to be less than 0 (force the system to deviate from the reference). So I let costum constriant E=zeros(1,2), F=[0 0 0 1], S=zeros(1,4), G is changing from 0 to -9. (as figure 2 shows, equally x(4)<G).
But the states never change. Neither do control inputs. They all remain zero as long as the reference is [0 0 0 0]'. It is as if the constraint is never set up. I could not find the way to work it out. But when I used ymax and ymin instead, it can be controlled to deviate from the reference. Still, I need to use custom constraints in the end.
Here I attached my files. Run 'controller_setup' first before you go to 'model.slx'.
0 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Model Predictive Control Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!