Why is my custom constraint for adaptive MPC controller not working?

4 Ansichten (letzte 30 Tage)
dekun wang
dekun wang am 1 Mai 2021
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'.

Antworten (0)

Kategorien

Mehr zu Model Predictive Control Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by