nass-report-2020/index.org

23 KiB

Design of the Nano-Hexapod and associated Control Architectures - Summary

Introduction   ignore

The overall objective is to design a nano-hexapod an the associated control architecture that allows the stabilization of samples down to $\approx 10nm$ in presence of disturbances and system variability.

To understand the design challenges of such system, a short introduction to Feedback control is provided in Section sec:feedback_introduction. The mathematical tools (Power Spectral Density, Noise Budgeting, …) that will be used throughout this study are also introduced.

To be able to develop both the nano-hexapod and the control architecture in an optimal way, we need a good estimation of:

We then develop a model of the system that must represent all the important physical effects in play. Such model is presented in Section sec:multi_body_model.

A modular model of the nano-hexapod is then included in the system. The effects of the nano-hexapod characteristics on the dynamics are then studied. Based on that, an optimal choice of the nano-hexapod stiffness is made (Section sec:nano_hexapod_design).

Finally, using the optimally designed nano-hexapod, a robust control architecture is developed. Simulations are performed to show that this design gives acceptable performance and the required robustness (Section sec:robust_control_architecture).

Introduction to Feedback Systems and Noise budgeting

<<sec:feedback_introduction>>

In this section, we first introduce some basics of feedback systems (Section sec:feedback). This should highlight the challenges in terms of combined performance and robustness.

In Section sec:noise_budget is introduced the dynamic error budgeting which is a powerful tool that allows to derive the total error in a dynamic system from multiple disturbance sources. This tool will be widely used throughout this study to both predict the performances and identify the effects that do limit the performances.

Feedback System

<<sec:feedback>>

Introduction   ignore

From cite:schmidt14_desig_high_perfor_mechat_revis_edition:

Feedback control has the following advantages:

  • Reduction of the effect of disturbances: Disturbances affecting the sample vibrations are observed by the sensor signal, and therefore the feedback controller can compensate for them
  • Handling of uncertainties: Feedback controlled systems can also be designed for robustness, which means that the stability and performance requirements are guaranteed even for parameter variation of the controller mechatronics system

But it also has some pitfalls:

  • Limited reaction speed: A feedback controller reacts on the difference between the reference signal (wanted motion) and the measurement (actual motion), which means that the error has to occur first before the controller can correct for it. The limited reaction speed means that the controller will be able to compensate the positioning errors only in some frequency band, called the controller bandwidth
  • Feedback of noise: By closing the loop, the sensor noise is also fed back and will introduce positioning errors
  • Can introduce instability: Feedback control can destabilize a stable plant. Thus the robustness properties of the feedback system must be carefully guaranteed

Introduction to Feedback Control

Let's consider the block diagram shown in Figure fig:classical_feedback_small where the signals are:

  • $y$ the relative position of the sample with respect to the granite (the quantity we wish to control)
  • $d$ the disturbances affecting $y$ (ground motion, vibration of stages)
  • $n$ the noise of the sensor measuring $y$
  • $r$ the reference signal, corresponding to the wanted $y$
  • $\epsilon = r - y$ the position error

And the dynamical blocks are:

  • $G$ representing the dynamics from forces/torques applied by the nano-hexapod to the relative position sample/granite $y$
  • $G_d$ representing the dynamics from the disturbances (e.g. ground motion) to the relative position sample/granite $y$
  • $K$ representing the controller to be designed
  \begin{tikzpicture}
    \node[addb={+}{}{}{}{-}] (addfb) at (0, 0){};
    \node[block, right=0.6 of addfb] (K){$K$};
    \node[block, right=0.6 of K] (G){$G$};
    \node[addb={+}{}{}{}{}, right=0.6 of G] (adddy){};
    \node[addb={+}{}{}{}{}, below right=0.6 and 0.6 of adddy] (addn) {};
    \node[block, above=0.7 of adddy] (Gd){$G_d$};

    \draw[<-] (addfb.west) -- ++(-0.6, 0) node[above right]{$r$};
    \draw[->] (addfb.east) -- (K.west);
    \draw[->] (K.east) -- (G.west) node[above left]{$u$};
    \draw[->] (G.east) -- (adddy.west);
    \draw[<-] (addn.east) -- ++(0.6, 0) coordinate[](endpos) node[above left]{$n$};
    \draw[->] (adddy.east) -- (G-|endpos) node[above left]{$y$};
    \draw[->] (adddy-|addn) node[branch]{} -- (addn.north);
    \draw[->] (addn.west) -| (addfb.south) node[below right]{$y_m$};
    \draw[<-] (adddy.north) -- (Gd.south);
    \draw[<-] (Gd.north) -- ++(0, 0.7) node[below right]{$d$};
  \end{tikzpicture}

