14 KiB
14 KiB
Tomography Experiment
Introduction ignore
Simscape Model
The simulink file to do tomography experiments is sim_nano_station_tomo.slx
.
open('experiment_tomography/matlab/sim_nano_station_tomo.slx')
We load the shared simulink configuration and we set a small StopTime
.
load('mat/conf_simscape.mat');
set_param(conf_simscape, 'StopTime', '10');
We first initialize all the stages.
initializeGround();
initializeGranite();
initializeTy();
initializeRy();
initializeRz();
initializeMicroHexapod();
initializeAxisc();
initializeMirror();
initializeNanoHexapod(struct('actuator', 'piezo'));
initializeSample(struct('mass', 1));
We initialize the reference path for all the stages. All stage is set to its zero position except the Spindle which is rotating at 60rpm.
initializeReferences(struct('Rz_type', 'rotating', 'Rz_period', 1));
Tomography Experiment with no disturbances
And we initialize the disturbances to zero.
opts = struct(...
'Dwx', false, ... % Ground Motion - X direction
'Dwy', false, ... % Ground Motion - Y direction
'Dwz', false, ... % Ground Motion - Z direction
'Fty_x', false, ... % Translation Stage - X direction
'Fty_z', false, ... % Translation Stage - Z direction
'Frz_z', false ... % Spindle - Z direction
);
initDisturbances(opts);
sim('sim_nano_station_tomo')
Dsm_without_dist = Dsm;
figure;
hold on;
plot(Dsm_without_dist.x.Time, Dsm_without_dist.x.Data, 'DisplayName', 'x')
plot(Dsm_without_dist.y.Time, Dsm_without_dist.y.Data, 'DisplayName', 'y')
plot(Dsm_without_dist.z.Time, Dsm_without_dist.z.Data, 'DisplayName', 'z')
hold off;
xlim([2, inf]);
legend('location', 'northeast');
<<plt-matlab>>
Rotations. Think of the good way to plot these rotations with respect to time.
With Perturbations
opts = struct(...
'Dwx', true, ... % Ground Motion - X direction
'Dwy', true, ... % Ground Motion - Y direction
'Dwz', true, ... % Ground Motion - Z direction
'Fty_x', true, ... % Translation Stage - X direction
'Fty_z', true, ... % Translation Stage - Z direction
'Frz_z', true ... % Spindle - Z direction
);
initDisturbances(opts);
sim('sim_nano_station_tomo')
figure;
hold on;
plot(Dsm.x.Time, Dsm.x.Data, 'DisplayName', 'x')
plot(Dsm.y.Time, Dsm.y.Data, 'DisplayName', 'y')
plot(Dsm.z.Time, Dsm.z.Data, 'DisplayName', 'z')
hold off;
xlim([2, inf]);
legend('location', 'northeast');
<<plt-matlab>>