nass-report-2020/index.org

648 lines
28 KiB
Org Mode
Raw Normal View History

2020-04-24 10:06:14 +02:00
#+TITLE: Design of the Nano-Hexapod and associated Control Architectures - Summary
:DRAWER:
#+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./index.html
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
#+HTML_HEAD: <script src="./js/jquery.min.js"></script>
#+HTML_HEAD: <script src="./js/bootstrap.min.js"></script>
#+HTML_HEAD: <script src="./js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script src="./js/readtheorg.js"></script>
#+STARTUP: overview
#+DATE: 04-2020
#+LATEX_CLASS: cleanreport
#+LATEX_CLASS_OPTIONS: [conf, hangsection, secbreak]
#+LATEX_HEADER: \newcommand{\authorFirstName}{Thomas}
#+LATEX_HEADER: \newcommand{\authorLastName}{Dehaeze}
#+LATEX_HEADER: \newcommand{\authorEmail}{dehaeze.thomas@gmail.com}
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/tikz/org/}{config.tex}")
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
#+PROPERTY: header-args:latex+ :results file raw replace
#+PROPERTY: header-args:latex+ :buffer no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports results
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END:
* 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.
2020-04-24 11:53:11 +02:00
To understand the design challenges of such system, a short introduction to Feedback control is provided in Section [[sec:feedback_introduction]].
2020-04-24 10:06:14 +02:00
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:
- the micro-station dynamics (Section [[sec:micro_station_dynamics]])
- the frequency content of the important source of disturbances in play such as vibration of stages and ground motion (Section [[sec:identification_disturbances]])
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]]).
2020-04-24 11:53:11 +02:00
* Introduction to Feedback Systems and Noise budgeting
<<sec:feedback_introduction>>
2020-04-24 18:46:49 +02:00
In this section, we first introduce some basics of *feedback systems* (Section [[sec:feedback]]).
2020-04-24 11:53:11 +02:00
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
2020-04-24 10:06:14 +02:00
<<sec:feedback>>
2020-04-24 11:53:11 +02:00
*** Introduction :ignore:
2020-04-24 18:46:49 +02:00
The use of feedback control as several advantages and pitfalls that are listed below (taken from cite:schmidt14_desig_high_perfor_mechat_revis_edition):
- *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
- *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 induce positioning errors
- *Can introduce instability*:
Feedback control can destabilize a stable plant.
Thus the /robustness/ properties of the feedback system must be carefully guaranteed
*** Simplified Feedback Control Diagram for the NASS
2020-04-24 11:53:11 +02:00
Let's consider the block diagram shown in Figure [[fig:classical_feedback_small]] where the signals are:
2020-04-24 18:46:49 +02:00
- $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
2020-04-24 11:53:11 +02:00
And the dynamical blocks are:
2020-04-24 18:46:49 +02:00
- $G$: representing the dynamics from forces/torques applied by the nano-hexapod to the relative position sample/granite $y$
- $G_d$: representing how the disturbances (e.g. ground motion) are affecting the relative position sample/granite $y$
- $K$: representing the controller (to be designed)
2020-04-24 10:06:14 +02:00
#+begin_src latex :file classical_feedback_small.pdf
\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}
#+end_src
#+name: fig:classical_feedback_small
2020-04-24 11:53:11 +02:00
#+caption: Block Diagram of a simple feedback system
2020-04-24 10:06:14 +02:00
#+RESULTS:
[[file:figs/classical_feedback_small.png]]
2020-04-24 18:46:49 +02:00
Without the use of feedback (i.e. nano-hexapod), the disturbances will induce a sample motion error equal to:
\begin{equation}
y = G_d d \label{eq:open_loop_error}
\end{equation}
which is out of the specifications (micro-meter range compare to the required $\approx 10nm$).
2020-04-24 11:53:11 +02:00
2020-04-24 18:46:49 +02:00
In the next section, we see how the use of the feedback system permits to lower the effect of the disturbances $d$ on the sample motion error.
2020-04-24 10:06:14 +02:00
2020-04-24 18:46:49 +02:00
*** How does the feedback loop is modifying the system behavior?
If we write down the position error signal $\epsilon = r - y$ as a function of the reference signal $r$, the disturbances $d$ and the measurement noise $n$ (using the feedback diagram in Figure [[fig:classical_feedback_small]]), we obtain:
2020-04-24 10:06:14 +02:00
\[ \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}
2020-04-24 18:46:49 +02:00
where $S$ is called the sensibility transfer function and $T$ the transmissibility transfer function.
2020-04-24 10:06:14 +02:00
2020-04-24 18:46:49 +02:00
And the position error can be rewritten as:
\begin{equation}
\epsilon = S r + T n - G_d S d \label{eq:closed_loop_error}
\end{equation}
2020-04-24 11:53:11 +02:00
2020-04-24 10:06:14 +02:00
2020-04-24 18:46:49 +02:00
From Eq. eqref:eq:closed_loop_error representing the closed-loop system behavior, we can see that:
- the effect of disturbances $d$ on $\epsilon$ is multiplied by a factor $S$ compared to the open-loop case
- the measurement noise $n$ is injected and multiplied by a factor $T$
Ideally, we would like to design the controller $K$ such that:
- $|S|$ is small to limit the effect of disturbances
- $|T|$ is small to limit the injection of sensor noise
As shown in the next section, there is a trade-off between the disturbance reduction and the noise injection.
*** Trade off: Disturbance Reduction / Noise Injection
We have from the definition of $S$ and $T$ that:
\begin{equation}
S + T = \frac{1}{1 + GK} + \frac{GK}{1 + GK} = 1
\end{equation}
meaning that we cannot have $|S|$ and $|T|$ small at the same time.
2020-04-24 10:06:14 +02:00
2020-04-24 18:46:49 +02:00
There is therefore a *trade-off between the disturbance rejection and the measurement noise filtering*.
2020-04-24 10:06:14 +02:00
2020-04-24 18:46:49 +02:00
Typical shapes of $|S|$ and $|T|$ as a function of frequency are shown in Figure [[fig:h-infinity-2-blocs-constrains]].
We can observe that $|S|$ and $|T|$ exhibit different behaviors depending on the frequency band:
- *At low frequency* (inside the control bandwidth):
- $|S|$ can be made small and thus the effect of disturbances is reduced
- $|T| \approx 1$ and all the sensor noise is transmitted
- *At high frequency* (outside the control bandwidth):
- $|S| \approx 1$ and the feedback system does not reduce the effect of disturbances
- $|T|$ is small and thus the sensor noise is filtered
- *Near the crossover frequency* (between the two frequency bands):
- The effect of disturbances is increased
2020-04-24 10:06:14 +02:00
#+begin_src latex :file h-infinity-2-blocs-constrains.pdf
\begin{tikzpicture}
\begin{scope}[shift={(0, 0)}]
2020-04-24 18:46:49 +02:00
\draw[dashed, fill=white] (-0.5, -3.4) rectangle (5.5, 1.4);
2020-04-24 10:06:14 +02:00
\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);
2020-04-24 18:46:49 +02:00
\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);
\draw[<->] (-0.2, -2.8) -- node[midway, below, align=center]{\footnotesize Low Freq. } (1.8, -2.8);
\draw[<->] (1.8, -2.8) -- node[midway, below, align=center]{\footnotesize Cross Over} (3.2, -2.8);
\draw[<->] (3.2, -2.8) -- node[midway, below, align=center]{\footnotesize High Freq.} (5.2, -2.8);
2020-04-24 10:06:14 +02:00
\end{scope}
\begin{scope}[shift={(6.4, 0)}]
2020-04-24 18:46:49 +02:00
\draw[dashed, fill=white] (-0.5, -3.4) rectangle (5.5, 1.4);
2020-04-24 10:06:14 +02:00
\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);
2020-04-24 18:46:49 +02:00
\draw[<->] (-0.2, -2.8) -- node[midway, below, align=center]{\footnotesize Low Freq. } (1.8, -2.8);
\draw[<->] (1.8, -2.8) -- node[midway, below, align=center]{\footnotesize Cross Over} (3.2, -2.8);
\draw[<->] (3.2, -2.8) -- node[midway, below, align=center]{\footnotesize High Freq.} (5.2, -2.8);
2020-04-24 10:06:14 +02:00
\end{scope}
\end{tikzpicture}
#+end_src
#+name: fig:h-infinity-2-blocs-constrains
2020-04-24 18:46:49 +02:00
#+caption: Typical shapes and constrain of the Sensibility and Transmibility closed-loop transfer functions
2020-04-24 10:06:14 +02:00
#+RESULTS:
[[file:figs/h-infinity-2-blocs-constrains.png]]
2020-04-24 18:46:49 +02:00
*** Trade off: Robustness / Performance
<<sec:perf_robust_tradeoff>>
As shown in the previous section, the effect of disturbances is reduced /inside/ the control bandwidth.
2020-04-24 10:06:14 +02:00
2020-04-24 18:46:49 +02:00
Moreover, the slope of $|S(j\omega)|$ is limited for stability reasons (not explained here), and therefore a large control bandwidth is required to obtain sufficient disturbance rejection at lower frequencies (where the disturbances have large effects).
2020-04-24 11:53:11 +02:00
2020-04-24 18:46:49 +02:00
The next important question is *what effects do limit the attainable control bandwidth?*
2020-04-24 11:53:11 +02:00
2020-04-24 18:46:49 +02:00
The main issue it that for stability reasons, *the behavior of the mechanical system must be known with only small uncertainty in the vicinity of the crossover frequency*.
For mechanical systems, this generally means that control bandwidth should take place before any appearing of flexible dynamics (Right part of Figure [[fig:oomen18_next_gen_loop_gain]]).
2020-04-24 11:53:11 +02:00
#+name: fig:oomen18_next_gen_loop_gain
#+caption: 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
[[file:figs/oomen18_next_gen_loop_gain.png]]
2020-04-24 18:46:49 +02:00
This also means that *any possible change in the system should have a small impact on the system dynamics in the vicinity of the crossover*.
For the NASS, the possible changes in the system are:
- a modification of the payload mass and dynamics
- a change of experimental condition: spindle's rotation speed, position of each micro-station's stage
- a change in the micro-station dynamics (change of mechanical elements, aging effect, ...)
2020-04-24 11:53:11 +02:00
2020-04-24 18:46:49 +02:00
The nano-hexapod and the control architecture have to be developed such that the feedback system remains stable and exhibit acceptable performance for all these possible changes in the system.
2020-04-24 11:53:11 +02:00
2020-04-24 18:46:49 +02:00
This problem of *robustness* represent one of the main challenge for the design of the NASS.
2020-04-24 11:53:11 +02:00
2020-04-24 18:46:49 +02:00
# High performance mechatronics systems (e.g. Wafer stages, or Atomic Force Microscopes) are usually developed in such a way that their mechanical behavior is extremely well known up to high frequency and such that the experimental conditions are usually be carefully controlled.
2020-04-24 11:53:11 +02:00
** Dynamic error budgeting
<<sec:noise_budget>>
2020-04-24 10:06:14 +02:00
*** Introduction :ignore:
2020-04-24 18:46:49 +02:00
The dynamic error budgeting is a powerful tool to study the effect of multiple error sources and to see how the feedback system does reduce the effect
2020-04-24 10:06:14 +02:00
2020-04-24 18:46:49 +02:00
To understand how to use and understand it, the Power Spectral Density and the Cumulative Power Spectrum are first introduced.
Then, is shown how does multiple error sources are combined and modified by dynamical systems.
2020-04-24 10:06:14 +02:00
2020-04-24 18:46:49 +02:00
Finally,
2020-04-24 10:06:14 +02:00
2020-04-24 18:46:49 +02:00
*** Power Spectral Density
The *Power Spectral Density* (PSD) $S_{xx}(f)$ of the time domain signal $x(t)$ is defined as the Fourier transform of the autocorrelation function:
\[ S_{xx}(\omega) = \int_{-\infty}^{\infty} R_{xx}(\tau) e^{-j \omega \tau} d\tau \ \frac{[\text{unit of } x]^2}{\text{Hz}} \]
The PSD $S_{xx}(\omega)$ represents the *distribution of the (average) signal power over frequency*.
2020-04-24 10:06:14 +02:00
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}
2020-04-24 18:46:49 +02:00
x_{\text{rms}} = \sqrt{\int_{0}^{\infty} S_{xx}(\omega) d\omega}
2020-04-24 10:06:14 +02:00
\end{equation}
2020-04-24 18:46:49 +02:00
One can also integrate the infinitesimal power $S_{xx}(\omega)d\omega$ over a finite frequency band to obtain the power of the signal $x$ in that frequency band:
2020-04-24 10:06:14 +02:00
\begin{equation}
2020-04-24 18:46:49 +02:00
P_{f_1,f_2} = \int_{f_1}^{f_2} S_{xx}(\omega) d\omega \quad [\text{unit of } x]^2
2020-04-24 10:06:14 +02:00
\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}
2020-04-24 18:46:49 +02:00
CPS_x(f) = \int_0^f S_{xx}(\nu) d\nu \quad [\text{unit of } x]^2
2020-04-24 10:06:14 +02:00
\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}
2020-04-24 18:46:49 +02:00
CPS_x(f) = \int_f^\infty S_{xx}(\nu) d\nu \quad [\text{unit of } x]^2
2020-04-24 10:06:14 +02:00
\end{equation}
And thus $CPS_x(f)$ represents the power in the signal $x$ for frequencies above $f$.
2020-04-24 18:46:49 +02:00
The Cumulative Power Spectrum will be used to determine in which frequency band the effect of disturbances should be reduced, and thus the approximate required control bandwidth.
2020-04-24 10:06:14 +02:00
*** 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_src latex :file psd_lti_system.pdf
\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}
#+end_src
#+NAME: fig:psd_lti_system
2020-04-24 18:46:49 +02:00
#+CAPTION: LTI dynamical system $G(s)$ with input signal $u$ and output signal $y$
2020-04-24 10:06:14 +02:00
#+RESULTS:
[[file: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
2020-04-24 18:46:49 +02:00
Let's consider a signal $y$ that is the sum of two *uncorrelated* signals $u$ and $v$ (Figure [[fig:psd_sum]]).
2020-04-24 10:06:14 +02:00
2020-04-24 18:46:49 +02:00
We have that the PSD of $y$ is equal to sum of the PSD and $u$ and the PSD of $v$ (can be easily shown from the definition of the PSD):
2020-04-24 10:06:14 +02:00
\[ S_{yy} = S_{uu} + S_{vv} \]
#+begin_src latex :file psd_sum.pdf
\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}
#+end_src
2020-04-24 18:46:49 +02:00
#+name: fig:psd_sum
#+caption: $y$ as the sum of two signals $u$ and $v$
2020-04-24 10:06:14 +02:00
#+RESULTS:
[[file:figs/psd_sum.png]]
*** Dynamic Noise Budgeting
2020-04-24 18:46:49 +02:00
Let's consider the Feedback architecture in Figure [[fig:classical_feedback_small]] where the position error $\epsilon$ is equal to:
2020-04-24 10:06:14 +02:00
\[ \epsilon = S r + T n - G_d S d \]
2020-04-24 18:46:49 +02:00
If we suppose that the signals $r$, $n$ and $d$ are *uncorrelated* (which is a good approximation in our case), the PSD of $\epsilon$ is:
2020-04-24 10:06:14 +02:00
\[ 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) \]
2020-04-24 18:46:49 +02:00
And we can compute the RMS value of the residual motion using:
2020-04-24 10:06:14 +02:00
\begin{align*}
\epsilon_\text{rms} &= \sqrt{ \int_0^\infty S_{\epsilon\epsilon}(\omega) d\omega} \\
2020-04-24 18:46:49 +02:00
&= \sqrt{ \int_0^\infty \Big( |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) \Big) d\omega }
2020-04-24 10:06:14 +02:00
\end{align*}
2020-04-24 18:46:49 +02:00
To estimate the PSD of the position error $\epsilon$ and thus the RMS residual motion (in closed-loop), we need to determine:
2020-04-24 10:06:14 +02:00
- The Power Spectral Densities of the signals affecting the system:
2020-04-24 18:46:49 +02:00
- $S_{dd}$: disturbances, this will be done in Section [[sec:identification_disturbances]]
- $S_{nn}$: sensor noise, this can be estimated from the sensor data-sheet
- $S_{rr}$: which is a deterministic signal that we choose. For simple tomography experiment, we can consider that it is equal to $0$
- The dynamics of the complete system comprising the micro-station and the nano-hexapod: $G$, $G_d$.
To do so, we need to identify the dynamics of the micro-station (Section [[sec:micro_station_dynamics]]), include this dynamics in a model (Section [[sec:multi_body_model]]) and add a model of the nano-hexapod to the model (Section [[sec:nano_hexapod_design]])
- The controller $K$ that will be designed in Section [[sec:robust_control_architecture]]
2020-04-24 10:06:14 +02:00
* 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).
#+name: fig:accelerometers_ty_overview
#+caption: Figure caption
[[file:figs/accelerometers_ty_overview.jpg]]
#+name: fig:hammer_z
#+caption: Figure caption
[[file:figs/hammer_z.gif]]
** Results
From the measurements, we obtain
- Reduction of the
- solid body assumption
- verification of the assumption => ok
#+name: fig:mode1
#+caption: Figure caption
[[file:figs/mode1.gif]]
#+name: fig:mode6
#+caption: Figure caption
[[file:figs/mode6.gif]]
** 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
#+name: fig:dist_effect_relative_motion
#+caption: Amplitude Spectral Density fo the motion error due to disturbances
[[file:figs/dist_effect_relative_motion.png]]
#+name: fig:dist_effect_relative_motion_cas
#+caption: Cumulative Amplitude Spectrum of the motion error due to disturbances
[[file:figs/dist_effect_relative_motion_cas.png]]
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:
https://tdehaeze.github.io/nass-simscape/
Multi-Body model
** 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
#+name: fig:identification_comp_top_stages
#+caption: Figure caption
[[file:figs/identification_comp_top_stages.png]]
** 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.
#+name: fig:control-schematic-nass
#+caption: Figure caption
[[file:figs/control-schematic-nass.png]]
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]]
#+name: fig:exp_scans_rz_dist
#+caption: Position error of the Sample with respect to the granite during a Tomography Experiment with included disturbances
[[file:figs/exp_scans_rz_dist.png]]
** Conclusion
#+begin_important
Possible to study many effects.
Extraction of transfer function like $G$ and $G_d$.
Simulation of experiments to validate performance.
#+end_important
* 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:
- Effect of Support Compliance: https://tdehaeze.github.io/nass-simscape/uncertainty_support.html
- Effect of Payload Dynamics: https://tdehaeze.github.io/nass-simscape/uncertainty_payload.html
- Effect of experimental condition (micro-station pose, spindle rotation): https://tdehaeze.github.io/nass-simscape/uncertainty_experiment.html
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:
- https://tdehaeze.github.io/nass-simscape/uncertainty_optimal_stiffness.html
#+begin_conclusion
#+end_conclusion
The main performance limitation are payload variability
#+begin_question
Main problem: heavy samples with small stiffness.
The first resonance frequency of the sample will limit the performance.
#+end_question
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
#+begin_conclusion
#+end_conclusion
** 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>>
** Introduction :ignore:
https://tdehaeze.github.io/nass-simscape/optimal_stiffness_control.html
** 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
2020-04-24 11:53:11 +02:00
* Further notes
Soft granite
2020-04-24 18:46:49 +02:00
Sensible to detector motion?
Common metrology frame for the nano-focusing optics and the measurement of the sample position?
Cable forces?
2020-04-24 11:53:11 +02:00
2020-04-24 18:46:49 +02:00
Slip-Ring noise?