Problem with MPC Control (Poor Tracking)
5 views (last 30 days)
Show older comments
I'm trying to get an MPC controller working on this discrete state space model.
zc = 0.6;
g = 9.81;
dt = 0.01;
A = [1 dt (dt^2)/2;
0 1 dt;
0 0 1];
B = [dt^3/6
dt^2/2
dt];
C = [1,0, -zc/g];
D = [0];
model = ss(A,B,C,D,dt)
I have used mpcDesigner to get a controller with preview references, but I cannot get a good step response even after adjusting the closed loop Performance slider.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/364102/image.png)
I'm new to MPC and I think that I'm missing something very obvious.
0 Comments
Answers (2)
fouad koudsi
on 26 Oct 2020
Edited: fouad koudsi
on 26 Oct 2020
Look into this answers your question!
0 Comments
Keyur Mistry
on 24 Sep 2020
I understand you are trying to get good step response of the system using MPL Designer app. After analyzing the system, I can say system is uncontrollable as determinant of the controllability matrix for the system is in the range of 10^-12.
To find controllability matrix you can use “ctrb” command:
To find determinant of matrix you can use “det” command:
2 Comments
Keyur Mistry
on 25 Sep 2020
I wonder how output of uncontrollable unstable system is bounded after applying simple linear feedback. Please make sure the system parameters (A,B,C,D) you have provided in the question are correct. Also in do-mpc library on Python you are using linear feedback law to tune the system and not using any non-linear control.
See Also
Categories
Find more on Model Predictive Control Toolbox 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!