nass-simscape/org/optimal_stiffness_control.org

65 KiB

Control of the NASS with optimal stiffness

Introduction   ignore

Low Authority Control - Decentralized Direct Velocity Feedback

<<sec:lac_dvf>>

Introduction   ignore

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/control_architecture_dvf.png

Low Authority Control: Decentralized Direct Velocity Feedback

Initialization

  initializeGround();
  initializeGranite();
  initializeTy();
  initializeRy();
  initializeRz();
  initializeMicroHexapod();
  initializeAxisc();
  initializeMirror();

  initializeSimscapeConfiguration();
  initializeDisturbances('enable', false);
  initializeLoggingConfiguration('log', 'none');

  initializeController('type', 'hac-dvf');

We set the stiffness of the payload fixation:

  Kp = 1e8; % [N/m]

Identification

  K = tf(zeros(6));
  Kdvf = tf(zeros(6));

We identify the system for the following payload masses:

  Ms = [1, 10, 50];

The nano-hexapod has the following leg's stiffness and damping.

  initializeNanoHexapod('k', 1e5, 'c', 2e2);

Controller Design

The obtain dynamics from actuators forces $\tau_i$ to the relative motion of the legs $d\mathcal{L}_i$ is shown in Figure fig:opt_stiff_dvf_plant for the three considered payload masses.

The Root Locus is shown in Figure fig:opt_stiff_dvf_root_locus and wee see that we have unconditional stability.

In order to choose the gain such that we obtain good damping for all the three payload masses, we plot the damping ration of the modes as a function of the gain for all three payload masses in Figure fig:opt_stiff_dvf_damping_gain.

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_dvf_plant.png

Dynamics for the Direct Velocity Feedback active damping for three payload masses

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_dvf_root_locus.png

Root Locus for the DVF control for three payload masses

Damping as function of the gain

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_dvf_damping_gain.png

Damping ratio of the poles as a function of the DVF gain

Finally, we use the following controller for the Decentralized Direct Velocity Feedback:

  Kdvf = 5e3*s/(1+s/2/pi/1e3)*eye(6);

Effect of the Low Authority Control on the Primary Plant

Introduction   ignore

Let's identify the dynamics from actuator forces $\bm{\tau}$ to displacement as measured by the metrology $\bm{\mathcal{X}}$: \[ \bm{G}(s) = \frac{\bm{\mathcal{X}}}{\bm{\tau}} \] We do so both when the DVF is applied and when it is not applied.

Then, we compute the transfer function from forces applied by the actuators $\bm{\mathcal{F}}$ to the measured position error in the frame of the nano-hexapod $\bm{\epsilon}_{\mathcal{X}_n}$: \[ \bm{G}_\mathcal{X}(s) = \frac{\bm{\epsilon}_{\mathcal{X}_n}}{\bm{\mathcal{F}}} = \bm{G}(s) \bm{J}^{-T} \] The obtained dynamics is shown in Figure fig:opt_stiff_primary_plant_damped_X.

A zero with a positive real part is introduced in the transfer function from $\mathcal{F}_y$ to $\mathcal{X}_y$ after Decentralized Direct Velocity Feedback is applied.

And we compute the transfer function from actuator forces $\bm{\tau}$ to position error of each leg $\bm{\epsilon}_\mathcal{L}$: \[ \bm{G}_\mathcal{L} = \frac{\bm{\epsilon}_\mathcal{L}}{\bm{\tau}} = \bm{J} \bm{G}(s) \] The obtained dynamics is shown in Figure fig:opt_stiff_primary_plant_damped_L.

Identification of the undamped plant   ignore

Identification of the damped plant   ignore

Effect of the Damping on the plant diagonal dynamics   ignore

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_primary_plant_damped_X.png

Primary plant in the task space with (dashed) and without (solid) Direct Velocity Feedback

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_primary_plant_damped_L.png

Primary plant in the space of the legs with (dashed) and without (solid) Direct Velocity Feedback

Effect of the Damping on the coupling dynamics   ignore

The coupling (off diagonal elements) of $\bm{G}_\mathcal{X}$ are shown in Figure fig:opt_stiff_primary_plant_damped_coupling_X both when DVF is applied and when it is not.

The coupling does not change a lot with DVF.

The coupling in the space of the legs $\bm{G}_\mathcal{L}$ are shown in Figure fig:opt_stiff_primary_plant_damped_coupling_L.

The magnitude of the coupling between $\tau_i$ and $d\mathcal{L}_j$ (Figure fig:opt_stiff_primary_plant_damped_coupling_L) around the resonance of the nano-hexapod (where the coupling is the highest) is considerably reduced when DVF is applied.

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_primary_plant_damped_coupling_X.png

Coupling in the primary plant in the task with (dashed) and without (solid) Direct Velocity Feedback

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_primary_plant_damped_coupling_L.png

Coupling in the primary plant in the space of the legs with (dashed) and without (solid) Direct Velocity Feedback

Effect of the Low Authority Control on the Sensibility to Disturbances

