Adaptive MPC: Dimension Error of Block Input
13 views (last 30 days)
Show older comments
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
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
on 21 Aug 2020
I have also the same issue, Is there anyone who know what shoud I do?
Answers (1)
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
on 13 Jul 2023
Jakobus Louw, I tried your method and it worked with me. I had the same issue with linear MPC block
See Also
Categories
Find more on Linear Plant Specification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!