nass-report-2020/index.org

1305 lines
74 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: 05-2020
2020-04-24 10:06:14 +02:00
#+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:
In this document are gathered and summarized all the developments done for the design of the Nano Active Stabilization System.
This consists of a nano-hexapod and an associated control architecture that are used to stabilize samples down to the nano-meter level in presence of disturbances.
2020-04-24 10:06:14 +02:00
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 sources of disturbances such as vibrations induced by the micro-station's stages and ground motion (Section [[sec:identification_disturbances]])
2020-04-24 10:06:14 +02:00
A model of the micro-station is then developed and tuned using the previous estimations (Section [[sec:multi_body_model]]).
The nano-hexapod is further included in the model.
2020-04-24 10:06:14 +02:00
The effects of the nano-hexapod characteristics on the system dynamics are then studied.
2020-04-24 10:06:14 +02:00
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>>
** Introduction :ignore:
In this section, some basics of *feedback systems* are first introduced (Section [[sec:feedback]]).
This should highlight the challenges of the required combined performance and robustness.
2020-04-24 11:53:11 +02:00
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:
The use of Feedback control in a motion system required to use some sensors to monitor the actual status of the system and actuators to modifies this status.
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*:
2020-04-24 18:46:49 +02:00
- *Reduction of the effect of disturbances*:
Disturbances inducing vibrations are observed by the sensor signal, and therefore the feedback controller can compensate for them
2020-04-24 18:46:49 +02:00
- *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*:
2020-04-24 18:46:49 +02:00
- *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:
- $y$: the relative position of the sample with respect to the granite (the quantity to be controlled)
- $d$: the disturbances affecting $y$ (ground motion, stages' vibrations)
2020-04-24 18:46:49 +02:00
- $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
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]]
Without the use of feedback (i.e. without the nano-hexapod), the disturbances will induce a sample motion error equal to:
2020-04-24 18:46:49 +02:00
\begin{equation}
y = G_d d \label{eq:open_loop_error}
\end{equation}
which is, in the case of the NASS 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 *reduce the effect of disturbances*
- $|T|$ is small to *limit the injection of sensor noise*
2020-04-24 18:46:49 +02:00
*** 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
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 usually large effects).
2020-04-24 11:53:11 +02:00
The next important question is therefore *what limits the attainable control bandwidth?*
2020-04-24 11:53:11 +02:00
The main issue it that for stability reasons, *the system dynamics must be known with only small uncertainty in the vicinity of the crossover frequency*.
2020-04-24 18:46:49 +02:00
For mechanical systems, this generally means that the 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
The nano-hexapod and the control architecture have to be developed in such a way 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
** Dynamic error budgeting
<<sec:noise_budget>>
2020-04-24 10:06:14 +02:00
*** Introduction :ignore:
The dynamic error budgeting is a powerful tool to study the effects of multiple error sources (i.e. disturbances and measurement noise) and to predict how much these effects are reduced by a feedback system.
The dynamic error budgeting uses two important mathematical functions: the *Power Spectral Density* and the *Cumulative Power Spectrum*.
2020-04-24 10:06:14 +02:00
After these two functions are introduced (in Sections [[sec:psd]] and [[sec:cps]]), is shown how do multiple error sources are combined and modified by dynamical systems (in Section [[sec:psd_lti_system]] and [[sec:psd_combined_signals]]).
2020-04-24 10:06:14 +02:00
Finally, the dynamic noise budgeting for the NASS is derived in Section [[sec:dynamic_noise_budget]].
2020-04-24 10:06:14 +02:00
2020-04-24 18:46:49 +02:00
*** Power Spectral Density
<<sec:psd>>
2020-04-24 18:46:49 +02:00
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 \quad \frac{[\text{unit of } x]^2}{\text{Hz}} \]
2020-04-24 18:46:49 +02:00
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:
2020-04-24 10:06:14 +02:00
\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
<<sec:cps>>
2020-04-24 10:06:14 +02:00
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$.
The cumulative
2020-04-24 10:06:14 +02:00
The Cumulative Power Spectrum is generally shown as a function of frequency, and is used to determine at which frequencies the effect of disturbances must be reduced, and thus the approximate required control bandwidth.
*** Modification of a signal's PSD when going through a dynamical system
<<sec:psd_lti_system>>
2020-04-24 10:06:14 +02:00
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
<<sec:psd_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
<<sec:dynamic_noise_budget>>
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:
- The disturbances $S_{dd}$: this will be done in Section [[sec:identification_disturbances]]
- The sensor noise $S_{nn}$: this can be estimated from the sensor data-sheet
- The wanted sample's motion $S_{rr}$: this is a deterministic signal that we choose.
For a simple tomography experiment, we can consider that it is equal to $0$ as we only want to compensate all the sample's vibrations
2020-04-24 18:46:49 +02:00
- 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:
As explained before, it is very important to have a good estimation of the micro-station dynamics as it will be used:
- to tune the developed multi-body model of the micro-station with which the simulations will be performed
- for the design of the nano-hexapod as it will be coupled with the micro-station
- for the design of the controller
2020-04-27 14:47:37 +02:00
2020-04-24 10:06:14 +02:00
2020-04-27 11:50:08 +02:00
All the measurements performed on the micro-station are detailed in [[https://tdehaeze.github.io/meas-analysis/][this]] document and summarized in the following sections.
2020-04-24 10:06:14 +02:00
2020-04-27 14:47:37 +02:00
The general procedure to identify the dynamics of the micro-station is shown in Figure [[fig:vibration_analysis_procedure]].
The steps are:
1. extract a Response Model (Frequency Response Functions) from measurements
2. convert the Response Model into a Modal Model (Natural Frequencies and Mode Shapes)
3. extract a Spatial Model from the Modal Model (Mass/Damping/Stiffness matrices)
#+name: fig:vibration_analysis_procedure
#+caption: Vibration Analysis Procedure
[[file:figs/vibration_analysis_procedure.png]]
The extraction of the Spatial Model (3rd step) was not performed as it requires a lot of time and was not judge necessary.
Instead, the model will be tuned using both the modal model and the response model.
2020-04-27 14:47:37 +02:00
** Experimental Setup
2020-04-27 11:50:08 +02:00
<<sec:id_setup>>
2020-04-27 14:47:37 +02:00
To measure the dynamics of such complicated system, it as been chosen to perform a modal analysis.
2020-04-27 11:50:08 +02:00
2020-04-27 14:47:37 +02:00
To limit the number of degrees of freedom to be measured, we suppose that in the frequency range of interest (DC-300Hz), each of the positioning stage is behaving as a *solid body*.
Thus, to fully describe the dynamics of the station, we (only) need to measure 6 degrees of freedom for each positioning stage (that is 36 degrees of freedom for the 6 considered solid bodies).
2020-04-27 11:50:08 +02:00
In order to perform the modal analysis, the following devices were used:
- An acquisition system (OROS) with 24bits ADCs
- 3 tri-axis Accelerometers
- An Instrumented Hammer
2020-04-24 10:06:14 +02:00
The measurement consists of:
- Exciting the structure at the same location with the instrumented hammer (Figure [[fig:hammer_z]])
- Fix the accelerometers on each of the stages to measure all the DOF of the structure.
2020-04-24 10:06:14 +02:00
The position of the accelerometers are:
- 4 on the first granite
- 4 on the second granite
2020-04-29 15:23:52 +02:00
- 4 on top of the translation stage (Figure [[fig:accelerometers_ty_overview]])
2020-04-24 10:06:14 +02:00
- 4 on top of the tilt stage
- 3 on top of the spindle
- 4 on top of the hexapod
2020-04-27 14:47:37 +02:00
In total, 69 degrees of freedom are measured (23 tri axis accelerometers) which is more that what was required.
2020-04-24 10:06:14 +02:00
It was chosen to have some redundancy in the measurement to be able to verify the correctness of the solid-body assumption.
2020-04-24 10:06:14 +02:00
#+name: fig:hammer_z
2020-04-27 11:50:08 +02:00
#+caption: Example of one hammer impact
2020-04-24 10:06:14 +02:00
[[file:figs/hammer_z.gif]]
2020-04-27 11:50:08 +02:00
#+name: fig:accelerometers_ty_overview
#+caption: 3 tri axis accelerometers fixed to the translation stage
[[file:figs/accelerometers_ty_overview.jpg]]
2020-04-24 10:06:14 +02:00
** Results
2020-04-27 11:50:08 +02:00
<<sec:id_results>>
From the measurements are extracted all the transfer functions from forces applied at the location of the hammer impacts to the x-y-z acceleration of each solid body at the location of each accelerometer.
2020-04-24 10:06:14 +02:00
Modal shapes and natural frequencies are then computed.
Example of the obtained micro-station's mode shapes are shown in Figures [[fig:mode1]] and [[fig:mode6]].
2020-04-24 10:06:14 +02:00
#+name: fig:mode1
2020-04-27 14:47:37 +02:00
#+caption: First mode that shows a suspension mode, probably due to bad leveling of one Airloc
2020-04-24 10:06:14 +02:00
[[file:figs/mode1.gif]]
#+name: fig:mode6
2020-04-27 11:50:08 +02:00
#+caption: Sixth mode
2020-04-24 10:06:14 +02:00
[[file:figs/mode6.gif]]
2020-04-27 11:50:08 +02:00
We then reduce the number of degrees of freedom from 69 (23 accelerometers with each 3DOF) to 36 (6 solid bodies with 6 DOF).
From the reduced transfer function matrix, we can re-synthesize the response at the 69 measured degrees of freedom and we find that we have an exact match.
2020-04-27 14:47:37 +02:00
#+begin_important
This confirms the fact that the stages are indeed behaving as a solid body in the frequency band of interest.
This thus means that *a multi-body model can be used to correctly represent the dynamics of the micro-station*.
#+end_important
2020-04-27 14:47:37 +02:00
Many Frequency Response Functions (FRF) are obtained from the measurements.
Examples of FRF are shown in Figure [[fig:frf_all_bodies_one_direction]].
These FRF will be used to compare the dynamics of the multi-body model with the micro-station dynamics.
#+name: fig:frf_all_bodies_one_direction
#+caption: Frequency Response Function from forces applied by the Hammer in the X direction to the acceleration of each solid body in the X direction
[[file:figs/frf_all_bodies_one_direction.png]]
** Conclusion
#+begin_important
The dynamical measurements made on the micro-station confirmed the fact that a multi-body model is a good option to correctly represents the micro-station dynamics.
2020-04-27 14:47:37 +02:00
In Section [[sec:multi_body_model]], the obtained Frequency Response Functions will be used to compare the model dynamics with the micro-station dynamics.
#+end_important
2020-04-24 10:06:14 +02:00
* Identification of the Disturbances
<<sec:identification_disturbances>>
** Introduction :ignore:
In this section, all the disturbances affecting the system are identified and quantified.
2020-04-24 10:06:14 +02:00
Note that the low frequency disturbances such as static guiding errors and thermal effects are not much of interest here, because the frequency content of these errors will be located way inside the controller bandwidth and thus will be easily compensated by the nano-hexapod.
2020-04-24 10:06:14 +02:00
The main challenge is to reduce the disturbances containing high frequencies, and thus efforts are made to identify these high frequency disturbances such as:
- Ground motion (Section [[sec:ground_motion]])
- Vibration introduced by control systems (Section [[sec:stage_vibration_control]])
- Vibration introduced by the motion of the spindle and of the translation stage (Section [[sec:stage_vibration_motion]])
2020-04-24 10:06:14 +02:00
A noise budgeting is performed in Section [[sec:open_loop_noise_budget]], the vibrations induced by the disturbances are compared and the required control bandwidth is estimated.
2020-04-24 10:06:14 +02:00
The measurements are presented in more detail in [[https://tdehaeze.github.io/meas-analysis/][this]] document and the open loop noise budget is done in [[https://tdehaeze.github.io/nass-simscape/disturbances.html][this]] document.
2020-04-24 10:06:14 +02:00
** Ground Motion
<<sec:ground_motion>>
Ground motion can easily be estimated using an inertial sensor with sufficient sensitivity.
2020-04-27 11:50:08 +02:00
To verify that the inertial sensors are sensitive enough, a Huddle test has been performed (Figure [[fig:geophones]]).
The details of the Huddle Test can be found [[https://tdehaeze.github.io/meas-analysis/huddle-test-geophones/index.html][here]].
2020-04-27 11:50:08 +02:00
#+name: fig:geophones
#+caption: Huddle Test Setup
[[file:figs/geophones.jpg]]
The measured Power Spectral Density of the ground motion at the ID31 floor is compared with other measurements performed at ID09 and at CERN.
The low frequency differences between the ground motion at ID31 and ID09 is just due to the fact that for the later measurement, the low frequency sensitivity of the inertial sensor was not taken into account.
2020-04-24 10:06:14 +02:00
2020-04-27 11:50:08 +02:00
#+name: fig:ground_motion_compare
#+caption: Comparison of the PSD of the ground motion measured at different location
[[file:figs/ground_motion_compare.png]]
2020-04-24 10:06:14 +02:00
** Stage Vibration - Effect of Control systems
<<sec:stage_vibration_control>>
The effect of the control system of each micro-station's stage is identified.
2020-04-24 10:06:14 +02:00
To do so, one geophone is located at the sample's location which another is located on the granite.
The feedback loop of each stage is turned on and off, and the vibrations level of the sample with respect to the granite is measured.
Note that here no stage is performing motion, just the disturbances introduced by the feedback loops are identified.
2020-04-27 11:50:08 +02:00
It is shown that these local feedback loops have little influence on the sample's vibrations except the Spindle that introduced a sample's vertical motion at 25Hz.
2020-04-27 11:50:08 +02:00
Complete reports on these measurements are accessible [[https://tdehaeze.github.io/meas-analysis/2018-10-15%20-%20Marc/index.html][here]] and [[https://tdehaeze.github.io/meas-analysis/disturbance-control-system/index.html][here]].
2020-04-24 10:06:14 +02:00
** Stage Vibration - Effect of Motion
<<sec:stage_vibration_motion>>
*** Introduction :ignore:
We consider here the vibrations induced by *scans of the translation stage* and *rotation of the spindle*.
2020-04-27 11:50:08 +02:00
Details reports are accessible [[https://tdehaeze.github.io/meas-analysis/disturbance-ty/index.html][here]] for the translation stage and [[https://tdehaeze.github.io/meas-analysis/disturbance-sr-rz/index.html][here]] for the spindle/slip-ring.
*** Spindle and Slip-Ring
:PROPERTIES:
:UNNUMBERED: t
:END:
The setup for the measurement of vibrations induced by rotation of the Spindle and Slip-ring is shown in Figure [[fig:rz_meas_errors]].
#+name: fig:rz_meas_errors
#+caption: Measurement of the sample's vertical motion when rotating at 6rpm
[[file:figs/rz_meas_errors.gif]]
A geophone is fixed at the location of the sample and the motion is measured:
- without any rotation
- when rotating at 6rpm using only the slip-ring motor
2020-04-27 11:50:08 +02:00
- when rotating at 6rpm using the spindle motor synchronized with the slip-ring motor
The obtained Power Spectral Densities of the sample's absolute velocity are shown in Figure [[fig:sr_sp_psd_sample_compare]].
2020-04-27 11:50:08 +02:00
We can see that when using the Slip-ring motor to rotate the sample, only a little increase of the motion is observed above 100Hz.
However, when rotating with the Spindle (normal functioning mode):
- a very sharp peak at 23Hz is observed.
Its cause has not been identified yet
2020-04-27 11:50:08 +02:00
- a general large increase in motion above 30Hz
#+name: fig:sr_sp_psd_sample_compare
#+caption: Comparison of the ASD of the measured voltage from the Geophone at the sample location
[[file:figs/sr_sp_psd_sample_compare.png]]
#+begin_important
Some investigation should be performed to determine where does this 23Hz motion comes from and why such high frequency motion is introduced by the spindle's motor.
2020-04-27 11:50:08 +02:00
#+end_important
*** Translation Stage
:PROPERTIES:
:UNNUMBERED: t
:END:
The same setup is used: a geophone is located at the sample's location and another on the granite.
2020-04-27 11:50:08 +02:00
A 1Hz triangle motion with an amplitude of $\pm 2.5mm$ is sent to the translation stage (Figure [[fig:Figure_name]]), and the absolute velocities of the sample and the granite are measured.
2020-04-27 11:50:08 +02:00
2020-04-29 15:23:52 +02:00
#+name: fig:Figure_name
2020-04-27 11:50:08 +02:00
#+caption: Y position of the translation stage measured by the encoders
[[file:figs/ty_position_time.png]]
The time domain absolute vertical velocity of the sample and granite are shown in Figure [[fig:ty_z_time]].
It is shown that quite large motion of the granite is induced by the translation stage scans.
This could be a problem if this is shown to excite the metrology frame of the nano-focusing lens position stage.
#+name: fig:ty_z_time
#+caption: Vertical velocity of the sample and marble when scanning with the translation stage
[[file:figs/ty_z_time.png]]
The Amplitude Spectral Densities of the measured absolute velocities are shown in Figure [[fig:asd_z_direction]].
The ASD contains any peaks starting from 1Hz showing the large spectral content of the motion which is probably due to the triangular reference of the translation stage.
#+begin_important
A smoother motion for the translation stage (such as a sinus motion, of a filtered triangular signal) could help reducing much of the vibrations.
We should also note that away from the rapid change of velocity, the sample's vibrations are much reduced.
Thus, if the detector is only used in between the triangular peaks, the vibrations are expected to be much lower than those estimated.
#+end_important
2020-04-27 11:50:08 +02:00
#+name: fig:asd_z_direction
#+caption: Amplitude spectral density of the measure velocity corresponding to the geophone in the vertical direction located on the granite and at the sample location when the translation stage is scanning at 1Hz
[[file:figs/asd_z_direction.png]]
** Open Loop noise budgeting
<<sec:open_loop_noise_budget>>
2020-04-24 10:06:14 +02:00
2020-04-27 11:50:08 +02:00
We can now compare the effect of all the disturbance sources on the position error (relative motion of the sample with respect to the granite).
The Power Spectral Density of the motion error due to the ground motion, translation stage scans and spindle rotation are shown in Figure [[fig:dist_effect_relative_motion]].
We can see that the ground motion is quite small compare to the translation stage and spindle induced motions.
2020-04-24 10:06:14 +02:00
#+name: fig:dist_effect_relative_motion
#+caption: Amplitude Spectral Density fo the motion error due to disturbances
[[file:figs/dist_effect_relative_motion.png]]
2020-04-27 11:50:08 +02:00
The Cumulative Amplitude Spectrum is shown in Figure [[fig:dist_effect_relative_motion_cas]].
It is shown that the motion induced by translation stage scans and spindle rotation are in the micro-meter range for frequencies above 1Hz.
2020-04-24 10:06:14 +02:00
#+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]]
From Figure [[fig:dist_effect_relative_motion_cas]], required bandwidth can be estimated by seeing that $10\ nm [rms]$ motion is induced by the perturbations above 100Hz.
2020-04-24 10:06:14 +02:00
2020-04-27 11:50:08 +02:00
This means that if the controller compensate all the motion errors below 100Hz (ideal case), 10nm [rms] of motion will still remain.
2020-04-24 10:06:14 +02:00
From that, it can be concluded that control bandwidth will have to be around 100Hz.
2020-04-24 10:06:14 +02:00
2020-04-27 11:50:08 +02:00
** Better estimation of the disturbances
All the disturbance measurements were made with inertial sensors, and to obtain the relative motion sample/granite, two inertial sensors were used and the signals were subtracted.
2020-04-24 10:06:14 +02:00
This is not perfect as using only one geophone on the sample and one on the granite do not permit to separate translations and rotations.
2020-04-24 10:06:14 +02:00
An alternative could be to position a small calibrated sphere at the sample location and to use the X-ray to measure its motion while performing translation scans and spindle rotations.
2020-04-24 10:06:14 +02:00
The detector requirement would need to have a sample frequency above $400Hz$ and a resolution of $\approx 100nm$ (to be discussed).
2020-04-24 10:06:14 +02:00
** Conclusion
2020-04-27 14:47:37 +02:00
#+begin_important
Main disturbance sources have been identified (ground motion, vibrations of the translation stage and the spindle).
2020-04-27 11:50:08 +02:00
These disturbances will then be included in the multi-body model.
Other disturbance sources were not estimated such as cable forces and acoustic disturbances.
If heavy/stiff cables are to be fixed to the sample, this should be quantified and included in the model.
A better estimation of the disturbances would allow a more precise estimation the attainable performance.
2020-04-27 11:50:08 +02:00
This should however not change the conclusion of this study nor significantly change the nano-hexapod design.
2020-04-27 14:47:37 +02:00
#+end_important
2020-04-24 10:06:14 +02:00
* Multi Body Model
<<sec:multi_body_model>>
** Introduction :ignore:
2020-04-29 19:02:03 +02:00
As was shown during the modal analysis (Section [[sec:micro_station_dynamics]]), the micro-station behaves as multiple rigid bodies (granite, translation stage, tilt stage, spindle, hexapod) connected with some discrete flexibility (stiffnesses and dampers).
2020-04-24 10:06:14 +02:00
2020-04-29 19:02:03 +02:00
Thus, *a multi-body model is perfectly adapted to represent the dynamics of the micro-station*.
2020-04-24 10:06:14 +02:00
2020-04-29 19:02:03 +02:00
The Matlab's [[https://www.mathworks.com/products/simscape.html][Simscape]] toolbox is used to develop the multi-body model.
2020-04-27 16:45:01 +02:00
A small summary of the multi-body Simscape is available [[https://tdehaeze.github.io/nass-simscape/simscape.html][here]] and each of the modeled stage is described [[https://tdehaeze.github.io/nass-simscape/simscape_subsystems.html][here]].
2020-04-24 10:06:14 +02:00
2020-04-27 16:45:01 +02:00
** Multi-Body model
2020-04-29 19:02:03 +02:00
<<sec:multi_body_model_introduction>>
The parameters to tune the dynamics of the multi body are:
- the mass/moment of inertia of each of the solid bodies
- the 6 stiffnesses and 6 damping properties representing each of the the mechanical guiding between two solid bodies
2020-04-27 16:45:01 +02:00
The mass/inertia of each stage is automatically computed from the imported geometry and the material's density.
2020-04-24 10:06:14 +02:00
2020-04-29 19:02:03 +02:00
The stiffnesses between two solid bodies is first guessed from either measurements of data-sheets.
Then, the values of the stiffnesses and damping properties of each joint is manually tuned until the obtained dynamics is sufficiently close to the measured dynamics.
2020-04-24 10:06:14 +02:00
2020-04-27 16:45:01 +02:00
The 3D representation of the simscape model is shown in Figure [[fig:simscape_picture]].
2020-04-24 10:06:14 +02:00
2020-04-27 16:45:01 +02:00
#+name: fig:simscape_picture
#+caption: 3D representation of the simscape model
[[file:figs/simscape_picture.png]]
2020-04-24 10:06:14 +02:00
2020-04-27 16:45:01 +02:00
** Validity of the model's dynamics
2020-04-29 19:02:03 +02:00
<<sec:model_validity>>
Tuning the dynamics of such model is very difficult as there are more than 50 parameters to tune and many different dynamics to compare between the model and the measurements.
2020-04-27 16:45:01 +02:00
The comparison of three of the Frequency Response Functions are shown in Figure [[fig:identification_comp_top_stages]].
Most of the other measured FRFs and identified transfer functions from the multi-body model have the same level of matching.
We believe that the model is representing the micro-station dynamics with sufficient precision for the current analysis.
2020-04-24 10:06:14 +02:00
#+name: fig:identification_comp_top_stages
2020-04-27 16:45:01 +02:00
#+caption: Frequency Response function from Hammer force in the X,Y and Z directions to the X,Y and Z displacements of the micro-hexapod's top platform. The measurements are shown in blue and the Model in red.
2020-04-24 10:06:14 +02:00
[[file:figs/identification_comp_top_stages.png]]
2020-04-27 16:45:01 +02:00
More detailed comparison between the model and the measured dynamics is performed [[https://tdehaeze.github.io/nass-simscape/identification.html][here]].
2020-04-24 10:06:14 +02:00
2020-04-27 16:45:01 +02:00
Now that the multi-body model dynamics as been tuned, the following elements are included:
- Actuators to perform the motion of each stage (translation, tilt, spindle, hexapod)
- Sensors to measure the motion of each stage and the relative motion of the sample with respect to the granite (metrology system)
- Disturbances such as ground motion and stage's vibrations
Then, using the model, we can
- perform simulation of experiments in presence of disturbances
- measure the motion of the solid-bodies
2020-04-29 19:02:03 +02:00
- identify the dynamics from inputs (forces, imposed displacement) to outputs (measured motion, force sensor, etc.) which will be useful for the nano-hexapod design and the control synthesis
- include a multi-body model of the nano-hexapod and perform closed-loop simulations
2020-04-27 16:45:01 +02:00
** Wanted position of the sample and position error
2020-04-29 10:11:10 +02:00
<<sec:pos_error_nass>>
2020-04-29 19:02:03 +02:00
For the control of the nano-hexapod, the sample position error (the motion to be compensated) in the frame of the nano-hexapod needs to be computed.
2020-04-27 16:45:01 +02:00
2020-04-29 19:02:03 +02:00
To do so, several computations are performed (summarized in Figure [[fig:control-schematic-nass]]):
- First, the *wanted pose* (3 translations and 3 rotations) of the sample with respect to the granite is computed.
This is determined from the wanted motion of each micro-station stage: each wanted stage motion is represented by a homogeneous transformation matrix that are combined to give to total wanted motion of the sample with respect to the granite
- Then, the *actual pose* of the sample with respect to the granite is computed.
For the real system, this will require the use of several interferometers and computations to obtain the sample's pose from the individual measurements.
However, the pose of the sample with respect to the granite is directly measured using a special simscape block
- Finally, the wanted pose is compared with the measured pose to compute the *position error of the sample*.
2020-04-27 16:45:01 +02:00
This position error can be expressed in the frame of the granite, or in the frame of the (rotating) nano-hexapod.
2020-04-29 19:02:03 +02:00
Both computation are performed
2020-04-24 10:06:14 +02:00
#+name: fig:control-schematic-nass
#+caption: Figure caption
[[file:figs/control-schematic-nass.png]]
2020-04-27 16:45:01 +02:00
More details about these computations are accessible [[https://tdehaeze.github.io/nass-simscape/positioning_error.html][here]].
2020-04-24 10:06:14 +02:00
** Simulation of Experiments
<<sec:micro_station_simulation>>
2020-04-27 16:45:01 +02:00
2020-04-29 19:02:03 +02:00
Now that the dynamics of the model is tuned and the disturbances included in the model, simulations of experiments can be performed.
A first simulation is done with the nano-hexapod modeled as a rigid-body.
This does represent the system without the NASS and permits to estimate the sample's vibrations using the micro-station alone.
The results of this simulation will be compared to simulations using the NASS in Section [[sec:tomography_experiment]].
2020-04-24 10:06:14 +02:00
2020-04-29 19:02:03 +02:00
An 3D animation of the simulation is shown in Figure [[fig:open_loop_sim]].
A zoom in the micro-meter ranger on the sample's location is shown in Figure [[fig:open_loop_sim_zoom]] with two frames:
- a non-rotating frame corresponding to the wanted position of the sample.
Note that this frame is moving with the granite.
2020-04-27 16:45:01 +02:00
- a rotating frame that corresponds to the actual pose of the sample
2020-04-24 10:06:14 +02:00
2020-04-29 19:02:03 +02:00
The motion of the sample follows the wanted motion but with vibrations in the micro-meter range as was expected.
2020-04-27 16:45:01 +02:00
#+name: fig:open_loop_sim
#+caption: Tomography Experiment using the Simscape Model
[[file:figs/open_loop_sim.gif]]
#+name: fig:open_loop_sim_zoom
#+caption: Tomography Experiment using the Simscape Model - Zoom on the sample's position (the full vertical scale is $\approx 10 \mu m$)
[[file:figs/open_loop_sim_zoom.gif]]
The position error of the sample with respect to the granite are shown in Figure [[fig:exp_scans_rz_dist]].
2020-04-29 19:02:03 +02:00
It is confirmed that the X-Y-Z position errors are in the micro-meter range.
2020-04-27 16:45:01 +02:00
For the rotation around X and Y, the errors are quite small.
This is explained by the fact that no torque disturbances is considered in the model.
2020-04-29 19:02:03 +02:00
The vertical rotation error is meaningless for two reasons:
- the rotation of the Spindle is considered to be perfect
- no measurement of the sample's vertical rotation with respect to the granite is made by the interferometers
2020-04-24 10:06:14 +02:00
#+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
2020-04-29 19:02:03 +02:00
The multi-body model has been tuned to represents the micro-station dynamics and includes disturbances such as ground motion and stages vibrations.
2020-04-24 10:06:14 +02:00
2020-04-29 19:02:03 +02:00
It can be used to:
2020-04-27 16:45:01 +02:00
- study many effects such as the change of dynamics due to the rotation, the sample mass, etc.
2020-04-29 19:02:03 +02:00
- extract transfer function like plant dynamics $G$ and sensibility to disturbances $G_d$
- simulate experiments
2020-04-27 16:45:01 +02:00
2020-04-29 19:02:03 +02:00
In the next sections, it will allows to optimally design the nano-hexapod, to develop a robust control architecture and to perform simulations to estimate the system's performances.
2020-04-24 10:06:14 +02:00
#+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 effect of disturbances $G_d$ (important for the rejection of disturbances)
- the plant dynamics $G$ (important for the control robustness properties)
Thus, we here wish to find the optimal nano-hexapod properties such that:
- the effect of disturbances is minimized (Section [[sec:optimal_stiff_dist]])
- the plant uncertainty due to a change of payload mass and experimental conditions is minimized (Section [[sec:optimal_stiff_plant]])
2020-04-24 10:06:14 +02:00
The study presented here only consider changes in the nano-hexapod *stiffness* for two reasons:
- the nano-hexapod mass cannot be change too much, and will anyway be negligible compare to the metrology reflector and the payload masses
- the choice of the nano-hexapod architecture (e.g. orientations of the actuators and implementation of sensors) will be further studied in accord with the control architecture
2020-04-24 10:06:14 +02:00
** Optimal Stiffness to reduce the effect of disturbances
<<sec:optimal_stiff_dist>>
2020-04-24 10:06:14 +02:00
*** Introduction :ignore:
As will be seen, the nano-hexapod stiffness have a large influence on the sensibility to disturbance (the norm of $G_d$).
For instance, it is quite obvious that a stiff nano-hexapod is better than a soft one when it comes to direct forces applied to the sample such as cable forces.
2020-04-24 10:06:14 +02:00
A complete study of the optimal nano-hexapod stiffness for the minimization of disturbance sensibility [[https://tdehaeze.github.io/nass-simscape/optimal_stiffness_disturbances.html][here]] and summarized below.
2020-04-24 10:06:14 +02:00
*** Sensibility to stage vibrations
:PROPERTIES:
:UNNUMBERED: t
:END:
2020-04-24 10:06:14 +02:00
The sensibility to the spindle's vibration for all the considered nano-hexapod stiffnesses (from $10^3\,[N/m]$ to $10^9\,[N/m]$) is shown in Figure [[fig:opt_stiff_sensitivity_Frz]].
It is shown that a softer nano-hexapod it better to filter out vertical vibrations of the spindle.
More precisely, is start to filters the vibration at the first suspension mode of the payload on top of the nano-hexapod.
2020-04-24 10:06:14 +02:00
The same conclusion is made for vibrations of the translation stage.
#+name: fig:opt_stiff_sensitivity_Frz
#+caption: Sensitivity to Spindle vertical motion error to the vertical error position of the sample
[[file:figs/opt_stiff_sensitivity_Frz.png]]
2020-04-24 10:06:14 +02:00
*** Sensibility to ground motion
:PROPERTIES:
:UNNUMBERED: t
:END:
2020-04-24 10:06:14 +02:00
The sensibilities to ground motion in the Y and Z directions are shown in Figure [[fig:opt_stiff_sensitivity_Dw]].
We can see that above the suspension mode of the nano-hexapod, the norm of the transmissibility is close to one until the suspension mode of the granite.
Thus, a stiff nano-hexapod is better for reducing the effect of ground motion at low frequency.
2020-04-29 10:11:10 +02:00
It will be suggested in Section [[sec:soft_granite]] that using soft mounts for the granite can greatly lower the sensibility to ground motion.
#+name: fig:opt_stiff_sensitivity_Dw
#+caption: Sensitivity to Ground motion to the position error of the sample
[[file:figs/opt_stiff_sensitivity_Dw.png]]
*** Dynamic Noise Budgeting considering all the disturbances
:PROPERTIES:
:UNNUMBERED: t
:END:
However, lowering the sensibility to some disturbance at a frequency where its effect is already small compare to the other disturbances sources is not really interesting.
What is more important than comparing the sensitivity to disturbances, is thus to compare the obtain power spectral density of the sample's position error.
From the Power Spectral Density of all the sources of disturbances identified in Section [[sec:identification_disturbances]], we compute what would be the Power Spectral Density of the vertical motion error for all the considered nano-hexapod stiffnesses (Figure [[fig:opt_stiff_psd_dz_tot]]).
We can see that the most important change is in the frequency range 30Hz to 300Hz where a stiffness smaller than $10^5\,[N/m]$ greatly reduces the sample's vibrations.
#+name: fig:opt_stiff_psd_dz_tot
#+caption: Amplitude Spectral Density of the Sample vertical position error due to Vertical vibration of the Spindle for multiple nano-hexapod stiffnesses
[[file:figs/opt_stiff_psd_dz_tot.png]]
2020-04-29 15:23:52 +02:00
#+begin_important
If we look at the Cumulative amplitude spectrum of the vertical error motion in Figure [[fig:opt_stiff_cas_dz_tot]], we can observe that a soft hexapod ($k < 10^5 - 10^6\,[N/m]$) helps reducing the high frequency disturbances, and thus a smaller control bandwidth will suffice to obtain the wanted performance.
2020-04-29 15:23:52 +02:00
#+end_important
#+name: fig:opt_stiff_cas_dz_tot
#+caption: Cumulative Amplitude Spectrum of the Sample vertical position error due to all considered perturbations for multiple nano-hexapod stiffnesses
[[file:figs/opt_stiff_cas_dz_tot.png]]
** Optimal Stiffness to reduce the plant uncertainty
<<sec:optimal_stiff_plant>>
*** Introduction :ignore:
One of the most important design goal is to obtain a system that is *robust* to all changes in the system.
Therefore, we have to identify all changes that might occurs in the system and choose the nano-hexapod stiffness such that the uncertainty to these changes is minimized.
The uncertainty in the system can be caused by:
- A change in the *Support's compliance* (complete analysis [[https://tdehaeze.github.io/nass-simscape/uncertainty_support.html][here]]): if the micro-station dynamics is changing due to the change of parts or just because of aging effects, the feedback system should remains stable and the obtained performance should not change
- A change in the *Payload mass/dynamics* (complete analysis [[https://tdehaeze.github.io/nass-simscape/uncertainty_payload.html][here]]): the sample's mass is ranging from $1\,kg$ to $50\,kg$
- A change of *experimental condition* such as the micro-station's pose or the spindle rotation (complete analysis [[https://tdehaeze.github.io/nass-simscape/uncertainty_experiment.html][here]])
2020-04-29 15:23:52 +02:00
Because of the trade-off between robustness and performance, the bigger the plant dynamic uncertainty, the lower the simultaneous attainable performance is for all the plants.
Thus, all these uncertainties will limit the attainable bandwidth and hence the obtained performance.
In the next sections, the effect the considered changes on the *plant dynamics* is quantified and conclusions are made on the optimal stiffness for robustness properties.
In the following study, when we refer to plant dynamics, this means the dynamics from forces applied by the nano-hexapod to the measured sample's position by the metrology.
We will only compare the plant dynamics as it is the most important dynamics for robustness and performance properties.
However, the dynamics from forces to sensors located in the nano-hexapod legs, such as force and relative motion sensors, have also been considered in a separate study.
*** Effect of Payload
:PROPERTIES:
:UNNUMBERED: t
:END:
The most obvious change in the system is the change of payload.
In Figure [[fig:opt_stiffness_payload_mass_fz_dz]] the dynamics is shown for payloads having a first resonance mode at 100Hz and a mass equal to 1kg, 20kg and 50kg.
On the left side, the change of dynamics is computed for a very soft nano-hexapod, while on the right side, it is computed for a very stiff nano-hexapod.
One can see that for the soft nano-hexapod:
- the first resonance (suspension mode of the nano-hexapod) is lowered with an increase of the sample's mass.
This first resonance corresponds to $\omega = \sqrt{\frac{k_n}{m_n + m_s}}$ where $k_n$ is the vertical nano-hexapod stiffness, $m_n$ the mass of the nano-hexapod's top platform, and $m_s$ the sample's mass
- the gain after the first resonance and up until the anti-resonance at 100Hz is changing with the sample's mass
For the stiff-nano-hexapod, the change of payload mass has very little effect (the vertical scale for the amplitude is quite small).
#+name: fig:opt_stiffness_payload_mass_fz_dz
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload mass, both for a soft nano-hexapod (left) and a stiff nano-hexapod (right)
[[file:figs/opt_stiffness_payload_mass_fz_dz.png]]
In Figure [[fig:opt_stiffness_payload_freq_fz_dz]] is shown the effect of a change of payload dynamics.
The mass of the payload is fixed and its resonance frequency is changing from 50Hz to 500Hz.
We can see (more easily for the soft nano-hexapod), that resonance of the payload produces an anti-resonance for the considered dynamics.
#+name: fig:opt_stiffness_payload_freq_fz_dz
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload resonance frequency, both for a soft nano-hexapod and a stiff nano-hexapod
[[file:figs/opt_stiffness_payload_freq_fz_dz.png]]
The dynamics for all the payloads (mass from 1kg to 50kg and first resonance from 50Hz to 500Hz) and all the considered nano-hexapod stiffnesses are display in Figure [[fig:opt_stiffness_payload_impedance_all_fz_dz]].
For nano-hexapod stiffnesses below $10^6\,[N/m]$:
- the phase stays between 0 and -180deg which is a very nice property for control
- the dynamical change up until the resonance of the payload is mostly a change of gain
For nano-hexapod stiffnesses above $10^7\,[N/m]$:
- the dynamics is unchanged until the first resonance which is around 25Hz-35Hz
- above that frequency, the change of dynamics is quite chaotic (we will see in the next section that this is due to the micro-station dynamics)
#+name: fig:opt_stiffness_payload_impedance_all_fz_dz
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload dynamics, both for a soft nano-hexapod and a stiff nano-hexapod
[[file:figs/opt_stiffness_payload_impedance_all_fz_dz.png]]
#+begin_important
For soft nano-hexapods, the payload has an important impact on the dynamics.
This will have to be carefully taken into account for the controller design.
For stiff nano-hexapod, the dynamics doe not change with the payload until the first resonance frequency of the nano-hexapod or of the payload.
If possible, the first resonance frequency of the payload should be maximized (stiff fixation).
Heavy samples with low first resonance mode will be very problematic.
#+end_important
*** Effect of Micro-Station Compliance
:PROPERTIES:
:UNNUMBERED: t
:END:
The micro-station dynamics is quite complex as was shown in Section [[sec:micro_station_dynamics]], moreover, its dynamics can change due to:
- a change in some mechanical elements
- a change in the position of one stage.
For instance, a large displacement of the micro-hexapod can change the micro-station compliance
- a change in a control loop
Thus, it would be much more robust if the plant dynamics were not depending on the micro-station dynamics.
This as several other advantages:
- the control could be develop on top on another support and then added to the micro-station without changing the controller
- the nano-hexapod could be use on top of any other station much more easily
To identify the effect of the micro-station compliance on the system dynamics, for each nano-hexapod stiffness, we identify the plant dynamics in two different case (Figure [[fig:opt_stiffness_micro_station_fx_dx]]):
- without the micro-station (solid curves)
- with the micro-station dynamics (dashed curves)
One can see that for nano-hexapod stiffnesses below $10^6\,[N/m]$, the plant dynamics does not significantly changed due to the micro station dynamics (the solid and dashed curves are superimposed).
For nano-hexapod stiffnesses above $10^7\,[N/m]$, the micro-station compliance appears in the plant dynamics starting at about 45Hz.
#+name: fig:opt_stiffness_micro_station_fx_dx
#+caption: Change of dynamics from force $\mathcal{F}_x$ to displacement $\mathcal{X}_x$ due to the micro-station compliance
[[file:figs/opt_stiffness_micro_station_fx_dx.png]]
#+begin_important
If the resonance of the nano-hexapod is below the first resonance of the micro-station, then the micro-station dynamics if "filtered out" and does not appears in the dynamics to be controlled.
This renders the system robust to any possible change of the micro-station dynamics.
If a stiff nano-hexapod is used, the control bandwidth should probably be limited to around the first micro-station's mode ($\approx 45\,[Hz]$) which will likely no give acceptable performance.
#+end_important
*** Effect of Spindle Rotating Speed
:PROPERTIES:
:UNNUMBERED: t
:END:
Let's now consider the rotation of the Spindle.
The plant dynamics for spindle rotation speed from 0rpm up to 60rpm are shown in Figure [[fig:opt_stiffness_wz_fx_dx]].
One can see that for nano-hexapods with a stiffness above $10^5\,[N/m]$, the dynamics is mostly not changing with the spindle's rotating speed.
For very soft nano-hexapods, the main resonance is split into two resonances and one anti-resonance that are all moving at a function of the rotating speed.
#+name: fig:opt_stiffness_wz_fx_dx
#+caption: Change of dynamics from force $\mathcal{F}_x$ to displacement $\mathcal{X}_x$ for a spindle rotation speed from 0rpm to 60rpm
[[file:figs/opt_stiffness_wz_fx_dx.png]]
#+begin_important
If the resonance of the nano-hexapod is (say a factor 5) above the maximum rotation speed, then the plant dynamics will be mostly not impacted by the rotation.
A very soft ($k < 10^4\,[N/m]$) nano-hexapod should not be used due to the effect of the spindle's rotation.
#+end_important
*** Total Plant Uncertainty
:PROPERTIES:
:UNNUMBERED: t
:END:
Finally, let's combined all the uncertainties and display the plant dynamics "spread" for all the nano-hexapod stiffnesses (Figure [[fig:opt_stiffness_plant_dynamics_task_space]]).
This show how the dynamics evolves with the stiffness and how different effects enters the plant dynamics.
#+name: fig:opt_stiffness_plant_dynamics_task_space
#+caption: Variability of the dynamics from $\bm{\mathcal{F}}_x$ to $\bm{\mathcal{X}}_x$ with varying nano-hexapod stiffness
[[file:figs/opt_stiffness_plant_dynamics_task_space.gif]]
#+begin_important
Let's summarize the findings:
- the payload's mass influence the plant dynamics above the first resonance of the nano-hexapod.
Thus a high nano-hexapod stiffness helps reducing the effect of a change of the payload's mass
- the payload's first resonance is seen as an anti-resonance in the plant dynamics.
As this effect will largely be variable from one payload to the other, *the payload's first resonance should be maximized* (above 300Hz if possible) for all used payloads
- the dynamics of the nano-hexapod is not affected by the micro-station dynamics (compliance) when $k < 10^6\,[N/m]$
- the spindle's rotating speed has no significant influence on the plant dynamics for nano-hexapods with a stiffness $k > 10^5\,[N/m]$
Concerning the plant dynamic uncertainty, the resonance frequency of the nano-hexapod should be between 5Hz (way above the maximum rotating speed) and 50Hz (before the first micro-station resonance) for all the considered payloads.
This corresponds to an optimal nano-hexapod leg stiffness in the range $10^5 - 10^6\,[N/m]$.
In such case, the main limitation will be heavy samples with small stiffnesses.
#+end_important
** Conclusion
#+begin_important
2020-04-29 10:11:10 +02:00
In Section [[sec:optimal_stiff_dist]], it has been concluded that a nano-hexapod stiffness below $10^5-10^6\,[N/m]$ helps reducing the high frequency vibrations induced by all sources of disturbances considered.
As the high frequency vibrations are the most difficult to compensate for when using feedback control, a soft hexapod will most certainly helps improving the performances.
2020-04-29 10:11:10 +02:00
In Section [[sec:optimal_stiff_plant]], we concluded that a nano-hexapod leg stiffness in the range $10^5 - 10^6\,[N/m]$ is a good compromise between the uncertainty induced by the micro-station dynamics and by the rotating speed.
Provided that the samples used have a first mode that is sufficiently high in frequency, the total plant dynamic uncertainty should be manageable.
2020-04-29 10:11:10 +02:00
Thus, a stiffness of $10^5\,[N/m]$ will be used in Section [[sec:robust_control_architecture]] to develop the robust control architecture and to perform simulations.
2020-04-29 10:11:10 +02:00
A more detailed study of the determination of the optimal stiffness based on all the effects is available [[https://tdehaeze.github.io/nass-simscape/uncertainty_optimal_stiffness.html][here]].
#+end_important
2020-04-24 10:06:14 +02:00
* Robust Control Architecture
<<sec:robust_control_architecture>>
2020-04-24 10:06:14 +02:00
** Introduction :ignore:
Before designing the control system, let's summarize what has been done:
- The multi-body model of the micro-station has been tuned based on actual dynamical measurements
2020-04-29 15:23:52 +02:00
- Ground motion and stage vibrations have been estimated and included in the model
- The optimal nano-hexapod stiffness has been determined such that is minimizes the effect of disturbances and at the same time reduces the plant dynamic uncertainty
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
The optimal nano-hexapod is now included in the model, and a robust control architecture is developed.
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
It is preferred to design *one* controller that gives acceptable performance for *all* the changes in the system (payload masses, spindle's rotation speeds, etc).
This is however quite challenging as the plant dynamics does depend quite a lot on the payload's mass.
2020-04-29 15:23:52 +02:00
If it turns out it not possible to develop a robust controller that gives acceptable performance, an alternative would be to develop an *adaptive* controller that depends on the payload mass/inertia.
This would require to measure the mass/inertia of each used payload and manually choose the controller that was design for that particular mass/inertia.
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
** High Authority Control / Low Authority Control Architecture
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
Many control architecture could be used for the control of the nano-hexapod.
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
One of the possible control architecture that seems adapted for the current problem is the *High Authority Control / Low Authority Control* (HAC-LAC) architecture.
Some properties of the HAC-LAC architecture are explained below (taken from cite:preumont18_vibrat_contr_activ_struc_fourt_edition):
2020-04-29 10:11:10 +02:00
#+begin_quote
The HAC/LAC approach consist of combining the two approached in a dual-loop control as shown in Figure [[fig:control_architecture_hac_lac_one_input]].
The inner loop uses a set of collocated actuator/sensor pairs for decentralized active damping with guaranteed stability ; the outer loop consists of a non-collocated HAC based on a model of the actively damped structure.
This approach has the following advantages:
2020-04-29 10:11:10 +02:00
- The active damping extends outside the bandwidth of the HAC and reduces the settling time of the modes which are outsite the bandwidth
- The active damping makes it easier to gain-stabilize the modes outside the bandwidth of the output loop (improved gain margin)
- The larger damping of the modes within the controller bandwidth makes them more robust to the parmetric uncertainty (improved phase margin)
#+end_quote
#+name: fig:control_architecture_hac_lac_one_input
#+caption: HAC-LAC Architecture with a system having only one input
[[file:figs/control_architecture_hac_lac_one_input.png]]
2020-04-29 15:23:52 +02:00
The HAC-LAC architecture thus consisted of two cascade controllers:
- a Low Authority Controller that is used to damp the system (Section [[sec:lac_control]])
- a High Authority Controller used to suppress the sample's vibration in a wide frequency range (Section [[sec:hac_control]])
** Active Damping and Sensors to be included in the nano-hexapod
<<sec:lac_control>>
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
Active Damping can help:
- by reducing the effect of disturbances close to the resonance of the system
- by making the plant dynamics simpler to control for the High Authority Controller
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
Depending on the chosen active damping technique, either force sensors, relative motion sensors or inertial sensors should be included in each of the nano-hexapod's legs.
2020-04-29 15:23:52 +02:00
A separate study (accessible [[https://tdehaeze.github.io/rotating-frame/index.html][here]]) about the use of all three sensors types have been done, the conclusions are:
- the use of force sensors is to be avoided as it could introduce instability in the system due to the nano-hexapod's rotation
- the use of inertial sensor should not be used as it would tends to decouple the motion of the sample from the motion of the granite (which is not wanted).
It would also be difficult to apply in a robust way due to the non-collocation with the actuators
- relative motion sensors can be used to damped the nano-hexapod's modes in a robust way but may increase the sensibility to stages vibrations
2020-04-24 10:06:14 +02:00
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
*Relative motion sensors* are then included in each of the nano-hexapod's leg and a decentralized direct velocity feedback control architecture is applied (Figure [[fig:control_architecture_dvf]]).
The signals shown in Figure [[fig:control_architecture_dvf]] are:
2020-04-29 15:23:52 +02:00
- $\bm{\tau}$: Actuator forces applied in each leg
- $\bm{\tau}_m$: Force sensor signal located in each leg
- $\bm{\mathcal{X}}$: Measurement of the payload position with respect to the granite by the metrology system
2020-04-29 10:11:10 +02:00
- $d\bm{\mathcal{L}}$: Measurement of the (small) relative motion of each leg
2020-04-29 15:23:52 +02:00
$\bm{K}_{\text{DVF}}$ is a diagonal controller with derivative action.
This is equivalent as to have six independent control loops from the relative motion sensor of one leg to the actuator of the same leg.
The force applied in each leg being proportional to the relative velocity of the associated leg (thanks to the derivative action), this adds *damping* to the nano-hexapod's modes.
2020-04-29 10:11:10 +02:00
#+name: fig:control_architecture_dvf
#+caption: Low Authority Control: Decentralized Direct Velocity Feedback
[[file:figs/control_architecture_dvf.png]]
The DVF gain is here chosen in such a way that the suspension modes of the nano-hexapod are critically damped whatever the sample mass.
2020-04-29 15:23:52 +02:00
This may not be the optimal choice as will be further explained.
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
The plant dynamics before (solid curves) and after (dashed curves) the Low Authority Control implementation are compared in Figure [[fig:opt_stiff_primary_plant_damped_L]].
It is clear that the use of the DVF reduces the dynamical spread of the plant dynamics between 5Hz up too 100Hz.
This will make the primary controller more robust and easier to develop.
2020-04-29 10:11:10 +02:00
#+name: fig:opt_stiff_primary_plant_damped_L
#+caption: Primary plant in the space of the legs with (dashed) and without (solid) Direct Velocity Feedback
[[file:figs/opt_stiff_primary_plant_damped_L.png]]
2020-04-29 15:23:52 +02:00
The change of sensibility to disturbances with the use of DVF is shown in Figure [[fig:opt_stiff_sensibility_dist_dvf]].
It is shown that the DVF control lowers the sensibility to disturbances in the vicinity of the nano-hexapod resonance but increases the sensibility at higher frequencies.
This is probably not the optimal gain that could have been used, and further analysis and optimization should be performed.
2020-04-29 10:11:10 +02:00
#+name: fig:opt_stiff_sensibility_dist_dvf
#+caption: Norm of the transfer function from vertical disturbances to vertical position error with (dashed) and without (solid) Direct Velocity Feedback applied
[[file:figs/opt_stiff_sensibility_dist_dvf.png]]
2020-04-24 10:06:14 +02:00
2020-04-29 15:23:52 +02:00
** High Authority Control
<<sec:hac_control>>
The complete HAC-LAC architecture is shown in Figure [[fig:control_architecture_hac_dvf_pos_L]] where an outer loop is added to the decentralized direct velocity feedback loop.
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
The block =Compute Position Error= is used to compute the position error $\bm{\epsilon}_{\mathcal{X}_n}$ of the sample with respect to the nano-hexapod's base platform from the actual measurement of the sample's pose $\bm{\mathcal{X}}$ and the wanted pose $\bm{r}_\mathcal{X}$.
The computation done in such block was briefly explained in Section [[sec:pos_error_nass]].
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
The position error $\bm{\epsilon}_{\mathcal{X}_n}$ expressed in the frame of the nano-hexapod is then multiply by the nano-hexapod's Jacobian $\bm{J}$ (which is a real matrix) to obtain the corresponding length error of each of the nano hexapod's leg $\bm{\epsilon}_\mathcal{L}$.
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
Then, a diagonal controller $\bm{K}_\mathcal{L}$ generates the required force in each leg to compensate for the position errors.
2020-04-29 10:11:10 +02:00
#+name: fig:control_architecture_hac_dvf_pos_L
#+caption: 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
[[file:figs/control_architecture_hac_dvf_pos_L.png]]
2020-04-29 15:23:52 +02:00
Some alternative to this control architecture have been studied, but this is the one that actually gives the best performance/robustness compromise.
2020-04-29 10:11:10 +02:00
The plant dynamics for each of the six legs and for the three payload's masses is shown in Figure [[fig:opt_stiff_primary_plant_L]].
2020-04-29 15:23:52 +02:00
The dynamical spread is kept reasonably small thanks to both the optimal nano-hexapod design and the Low Authority Controller.
2020-04-29 10:11:10 +02:00
#+name: fig:opt_stiff_primary_plant_L
#+caption: Diagonal elements of the transfer function matrix from $\bm{\tau}^\prime$ to $\bm{\epsilon}_{\mathcal{X}_n}$ for the three considered masses
[[file:figs/opt_stiff_primary_plant_L.png]]
The diagonal controller $\bm{K}_\mathcal{L}$ is then tuned in such a way that the control bandwidth is around 100Hz and such that enough stability margins are obtained for all the payload's masses used.
2020-04-29 15:23:52 +02:00
The obtained loop gain is shown in Figure [[fig:opt_stiff_primary_loop_gain_L]].
2020-04-29 10:11:10 +02:00
#+name: fig:opt_stiff_primary_loop_gain_L
#+caption: Loop gain for the primary plant
[[file:figs/opt_stiff_primary_loop_gain_L.png]]
The sensibility to disturbance after the use of HAC-LAC control is shown in Figure [[fig:opt_stiff_primary_control_L_senbility_dist]].
2020-04-29 15:23:52 +02:00
The change of sensibility is very typical for feedback system:
- the sensibility is reduced within the controller bandwidth (here $\approx 100\,[Hz]$)
- the sensibility is increase around the crossover frequency and mostly unchanged outside of the control bandwidth
2020-04-29 10:11:10 +02:00
The large increase at around 250Hz when using a mass of either 1kg or 10kg is probably caused by insufficient stability margins.
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
Optimal design of the controllers will be performed using advanced techniques such as $\mathcal{H}_\infty$ Synthesis.
This should gives slightly better performance and robustness, but should not change the conclusions of this study.
2020-04-29 10:11:10 +02:00
#+name: fig:opt_stiff_primary_control_L_senbility_dist
#+caption: Sensibility to disturbances when the HAC-LAC control is applied (dashed) and when it is not (solid)
2020-04-29 10:11:10 +02:00
[[file:figs/opt_stiff_primary_control_L_senbility_dist.png]]
2020-04-24 10:06:14 +02:00
** Simulation of Tomography Experiments
<<sec:tomography_experiment>>
2020-04-24 10:06:14 +02:00
2020-04-29 15:23:52 +02:00
A new simulation of a tomography is performed with the optimal nano-hexapod and the HAC-LAC architecture implemented in the model.
The results of this simulation will be compare to the simulation performed in Section [[sec:micro_station_simulation]] without the nano-hexapod.
All the disturbances are included such as ground motion, spindle and translation stage vibrations.
2020-04-29 15:23:52 +02:00
The Power Spectral Density of the sample's position error is plotted in Figure [[fig:opt_stiff_hac_dvf_L_psd_disp_error]] and the Cumulative Amplitude Spectrum is shown in Figure [[fig:opt_stiff_hac_dvf_L_cas_disp_error]].
The top three plots corresponds to the X, Y and Z translations and the bottom three plots corresponds to the X,Y and Z rotations.
2020-04-29 15:23:52 +02:00
Several observations can be made:
- The sample's vibrations are reduced within the control bandwidth
2020-04-29 15:23:52 +02:00
- The obtained performances for all the three considered masses are very similar.
This is an indication of the good system's robustness
- From the Cumulative Amplitude Spectrum, we see that Z motion is reduced down to $\approx 30\,nm\,[rms]$ and the Y motion down to $\approx 25\,nm\,[rms]$
- An increase in the rotational vibrations is observed.
This is due to the fact that:
2020-04-29 15:23:52 +02:00
1. no perturbations inducing rotations were included in the simulation and thus the rotational vibrations are very small
2. the feedback control induces some coupling between the translations and rotations.
2020-04-29 15:23:52 +02:00
It then introduces some rotational motion due to vibrations in translation
This increase in rotation is still very small and is not foreseen to be a problem
2020-04-29 15:23:52 +02:00
- The vertical rotation plot is meaningless as the spindle rotation was considered to be perfect and no attempt was made to compensate these vibrations by the nano-hexapod
2020-04-29 10:11:10 +02:00
#+name: fig:opt_stiff_hac_dvf_L_psd_disp_error
#+caption: Amplitude Spectral Density of the position error in Open Loop and with the HAC-LAC controller
[[file:figs/opt_stiff_hac_dvf_L_psd_disp_error.png]]
2020-04-24 10:06:14 +02:00
#+name: fig:opt_stiff_hac_dvf_L_cas_disp_error
#+caption: Cumulative Amplitude Spectrum of the position error in Open Loop and with the HAC-LAC controller
[[file:figs/opt_stiff_hac_dvf_L_cas_disp_error.png]]
2020-04-24 10:06:14 +02:00
The time domain sample's vibrations are shown in Figure [[fig:opt_stiff_hac_dvf_L_pos_error]].
The use of the nano-hexapod combined with the HAC-LAC architecture is shown to considerably reduce the sample's vibrations.
2020-04-29 15:23:52 +02:00
An animation of the experiment is shown in Figure [[fig:closed_loop_sim_zoom]] and we can see that the actual sample's position is more closely following the ideal position compared to the simulation of the micro-station alone in Figure [[fig:open_loop_sim_zoom]] (same scale was used for both animations).
#+name: fig:opt_stiff_hac_dvf_L_pos_error
#+caption: Position Error of the sample during a tomography experiment when no control is applied and with the HAC-DVF control architecture
[[file:figs/opt_stiff_hac_dvf_L_pos_error.png]]
2020-04-24 10:06:14 +02:00
2020-04-27 16:45:01 +02:00
#+name: fig:closed_loop_sim_zoom
#+caption: Tomography Experiment using the Simscape Model in Closed Loop with the HAC-LAC Control - Zoom on the sample's position (the full vertical scale is $\approx 10 \mu m$)
2020-04-27 16:45:01 +02:00
[[file:figs/closed_loop_sim_zoom.gif]]
2020-04-24 10:06:14 +02:00
** Conclusion
#+begin_important
2020-04-29 15:23:52 +02:00
The High Authority Control / Low Authority Control architecture has implemented on the multi-body model of the system.
It has been found that relative motion sensors should be included in each of the nano-hexapod's leg for active damping purposes.
The best sensor technology should further be determined based on cost, ease of integration, bandwidth and resolution.
Possible technologies include capacitive sensors, eddy current sensors and encoders.
The control architecture used permits to lower the effect of disturbances up to 100Hz and appears to be very robust to all considered changes in the system.
A simulation performed in presence of all ground motion and stage vibrations gives an obtained residual X-Y-Z sample's vibrations around $30\,[nm]\,rms$.
The simulation is considered to be fairly realistic as both the model used has been show to properly represents the micro-station dynamics and the disturbances included based on measurements.
A more complete study of the control of the NASS is performed [[https://tdehaeze.github.io/nass-simscape/optimal_stiffness_control.html][here]].
#+end_important
2020-04-29 10:11:10 +02:00
2020-04-29 15:23:52 +02:00
* General Conclusion and Further notes
<<sec:conclusion_and_further_notes>>
** General Conclusion
** Sensor Noise introduced by the Metrology
Say that is will introduce noise inside the bandwidth (100Hz)
This should not be significant.
2020-04-29 15:23:52 +02:00
** Further Work
2020-04-29 10:11:10 +02:00
** Using soft mounts for the
<<sec:soft_granite>>
#+name: fig:opt_stiff_soft_granite_Dw
#+caption: Change of sensibility to Ground motion when using a stiff Granite (solid curves) and a soft Granite (dashed curves)
[[file:figs/opt_stiff_soft_granite_Dw.png]]
This means that above the suspension mode of the granite (here around 2Hz), the granite
2020-04-24 11:53:11 +02:00
2020-04-24 18:46:49 +02:00
Sensible to detector motion?
2020-04-29 10:11:10 +02:00
** Others
2020-04-24 18:46:49 +02:00
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?
* Bibliography :ignore:
bibliographystyle:unsrt
bibliography:ref.bib