Introduction   ignore

We may now see how Decentralized Direct Velocity Feedback changes the sensibility to disturbances, namely:

  • Ground motion
  • Spindle and Translation stage vibrations
  • Direct forces applied to the sample

To simplify the analysis, we here only consider the vertical direction, thus, we will look at the transfer functions:

  • from vertical ground motion $D_{w,z}$ to the vertical position error of the sample $E_z$
  • from vertical vibration forces of the spindle $F_{R_z,z}$ to $E_z$
  • from vertical vibration forces of the translation stage $F_{T_y,z}$ to $E_z$
  • from vertical direct forces (such as cable forces) $F_{d,z}$ to $E_z$

The norm of these transfer functions are shown in Figure fig:opt_stiff_sensibility_dist_dvf.

Identification   ignore

Results   ignore

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_sensibility_dist_dvf.png

Norm of the transfer function from vertical disturbances to vertical position error with (dashed) and without (solid) Direct Velocity Feedback applied

Conclusion   ignore

Decentralized Direct Velocity Feedback is shown to increase the effect of stages vibrations at high frequency and to reduce the effect of ground motion and direct forces at low frequency.

Conclusion

Primary Control in the leg space

<<sec:primary_control_L>>

Introduction   ignore

In this section we implement the control architecture shown in Figure fig:control_architecture_hac_dvf_pos_L consisting of:

  • an inner loop with a decentralized direct velocity feedback control
  • an outer loop where the controller $\bm{K}_\mathcal{L}$ is designed in the frame of the legs
/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/control_architecture_hac_dvf_pos_L.png
Cascade Control Architecture. The inner loop consist of a decentralized Direct Velocity Feedback. The outer loop consist of position control in the leg's space

The controller for decentralized direct velocity feedback is the one designed in Section sec:lac_dvf.

Plant in the leg space

We now look at the transfer function matrix from $\bm{\tau}^\prime$ to $\bm{\epsilon}_{\mathcal{X}_n}$ for the design of $\bm{K}_\mathcal{L}$.

The diagonal elements of the transfer function matrix from $\bm{\tau}^\prime$ to $\bm{\epsilon}_{\mathcal{X}_n}$ for the three considered masses are shown in Figure fig:opt_stiff_primary_plant_L.

The plant dynamics below $100\ [Hz]$ is only slightly dependent on the payload mass.

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_primary_plant_L.png

Diagonal elements of the transfer function matrix from $\bm{\tau}^\prime$ to $\bm{\epsilon}_{\mathcal{X}_n}$ for the three considered masses

Control in the leg space

We design a diagonal controller with all the same diagonal elements.

The requirements for the controller are:

  • Crossover frequency of around 100Hz
  • Stable for all the considered payload masses
  • Sufficient phase and gain margin
  • Integral action at low frequency

The design controller is as follows:

  • Lead centered around the crossover
  • An integrator below 10Hz
  • A low pass filter at 250Hz

The loop gain is shown in Figure fig:opt_stiff_primary_loop_gain_L.

  h = 2.0;
  Kl = 2e7 * eye(6) * ...
       1/h*(s/(2*pi*100/h) + 1)/(s/(2*pi*100*h) + 1) * ...
       1/h*(s/(2*pi*200/h) + 1)/(s/(2*pi*200*h) + 1) * ...
       (s/2/pi/10 + 1)/(s/2/pi/10) * ...
       1/(1 + s/2/pi/300);

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_primary_loop_gain_L.png

Loop gain for the primary plant

Finally, we include the Jacobian in the control and we ignore the measurement of the vertical rotation as for the real system.

  load('mat/stages.mat', 'nano_hexapod');
  K = Kl*nano_hexapod.kinematics.J*diag([1, 1, 1, 1, 1, 0]);

Sensibility to Disturbances and Noise Budget

Identification   ignore

We identify the transfer function from disturbances to the position error of the sample when the HAC-LAC control is applied.

Obtained Sensibility to Disturbances   ignore

We compare the norm of these transfer function for the vertical direction when no control is applied and when HAC-LAC control is applied: Figure fig:opt_stiff_primary_control_L_senbility_dist.

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_primary_control_L_senbility_dist.png

Sensibility to disturbances when the HAC-LAC control is applied

Noise Budgeting   ignore

Then, we load the Power Spectral Density of the perturbations and we look at the obtained PSD of the displacement error in the vertical direction due to the disturbances:

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_primary_control_L_psd_dist.png

Amplitude Spectral Density of the vertical position error of the sample when the HAC-DVF control is applied due to both the ground motion and spindle vibrations

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_primary_control_L_psd_tot.png

Amplitude Spectral Density of the vertical position error of the sample in Open-Loop and when the HAC-DVF control is applied

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_primary_control_L_cas_tot.png

Cumulative Amplitude Spectrum of the vertical position error of the sample in Open-Loop and when the HAC-DVF control is applied

Simulations of Tomography Experiment

