Finish exporting all the matlab figures
This commit is contained in:
@@ -11,8 +11,8 @@ addpath('./src/'); % Path for functions
|
||||
%% Colors for the figures
|
||||
colors = colororder;
|
||||
|
||||
% Without Encoder
|
||||
% When the encoder is not fixed to the strut, the obtained FRF are shown in Figure ref:fig:test_struts_spur_res_frf.
|
||||
% Measured results
|
||||
% The obtained frequency response functions are shown in Figure ref:fig:test_struts_spur_res_frf.
|
||||
|
||||
|
||||
%% Load Data (without the encoder)
|
||||
@@ -20,6 +20,11 @@ bending_X = load('strut_spur_res_x_bending.mat');
|
||||
bending_Y = load('strut_spur_res_y_bending.mat');
|
||||
torsion_Z = load('strut_spur_res_z_torsion.mat');
|
||||
|
||||
%% Load Data (with the encoder)
|
||||
bending_X_enc = load('strut_spur_res_x_bending_enc.mat');
|
||||
bending_Y_enc = load('strut_spur_res_y_bending_enc.mat');
|
||||
torsion_Z_enc = load('strut_spur_res_z_torsion_enc.mat');
|
||||
|
||||
%% Plot the responses (without the encoder)
|
||||
figure;
|
||||
hold on;
|
||||
@@ -30,23 +35,15 @@ plot(bending_Y.FFT1_AvSpc_1_RMS_X_Val, bending_Y.FFT1_AvSpc_1_RMS_Y_Val, ...
|
||||
plot(torsion_Z.FFT1_AvSpc_1_RMS_X_Val, torsion_Z.FFT1_AvSpc_1_RMS_Y_Val, ...
|
||||
'DisplayName', 'Z-torsion');
|
||||
text(226, 1.5e-4,{'226Hz'}, 'VerticalAlignment', 'bottom','HorizontalAlignment','center')
|
||||
text(337, 6e-5,{'337Hz'}, 'VerticalAlignment', 'bottom','HorizontalAlignment','center')
|
||||
text(310, 6e-5,{'337Hz'}, 'VerticalAlignment', 'bottom','HorizontalAlignment','center')
|
||||
text(398, 1.5e-4,{'398Hz'}, 'VerticalAlignment', 'bottom','HorizontalAlignment','center')
|
||||
hold off;
|
||||
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Amplitude');
|
||||
xlim([50, 8e2]); ylim([5e-7, 3e-4])
|
||||
legend('location', 'northwest');
|
||||
legend('location', 'southwest', 'FontSize', 8, 'NumColumns', 1);
|
||||
|
||||
% With Encoder
|
||||
% Then, one encoder is fixed to the strut and the FRF are measured again and shown in Figure ref:fig:test_struts_spur_res_frf_enc.
|
||||
|
||||
%% Load Data (with the encoder)
|
||||
bending_X_enc = load('strut_spur_res_x_bending_enc.mat');
|
||||
bending_Y_enc = load('strut_spur_res_y_bending_enc.mat');
|
||||
torsion_Z_enc = load('strut_spur_res_z_torsion_enc.mat');
|
||||
|
||||
%% Plot the responses (with the encoder)
|
||||
%% Plot the responses (with the encoder)
|
||||
figure;
|
||||
hold on;
|
||||
plot(bending_X_enc.FFT1_AvSpc_1_RMS_X_Val, bending_X_enc.FFT1_AvSpc_1_RMS_Y_Val, ...
|
||||
@@ -61,5 +58,5 @@ text(381, 1e-4,{'381Hz'}, 'VerticalAlignment', 'bottom','HorizontalAlignment','c
|
||||
hold off;
|
||||
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Amplitude');
|
||||
xlim([50, 8e2]); ylim([5e-7, 2e-4])
|
||||
legend('location', 'northwest');
|
||||
xlim([50, 8e2]); ylim([5e-7, 3e-4])
|
||||
legend('location', 'southwest', 'FontSize', 8, 'NumColumns', 1);
|
||||
|
@@ -12,6 +12,8 @@ addpath('./src/'); % Path for functions
|
||||
colors = colororder;
|
||||
|
||||
% Effect of the Encoder on the measured dynamics
|
||||
% <<ssec:test_struts_effect_encoder>>
|
||||
|
||||
|
||||
%% Parameters for Frequency Analysis
|
||||
Ts = 1e-4; % Sampling Time [s]
|
||||
@@ -61,18 +63,18 @@ enc_frf = [frf_sweep(i_lf); frf_noise_hf(i_hf)]; % Combine the FRF
|
||||
|
||||
|
||||
|
||||
% Figure ref:fig:test_struts_effect_encoder_int
|
||||
% Same goes for the transfer function from excitation voltage $u$ to the axial motion of the strut $d_a$ as measured by the interferometer ().
|
||||
|
||||
% #+begin_important
|
||||
% The transfer function from the excitation voltage $u$ to the generated voltage $V_s$ by the sensor stack is not influence by the fixation of the encoder.
|
||||
% The transfer function from the excitation voltage $u$ to the generated voltage $V_s$ by the sensor stack is not influence by the fixation of the encoder (Figure ref:fig:test_struts_effect_encoder_iff).
|
||||
% This means that the IFF control strategy should be as effective whether or not the encoders are fixed to the struts.
|
||||
% #+end_important
|
||||
|
||||
|
||||
%% Plot the FRF from u to da with and without the encoder
|
||||
figure;
|
||||
tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile([2,1]);
|
||||
ax1 = nexttile([]);
|
||||
hold on;
|
||||
plot(f, abs(int_with_enc_frf), '-', 'DisplayName', 'With encoder');
|
||||
plot(f, abs(int_frf), '-', 'DisplayName', 'Without encoder');
|
||||
@@ -81,7 +83,7 @@ set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
ylabel('Amplitude $d_a/u$ [m/V]'); set(gca, 'XTickLabel',[]);
|
||||
hold off;
|
||||
ylim([1e-7, 1e-3]);
|
||||
legend('location', 'northeast')
|
||||
legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 1);
|
||||
|
||||
ax2 = nexttile;
|
||||
hold on;
|
||||
@@ -108,7 +110,7 @@ hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
ylabel('Amplitude $V_s/u$ [V/V]'); set(gca, 'XTickLabel',[]);
|
||||
hold off;
|
||||
legend('location', 'northeast', 'FontSize', 8);
|
||||
legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 1);
|
||||
ylim([1e-2, 1e2]);
|
||||
|
||||
ax2 = nexttile;
|
||||
@@ -125,6 +127,21 @@ linkaxes([ax1,ax2],'x');
|
||||
xlim([10, 2e3]);
|
||||
|
||||
% Comparison of the encoder and interferometer
|
||||
% <<ssec:test_struts_comp_enc_int>>
|
||||
|
||||
% The dynamics as measured by the encoder and by the interferometers are compared in Figure ref:fig:test_struts_comp_enc_int.
|
||||
|
||||
% The dynamics from the excitation voltage $u$ to the measured displacement by the encoder $d_e$ presents much more complicated behavior than the transfer function to the displacement as measured by the Interferometer (compared in Figure ref:fig:test_struts_comp_enc_int).
|
||||
% It will be further investigated why the two dynamics as so different and what are causing all these resonances.
|
||||
|
||||
% As shown in Figure ref:fig:test_struts_comp_enc_int, we can clearly see three spurious resonances at 197Hz, 290Hz and 376Hz.
|
||||
% These resonances correspond to parasitic resonances of the strut itself that was estimated using a finite element model of the strut (Figure ref:fig:test_struts_mode_shapes):
|
||||
% - Mode in X-bending at 189Hz
|
||||
% - Mode in Y-bending at 285Hz
|
||||
% - Mode in Z-torsion at 400Hz
|
||||
|
||||
% The good news is that these resonances are not seen on the interferometer (they are therefore not impacting the axial motion of the strut).
|
||||
% But these resonances are making the use of encoder fixed to the strut difficult.
|
||||
|
||||
|
||||
figure;
|
||||
@@ -159,7 +176,7 @@ linkaxes([ax1,ax2],'x');
|
||||
xlim([10, 2e3]);
|
||||
|
||||
% Comparison of all the Struts
|
||||
% <<ssec:test_struts_meas_all_struts>>
|
||||
% <<ssec:test_struts_comp_all_struts>>
|
||||
|
||||
|
||||
%% Numbers of the measured legs
|
||||
@@ -275,6 +292,7 @@ xlim([10, 2e3]);
|
||||
|
||||
% #+name: fig:test_struts_comp_plants
|
||||
% #+caption: Comparison of the measured plants
|
||||
% #+attr_latex: :options [htbp]
|
||||
% #+begin_figure
|
||||
% #+attr_latex: :caption \subcaption{\label{fig:test_struts_comp_interf_plants}$u$ to $d_a$}
|
||||
% #+attr_latex: :options {0.49\textwidth}
|
||||
@@ -290,6 +308,12 @@ xlim([10, 2e3]);
|
||||
% #+end_subfigure
|
||||
% #+end_figure
|
||||
|
||||
% There is a very large variability of the dynamics as measured by the encoder as shown in Figure ref:fig:test_struts_comp_enc_plants.
|
||||
% Even-though the same peaks are seen for all of the struts (95Hz, 200Hz, 300Hz, 400Hz), the amplitude of the peaks are not the same.
|
||||
% Moreover, the location or even the presence of complex conjugate zeros is changing from one strut to the other.
|
||||
|
||||
% All of this will be studied in Section ref:sec:test_struts_simscape using the Simscape model.
|
||||
|
||||
|
||||
%% Bode plot of the FRF from u to de
|
||||
figure;
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user