How to apply input constraint using LQR control in MATLAB

조회 수: 4 (최근 30일)
Talha Kaleem
Talha Kaleem 2020년 1월 4일
Hello,
I have a state space model of a system.I have Got LQR control Gain Matrix "K". And have also been successful
in simulating the system response using MATLAB code but at the end there is something missing.I want to apply input
contraint on the Plant's input.Now, i am stuck like "How do give it?" And "Where to give it" I am attaching my Matlab
Code.The start position of the system is y1 = 450 & y2 = 650 and final reference position is set to (0,0).
I would appreciate your help.
Thank you.
K = [0.0071 -3.4736 * 10 ^ -6 2.2392 -0.0011
3.4736 * 10 ^ -6 0.0071 -0.0011 2.2392];
n = 1.1 * 10 ^ -3;
A = [0 0 1 0;
0 0 0 1;
3. * n ^ 2 0 0 2. * n;
0 0 -2. * N 0];
B = [0 0;
0 0;
Ten;
0 1];
C = [1 0 0 0;
0 1 0 0;
0 0 1 0;
0 0 0 1];
D = [0 0;
0 0;
0 0;
0 0];
Ac = [(AB * K)];
Bc = [B];
Cc = [C];
Dc = [D];
states = {'x1' 'x2' 'x3' 'x4'};
inputs = {'u1' 'u2'};
outputs = {'y1'; 'y2'; 'y3'; 'y4'};
sys = ss (Ac, Bc, Cc, Dc, 'statename', states, 'inputname', inputs, 'outputname', outputs);
t = 0: 0.01: 2000;
u = [0 * t; 0 * t];
[y, t, x] = lsim (sys, u, t, [450,650,0,0]);
[A, h1, h2] = plotyy (t, y (:, 1), t, y (:, 2), 'plot')
set (get (A (1), 'Ylabel'), 'String', 'y1 (Position)')
set (get (A (2), 'Ylabel'), 'String', 'y2 (Position)')
title ('Reference position (0,0) with LQR Control')

답변 (0개)

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by