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