MPC controller Direct feedthrough from manipulated variables to any output in Plant is not allowed.

I'm trying to develop a MPC controller for the Stewart Platform. When I try to define MPC structure by linearization, it tells me this. What could be wrong with my model?
Stewat Platform plant input(6): forces to the 6 legs, output(9): 3xpositions, 3xangular rate, 3xtranslational acceleration
微信截图_20190725055902.png

댓글 수: 5

same problem here and theres no answer
Hi.
If you read the MPC documentation, you will find that the MPC Designer does not support this direct feedthrough and if you want to add such an output in the MPC Designer then add a unit delay onto the MV that makes this output variable and then the MPC Designer will add it to the C matrix of your SS.
Thank you for your answer, how to add a unit delay onto the MV? Can you give a example!I'm look forward to recieving your answer as soon as quickly.
You have to add a block simpy unit step delay after the output of the controller and before the input of the plant.

댓글을 달려면 로그인하십시오.

답변 (2개)

As per above --> The reason the error is occuring is because you do not have any delays between your input and outputs (unrealistic in reality).
If you are estimating your TF from I/O (greybox or blackbox modelling), Matlab will estimate the delays for you. Your plant design will work then:
iodelay = NaN;
estTF = tfest(iddataOBJ,pole,zero,iodelay);

댓글 수: 1

Thank you for your answer, how to add a unit delay onto the MV? Can you give a example!I'm look forward to recieving your answer as soon as quickly.

댓글을 달려면 로그인하십시오.

Solution:
I had same problem and It is solve by adding time delay.
You can add time delay in between MV and plant. I did using matlab command like like
plant = tf([num],[den],'OutputDelay',1.5 )
I hope this answer helped you.
Example
%%Transfer Function By System identification
num = [-1.324 6.6e05 -6.914e09 5.128e13 -1.054e19]
den = [1 1.99e04 1.371e09 1.145e13 4.037e17]
plant = tf([num],[den],'OutputDelay',1.5 )

카테고리

도움말 센터File Exchange에서 Controller Creation에 대해 자세히 알아보기

질문:

2019년 7월 25일

답변:

2023년 12월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by