LQR_QUANSER.M

Entwurf eines optimalen Zustandsreglers für das Modell des 2DOF-Hubschraubers von Quanser

LQR_Quanser.m — Objective-C source code, 1 kB (1.103 bytes)

Dateiinhalt

%
% Lineares Zustandsmodell des 2-DOF Hubschraubermodells von Quanser
%
%       
L1  = 0.203;     % [m]
Kfn = 0.8722;    % [N/V]
Ktg = 0.01;      % [Nm/V]
Ktn = 0.02;      % [Nm/V]
Kfg = 0.4214;    % [N/V]
I_N = 0.03071;   % [kgm**2]
I_G = 0.03071;   % [kgm**2]
%
% Kontinuierliches Zustandsmodell
%
A = [0 0 1 0; 0 0 0 1; 0 0 0 0; 0 0 0 0]
%
B = [ 0             0 
      0             0
      L1*Kfn/I_N    -Ktg/I_N
      -Ktn/I_G      L1*Kfg/I_G]
%
C = [1 0 0 0; 0 1 0 0]
%
D = [0 0 ; 0 0]
%
sys_k = ss(A,B,C,D)
%
% step(sys_k) % Sprungantwort der Strecke

% tf(sys_k)   % �bertragungsfunktionen

%
% Gewichtungsmatrizen
%
Q = eye(4,4);
Q(1,1) = 100; Q(2,2)= 100;
Q(3,3) = 10; Q(4,4)= 10

R = 1.0*eye(2,2)

K = lqr(A,B,Q,R)   % Optimale R�ckf�hrmatrix

Ag = A - B*K; % Systemmatrix des Regelkreises
%
EW = eig(Ag)  % Eigenwerte des Regelkreises

V = 10*eye(2,2) % Vorfiltermatrix

% 
% Regelkreis
%
Kreis = ss(Ag,B*V,C,D);
% tf(Kreis)
figure(1)
step(Kreis,5)
%
% Stellgroesse
%
figure(2)
stellgroesse = ss(Ag,B*V,K,D);
step(stellgroesse,5)