Add study on the active damping plants variability

This commit is contained in:
Thomas Dehaeze 2020-02-04 16:13:52 +01:00
parent f927b69fa7
commit 94299f882f
48 changed files with 2015 additions and 1503 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

View File

@ -1123,36 +1123,36 @@ The =sample= structure is saved.
:UNNUMBERED: t :UNNUMBERED: t
:END: :END:
#+begin_src matlab #+begin_src matlab
%% Translation stage - Dy %% Translation stage - Dy
t = 0:Ts:Tmax; % Time Vector [s] t = 0:Ts:Tmax; % Time Vector [s]
Dy = zeros(length(t), 1); Dy = zeros(length(t), 1);
Dyd = zeros(length(t), 1); Dyd = zeros(length(t), 1);
Dydd = zeros(length(t), 1); Dydd = zeros(length(t), 1);
switch args.Dy_type switch args.Dy_type
case 'constant' case 'constant'
Dy(:) = args.Dy_amplitude; Dy(:) = args.Dy_amplitude;
Dyd(:) = 0; Dyd(:) = 0;
Dydd(:) = 0; Dydd(:) = 0;
case 'triangular' case 'triangular'
% This is done to unsure that we start with no displacement % This is done to unsure that we start with no displacement
Dy_raw = args.Dy_amplitude*sawtooth(2*pi*t/args.Dy_period,1/2); Dy_raw = args.Dy_amplitude*sawtooth(2*pi*t/args.Dy_period,1/2);
i0 = find(t>=args.Dy_period/4,1); i0 = find(t>=args.Dy_period/4,1);
Dy(1:end-i0+1) = Dy_raw(i0:end); Dy(1:end-i0+1) = Dy_raw(i0:end);
Dy(end-i0+2:end) = Dy_raw(end); % we fix the last value Dy(end-i0+2:end) = Dy_raw(end); % we fix the last value
% The signal is filtered out % The signal is filtered out
Dy = lsim(H_lpf, Dy, t); Dy = lsim(H_lpf, Dy, t);
Dyd = lsim(H_lpf*s, Dy, t); Dyd = lsim(H_lpf*s, Dy, t);
Dydd = lsim(H_lpf*s^2, Dy, t); Dydd = lsim(H_lpf*s^2, Dy, t);
case 'sinusoidal' case 'sinusoidal'
Dy(:) = args.Dy_amplitude*sin(2*pi/args.Dy_period*t); Dy(:) = args.Dy_amplitude*sin(2*pi/args.Dy_period*t);
Dyd = args.Dy_amplitude*2*pi/args.Dy_period*cos(2*pi/args.Dy_period*t); Dyd = args.Dy_amplitude*2*pi/args.Dy_period*cos(2*pi/args.Dy_period*t);
Dydd = -args.Dy_amplitude*(2*pi/args.Dy_period)^2*sin(2*pi/args.Dy_period*t); Dydd = -args.Dy_amplitude*(2*pi/args.Dy_period)^2*sin(2*pi/args.Dy_period*t);
otherwise otherwise
warning('Dy_type is not set correctly'); warning('Dy_type is not set correctly');
end end
Dy = struct('time', t, 'signals', struct('values', Dy), 'deriv', Dyd, 'dderiv', Dydd); Dy = struct('time', t, 'signals', struct('values', Dy), 'deriv', Dyd, 'dderiv', Dydd);
#+end_src #+end_src
** Tilt Stage ** Tilt Stage
@ -1160,37 +1160,37 @@ The =sample= structure is saved.
:UNNUMBERED: t :UNNUMBERED: t
:END: :END:
#+begin_src matlab #+begin_src matlab
%% Tilt Stage - Ry %% Tilt Stage - Ry
t = 0:Ts:Tmax; % Time Vector [s] t = 0:Ts:Tmax; % Time Vector [s]
Ry = zeros(length(t), 1); Ry = zeros(length(t), 1);
Ryd = zeros(length(t), 1); Ryd = zeros(length(t), 1);
Rydd = zeros(length(t), 1); Rydd = zeros(length(t), 1);
switch args.Ry_type switch args.Ry_type
case 'constant' case 'constant'
Ry(:) = args.Ry_amplitude; Ry(:) = args.Ry_amplitude;
Ryd(:) = 0; Ryd(:) = 0;
Rydd(:) = 0; Rydd(:) = 0;
case 'triangular' case 'triangular'
Ry_raw = args.Ry_amplitude*sawtooth(2*pi*t/args.Ry_period,1/2); Ry_raw = args.Ry_amplitude*sawtooth(2*pi*t/args.Ry_period,1/2);
i0 = find(t>=args.Ry_period/4,1); i0 = find(t>=args.Ry_period/4,1);
Ry(1:end-i0+1) = Ry_raw(i0:end); Ry(1:end-i0+1) = Ry_raw(i0:end);
Ry(end-i0+2:end) = Ry_raw(end); % we fix the last value Ry(end-i0+2:end) = Ry_raw(end); % we fix the last value
% The signal is filtered out % The signal is filtered out
Ry = lsim(H_lpf, Ry, t); Ry = lsim(H_lpf, Ry, t);
Ryd = lsim(H_lpf*s, Ry, t); Ryd = lsim(H_lpf*s, Ry, t);
Rydd = lsim(H_lpf*s^2, Ry, t); Rydd = lsim(H_lpf*s^2, Ry, t);
case 'sinusoidal' case 'sinusoidal'
Ry(:) = args.Ry_amplitude*sin(2*pi/args.Ry_period*t); Ry(:) = args.Ry_amplitude*sin(2*pi/args.Ry_period*t);
Ryd = args.Ry_amplitude*2*pi/args.Ry_period*cos(2*pi/args.Ry_period*t); Ryd = args.Ry_amplitude*2*pi/args.Ry_period*cos(2*pi/args.Ry_period*t);
Rydd = -args.Ry_amplitude*(2*pi/args.Ry_period)^2*sin(2*pi/args.Ry_period*t); Rydd = -args.Ry_amplitude*(2*pi/args.Ry_period)^2*sin(2*pi/args.Ry_period*t);
otherwise otherwise
warning('Ry_type is not set correctly'); warning('Ry_type is not set correctly');
end end
Ry = struct('time', t, 'signals', struct('values', Ry), 'deriv', Ryd, 'dderiv', Rydd); Ry = struct('time', t, 'signals', struct('values', Ry), 'deriv', Ryd, 'dderiv', Rydd);
#+end_src #+end_src
** Spindle ** Spindle
@ -1273,11 +1273,11 @@ The =sample= structure is saved.
:UNNUMBERED: t :UNNUMBERED: t
:END: :END:
#+begin_src matlab #+begin_src matlab
%% Axis Compensation - Rm %% Axis Compensation - Rm
t = [0, Ts]; t = [0, Ts];
Rm = [args.Rm_pos, args.Rm_pos]; Rm = [args.Rm_pos, args.Rm_pos];
Rm = struct('time', t, 'signals', struct('values', Rm)); Rm = struct('time', t, 'signals', struct('values', Rm));
#+end_src #+end_src
** Nano Hexapod ** Nano Hexapod
@ -1285,18 +1285,18 @@ The =sample= structure is saved.
:UNNUMBERED: t :UNNUMBERED: t
:END: :END:
#+begin_src matlab #+begin_src matlab
%% Nano-Hexapod %% Nano-Hexapod
t = [0, Ts]; t = [0, Ts];
Dn = zeros(length(t), 6); Dn = zeros(length(t), 6);
switch args.Dn_type switch args.Dn_type
case 'constant' case 'constant'
Dn = [args.Dn_pos, args.Dn_pos]; Dn = [args.Dn_pos, args.Dn_pos];
otherwise otherwise
warning('Dn_type is not set correctly'); warning('Dn_type is not set correctly');
end end
Dn = struct('time', t, 'signals', struct('values', Dn)); Dn = struct('time', t, 'signals', struct('values', Dn));
#+end_src #+end_src
** Save ** Save