2018-06-12 11:46:36 +02:00
|
|
|
%%
|
|
|
|
run init_sim_configuration.m
|
|
|
|
run init_data.m
|
|
|
|
|
2018-06-07 18:27:02 +02:00
|
|
|
%%
|
|
|
|
time_vector = 0:Ts:Tsim;
|
|
|
|
|
2018-06-12 11:46:36 +02:00
|
|
|
%% Set point [m, rad]
|
|
|
|
setpoint = zeros(length(time_vector), 6);
|
|
|
|
|
2018-06-13 09:37:20 +02:00
|
|
|
% setpoint(ceil(10/Ts):end, 2) = 1e-6; % Step of 1 micro-meter in y direction
|
2018-06-12 11:46:36 +02:00
|
|
|
|
|
|
|
r_setpoint = timeseries(setpoint, time_vector);
|
|
|
|
|
2018-06-07 18:27:02 +02:00
|
|
|
%% Ground motion
|
2018-06-12 11:46:36 +02:00
|
|
|
xg = zeros(length(time_vector), 3);
|
2018-06-07 18:27:02 +02:00
|
|
|
|
|
|
|
% Wxg = 1e-5*(s/(2e2)^(1/3) + 2*pi*0.1)^3/(s + 2*pi*0.1)^3;
|
|
|
|
% Wxg = Wxg*(s/(0.5e6)^(1/3) + 2*pi*10)^3/(s + 2*pi*10)^3;
|
|
|
|
% Wxg = Wxg/(1+s/(2*pi*2000));
|
|
|
|
%
|
|
|
|
% xg = 1/sqrt(2)*100*random('norm', 0, 1, length(time_vector), 3);
|
|
|
|
% xg(:, 1) = lsim(Wxg, xg(:, 1), time_vector);
|
|
|
|
% xg(:, 2) = lsim(Wxg, xg(:, 2), time_vector);
|
|
|
|
% xg(:, 3) = lsim(Wxg, xg(:, 3), time_vector);
|
2018-06-12 11:46:36 +02:00
|
|
|
|
|
|
|
r_Gm = timeseries(xg, time_vector);
|
|
|
|
|
2018-06-07 18:27:02 +02:00
|
|
|
% figure;
|
|
|
|
% plot(r_Gm)
|
|
|
|
|
2018-06-12 13:20:44 +02:00
|
|
|
%% Translation stage [m]
|
2018-06-13 09:37:20 +02:00
|
|
|
ty = zeros(length(time_vector), 1);
|
|
|
|
|
|
|
|
r_Ty = timeseries(ty, time_vector);
|
2018-06-07 18:27:02 +02:00
|
|
|
|
2018-06-12 13:36:00 +02:00
|
|
|
%% Tilt Stage [rad]
|
2018-06-13 09:37:20 +02:00
|
|
|
r_tilt = zeros(length(time_vector), 1);
|
2018-06-07 18:27:02 +02:00
|
|
|
|
2018-06-13 09:37:20 +02:00
|
|
|
% r_tilt = 3*(2*pi/360)*sin(2*pi*0.2*time_vector);
|
2018-06-12 13:36:00 +02:00
|
|
|
|
|
|
|
r_My = timeseries(r_tilt, time_vector);
|
|
|
|
|
|
|
|
%% Spindle [rad]
|
2018-06-13 09:37:20 +02:00
|
|
|
r_spindle = zeros(length(time_vector), 1);
|
2018-06-07 18:27:02 +02:00
|
|
|
|
2018-06-13 09:37:20 +02:00
|
|
|
% r_spindle = 2*pi*0.5*time_vector;
|
2018-06-12 13:20:44 +02:00
|
|
|
|
|
|
|
r_Mz = timeseries(r_spindle, time_vector);
|
2018-06-07 18:27:02 +02:00
|
|
|
|
|
|
|
%% Micro Hexapod
|
2018-06-13 09:37:20 +02:00
|
|
|
u_hexa = zeros(length(time_vector), 6);
|
|
|
|
|
|
|
|
r_u_hexa = timeseries(u_hexa, time_vector);
|
2018-06-07 18:27:02 +02:00
|
|
|
|
|
|
|
%% Center of gravity compensation
|
2018-06-13 09:37:20 +02:00
|
|
|
mass = zeros(length(time_vector), 2);
|
|
|
|
|
|
|
|
r_mass = timeseries(mass, time_vector);
|
2018-06-07 18:27:02 +02:00
|
|
|
|
|
|
|
%% Nano Hexapod
|
2018-06-13 09:37:20 +02:00
|
|
|
n_hexa = zeros(length(time_vector), 6);
|
|
|
|
|
|
|
|
r_n_hexa = timeseries(n_hexa, time_vector);
|
2018-06-07 18:27:02 +02:00
|
|
|
|
|
|
|
%%
|
2018-06-13 09:37:20 +02:00
|
|
|
save('./mat/inputs_setpoint.mat', 'r_setpoint', 'r_Gm', 'r_Ty', 'r_My', 'r_Mz', 'r_u_hexa', 'r_mass', 'r_n_hexa');
|