Adaptive MPC: Dimension Error of Block Input

12 views (last 30 days)
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 Comments
Jakobus Louw
Jakobus Louw on 9 Apr 2020
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?

Sign in to comment.

Answers (1)

Jakobus Louw
Jakobus Louw on 9 Apr 2020
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 Comments
Amr Elsherbiny
Amr Elsherbiny on 13 Jul 2023
Jakobus Louw, I tried your method and it worked with me. I had the same issue with linear MPC block

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!