Change the way control is generated. Add script to test control

This commit is contained in:
Thomas Dehaeze
2018-06-21 11:45:02 +02:00
parent 156dd833bd
commit 601078cdab
7 changed files with 159 additions and 15 deletions

View File

@@ -3,12 +3,12 @@ clear; close all; clc;
%% Load Plant
load('./mat/G_xg_to_d.mat', 'G_xg_to_d');
load('./mat/G_f_to_d.mat', 'G_f_to_d');
load('./mat/G_f_to_d.mat', 'G_1', 'G_20', 'G_50');
load('./mat/controller.mat', 'K');
%%
S = minreal(inv(tf(eye(6))+G_f_to_d*K));
T = minreal((tf(eye(6))+G_f_to_d*K)\G_f_to_d*K);
S = minreal(inv(tf(eye(6))+G_20*K));
T = minreal((tf(eye(6))+G_20*K)\G_20*K);
bodeFig({S(1,1), T(1,1)})
legend({'$S_x$', '$T_x$'})

View File

@@ -8,6 +8,9 @@ load('./mat/G_f_to_d.mat', 'G_20');
load('./mat/control_K_tx.mat', 'K_tx');
load('./mat/control_K_ty.mat', 'K_ty');
load('./mat/control_K_tz.mat', 'K_tz');
load('./mat/control_K_rx.mat', 'K_rx');
load('./mat/control_K_ry.mat', 'K_ry');
load('./mat/control_K_rz.mat', 'K_rz');
%%
sisotool('bode', G_20(1, 1), K_tx);
@@ -24,11 +27,29 @@ sisotool('bode', G_20(3, 3), K_tz);
K_tz = C;
save('./mat/control_K_tz.mat', 'K_tz');
%%
sisotool('bode', G_20(4, 4), K_rx);
K_rx = C;
save('./mat/control_K_rx.mat', 'K_rx');
%%
sisotool('bode', G_20(5, 5), K_ry);
K_ry = C;
save('./mat/control_K_ry.mat', 'K_ry');
%%
sisotool('bode', G_20(6, 6), K_rz);
K_rz = C;
save('./mat/control_K_rz.mat', 'K_rz');
%%
K = tf(zeros(6));
K(1,1) = K_tx;
K(2,2) = K_ty;
K(3,3) = K_tz;
K(4,4) = K_rx;
K(5,5) = K_ry;
K(6,6) = K_rz;
%% Save the MIMO control
save('./mat/controller.mat', 'K');