/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/classical_feedback_small.png

Block Diagram of a simple feedback system

How does the feedback loop is modifying the system behavior?

\[ \epsilon = \frac{1}{1 + GK} r + \frac{GK}{1 + GK} n - \frac{G_d}{1 + GK} d \]

We usually note:

\begin{align} S &= \frac{1}{1 + GK} \\ T &= \frac{GK}{1 + GK} \end{align}

$S$ is called the sensibility transfer function and $T$ the transmissibility transfer function. We can easily see that \[ S + T = 1 \] and thus, we cannot have $S$ and $T$ small at the same time.

And we have: \[ \epsilon = S r + T n - G_d S d \]

Thus, we usually want $|S|$ small such that the effect of disturbances are reduced down to acceptable levels and such that the system is able to follow the change of reference with only small tracking errors.

However, when $|S|$ is small, $|T| \approx 1$ and all the sensor noise is transmitted to the position error.

  \begin{tikzpicture}
    \begin{scope}[shift={(0, 0)}]
      \draw[dashed, fill=white] (-0.5, -2.7) rectangle (5.5, 1.4);
      \draw[] (2.5, 1.0) node[]{$\left| S(j\omega) \right|$};
      \draw[fill=blue!20] (-0.2, -2.5) rectangle (1.4, 0.5);
      \draw[] (0.6, -0.5) node[]{$\sim \left| GK \right|^{-1}$};
      \draw[fill=red!20] (3.6, -2.5) rectangle (5.2, 0.5);
      \draw[] (4.5, -0.5) node[]{$\sim 1$};
      \draw[fill=red!20] (2.5, 0.15) circle (0.15);
      \draw[dashed] (-0.4, 0) -- (5.4, 0);
      \draw [] (0,-2) to[out=45,in=180+45] (2,0) to[out=45,in=180] (2.5,0.3) to[out=0,in=180] (3.5,0) to[out=0,in=180] (5, 0);
    \end{scope}

    \begin{scope}[shift={(6.4, 0)}]
      \draw[dashed, fill=white] (-0.5, -2.7) rectangle (5.5, 1.4);
      \draw[] (2.5, 1.0) node[]{$\left| T(j\omega) \right|$};
      \draw[fill=red!20] (-0.2, -2.5) rectangle (1.4, 0.5);
      \draw[] (0.6, -0.5) node[]{$\sim 1$};
      \draw[fill=blue!20] (3.6, -2.5) rectangle (5.2, 0.5);
      \draw[] (4.5, -0.5) node[]{$\sim \left| GK \right|$};
      \draw[fill=red!20] (2.5, 0.15) circle (0.15);
      \draw[dashed] (-0.4, 0) -- (5.4, 0);
      \draw [] (0,0) to[out=0,in=180] (1.5,0) to[out=0,in=180] (2.5,0.3) to[out=0,in=-45] (3,0) to[out=-45,in=180-45] (5, -2);
    \end{scope}
  \end{tikzpicture}

/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/h-infinity-2-blocs-constrains.png

Typical shape and constrain of the Sensibility and Transmibility closed-loop transfer functions

The nano-hexapod characteristics will change both $G$ and $G_d$.

Sensibility Transfer Function and Control Bandwidth

When applying feedback in a system, it is much more convenient to look at things in the frequency domain.

We will generally decrease the effect of the disturbances

The bandwidth is the consequence of the wanted disturbance rejection at some lower frequency

Trade off Robustness / Performance

<<sec:perf_robust_tradeoff>> If we want high level of performance, the experimental conditions should be carefully controlled.

