Problem with MPC Control (Poor Tracking)

8 次查看(过去 30 天)
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.
I'm new to MPC and I think that I'm missing something very obvious.

回答(2 个)

fouad koudsi
fouad koudsi 2020-10-26
编辑:fouad koudsi 2020-10-26

Keyur Mistry
Keyur Mistry 2020-9-24
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 个评论
Navaneeth Rajan
Navaneeth Rajan 2020-9-24
The thing is that I was able to get very good tracking with other non-Matlab packages.
This is an example from do-mpc library on Python. I'm not sure what I'm doing wrong on MATLAB.
Keyur Mistry
Keyur Mistry 2020-9-25
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Model Predictive Control Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by