Let's now simulate a tomography experiment. To do so, we include all disturbances except vibrations of the translation stage.

  initializeDisturbances();
  initializeSimscapeConfiguration('gravity', false);
  initializeLoggingConfiguration('log', 'all');

And we run the simulation for all three payload Masses.

Results

Let's now see how this controller performs.

First, we compute the Power Spectral Density of the sample's position error and we compare it with the open loop case in Figure fig:opt_stiff_hac_dvf_L_psd_disp_error.

Similarly, the Cumulative Amplitude Spectrum is shown in Figure fig:opt_stiff_hac_dvf_L_cas_disp_error.

Finally, the time domain position error signals are shown in Figure fig:opt_stiff_hac_dvf_L_pos_error.

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_hac_dvf_L_psd_disp_error.png

Amplitude Spectral Density of the position error in Open Loop and with the HAC-LAC controller

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_hac_dvf_L_cas_disp_error.png

Cumulative Amplitude Spectrum of the position error in Open Loop and with the HAC-LAC controller

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_hac_dvf_L_pos_error.png

Position Error of the sample during a tomography experiment when no control is applied and with the HAC-DVF control architecture

Actuator Stroke and Forces

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_hac_dvf_L_act_force.png

Force applied by the actuator during the simulation

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_hac_dvf_L_act_stroke.png

Leg's stroke during the simulation

Conclusion

Further More complex simulations

Introduction   ignore

Simulation with Micro-Hexapod Offset

Simulation

The micro-hexapod is inducing a 10mm offset of the sample center of mass with the rotation axis. A tomography experiment is then simulated.

  initializeDisturbances();
  initializeSimscapeConfiguration('gravity', false);
  initializeLoggingConfiguration('log', 'all');

  initializeSample('mass', 1, 'freq', 200);
  initializeMicroHexapod('AP', [10e-3 0 0]);
  initializeReferences('Rz_type', 'rotating', 'Rz_period', 1, ...
                       'Dh_pos', [10e-3; 0; 0; 0; 0; 0]);
  load('mat/conf_simulink.mat');
  set_param(conf_simulink, 'StopTime', '3');
  sim('nass_model');

Results

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_hac_dvf_Dh_offset_disp_error.png

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_hac_dvf_Dh_offset_F.png

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_hac_dvf_Dh_offset_dL.png

Simultaneous Translation scans and Spindle's rotation

Simulation

A simulation is now performed with translation scans and spindle rotation at the same time.

The sample has a mass of 1kg, the spindle rotation speed is 60rpm and the translation scans have a period of 4s and a triangular shape.

  initializeDisturbances();
  initializeSimscapeConfiguration('gravity', false);
  initializeLoggingConfiguration('log', 'all');

  initializeSample('mass', 1, 'freq', 200);
  initializeReferences('Rz_type', 'rotating', 'Rz_period', 1, ...
                       'Dy_type', 'triangular', 'Dy_amplitude', 5e-3, 'Dy_period', 4);

Results

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_hac_dvf_Dy_scans_disp_error.png

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_hac_dvf_Dy_scans_F.png

/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/opt_stiff_hac_dvf_Dy_scans_dL.png

Primary Control in the task space

<<sec:primary_control_X>>

Introduction   ignore

In this section, the control architecture shown in Figure fig:control_architecture_hac_dvf_pos_X is applied and consists of:

  • an inner Low Authority Control loop consisting of a decentralized direct velocity control controller
  • an outer loop with the primary controller $\bm{K}_\mathcal{X}$ designed in the task space
/tdehaeze/nass-simscape/media/commit/f6194333a6d182b009a28b038fa4682c1b545c26/org/figs/control_architecture_hac_dvf_pos_X.png
HAC-LAC architecture

Plant in the task space

Let's look $\bm{G}_\mathcal{X}(s)$.

Control in the task space

  Kx = tf(zeros(6));

  h = 2.5;
  Kx(1,1) = 3e7 * ...
            1/h*(s/(2*pi*100/h) + 1)/(s/(2*pi*100*h) + 1) * ...
            (s/2/pi/1 + 1)/(s/2/pi/1);

  Kx(2,2) = Kx(1,1);

  h = 2.5;
  Kx(3,3) = 3e7 * ...
            1/h*(s/(2*pi*100/h) + 1)/(s/(2*pi*100*h) + 1) * ...
            (s/2/pi/1 + 1)/(s/2/pi/1);
  h = 1.5;
  Kx(4,4) = 5e5 * ...
            1/h*(s/(2*pi*100/h) + 1)/(s/(2*pi*100*h) + 1) * ...
            (s/2/pi/1 + 1)/(s/2/pi/1);

  Kx(5,5) = Kx(4,4);

  h = 1.5;
  Kx(6,6) = 5e4 * ...
            1/h*(s/(2*pi*30/h) + 1)/(s/(2*pi*30*h) + 1) * ...
            (s/2/pi/1 + 1)/(s/2/pi/1);

Stability

  for i = 1:length(Ms)
      isstable(feedback(Gm_x{i}*Kx, eye(6), -1))
  end

Simulation

Conclusion