/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/oomen18_next_gen_loop_gain.png
Envisaged developments in motion systems. In traditional motion systems, the control bandwidth takes place in the rigid-body region. In the next generation systemes, flexible dynamics are foreseen to occur within the control bandwidth. cite:oomen18_advan_motion_contr_precis_mechat

Limitation of feedback control:

  • bandwidth is limited at a frequency where the behavior of the system is not known

Predictible system.

For instance, ASML, everything is calibrated (wafer, some size, mass, etc…)

Here, the main difficulty is that we want a very high performance system that is robust to change of:

  • Micro Station Configuration: position of the stages, change of on stage
  • Payload mass and dynamics
  • Spindle's rotation speed

Dynamic error budgeting

<<sec:noise_budget>>

Introduction   ignore

Power Spectral Density

The Power Spectral Density (PSD) $S_{xx}(f)$ of the time domain $x(t)$ (in $[m]$) can be computed using the following equation: \[ S_{xx}(f) = \frac{1}{f_s} \sum_{m=-\infty}^{\infty} R_{xx}(m) e^{-j 2 \pi m f / f_s} \ \left[\frac{m^2}{\text{Hz}}\right] \] where

  • $f_s$ is the sampling frequency in $[Hz]$
  • $R_{xx}$ is the autocorrelation

The PSD $S_{xx}(f)$ represents the distribution of the (average) signal power over frequency.

Thus, the total power in the signal can be obtained by integrating these infinitesimal contributions, the Root Mean Square (RMS) value of the signal $x(t)$ is then:

\begin{equation} x_{\text{rms}} = \sqrt{\int_{0}^{\infty} S_{xx}(f) df} \ [m,\text{rms}] \end{equation}

One can also integrate the infinitesimal power $S_{xx}(f)df$ over a finite frequency band to obtain the power of the signal $x$ in that frequency band:

\begin{equation} P_{f_1,f_2} = \int_{f_1}^{f_2} S_{xx}(f) df \quad [m^2] \end{equation}

Cumulative Power Spectrum

The Cumulative Power Spectrum is the cumulative integral of the Power Spectral Density starting from $0\ \text{Hz}$ with increasing frequency:

\begin{equation} CPS_x(f) = \int_0^f S_{xx}(\nu) d\nu \quad [\text{unit}^2] \end{equation}

The Cumulative Power Spectrum taken at frequency $f$ thus represent the power in the signal in the frequency band $0$ to $f$.

An alternative definition of the Cumulative Power Spectrum can be used where the PSD is integrated from $f$ to $\infty$:

\begin{equation} CPS_x(f) = \int_f^\infty S_{xx}(\nu) d\nu \quad [\text{unit}^2] \end{equation}

And thus $CPS_x(f)$ represents the power in the signal $x$ for frequencies above $f$.

The Cumulative Power Spectrum can be used to determine in which frequency band the effect of disturbances should be reduced and the approximated required control bandwidth in order to obtained some specified vibration amplitude.

Modification of a signal's PSD when going through an LTI system

Let's consider a signal $u$ with a PSD $S_{uu}$ going through a LTI system $G(s)$ that outputs a signal $y$ with a PSD (Figure fig:psd_lti_system).

  \begin{tikzpicture}
    \node[block] (G) at (0, 0) {$G(s)$};

    \draw[<-] (G.west) -- node[midway, above]{$u$} ++(-1.4, 0);
    \draw[->] (G.east) -- node[midway, above]{$y$} ++(1.4, 0);
  \end{tikzpicture}

/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/psd_lti_system.png

The Power Spectral Density of the output signal $y$ can be computed using:

\begin{equation} S_{yy}(\omega) = \left|G(j\omega)\right|^2 S_{uu}(\omega) \end{equation}

PSD of combined signals

Let's consider a signal $y$ that is the sum of two uncorrelated signals $u$ and $v$.

We have that the PSD of $y$ is equal to sum of the PSD and $u$ and the PSD of $v$: \[ S_{yy} = S_{uu} + S_{vv} \]

  \begin{tikzpicture}
    \node[addb] (addb) at (0, 0) {};

    \draw[<-] (addb.north west) -- ++(-0.5,  0.5) -- node[midway, above]{$u$} ++(-1.4, 0);
    \draw[<-] (addb.south west) -- ++(-0.5, -0.5) -- node[midway, above]{$v$} ++(-1.4, 0);

    \draw[->] (addb.east) -- node[midway, above]{$y$} ++(1.4, 0);
  \end{tikzpicture}

