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

56 ビュー (過去 30 日間)
Lewis Liu
Lewis Liu 2019 年 7 月 25 日
回答済み: MUHAMMAD 2023 年 12 月 8 日
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 件のコメント
军
2023 年 2 月 15 日
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.
Danish Iqbal
Danish Iqbal 2023 年 4 月 3 日
編集済み: Danish Iqbal 2023 年 4 月 3 日
You have to add a block simpy unit step delay after the output of the controller and before the input of the plant.

サインインしてコメントする。

回答 (2 件)

Nick Rozenauers
Nick Rozenauers 2022 年 11 月 1 日
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 件のコメント
军
2023 年 2 月 15 日
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.

サインインしてコメントする。


MUHAMMAD
MUHAMMAD 2023 年 12 月 8 日
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 )

カテゴリ

Help Center および File ExchangeController Creation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by