MATLAB Answers

Adaptive MPC: Dimension Error of Block Input

19 views (last 30 days)
Peter Reithuber
Peter Reithuber on 31 Oct 2018
Commented: Jakobus Louw on 10 Jun 2021
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
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.
  5 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!