/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/psd_sum.png

Dynamic Noise Budgeting

Let's consider the Feedback architecture,

The position error $\epsilon$ is equal to: \[ \epsilon = S r + T n - G_d S d \]

If we suppose that the signals $r$, $n$ and $d$ are uncorrelated, the PSD of $\epsilon$ is: \[ S_{\epsilon \epsilon}(\omega) = |S(j\omega)|^2 S_{rr}(\omega) + |T(j\omega)|^2 S_{nn}(\omega) + |G_d(j\omega) S(j\omega)|^2 S_{dd}(\omega) \]

And the RMS residual motion is equal to:

\begin{align*} \epsilon_\text{rms} &= \sqrt{ \int_0^\infty S_{\epsilon\epsilon}(\omega) d\omega} \\ &= \sqrt{ \int_0^\infty |S(j\omega)|^2 S_{rr}(\omega) + |T(j\omega)|^2 S_{nn}(\omega) + |G_d(j\omega) S(j\omega)|^2 S_{dd}(\omega) d\omega } \end{align*}

To estimate the PSD of the position error $\epsilon$ and thus the RMS residual motion, we need:

  • The Power Spectral Densities of the signals affecting the system:

    • $S_{rr}$
    • $S_{nn}$
    • $S_{dd}$
  • The dynamics of the system $G$, $G_d$ and the controller $K$ (or alternatively $S$, $T$ and $G_d$)

Identification of the Micro-Station Dynamics

<<sec:micro_station_dynamics>>

Introduction   ignore

https://tdehaeze.github.io/meas-analysis/

Modal Analysis: https://tdehaeze.github.io/meas-analysis/modal-analysis/index.html

The obtained dynamics will allows us to compare the dynamics of the model.

Setup

In order to perform to Modal Analysis and to obtain first a response model, the following devices were used:

  • An acquisition system (OROS) with 24bits ADCs
  • 3 tri-axis Accelerometers
  • An Instrumented Hammer

The measurement thus consists of:

  • Exciting the structure at the same location with the Hammer (Figure fig:hammer_z)
  • Move the accelerometers to measure all the DOF of the structure. The position of the accelerometers are:

    • 4 on the first granite
    • 4 on the second granite
    • 4 on top of the translation stage (figure fig:accelerometers_ty_overview)
    • 4 on top of the tilt stage
    • 3 on top of the spindle
    • 4 on top of the hexapod

In total, 69 degrees of freedom are measured (23 tri axis accelerometers).

/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/accelerometers_ty_overview.jpg
Figure caption
/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/hammer_z.gif
Figure caption

Results

From the measurements, we obtain

  • Reduction of the
  • solid body assumption
  • verification of the assumption => ok
/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/mode1.gif
Figure caption
/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/mode6.gif
Figure caption

Conclusion

The reduction of the number of degrees of freedom from 69 (23 accelerometers with each 3DOF) to 36 (6 solid bodies with 6 DOF) seems to work well.

This confirms the fact that the stages are indeed behaving as a solid body in the frequency band of interest. This valid the fact that a multi-body model can be used to represent the dynamics of the micro-station.

Identification of the Disturbances

<<sec:identification_disturbances>>

Introduction   ignore

https://tdehaeze.github.io/meas-analysis/

Open Loop Noise budget: https://tdehaeze.github.io/nass-simscape/disturbances.html

Static Guiding errors:

  • measured at the PEL
  • low frequency errors, will thus be compensated

The problem are on the high frequency disturbances

Ground Motion

<<sec:ground_motion>>

Stage Vibration - Effect of Control systems

<<sec:stage_vibration_control>>

Control system of each stage has been tested https://tdehaeze.github.io/meas-analysis/disturbance-control-system/index.html https://tdehaeze.github.io/meas-analysis/2018-10-15%20-%20Marc/index.html

25Hz vertical motion when the Spindle is turned on (even when not rotating).

Stage Vibration - Effect of Motion

<<sec:stage_vibration_motion>>

We consider:

  • The rotation of the Spindle
  • The translation of the Translation Stage

