Problem with MPC Control (Poor Tracking)

8 ビュー (過去 30 日間)
Navaneeth Rajan
Navaneeth Rajan 2020 年 9 月 21 日
編集済み: fouad koudsi 2020 年 10 月 26 日
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 Center および File ExchangeModel Predictive Control Toolbox についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by