nass-simscape/experiment_tomography/index.org

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>>
/tdehaeze/nass-simscape/media/commit/b4180fedede70e8cb85841c8ecf3b9a212704cbf/experiment_tomography/figs/exp_tomo_without_dist_trans.png
X-Y-Z translation of the sample w.r.t. granite when performing tomography experiment with no disturbances (png, pdf)

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>>
/tdehaeze/nass-simscape/media/commit/b4180fedede70e8cb85841c8ecf3b9a212704cbf/experiment_tomography/figs/exp_tomo_dist_trans.png
X-Y-Z translation of the sample w.r.t. the granite when performing tomography experiment with disturbances (png, pdf)