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

4 ビュー (過去 30 日間)
dekun wang
dekun wang 2021 年 5 月 1 日
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 件)

カテゴリ

Help Center および File ExchangeModel Predictive Control Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by