Adaptive MPC: Dimension Error of Block Input

13 次查看(过去 30 天)
I have a problem with the use of adaptive mpc block in matlab. The input dimensions of DX to the adaptive mpc block seem to be wrong and the errors (as can be seen in the picture) occur. The simulation uses a simple 2dof kinematic single track vehicle model; state matrices: A[0 vx; 0 0], B[1 0; 0 1], C[1 0; 0 1], D[0 0; 0 0]; mv=2; mo=2; It works using the standard MPC controller, but I have a problem using it for the Adaptive MPC Block. How can I solve this problem?
  3 个评论
Jakobus Louw
Jakobus Louw 2020-4-9
I have exactly the same problem. Did any of you find the solution? Please make a public post if you have.
Seyyed Ali Ghorashi Khalil Abadi
I have also the same issue, Is there anyone who know what shoud I do?

请先登录,再进行评论。

回答(1 个)

Jakobus Louw
Jakobus Louw 2020-4-9
It is a bug in the Adaptive MPC block where it checks for the correct dimentions of the input ports. For some reason it does not accept a vector signal, but checks for a matrix signal.
I added Signal Specification blocks to all the "MPC Matrix Signal Check <>" subsystems to explicitly state the dimentions.
I found this subsystem by following the link in the Diagnostics Panel, and disabling the link so that I could edit the block locally (not the library block).
That cleared up the error.
  9 个评论
Amr Elsherbiny
Amr Elsherbiny 2023-7-13
Jakobus Louw, I tried your method and it worked with me. I had the same issue with linear MPC block

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Linear Plant Specification 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by