Minor update of identification script

This commit is contained in:
Thomas Dehaeze 2019-11-22 11:02:47 +01:00
parent 9792a73065
commit 377a707cf0

View File

@ -221,26 +221,13 @@ hold off;
** Init
#+begin_src matlab :results none
%% Initialize Ground
initializeGround();
%% Initialize Granite
initializeGranite();
%% Initialize Translation stage
initializeTy();
%% Initialize Tilt Stage
initializeRy();
%% Initialize Spindle
initializeRz();
%% Initialize Hexapod Symétrie
initializeMicroHexapod();
%% Initialize Center of gravity compensation
initializeAxisc();
initializeGround();
initializeGranite();
initializeTy();
initializeRy();
initializeRz();
initializeMicroHexapod();
initializeAxisc();
#+end_src
** Center of Mass of each solid body
@ -300,10 +287,10 @@ initializeAxisc();
stages = {'gbot', 'gtop', 'ty', 'ry', 'rz', 'hexa'}
n_stg = 2;
n_dir = 2; % x, y, z, Rx, Ry, Rz
n_dir = 5; % x, y, z, Rx, Ry, Rz
n_exc = 2; % x, y, z
f = logspace(1, 3, 1000);
f = logspace(0, 3, 1000);
figure;
hold on;
@ -312,7 +299,7 @@ initializeAxisc();
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude [m/N]');
hold off;
xlim([10, 1000]);
xlim([1, 200]);
#+end_src
#+begin_src matlab
@ -331,6 +318,9 @@ initializeAxisc();
plot(f, abs(squeeze(freqresp(G_ms([stages{n_stg}, '_', dirs{n_dir}], ['F', dirs{n_dir}]), f, 'Hz'))));
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude [m/N]');
if n_dir == 3
xlabel('Frequency [Hz]');
end
hold off;
xlim([10, 1000]);
ylim([1e-12, 1e-6]);
@ -338,6 +328,16 @@ initializeAxisc();
end
#+end_src
#+HEADER: :tangle no :exports results :results none :noweb yes
#+begin_src matlab :var filepath="figs/identification_comp_bot_stages.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:identification_comp_bot_stages
#+CAPTION: caption ([[./figs/identification_comp_bot_stages.png][png]], [[./figs/identification_comp_bot_stages.pdf][pdf]])
[[file:figs/identification_comp_bot_stages.png]]
#+begin_src matlab
dirs = {'x', 'y', 'z', 'rx', 'ry', 'rz'};
stages = {'ry', 'rz', 'hexa'}
@ -354,6 +354,9 @@ initializeAxisc();
plot(f, abs(squeeze(freqresp(G_ms([stages{n_stg}, '_', dirs{n_dir}], ['F', dirs{n_dir}]), f, 'Hz'))));
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude [m/N]');
if n_dir == 3
xlabel('Frequency [Hz]');
end
hold off;
xlim([10, 1000]);
ylim([1e-12, 1e-6]);
@ -361,6 +364,16 @@ initializeAxisc();
end
#+end_src
#+HEADER: :tangle no :exports results :results none :noweb yes
#+begin_src matlab :var filepath="figs/identification_comp_mid_stages.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:identification_comp_mid_stages
#+CAPTION: caption ([[./figs/identification_comp_mid_stages.png][png]], [[./figs/identification_comp_mid_stages.pdf][pdf]])
[[file:figs/identification_comp_mid_stages.png]]
#+begin_src matlab
dirs = {'x', 'y', 'z', 'rx', 'ry', 'rz'};
stages = {'hexa'}
@ -370,13 +383,16 @@ initializeAxisc();
figure;
for n_stg = 1
for n_dir = 1:3
subplot(3, 2, (n_dir-1)*2 + n_stg);
subplot(3, 1, (n_dir-1)*2 + n_stg);
title(['F ', dirs{n_dir}, ' to ', stages{n_stg}, ' ', dirs{n_dir}]);
hold on;
plot(freqs, abs(squeeze(FRFs_CoM(6*(n_stg+4) + n_dir, n_dir, :)))./((2*pi*freqs).^2)');
plot(f, abs(squeeze(freqresp(G_ms([stages{n_stg}, '_', dirs{n_dir}], ['F', dirs{n_dir}]), f, 'Hz'))));
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude [m/N]');
if n_dir == 3
xlabel('Frequency [Hz]');
end
hold off;
xlim([10, 1000]);
ylim([1e-12, 1e-6]);
@ -384,54 +400,14 @@ initializeAxisc();
end
#+end_src
** Bis
#+begin_src matlab :results none
%% Initialize Ground
initializeGround();
%% Initialize Granite
initializeGranite(struct('rigid', false));
%% Initialize Translation stage
initializeTy(struct('rigid', false));
%% Initialize Tilt Stage
initializeRy(struct('rigid', false));
%% Initialize Spindle
initializeRz(struct('rigid', false));
%% Initialize Hexapod Symétrie
initializeMicroHexapod(struct('rigid', false));
%% Initialize Center of gravity compensation
initializeAxisc();
#+HEADER: :tangle no :exports results :results none :noweb yes
#+begin_src matlab :var filepath="figs/identification_comp_top_stages.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
For Granite Fx to Tx/Ty/Tz/Rx/Ry/Rz
#+begin_src matlab
dirs = {'x', 'y', 'z', 'rx', 'ry', 'rz'};
stages = {'gtop', 'ty', 'ry', 'rz', 'hexa'}
n_stg = 5;
n_exc = 3;
f = logspace(0, 3, 1000);
figure;
for n_dir = 1:6
subplot(2, 3, n_dir);
title(['F', dirs{n_exc}, ' to ', stages{n_stg}, ' ', dirs{n_dir}]);
hold on;
plot(freqs, abs(squeeze(FRFs_CoM(6*(n_stg) + n_dir, n_exc, :)))./((2*pi*freqs).^2)');
plot(f, abs(squeeze(freqresp(G_ms([stages{n_stg}, '_', dirs{n_dir}], ['F', dirs{n_exc}]), f, 'Hz'))));
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude [m/N]');
hold off;
xlim([10, 1000]);
ylim([1e-12, 1e-6]);
end
#+end_src
#+NAME: fig:identification_comp_top_stages
#+CAPTION: caption ([[./figs/identification_comp_top_stages.png][png]], [[./figs/identification_comp_top_stages.pdf][pdf]])
[[file:figs/identification_comp_top_stages.png]]
* ZIP file containing the data and matlab files :ignore:
#+begin_src bash :exports none :results none