Sum of all disturbances

/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/dist_effect_relative_motion.png
Amplitude Spectral Density fo the motion error due to disturbances
/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/dist_effect_relative_motion_cas.png
Cumulative Amplitude Spectrum of the motion error due to disturbances

Expected required bandwidth

Better measurement of the effect of disturbances

Here, the measurement were made with inertial sensors. However, we are interested in the relative motion of the sample with respect to the granite and not the absolute motion.

The best measurement of the disturbances would be to have the metrology already functioning.

We could perform a measurement using the X-ray.

Detector Requirement:

  • Sample frequency above $400Hz$
  • Resolution of $\approx 20nm$

Conclusion

Multi Body Model

<<sec:multi_body_model>>

Introduction   ignore

Validity of the model

The mass/inertia of each stage is automatically computed from the geometry and the density of the materials.

The stiffness of each joint is first set to measured values or stiffness from data sheets.

Then, the values of the stiffness and damping of each joint is manually tuned until the obtained dynamics is sufficiently close to the measured dynamics.

We could, from the measurement, automatically extract the stiffness and damping values, we this would have required a lot of work and having a perfect match is not required here.

Comparison model - measurements : https://tdehaeze.github.io/nass-simscape/identification.html

/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/identification_comp_top_stages.png
Figure caption

Wanted position of the sample and position error

From the reference position of each stage, we can compute the wanted pose of the sample with respect to the granite. This is done with multiple transformation matrices.

Then, from the measurement of the metrology corresponding to the position of the sample with respect to the granite, we can compute the position error of the sample expressed in a frame fixed to the nano-hexapod.

/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/control-schematic-nass.png
Figure caption

Measurement of the sample's position - conversion of positioning error in the frame of the Nano-hexapod for control: https://tdehaeze.github.io/nass-simscape/positioning_error.html

Simulation of Experiments

Now that the

  • dynamics of the model is tuned
  • disturbances are included in the model

We can perform simulation of experiments.

https://tdehaeze.github.io/nass-simscape/experiments.html

fig:exp_scans_rz_dist

/tdehaeze/nass-report-2020/media/commit/f8177c0f48dfe9f6a9344b00742f6343b49d303c/figs/exp_scans_rz_dist.png
Position error of the Sample with respect to the granite during a Tomography Experiment with included disturbances

Conclusion

Possible to study many effects. Extraction of transfer function like $G$ and $G_d$.

Simulation of experiments to validate performance.

Optimal Nano-Hexapod Design

<<sec:nano_hexapod_design>>

Introduction   ignore

As explain before, the nano-hexapod properties (mass, stiffness, architecture, …) will influence:

  • the plant dynamics $G$
  • the effect of disturbances $G_d$

We which here to choose the nano-hexapod properties such that:

  • has an easy
  • minimize the
  • minimize $|G_d|$

Optimal Stiffness to reduce the effect of disturbances

Optimal Stiffness

The goal is to design a system that is robust.

Thus, we have to identify the sources of uncertainty and try to minimize them.

Uncertainty in the system can be caused by:

All these uncertainty will limit the maximum attainable bandwidth.

Fortunately, the nano-hexapod stiffness have an influence on the dynamical uncertainty induced by the above effects.

Determination of the optimal stiffness based on all the effects:

The main performance limitation are payload variability

Main problem: heavy samples with small stiffness. The first resonance frequency of the sample will limit the performance.

The nano-hexapod stiffness will also change the sensibility to disturbances.

Effect of Nano-hexapod stiffness on the Sensibility to disturbances: https://tdehaeze.github.io/nass-simscape/optimal_stiffness_disturbances.html

Sensors to be included

Ways to damp:

  • Force Sensor
  • Relative Velocity Sensors
  • Inertial Sensor

https://tdehaeze.github.io/rotating-frame/index.html

Sensors to be included:

Robust Control Architecture

<<sec:robust_control_architecture>>

Simulation of Tomography Experiments

<<sec:tomography_experiment>>

  • Make several animations

    • One of a tomography experiment where we see all the station rotating
    • A zoom on at the nano-meter level to see how the wanted position is moving

Conclusion

Further notes

Soft granite

nano-focusing lenses

Detector