UP | HOME

# Identification of the disturbances

## Table of Contents

- 1. Identification
- 2. Sensitivity to Disturbances
- 3. Power Spectral Density of the effect of the disturbances
- 4. Compute the Power Spectral Density of the disturbance force
- 5. Noise Budget
- 6. Approximation
- 7. Save

The goal here is to extract the Power Spectral Density of the sources of perturbation.

The sources of perturbations are (schematically shown in figure 1):

- \(D_w\): Ground Motion
- Parasitic forces applied in the system when scanning with the Translation Stage and the Spindle (\(F_{rz}\) and \(F_{ty}\)). These forces can be due to imperfect guiding for instance.

Because we cannot measure directly the perturbation forces, we have the measure the effect of those perturbations on the system (in terms of velocity for instance using geophones, \(D\) on figure 1) and then, using a model, compute the forces that induced such velocity.

Figure 1: Schematic of the Micro Station and the sources of disturbance

This file is divided in the following sections:

- Section 1: transfer functions from the disturbance forces to the relative velocity of the hexapod with respect to the granite are computed using the Simscape Model representing the experimental setup
- Section 2: the bode plot of those transfer functions are shown
- Section 3: the measured PSD of the effect of the disturbances are shown
- Section 4: from the model and the measured PSD, the PSD of the disturbance forces are computed
- Section 5: with the computed PSD, the noise budget of the system is done

## 1 Identification

The transfer functions from the disturbance forces to the relative velocity of the hexapod with respect to the granite are computed using the Simscape Model representing the experimental setup with the code below.

    %% Options for Linearized
    options = linearizeOptions;
    options.SampleTime = 0;

    %% Name of the Simulink File
    mdl = 'sim_micro_station_disturbances';

    %% Micro-Hexapod
    % Input/Output definition
    io(1)  = linio([mdl, '/Dw'],   1, 'input');  % Ground Motion
    io(2)  = linio([mdl, '/Fty'], 1, 'input');  % Parasitic force Ty
    io(3)  = linio([mdl, '/Frz'], 1, 'input');  % Parasitic force Rz
    io(4)  = linio([mdl, '/Dgm'],  1, 'output'); % Absolute motion - Granite
    io(5)  = linio([mdl, '/Dhm'],  1, 'output'); % Absolute Motion - Hexapod
    io(6)  = linio([mdl, '/Vm'],   1, 'output'); % Relative Velocity hexapod/granite

    % Run the linearization
    G = linearize(mdl, io, 0);

    % Input/Output names
    G.InputName  = {'Dw', 'Fty', 'Frz'};
    G.OutputName = {'Dgm', 'Dhm', 'Vm'};

## 2 Sensitivity to Disturbances

Figure 2: Sensitivity to Ground Motion (png, pdf)

Figure 3: Sensitivity to vertical forces applied by the Ty stage (png, pdf)

Figure 4: Sensitivity to vertical forces applied by the Rz stage (png, pdf)

## 3 Power Spectral Density of the effect of the disturbances

The PSD of the relative velocity between the hexapod and the marble in \([(m/s)^2/Hz]\) are loaded for the following sources of disturbance:

- Slip Ring Rotation
- Scan of the translation stage (effect in the vertical direction and in the horizontal direction)

Also, the Ground Motion is measured.

    gm  = load('./disturbances/mat/psd_gm.mat', 'f', 'psd_gm', 'psd_gv');
    rz  = load('./disturbances/mat/pxsp_r.mat', 'f', 'pxsp_r');
    tyz = load('./disturbances/mat/pxz_ty_r.mat', 'f', 'pxz_ty_r');
    tyx = load('./disturbances/mat/pxe_ty_r.mat', 'f', 'pxe_ty_r');

We now compute the relative velocity between the hexapod and the granite due to ground motion.

    gm.psd_rv = gm.psd_gm.*abs(squeeze(freqresp(G('Vm', 'Dw'), gm.f, 'Hz'))).^2;

The Power Spectral Density of the relative motion/velocity of the hexapod with respect to the granite are shown in figures 5 and 6.

The Cumulative Amplitude Spectrum of the relative motion is shown in figure 7.

Figure 5: Amplitude Spectral Density of the relative velocity of the hexapod with respect to the granite due to different sources of perturbation (png, pdf)

Figure 6: Amplitude Spectral Density of the relative displacement of the hexapod with respect to the granite due to different sources of perturbation (png, pdf)

Figure 7: Cumulative Amplitude Spectrum of the relative motion due to different sources of perturbation (png, pdf)

## 4 Compute the Power Spectral Density of the disturbance force

Now, from the extracted transfer functions from the disturbance force to the relative motion of the hexapod with respect to the granite (section 2) and from the measured PSD of the relative motion (section 3), we can compute the PSD of the disturbance force.

    rz.psd_f  = rz.pxsp_r./abs(squeeze(freqresp(G('Vm', 'Frz'), rz.f, 'Hz'))).^2;
    tyz.psd_f = tyz.pxz_ty_r./abs(squeeze(freqresp(G('Vm', 'Fty'), tyz.f, 'Hz'))).^2;

Figure 8: Amplitude Spectral Density of the disturbance force (png, pdf)

## 5 Noise Budget

Now, from the compute spectral density of the disturbance sources, we can compute the resulting relative motion of the Hexapod with respect to the granite using the model. We should verify that this is coherent with the measurements.

Figure 9: Computed Effect of the disturbances on the relative displacement hexapod/granite (png, pdf)

Figure 10: CAS of the total Relative Displacement due to all considered sources of perturbation (png, pdf)

## 6 Approximation

We approximate the PSD of the disturbance with the following transfer functions.

    G_ty = 0.1*(s+634.3)*(s+283.7)/((s+2*pi)*(s+2*pi));
    G_rz = 0.5*(s+418.8)*(s+36.51)*(s^2 + 110.9*s + 3.375e04)/((s+0.7324)*(s+0.546)*(s^2 + 0.6462*s + 2.391e04));
    G_gm = 0.002*(s^2 + 3.169*s + 27.74)/(s*(s+32.73)*(s+8.829)*(s+7.983)^2);

We compute the effect of these approximate disturbances on \(D\).

Figure 11: Estimated spectral density of the disturbances (png, pdf)

Figure 12: Comparison of the CAS of the disturbances with the approximate ones (png, pdf)

## 7 Save

The PSD of the disturbance force are now saved for further noise budgeting when control is applied (the mat file is accessible here).

    dist_f = struct();

    dist_f.f = gm.f; % Frequency Vector [Hz]

    dist_f.psd_gm = gm.psd_gm; % Power Spectral Density of the Ground Motion [m^2/Hz]
    dist_f.psd_ty = tyz.psd_f; % Power Spectral Density of the force induced by the Ty stage in the Z direction [N^2/Hz]
    dist_f.psd_rz = rz.psd_f; % Power Spectral Density of the force induced by the Rz stage in the Z direction [N^2/Hz]

    dist_f.G_gm = G_ty;
    dist_f.G_ty = G_rz;
    dist_f.G_rz = G_gm;

    save('./disturbances/mat/dist_psd.mat', 'dist_f');

Author: Dehaeze Thomas

Created: 2019-11-22 ven. 15:42

Validate