% Created 2025-02-03 Mon 14:43
% Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}

\input{preamble.tex}
\newacronym{nass}{NASS}{Nano Active Stabilization System}
\newacronym{fem}{FEM}{Finite Element Model}
\newacronym{apa}{APA}{Amplified Piezoelectric Actuator}
\newacronym{dac}{DAC}{Digital to Analog Converter}
\newacronym{rga}{RGA}{Relative Gain Array}
\input{preamble_extra.tex}
\bibliography{test-bench-id31.bib}
\author{Dehaeze Thomas}
\date{\today}
\title{Nano-Hexapod on the micro-station}
\hypersetup{
 pdfauthor={Dehaeze Thomas},
 pdftitle={Nano-Hexapod on the micro-station},
 pdfkeywords={},
 pdfsubject={},
 pdfcreator={Emacs 29.4 (Org mode 9.6)}, 
 pdflang={English}}
\usepackage{biblatex}

\begin{document}

\maketitle
\tableofcontents

\clearpage

Now that the nano-hexapod is mounted and that the the multi-body model of the nano-hexapod could be validated based on dynamics measurements, the complete NASS is mounted as shown in Figure \ref{fig:test_id31_micro_station_nano_hexapod} and the performances are evaluated on the ID31 beamline.

At the beginning of the project, it was planned to develop a long stroke 5-DoF metrology system to measure the pose of the sample with respect to the granite.
The development of such system was complex, and was not completed at the time of the experimental tests on ID31.
To still be able to validate the developed nano active platform and the associated instrumentation and control architecture, a 5-DoF short stroke metrology system is developed and presented in Section \ref{sec:test_id31_metrology}.

The identify dynamics of the nano-hexapod fixed on top of the micro-station is identified for different experimental conditions (payload masses, rotational velocities) and compared with the multi-body model in Section \ref{sec:test_id31_open_loop_plant}.

In order to apply the developed HAC-LAC architecture, decentralized Integral Force Feedback is first applied to actively damp the plant in a robust way (Section \ref{sec:test_id31_iff}), and the high authority controller is then implemented (Section \ref{sec:test_id31_hac}).

Finally, the positioning accuracy of the NASS is evaluated by performing scans corresponding to several scientific experiments (Section \ref{sec:test_id31_experiments})

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_micro_station_cables.jpg}
\end{center}
\subcaption{\label{fig:test_id31_micro_station_cables}Micro-station and nano-hexapod cables}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_fixed_nano_hexapod.jpg}
\end{center}
\subcaption{\label{fig:test_id31_fixed_nano_hexapod}Nano-hexapod fixed on top of the micro-station}
\end{subfigure}
\caption{\label{fig:test_id31_micro_station_nano_hexapod}Picture of the micro-station without the nano-hexapod (\subref{fig:test_id31_micro_station_cables}) and with the nano-hexapod (\subref{fig:test_id31_fixed_nano_hexapod})}
\end{figure}

\chapter{Short Stroke Metrology System}
\label{sec:test_id31_metrology}
The control of the nano-hexapod requires an external metrology system measuring the relative position of the nano-hexapod top platform with respect to the granite.
As the long-stroke (\(\approx 1 \,cm^3\)) metrology system was not developed yet, a stroke stroke (\(> 100\,\mu m^3\)) was used instead to validate the nano-hexapod control.

A first considered option was to use the ``Spindle error analyzer'' shown in Figure \ref{fig:test_id31_lion}.
This system comprises 5 capacitive sensors which are facing two reference spheres.
But as the gap between the capacitive sensors and the spheres is very small\footnote{Depending on the measuring range, gap can range from \(\approx 1\,\mu m\) to \(\approx 100\,\mu m\)}, the risk of damaging the spheres and the capacitive sensors is too high.

\begin{figure}[htbp]
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_lion.jpg}
\end{center}
\subcaption{\label{fig:test_id31_lion}Capacitive Sensors}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_interf.jpg}
\end{center}
\subcaption{\label{fig:test_id31_interf}Short-Stroke metrology}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_interf_head.jpg}
\end{center}
\subcaption{\label{fig:test_id31_interf_head}Interferometer head}
\end{subfigure}
\caption{\label{fig:test_id31_short_stroke_metrology}Short stroke metrology system used to measure the sample position with respect to the granite in 5DoF. The system is based on a ``Spindle error analyzer'' (\subref{fig:test_id31_lion}), but the capacitive sensors are replaced with fibered interferometers (\subref{fig:test_id31_interf}). Interferometer heads are shown in (\subref{fig:test_id31_interf_head})}
\end{figure}

Instead of using capacitive sensors, 5 fibered interferometers were used in a similar way (Figure \ref{fig:test_id31_interf}).
At the end of each fiber, a sensor head\footnote{M12/F40 model from Attocube} (Figure \ref{fig:test_id31_interf_head}) is used, which consists of a lens precisely positioned with respect to the fiber's end.
The lens is focusing the light on the surface of the sphere, such that the reflected light comes back into the fiber and produces an interference.
This way, the gap between the head and the reference sphere is much larger (here around \(40\,mm\)), removing the risk of collision.

Nevertheless, the metrology system still has limited measurement range due to limited angular acceptance of the fibered interferometers.
Indeed, when the spheres are moving perpendicularly to the beam axis, the reflected light does not coincide with the incident light, and above some perpendicular displacement, the reflected light does not comes back into the fiber, and no interference is produced.
\section{Metrology Kinematics}
\label{ssec:test_id31_metrology_kinematics}

The developed short-stroke metrology system is schematically shown in Figure \ref{fig:test_id31_metrology_kinematics}.
The point of interest is indicated by the blue frame \(\{B\}\), which is located \(H = 150\,mm\) above the nano-hexapod's top platform.
The spheres have a diameter \(d = 25.4\,mm\), and indicated dimensions are \(l_1 = 60\,mm\) and \(l_2 = 16.2\,mm\).
In order to compute the pose of the \(\{B\}\) frame with respect to the granite (i.e. with respect to the fixed interferometer heads), the measured (small) displacements \([d_1,\ d_2,\ d_3,\ d_4,\ d_5]\) by the interferometers are first written as a function of the (small) linear and angular motion of the \(\{B\}\) frame \([D_x,\ D_y,\ D_z,\ R_x,\ R_y]\) \eqref{eq:test_id31_metrology_kinematics}.

\begin{equation}\label{eq:test_id31_metrology_kinematics}
d_1 = D_y - l_2 R_x, \quad d_2 = D_y + l_1 R_x, \quad d_3 = -D_x - l_2 R_y, \quad d_4 = -D_x + l_1 R_y, \quad d_5 = -D_z
\end{equation}

\begin{minipage}[b]{0.48\linewidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_metrology_kinematics.png}
\captionof{figure}{\label{fig:test_id31_metrology_kinematics}Schematic of the measurement system. Measured distances are indicated by red arrows.}
\end{center}
\end{minipage}
\hfill
\begin{minipage}[b]{0.48\linewidth}
\begin{center}
\includegraphics[scale=1,width=\linewidth]{figs/test_id31_align_top_sphere_comparators.jpg}
\captionof{figure}{\label{fig:align_top_sphere_comparators}The top sphere is aligned with the rotation axis of the spindle using two probes.}
\end{center}
\end{minipage}

The five equations \eqref{eq:test_id31_metrology_kinematics} can be written in a matrix form, and then inverted to have the pose of the \(\{B\}\) frame as a linear combination of the measured five distances by the interferometers \eqref{eq:test_id31_metrology_kinematics_inverse}.

\begin{equation}\label{eq:test_id31_metrology_kinematics_inverse}
\begin{bmatrix}
   D_x \\ D_y \\ D_z \\ R_x \\ R_y
\end{bmatrix} = {\underbrace{\begin{bmatrix}
   0 &  1 &  0 & -l_2 &  0   \\
   0 &  1 &  0 &  l_1 &  0   \\
  -1 &  0 &  0 &  0   & -l_2 \\
  -1 &  0 &  0 &  0   &  l_1 \\
   0 &  0 & -1 &  0   &  0
\end{bmatrix}}_{\bm{J_d}}}^{-1} \cdot \begin{bmatrix}
  d_1 \\ d_2 \\ d_3 \\ d_4 \\ d_5
\end{bmatrix}
\end{equation}

\section{Rough alignment of the reference spheres}
\label{ssec:test_id31_metrology_sphere_rought_alignment}

The two reference spheres are aligned with the rotation axis of the spindle.
To do so, two measuring probes are used as shown in Figure \ref{fig:align_top_sphere_comparators}.

To not damage the sensitive sphere surface, the probes are instead positioned on the cylinder on which the sphere is mounted.
First, the probes are fixed to the bottom (fixed) cylinder to align the first sphere with the spindle axis.
Then, the probes are fixed to the top (adjustable) cylinder, and the same alignment is performed.

With this setup, the alignment accuracy of both spheres with the spindle axis is expected to around \(10\,\mu m\).
The accuracy is probably limited due to the poor coaxiality between the cylinders and the spheres.
However, this first alignment should permit to position the two sphere within the acceptance of the interferometers.

\section{Tip-Tilt adjustment of the interferometers}
\label{ssec:test_id31_metrology_alignment}

The short-stroke metrology system is placed on top of the main granite using a gantry made of granite blocs (Figure \ref{fig:short_stroke_metrology_overview}).
Granite is used to have good vibration and thermal stability.

\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=0.8\linewidth]{figs/test_id31_short_stroke_metrology_overview.jpg}
\caption{\label{fig:short_stroke_metrology_overview}Granite gantry used to fix the short-stroke metrology system}
\end{figure}

The interferometer beams need to be position with respect to the two reference spheres as close as possible to the ideal case shown in Figure \ref{fig:test_id31_metrology_kinematics}.
This means that their positions and angles needs to be well adjusted with respect to the two spheres.
First, the vertical position of the spheres is adjusted using the micro-hexapod to match the height of the interferometers.
Then, the horizontal position of the gantry is adjusted such that the coupling efficiency (i.e. the intensity of the light reflected back in the fiber) of the top interferometer is maximized.
This is equivalent as to optimize the perpendicularity between the interferometer beam and the sphere surface (i.e. the concentricity between the top beam and the sphere center).

The lateral sensor heads (i.e. all except the top one) are each fixed to a custom tip-tilt adjustment mechanism.
This allow to individually orient them such that they all point to the spheres' center (i.e. perpendicular to the sphere surface).
This is done by maximizing the coupling efficiency of each interferometer.

After the alignment procedure, the top interferometer should coincide with with spindle axis, and the lateral interferometers should all be in the horizontal plane and intersect the spheres' center.

\section{Fine Alignment of reference spheres using interferometers}
\label{ssec:test_id31_metrology_sphere_fine_alignment}

Thanks to the first alignment of the two reference spheres with the spindle axis (Section \ref{ssec:test_id31_metrology_sphere_rought_alignment}) and to the fine adjustment of the interferometers orientations (Section \ref{ssec:test_id31_metrology_alignment}), the spindle can perform complete rotations while still having interference for all five interferometers.
This metrology can therefore be used to better align the axis defined by the two spheres' center with the spindle axis.

The alignment process is made by few iterations.
First, the spindle is scanned and the alignment errors are recorded.
From the errors, the motion of the micro-hexapod to better align the spheres with the spindle axis is computed and the micro-hexapod is positioned accordingly.
Then, the spindle is scanned again, and the new alignment errors are recorded.

This iterative process is first performed for angular errors (Figure \ref{fig:test_id31_metrology_align_rx_ry}) and then for lateral errors (Figure \ref{fig:test_id31_metrology_align_dx_dy}).
The remaining errors after alignment is in the order of \(\pm5\,\mu\text{rad}\) in \(R_x\) and \(R_y\) orientations, \(\pm 1\,\mu m\) in \(D_x\) and \(D_y\) directions and less than \(0.1\,\mu m\) vertically.

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_metrology_align_rx_ry.png}
\end{center}
\subcaption{\label{fig:test_id31_metrology_align_rx_ry}Angular alignment}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_metrology_align_dx_dy.png}
\end{center}
\subcaption{\label{fig:test_id31_metrology_align_dx_dy}Lateral alignment}
\end{subfigure}
\caption{\label{fig:test_id31_metrology_align}Measured angular (\subref{fig:test_id31_metrology_align_rx_ry}) and lateral (\subref{fig:test_id31_metrology_align_dx_dy}) errors during a full spindle rotation. Between two rotations, the micro-hexapod is adjusted to better align the two spheres with the rotation axis.}
\end{figure}


\section{Estimated measurement volume}
\label{ssec:test_id31_metrology_acceptance}

Because the interferometers are pointing to spheres and not flat surfaces, the lateral acceptance is limited.
In order to estimate the metrology acceptance, the micro-hexapod is used to perform three accurate scans of \(\pm 1\,mm\), respectively along the the \(x\), \(y\) and \(z\) axes.
During these scans, the 5 interferometers are recorded individually, and the ranges in which each interferometer has enough coupling efficiency to be able to measure the displacement are estimated.
Results are summarized in Table \ref{tab:test_id31_metrology_acceptance}.
The obtained lateral acceptance for pure displacements in any direction is estimated to be around \(+/-0.5\,mm\), which is enough for the current application as it is well above the micro-station errors to be actively corrected by the NASS.

\begin{table}[htbp]
\caption{\label{tab:test_id31_metrology_acceptance}Estimated measurement range for each interferometer, and for three different directions.}
\centering
\begin{tabularx}{0.45\linewidth}{Xccc}
\toprule
 & \(D_x\) & \(D_y\) & \(D_z\)\\
\midrule
\(d_1\) (y) & \(1.0\,mm\) & \(>2\,mm\) & \(1.35\,mm\)\\
\(d_2\) (y) & \(0.8\,mm\) & \(>2\,mm\) & \(1.01\,mm\)\\
\(d_3\) (x) & \(>2\,mm\) & \(1.06\,mm\) & \(1.38\,mm\)\\
\(d_4\) (x) & \(>2\,mm\) & \(0.99\,mm\) & \(0.94\,mm\)\\
\(d_5\) (z) & \(1.33\, mm\) & \(1.06\,mm\) & \(>2\,mm\)\\
\bottomrule
\end{tabularx}
\end{table}


\section{Estimated measurement errors}
\label{ssec:test_id31_metrology_errors}

When using the NASS, the accuracy of the sample's positioning is determined by the accuracy of the external metrology.
However, the validation of the nano-hexapod, the associated instrumentation and the control architecture is independent of the accuracy of the metrology system.
Only the bandwidth and noise characteristics of the external metrology are important.
Yet, some elements effecting the accuracy of the metrology are discussed here.

First, the ``metrology kinematics'' (discussed in Section \ref{ssec:test_id31_metrology_kinematics}) is only approximate (i.e. valid for very small displacements).
This can be easily seen when performing lateral \([D_x,\,D_y]\) scans using the micro-hexapod while recording the vertical interferometer (Figure \ref{fig:test_id31_xy_map_sphere}).
As the interferometer is pointing to a sphere and not to a plane, lateral motion of the sphere is seen as a vertical motion by the top interferometer.

Then, the reference spheres have some deviations with respect to an ideal sphere \footnote{The roundness of the spheres is specified at \(50\,nm\)}.
They are initially meant to be used with capacitive sensors which are integrating the shape errors over large surfaces.
When using interferometers, the size of the ``light spot'' on the sphere surface is a circle with a diameter approximately equal to \(50\,\mu m\), and therefore the measurement is more sensitive to shape errors with small features.

As the light from the interferometer is travelling through air (as opposed to being in vacuum), the measured distance is sensitive to any variation in the refractive index of the air.
Therefore, any variation of air temperature, pressure or humidity will induce measurement errors.
For instance, for a measurement length of \(40\,mm\), a temperature variation of \(0.1\,{}^oC\) (which is typical for the ID31 experimental hutch) induces an errors in the distance measurement of \(\approx 4\,nm\).

Interferometers are also affected by noise \cite{watchi18_review_compac_inter}.
The effect of the noise on the translation and rotation measurements is estimated in Figure \ref{fig:test_id31_interf_noise}.

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_xy_map_sphere.png}
\end{center}
\subcaption{\label{fig:test_id31_xy_map_sphere}Z measurement during an XY mapping}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_interf_noise.png}
\end{center}
\subcaption{\label{fig:test_id31_interf_noise}Interferometer noise}
\end{subfigure}
\caption{\label{fig:test_id31_metrology_errors}Estimated measurement errors of the metrology. Cross-coupling between lateral motion and vertical measurement is shown in (\subref{fig:test_id31_xy_map_sphere}). Effect of interferometer noise on the measured translations and rotations is shown in (\subref{fig:test_id31_interf_noise}).}
\end{figure}

\chapter{Open Loop Plant}
\label{sec:test_id31_open_loop_plant}
The NASS plant is schematically shown in Figure \ref{fig:test_id31_block_schematic_plant}.
The input \(\bm{u} = [u_1,\ u_2,\ u_3,\ u_4,\ u_5,\ u_6]\) is the command signal and corresponds to the voltages generated for each piezoelectric actuator.
After amplification, the voltages across the piezoelectric stack actuators are \(\bm{V}_a = [V_{a1},\ V_{a2},\ V_{a3},\ V_{a4},\ V_{a5},\ V_{a6}]\).

From the setpoint of micro-station stages (\(r_{D_y}\) for the translation stage, \(r_{R_y}\) for the tilt stage and \(r_{R_z}\) for the spindle), the reference pose of the sample \(\bm{r}_{\mathcal{X}}\) is computed using the micro-station's kinematics.
The sample's position \(\bm{y}_\mathcal{X} = [D_x,\,D_y,\,D_z,\,R_x,\,R_y,\,R_z]\) is measured using multiple sensors.
First, the five interferometers \(\bm{d} = [d_{1},\ d_{2},\ d_{3},\ d_{4},\ d_{5}]\) are used to measure the \([D_x,\,D_y,\,D_z,\,R_x,\,R_y]\) degrees of freedom of the sample.
The \(R_z\) position of the sample is computed from the spindle's setpoint \(r_{R_z}\) and from the 6 encoders \(\bm{d}_e\) integrated in the nano-hexapod.

The sample's position \(\bm{y}_{\mathcal{X}}\) is compared to the reference position \(\bm{r}_{\mathcal{X}}\) to compute the position error in the frame of the (rotating) nano-hexapod \(\bm{\epsilon\mathcal{X}} = [\epsilon_{D_x},\,\epsilon_{D_y},\,\epsilon_{D_z},\,\epsilon_{R_x},\,\epsilon_{R_y},\,\epsilon_{R_z}]\).
Finally, the Jacobian matrix \(\bm{J}\) of the nano-hexapod is used to map \(\bm{\epsilon\mathcal{X}}\) in the frame of the nano-hexapod struts \(\bm{\epsilon\mathcal{L}} = [\epsilon_{\mathcal{L}_1},\,\epsilon_{\mathcal{L}_2},\,\epsilon_{\mathcal{L}_3},\,\epsilon_{\mathcal{L}_4},\,\epsilon_{\mathcal{L}_5},\,\epsilon_{\mathcal{L}_6}]\).

Voltages generated by the force sensor piezoelectric stacks \(\bm{V}_s = [V_{s1},\ V_{s2},\ V_{s3},\ V_{s4},\ V_{s5},\ V_{s6}]\) will be used for active damping.

\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_id31_block_schematic_plant.png}
\caption{\label{fig:test_id31_block_schematic_plant}Schematic of the NASS plant}
\end{figure}
\section{Open-Loop Plant Identification}
\label{ssec:test_id31_open_loop_plant_first_id}

The plant dynamics is first identified for a fixed spindle angle (at \(0\,\text{deg}\)) and without any payload.
The model dynamics is also identified in the same conditions.

A first comparison between the model and the measured dynamics is done in Figure \ref{fig:test_id31_first_id}.
A good match can be observed for the diagonal dynamics (except the high frequency modes which are not modeled).
However, the coupling for the transfer function from command signals \(\bm{u}\) to the estimated strut motion from the external metrology \(\bm{\epsilon\mathcal{L}}\) is larger than expected (Figure \ref{fig:test_id31_first_id_int}).

The experimental time delay estimated from the FRF (Figure \ref{fig:test_id31_first_id_int}) is larger than expected.
After investigation, it was found that the additional delay was due to a digital processing unit\footnote{The ``PEPU'' \cite{hino18_posit_encod_proces_unit} was used for digital protocol conversion between the interferometers and the Speedgoat} that was used to get the interferometers' signals in the Speedgoat.
This issue was later solved.

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_first_id_int.png}
\end{center}
\subcaption{\label{fig:test_id31_first_id_int}External Metrology}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_first_id_iff.png}
\end{center}
\subcaption{\label{fig:test_id31_first_id_iff}Force Sensors}
\end{subfigure}
\caption{\label{fig:test_id31_first_id}Comparison between the measured dynamics and the multi-body model dynamics. Both for the external metrology (\subref{fig:test_id31_first_id_int}) and force sensors (\subref{fig:test_id31_first_id_iff}). Direct terms are displayed with solid lines while off-diagonal (i.e. coupling) terms are shown with shaded lines.}
\end{figure}

\section{Better Angular Alignment}
\label{ssec:test_id31_open_loop_plant_rz_alignment}

One possible explanation of the increased coupling observed in Figure \ref{fig:test_id31_first_id_int} is the poor alignment between the external metrology axes (i.e. the interferometer supports) and the nano-hexapod axes.
To estimate this alignment, a decentralized low-bandwidth feedback controller based on the nano-hexapod encoders was implemented.
This allowed to perform two straight movements of the nano-hexapod along its \(x\) and \(y\) axes.
During these two movements, the external metrology measurement was recorded and are shown in Figure \ref{fig:test_id31_Rz_align_error}.
It was found that there is a misalignment of 2.7 degrees (rotation along the vertical axis) between the interferometer axes and nano-hexapod axes.
This was corrected by adding an offset to the spindle angle.
After alignment, the same movement was performed using the nano-hexapod while recording the signal of the external metrology.
Results shown in Figure \ref{fig:test_id31_Rz_align_correct} are indeed indicating much better alignment.

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_Rz_align_error.png}
\end{center}
\subcaption{\label{fig:test_id31_Rz_align_error}Before alignment}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_Rz_align_correct.png}
\end{center}
\subcaption{\label{fig:test_id31_Rz_align_correct}After alignment}
\end{subfigure}
\caption{\label{fig:test_id31_Rz_align_error}Measurement of the Nano-Hexapod axes in the frame of the external metrology. Before alignment (\subref{fig:test_id31_Rz_align_error}) and after alignment (\subref{fig:test_id31_Rz_align_correct}).}
\end{figure}

The plant dynamics was identified again after the fine alignment and is compared with the model dynamics in Figure \ref{fig:test_id31_first_id_int_better_rz_align}.
Compared to the initial identification shown in Figure \ref{fig:test_id31_first_id_int}, the obtained coupling has decreased and is now close to the coupling obtained with the multi-body model.
At low frequency (below \(10\,\text{Hz}\)) all the off-diagonal elements have an amplitude \(\approx 100\) times lower compared to the diagonal elements, indicating that a low bandwidth feedback controller can be implemented in a decentralized way (i.e. \(6\) SISO controllers).
Between \(650\,\text{Hz}\) and \(1000\,\text{Hz}\), several modes can be observed that are due to flexible modes of the top platform and modes of the two spheres adjustment mechanism.
The flexible modes of the top platform can be passively damped while the modes of the two reference spheres should not be present in the final application.

\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_id31_first_id_int_better_rz_align.png}
\caption{\label{fig:test_id31_first_id_int_better_rz_align}Decrease of the coupling with better Rz alignment}
\end{figure}

\section{Effect of Payload Mass}
\label{ssec:test_id31_open_loop_plant_mass}

In order to see how the system dynamics changes with the payload, open-loop identification was performed for four payload conditions that are shown in Figure \ref{fig:test_id31_picture_masses}.
The obtained direct terms are compared with the model dynamics in Figure \ref{fig:test_nhexa_comp_simscape_diag_masses}.
It is shown that the model dynamics well predicts the measured dynamics for all payload conditions.
Therefore the model can be used for model-based control is necessary.

It is interesting to note that the anti-resonances in the force sensor plant are now appearing as minimum-phase, as the model predicts (Figure \ref{fig:test_id31_comp_simscape_iff_diag_masses}).

\begin{figure}[htbp]
\begin{subfigure}{0.24\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.99\linewidth]{figs/test_id31_picture_mass_m0.jpg}
\end{center}
\subcaption{\label{fig:test_id31_picture_mass_m0}$m=0\,\text{kg}$}
\end{subfigure}
\begin{subfigure}{0.24\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.99\linewidth]{figs/test_id31_picture_mass_m1.jpg}
\end{center}
\subcaption{\label{fig:test_id31_picture_mass_m1}$m=13\,\text{kg}$}
\end{subfigure}
\begin{subfigure}{0.24\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.99\linewidth]{figs/test_id31_picture_mass_m2.jpg}
\end{center}
\subcaption{\label{fig:test_id31_picture_mass_m2}$m=26\,\text{kg}$}
\end{subfigure}
\begin{subfigure}{0.24\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.99\linewidth]{figs/test_id31_picture_mass_m3.jpg}
\end{center}
\subcaption{\label{fig:test_id31_picture_mass_m3}$m=39\,\text{kg}$}
\end{subfigure}
\caption{\label{fig:test_id31_picture_masses}The four tested payload conditions. (\subref{fig:test_id31_picture_mass_m0}) without payload. (\subref{fig:test_id31_picture_mass_m1}) with \(13\,\text{kg}\) payload. (\subref{fig:test_id31_picture_mass_m2}) with \(26\,\text{kg}\) payload. (\subref{fig:test_id31_picture_mass_m3}) with \(39\,\text{kg}\) payload.}
\end{figure}

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_comp_simscape_int_diag_masses.png}
\end{center}
\subcaption{\label{fig:test_id31_comp_simscape_int_diag_masses}from $u$ to $e\mathcal{L}$}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_comp_simscape_iff_diag_masses.png}
\end{center}
\subcaption{\label{fig:test_id31_comp_simscape_iff_diag_masses}from $u$ to $V_s$}
\end{subfigure}
\caption{\label{fig:test_nhexa_comp_simscape_diag_masses}Comparison of the diagonal elements (i.e. ``direct'' terms) of the measured FRF matrix and the dynamics identified from the multi-body model. Both for the dynamics from \(u\) to \(e\mathcal{L}\) (\subref{fig:test_id31_comp_simscape_int_diag_masses}) and from \(u\) to \(V_s\) (\subref{fig:test_id31_comp_simscape_iff_diag_masses})}
\end{figure}

\section{Effect of Spindle Rotation}
\label{ssec:test_id31_open_loop_plant_rotation}

To verify that all the kinematics in Figure \ref{fig:test_id31_block_schematic_plant} are correct and to check whether the system dynamics is affected by Spindle rotation of not, three identification experiments were performed: no spindle rotation, spindle rotation at \(36\,\text{deg}/s\) and at \(180\,\text{deg}/s\).

The comparison of the obtained dynamics from command signal \(u\) to estimated strut error \(e\mathcal{L}\) is done in Figure \ref{fig:test_id31_effect_rotation}.
Both direct terms (Figure \ref{fig:test_id31_effect_rotation_direct}) and coupling terms (Figure \ref{fig:test_id31_effect_rotation_coupling}) are unaffected by the rotation.
The same can be observed for the dynamics from the command signal to the encoders and to the force sensors.
This confirms that the rotation has no significant effect on the plant dynamics.
This also indicates that the metrology kinematics is correct and is working in real time.

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_effect_rotation_direct.png}
\end{center}
\subcaption{\label{fig:test_id31_effect_rotation_direct}Direct terms}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_effect_rotation_coupling.png}
\end{center}
\subcaption{\label{fig:test_id31_effect_rotation_coupling}Coupling terms}
\end{subfigure}
\caption{\label{fig:test_id31_effect_rotation}Effect of the spindle rotation on the plant dynamics from \(u\) to \(e\mathcal{L}\). Three rotational velocities are tested (\(0\,\text{deg}/s\), \(36\,\text{deg}/s\) and \(180\,\text{deg}/s\)). Both direct terms (\subref{fig:test_id31_effect_rotation_direct}) and coupling terms (\subref{fig:test_id31_effect_rotation_coupling}) are displayed.}
\end{figure}

\section*{Conclusion}
The identified frequency response functions from command signals \(\bm{u}\) to the force sensors \(\bm{V}_s\) and to the estimated strut errors \(\bm{\epsilon\mathcal{L}}\) are well matching the developed multi-body model.
Effect of payload mass is shown to be well predicted by the model, which can be useful if robust model based control is to be used.
The spindle rotation has no visible effect on the measured dynamics, indicating that controllers should be robust to the spindle rotation.

\chapter{Decentralized Integral Force Feedback}
\label{sec:test_id31_iff}
The HAC-LAC strategy that was previously developed and validated using the multi-body model is now experimentally implemented.

In this section, the low authority control part is first validated.
It consisted of a decentralized Integral Force Feedback controller \(\bm{K}_{\text{IFF}}\), with all the diagonal terms being equal \eqref{eq:test_id31_Kiff}.

\begin{equation}\label{eq:test_id31_iff_diagonal}
\bm{K}_{\text{IFF}} = K_{\text{IFF}} \cdot \bm{I}_6 = \begin{bmatrix}
K_{\text{IFF}} & & 0 \\
& \ddots & \\
0 & & K_{\text{IFF}}
\end{bmatrix}
\end{equation}

And it is implemented as shown in the block diagram of Figure \ref{fig:test_id31_iff_block_diagram}.

\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_id31_iff_schematic.png}
\caption{\label{fig:test_id31_iff_block_diagram}Block diagram of the implemented decentralized IFF controller. The controller \(\bm{K}_{\text{IFF}}\) is a diagonal controller with the same elements on every diagonal term \(K_{\text{IFF}}\).}
\end{figure}
\section{IFF Plant}
\label{ssec:test_id31_iff_plant}

As the multi-body model is going to be used to evaluate the stability of the IFF controller and to optimize the achievable damping, it is first checked whether this model accurately represents the system dynamics.

In the previous section (Figure \ref{fig:test_id31_comp_simscape_iff_diag_masses}), it was shown that the model well captures the dynamics from each actuator to its collocated force sensor, and that for all considered payloads.
Nevertheless, it is also important to well model the coupling in the system.
To very that, instead of comparing the 36 elements of the \(6 \times 6\) frequency response matrix from \(\bm{u}\) to \(\bm{V_s}\), only 6 elements are compared in Figure \ref{fig:test_id31_comp_simscape_Vs}.
Similar results are obtained for all other 30 elements and for the different tested payload conditions.
This confirms that the multi-body model can be used to tune the IFF controller.

\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_id31_comp_simscape_Vs.png}
\caption{\label{fig:test_id31_comp_simscape_Vs}Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal \(u_1\) to the six force sensor voltages \(V_{s1}\) to \(V_{s6}\)}
\end{figure}

\section{IFF Controller}
\label{ssec:test_id31_iff_controller}

A decentralized IFF controller was designed such that it adds damping to the suspension modes of the nano-hexapod for all considered payloads.
The frequency of the suspension modes are ranging from \(\approx 30\,\text{Hz}\) to \(\approx 250\,\text{Hz}\) (Figure \ref{fig:test_id31_comp_simscape_iff_diag_masses}), and therefore the IFF controller should provide integral action in this frequency range.
A second order high pass filter (cut-off frequency of \(10\,\text{Hz}\)) was added to limit the low frequency gain \eqref{eq:test_id31_Kiff}.

\begin{equation}\label{eq:test_id31_Kiff}
K_{\text{IFF}} = g_0 \cdot \underbrace{\frac{1}{s}}_{\text{int}} \cdot \underbrace{\frac{s^2/\omega_z^2}{s^2/\omega_z^2 + 2\xi_z s /\omega_z + 1}}_{\text{2nd order LPF}},\quad \left(g_0 = -100,\ \omega_z = 2\pi10\,\text{rad/s},\ \xi_z = 0.7\right)
\end{equation}

The bode plot of the decentralized IFF controller is shown in Figure \ref{fig:test_id31_Kiff_bode_plot} and the ``decentralized loop-gains'' for all considered payload masses are shown in Figure \ref{fig:test_id31_Kiff_loop_gain}.
It can be seen that the loop-gain is larger than \(1\) around suspension modes indicating that some damping should be added to the suspension modes.

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_Kiff_bode_plot.png}
\end{center}
\subcaption{\label{fig:test_id31_Kiff_bode_plot}Bode plot of $K_{\text{IFF}}$}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_Kiff_loop_gain.png}
\end{center}
\subcaption{\label{fig:test_id31_Kiff_loop_gain}Decentralized Loop gains}
\end{subfigure}
\caption{\label{fig:test_id31_Kiff}Bode plot of the decentralized IFF controller (\subref{fig:test_id31_Kiff_bode_plot}). The decentralized controller \(K_{\text{IFF}}\) multiplied by the identified dynamics from \(u_1\) to \(V_{s1}\) for all payloads are shown in (\subref{fig:test_id31_Kiff_loop_gain})}
\end{figure}

To estimate the added damping, a root-locus plot is computed using the multi-body model (Figure \ref{fig:test_id31_iff_root_locus_m0}).
It can be seen that for all considered payloads, the poles are bounded to the ``left-half plane'' indicating that the decentralized IFF is robust.
The closed-loop poles for the chosen value of the gain are displayed by black crosses.
It can be seen that while damping can be added for all payloads (as compared to the open-loop case), the optimal value of the gain is different for each payload.
For low payload masses, a higher value of the IFF controller gain could lead to better damping.
However, in this study, it was chosen to implement a fix (i.e. non-adaptive) decentralized IFF controller.

\begin{figure}[htbp]
\begin{subfigure}{0.24\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_iff_root_locus_m0.png}
\end{center}
\subcaption{\label{fig:test_id31_iff_root_locus_m0}$m = 0\,\text{kg}$}
\end{subfigure}
\begin{subfigure}{0.24\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_iff_root_locus_m1.png}
\end{center}
\subcaption{\label{fig:test_id31_iff_root_locus_m1}$m = 13\,\text{kg}$}
\end{subfigure}
\begin{subfigure}{0.24\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_iff_root_locus_m2.png}
\end{center}
\subcaption{\label{fig:test_id31_iff_root_locus_m2}$m = 26\,\text{kg}$}
\end{subfigure}
\begin{subfigure}{0.24\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_iff_root_locus_m3.png}
\end{center}
\subcaption{\label{fig:test_id31_iff_root_locus_m3}$m = 39\,\text{kg}$}
\end{subfigure}
\caption{\label{fig:test_id31_iff_root_locus_m0}Root Locus plots for the designed decentralized IFF controller and using the multy-body model. Black crosses indicate the closed-loop poles for the choosen value of the gain.}
\end{figure}

\section{Damped Plant}
\label{ssec:test_id31_iff_perf}

As the model is accurately modelling the system dynamics, it can be used to estimate the damped plant, i.e. the transfer functions from \(\bm{u}^\prime\) to \(\bm{\mathcal{L}}\).
The obtained damped plants are compared to the open-loop plants in Figure \ref{fig:test_id31_comp_ol_iff_plant_model}.
The peak amplitudes corresponding to the suspension modes are approximately reduced by a factor \(10\) for all considered payloads, showing the effectiveness of the decentralized IFF control strategy.

In order to experimentally validate the Decentralized IFF controller, it was implemented and the damped plants (i.e. the transfer function from \(\bm{u}^\prime\) to \(\bm{\epsilon\mathcal{L}}\)) were identified for all payload conditions.
The obtained frequency response functions are compared with the model in Figure \ref{fig:test_id31_hac_plant_effect_mass} verifying the good correlation between the predicted damped plant using the multi-body model and the experimental results.

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_comp_ol_iff_plant_model.png}
\end{center}
\subcaption{\label{fig:test_id31_comp_ol_iff_plant_model}Effect of IFF on the plant}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_hac_plant_effect_mass.png}
\end{center}
\subcaption{\label{fig:test_id31_hac_plant_effect_mass}Comparison of model and experimental results}
\end{subfigure}
\caption{\label{fig:test_id31_hac_plant_effect_mass_comp_model}Comparison of the open-loop plants and the damped plant with Decentralized IFF, estimated from the multi-body model (\subref{fig:test_id31_comp_ol_iff_plant_model}). Comparison of the measured damped plants and modeled plants for all considered payloads (\subref{fig:test_id31_hac_plant_effect_mass}). Only ``direct'' terms (\(\epsilon\mathcal{L}_i/u_i^\prime\)) are displayed for simplificty}
\end{figure}

\section*{Conclusion}
The implementation of a decentralized Integral Force Feedback controller has been successfully demonstrated.
Using the multi-body model, the controller was designed and optimized to ensure stability across all payload conditions while providing significant damping of suspension modes.
The experimental results validated the model predictions, showing a reduction of peak amplitudes by approximately a factor of 10 across the full payload range (0-39 kg).
While higher gains could potentially achieve better damping performance for lighter payloads, the chosen fixed-gain configuration represents a robust compromise that maintains stability and performance across all operating conditions.
The good correlation between the modeled and measured damped plants confirms the effectiveness of using the multi-body model for both controller design and performance prediction.

\chapter{High Authority Control in the frame of the struts}
\label{sec:test_id31_hac}
In this section, a High-Authority-Controller is developed to actively stabilize the sample's position.
The corresponding control architecture is shown in Figure \ref{fig:test_id31_iff_hac_schematic}.

As the diagonal terms of the damped plants were found to be all equal (thanks to the system's symmetry and manufacturing and mounting uniformity, see Figure \ref{fig:test_id31_hac_plant_effect_mass}), a diagonal high authority controller \(\bm{K}_{\text{HAC}}\) is implemented with all diagonal terms being equal \eqref{eq:eq:test_id31_hac_diagonal}.

\begin{equation}\label{eq:eq:test_id31_hac_diagonal}
\bm{K}_{\text{HAC}} = K_{\text{HAC}} \cdot \bm{I}_6 = \begin{bmatrix}
K_{\text{HAC}} & & 0 \\
& \ddots & \\
0 & & K_{\text{HAC}}
\end{bmatrix}
\end{equation}

\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_id31_iff_hac_schematic.png}
\caption{\label{fig:test_id31_iff_hac_schematic}Block diagram of the implemented HAC-IFF controllers. The controller \(\bm{K}_{\text{HAC}}\) is a diagonal controller with the same elements on every diagonal term \(K_{\text{HAC}}\).}
\end{figure}
\section{Damped Plant}
\label{ssec:test_id31_iff_hac_plant}

To verify whether the multi body model accurately represents the measured damped dynamics, both direct terms and coupling terms corresponding to the first actuator are compared in Figure \ref{fig:test_id31_comp_simscape_hac}.
Considering the complexity of the system's dynamics, the model can be considered to well represent the system's dynamics, and can therefore be used to tune the feedback controller and evaluate its performances.

\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_id31_comp_simscape_hac.png}
\caption{\label{fig:test_id31_comp_simscape_hac}Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal (\(u_1^\prime\)) of the damped plant to the estimated errors (\(\epsilon_{\mathcal{L}_i}\)) in the frame of the six struts by the external metrology}
\end{figure}

The challenge here is to tune an high authority controller such that it is robust to the change of dynamics due to different payloads being used.
Doing that without using the HAC-LAC strategy would require to design a controller which gives good performances for all the undamped dynamics (blue curves in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants}), which is a very complex control problem.
With the HAC-LAC strategy, the designed controller instead has to be be robust to all the damped dynamics (red curves in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants}), which is easier from a control perspective.
This is one of the key benefit of using the HAC-LAC strategy.

\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_id31_comp_all_undamped_damped_plants.png}
\caption{\label{fig:test_id31_comp_all_undamped_damped_plants}Comparison of the (six) direct terms for all (four) payload conditions in the undamped case (in blue) and the damped case (i.e. with the decentralized IFF being implemented, in red).}
\end{figure}

\section{Interaction Analysis}
\label{sec:test_id31_hac_interaction_analysis}

As the control strategy here is to apply a diagonal control in the frame of the struts, it is important to determine the frequency at which multivariable effects become significant, as this represents a critical limitation of the control approach.
To conduct this interaction analysis, the \acrfull{rga} \(\bm{\Lambda_G}\) is first computed using \eqref{eq:test_id31_rga} for the plant dynamics identified with the multiple payload masses.

\begin{equation}\label{eq:test_id31_rga}
\bm{\Lambda_G}(\omega) = \bm{G}(j\omega) \star \left(\bm{G}(j\omega)^{-1}\right)^{T}, \quad (\star \text{ means element wise multiplication})
\end{equation}

Then, \acrshort{rga} numbers are computed using \eqref{eq:test_id31_rga_number} and are use as a metric for interaction \cite[chapt. 3.4]{skogestad07_multiv_feedb_contr}.

\begin{equation}\label{eq:test_id31_rga_number}
\text{RGA number}(\omega) = \|\bm{\Lambda_G}(\omega) - \bm{I}\|_{\text{sum}}
\end{equation}

The obtained \acrshort{rga} numbers are compared in Figure \ref{fig:test_id31_hac_rga_number}.
The results indicates that higher payload masses increase the coupling when implementing control in the strut reference frame (i.e., decentralized approach).
This indicates that it is progressively more challenging to achieve high bandwidth performance as the payload mass increases.
This behavior can be attributed to the fundamental approach of implementing control in the frame of the struts.
Indeed, above the suspension modes of the nano-hexapod, the induced motion by the piezoelectric actuators is no longer dictated by the kinematics but rather by the inertia of the different parts.
This design choice, while beneficial for system simplicity, introduces inherent limitations in the system's ability to handle larger masses at high frequency.

\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_id31_hac_rga_number.png}
\caption{\label{fig:test_id31_hac_rga_number}RGA-number for the damped plants - Comparison of all the payload conditions}
\end{figure}

\section{Robust Controller Design}
\label{ssec:test_id31_iff_hac_controller}

A diagonal controller was designed to be robust to change of payloads, which means that every damped plants shown in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants} should be considered during the controller design.
For this controller design, a crossover frequency of \(5\,\text{Hz}\) was chosen to limit multivariable effects as explain in Section \ref{sec:test_id31_hac_interaction_analysis}.
One integrator is added to increase the low frequency gain, a lead is added around \(5\,\text{Hz}\) to increase the stability margins and a first order low pass filter with a cut-off frequency of \(30\,\text{Hz}\) is added to improve the robustness to dynamical uncertainty at high frequency.
The controller transfer function is shown in \eqref{eq:test_id31_robust_hac}.

\begin{equation}\label{eq:test_id31_robust_hac}
K_{\text{HAC}}(s) = g_0 \cdot \underbrace{\frac{\omega_c}{s}}_{\text{int}} \cdot \underbrace{\frac{1}{\sqrt{\alpha}}\frac{1 + \frac{s}{\omega_c/\sqrt{\alpha}}}{1 + \frac{s}{\omega_c\sqrt{\alpha}}}}_{\text{lead}} \cdot \underbrace{\frac{1}{1 + \frac{s}{\omega_0}}}_{\text{LPF}}, \quad \left( \omega_c = 2\pi5\,\text{rad/s},\ \alpha = 2,\ \omega_0 = 2\pi30\,\text{rad/s} \right)
\end{equation}

The obtained ``decentralized'' loop-gains (i.e. the diagonal element of the controller times the diagonal terms of the plant) are shown in Figure \ref{fig:test_id31_hac_loop_gain}.
Closed-loop stability is verified by computing the characteristic Loci (Figure \ref{fig:test_id31_hac_characteristic_loci}).
However, small stability margins are observed for the highest mass, indicating that some multivariable effects are in play.

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_hac_loop_gain.png}
\end{center}
\subcaption{\label{fig:test_id31_hac_loop_gain}Loop Gains}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_hac_characteristic_loci.png}
\end{center}
\subcaption{\label{fig:test_id31_hac_characteristic_loci}Characteristic Loci}
\end{subfigure}
\caption{\label{fig:test_id31_hac_loop_gain_loci}Robust High Authority Controller. ``Decentralized loop-gains'' are shown in (\subref{fig:test_id31_hac_loop_gain}) and characteristic loci are shown in (\subref{fig:test_id31_hac_characteristic_loci})}
\end{figure}

\section{Performance estimation with simulation of Tomography scans}
\label{ssec:test_id31_iff_hac_perf}

To estimate the performances that can be expected with this HAC-LAC architecture and the designed controller, simulations of tomography experiments were performed\footnote{Note that the eccentricity of the ``point of interest'' with respect to the Spindle rotation axis has been tuned based on measurements.}.
The rotational velocity was set to 30rpm, and no payload was added on top of the nano-hexapod.
An open-loop simulation and a closed-loop simulation were performed and compared in Figure \ref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim}.
The obtained closed-loop positioning accuracy was found to comply with the requirements as it succeeded to keep the point of interest on the beam (Figure \ref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz}).

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=0.9]{figs/test_id31_tomo_m0_30rpm_robust_hac_iff_sim_xy.png}
\end{center}
\subcaption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_xy}XY plane}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=0.9]{figs/test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz.png}
\end{center}
\subcaption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz}YZ plane}
\end{subfigure}
\caption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim}Position error of the sample in the XY (\subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_xy}) and YZ (\subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz}) planes during a simulation of a tomography experiment at 30RPM. No payload is placed on top of the nano-hexapod.}
\end{figure}

\section{Robustness estimation with simulation of Tomography scans}
\label{ssec:test_id31_iff_hac_robustness}

To verify the robustness to the change of payload mass, four simulations of tomography experiments were performed with payloads as shown Figure \ref{fig:test_id31_picture_masses} (i.e. \(0\,kg\), \(13\,kg\), \(26\,kg\) and \(39\,kg\)).
This time, the rotational velocity was set at 1rpm (i.e. 6deg/s), as it is the typical rotational velocity for heavy samples.

The closed-loop systems were stable for all payload conditions, indicating good control robustness.
However, the positioning errors are getting worse as the payload mass increases, especially in the lateral \(D_y\) direction, as shown in Figure \ref{fig:test_id31_hac_tomography_Wz36_simulation}.
Yet it was decided that this controller will be tested experimentally, and improved if necessary.

\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_id31_hac_tomography_Wz36_simulation.png}
\caption{\label{fig:test_id31_hac_tomography_Wz36_simulation}Positioning errors in the Y-Z plane during tomography experiments simulated using the multi-body model (in closed-loop)}
\end{figure}

\section*{Conclusion}
In this section, a High-Authority-Controller was developed to actively stabilize the sample's position.
The multi-body model was first validated by comparing it with measured frequency responses of the damped plant, showing good agreement for both direct terms and coupling terms.
This validation confirmed that the model could be reliably used to tune the feedback controller and evaluate its performances.

An interaction analysis using the RGA-number was then performed, revealing that higher payload masses lead to increased coupling when implementing control in the strut reference frame.
Based on this analysis, a diagonal controller with a crossover frequency of 5 Hz was designed, incorporating an integrator, a lead compensator, and a first order low-pass filter.

Finally, simulations of tomography experiments were performed to validate the HAC-LAC architecture.
The closed-loop system remained stable for all tested payload conditions (0 to 39 kg).
With no payload at 30 rpm, the NASS successfully kept the sample point of interested on the beam, which fulfills the specifications.
At 1 rpm, while positioning errors increased with the payload mass (particularly in the lateral direction), the system maintained stable.
These results demonstrate both the effectiveness and limitations of implementing control in the frame of the struts.

\chapter{Validation with Scientific experiments}
\label{sec:test_id31_experiments}
In this section, the goal is to evaluate the performances of the NASS and validate its use for real work scientific experiments.

However, the online metrology prototype (presented in Section \ref{sec:test_id31_metrology}) does not allow samples to be placed on top of the nano-hexapod while being illuminated by the x-ray beam.
Nevertheless, in order to fully validate the NASS, typical motion performed during scientific experiments can be mimicked, and the positioning performances can be evaluated.

Several scientific experiments are mimicked, such as:
\begin{itemize}
\item Tomography scans: continuous rotation of the Spindle along the vertical axis (Section \ref{ssec:test_id31_scans_tomography})
\item Reflectivity scans: \(R_y\) rotations using the tilt-stage (Section \ref{ssec:test_id31_scans_reflectivity})
\item Vertical layer scans: the nano-hexapod is used to perform \(D_z\) step motion or ramp scans (Section \ref{ssec:test_id31_scans_dz})
\item Lateral scans: \(D_y\) scans using the \(T_y\) translation stage (Section \ref{ssec:test_id31_scans_dy})
\item Diffraction Tomography: the Spindle is performing continuous \(R_z\) rotation while the translation stage is performing lateral \(D_y\) scans at the same time.
This is the experiment with the most stringent requirements (Section \ref{ssec:test_id31_scans_diffraction_tomo})
\end{itemize}

For each experiment, the obtained performances are compared to the specifications for the most depending case in which nano-focusing optics are used to focus the beam down to \(200\,nm\times 100\,nm\).
In that case the goal is to keep the sample's point of interested in the beam, and therefore the \(D_y\) and \(D_z\) positioning errors should be less than \(200\,nm\) and \(100\,nm\) peak-to-peak respectively.
The \(R_y\) error should be less than \(1.7\,\mu\text{rad}\) peak-to-peak.
In terms of RMS errors, this corresponds to \(30\,nm\) in \(D_y\), \(15\,nm\) in \(D_z\) and \(250\,\text{nrad}\) in \(R_y\).

\begin{table}[htbp]
\caption{\label{tab:test_id31_experiments_specifications}Specifications for the Nano-Active-Stabilization-System}
\centering
\begin{tabularx}{0.5\linewidth}{Xccc}
\toprule
 & \(D_y\) & \(D_z\) & \(R_y\)\\
\midrule
peak 2 peak & 200nm & 100nm & \(1.7\,\mu\text{rad}\)\\
RMS & 30nm & 15nm & \(250\,\text{nrad}\)\\
\bottomrule
\end{tabularx}
\end{table}
\section{Tomography Scans}
\label{ssec:test_id31_scans_tomography}
\textbf{Issue with this control architecture (or controller?)}:
\begin{itemize}
\item The position is not converging to zero
\end{itemize}

\textbf{Compare}:
\begin{itemize}
\item 1rpm, 6rpm, 30rpm
\item at 1rpm: m0, m1, m2, m3 (same robust controller!)
\end{itemize}
\paragraph{Previous results at 1rpm}

The tomography experiments that were simulated were then experimentally conducted.
For each payload, a spindle rotating was first performed in open-loop, and then the loop was closed during another full spindle rotation.
An example with the \(26\,\text{kg}\) payload is shown in Figure \ref{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit}.
The eccentricity between the ``point of interest'' and the spindle rotation axis is quite large as the added payload mass statically deforms the micro-station stages.
To estimate the open-loop errors, it is supposed that the ``point of interest'' can be perfectly aligned with the spindle rotation axis.
Therefore, the eccentricity is first estimated by performing a circular fit (dashed black circle in Figure \ref{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit}), and then subtracted from the data in Figure \ref{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit_removed}.
This underestimate the real condition open-loop errors as it is difficult to obtain a perfect alignment in practice.

\begin{itemize}
\item[{$\square$}] Maybe show in the YZ plane?
\item[{$\square$}] Add the beam size?
\end{itemize}

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=0.9]{figs/test_id31_tomo_m2_1rpm_robust_hac_iff_fit.png}
\end{center}
\subcaption{\label{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit}Errors in $(x,y)$ plane}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=0.9]{figs/test_id31_tomo_m2_1rpm_robust_hac_iff_fit_removed.png}
\end{center}
\subcaption{\label{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit_removed}Removed eccentricity}
\end{subfigure}
\caption{\label{fig:test_id31_tomo_m2_1rpm_robust_hac_iff}Tomography experiment with rotation velocity of 1rpm, and payload mass of 26kg. Errors in the \((x,y)\) plane are shown in (\subref{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit}). The estimated eccentricity is displayed by the black dashed circle. Errors with subtracted eccentricity are shown in (\subref{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit_removed}).}
\end{figure}

The RMS values of the open-loop and closed-loop errors for all masses are summarized in Table \ref{tab:test_id31_tomo_1rpm_robust_ol_cl_errors}.
The obtained closed-loop errors are fulfilling the requirements, except for the \(39\,\text{kg}\) payload in the lateral (\(D_y\)) direction.

\begin{table}[htbp]
\caption{\label{tab:test_id31_tomo_1rpm_robust_ol_cl_errors}RMS values of the measured errors during open-loop and closed-loop tomography scans (1rpm) for all considered payloads. Measured closed-Loop errors are indicated by ``bold'' font.}
\centering
\begin{tabularx}{0.9\linewidth}{Xccc}
\toprule
 & \(D_y\) & \(D_z\) & \(R_y\)\\
\midrule
\(0\,kg\) & \(142 \Longrightarrow \bm{15}\,\text{nm RMS}\) & \(32 \Longrightarrow \bm{5}\,\text{nm RMS}\) & \(460 \Longrightarrow \bm{55}\,\text{nrad RMS}\)\\
\(13\,kg\) & \(149 \Longrightarrow \bm{25}\,\text{nm RMS}\) & \(26 \Longrightarrow \bm{6}\,\text{nm RMS}\) & \(470 \Longrightarrow \bm{55}\,\text{nrad RMS}\)\\
\(26\,kg\) & \(202 \Longrightarrow \bm{25}\,\text{nm RMS}\) & \(36 \Longrightarrow \bm{7}\,\text{nm RMS}\) & \(1700 \Longrightarrow \bm{103}\,\text{nrad RMS}\)\\
\(39\,kg\) & \(297 \Longrightarrow \bm{53}\,\text{nm RMS}\) & \(38 \Longrightarrow \bm{9}\,\text{nm RMS}\) & \(1700 \Longrightarrow \bm{169}\,\text{nrad RMS}\)\\
\midrule
\textbf{Specifications} & \(30\,\text{nmRMS}\) & \(15\,\text{nmRMS}\) & \(250\,\text{nradRMS}\)\\
\bottomrule
\end{tabularx}
\end{table}

\paragraph{Previous results at 30rpm}

Then the same tomography experiment (i.e. constant spindle rotation at 30rpm, and no payload) was performed experimentally.
The measured position of the ``point of interest'' during the experiment are shown in Figure \ref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp}.

\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=0.9]{figs/test_id31_tomo_m0_30rpm_robust_hac_iff_exp_xy.png}
\end{center}
\subcaption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp_xy}XY plane}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=0.9]{figs/test_id31_tomo_m0_30rpm_robust_hac_iff_exp_yz.png}
\end{center}
\subcaption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp_yz}YZ plane}
\end{subfigure}
\caption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp}Experimental results of a tomography experiment at 30RPM without payload. Position error of the sample is shown in the XY (\subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp_xy}) and YZ (\subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp_yz}) planes.}
\end{figure}

Even though the simulation (Figure \ref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim}) and the experimental results (Figure \ref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp}) are looking similar, the most important metric to compare is the RMS values of the positioning errors in closed-loop.
These are computed for both the simulation and the experimental results and are compared in Table \ref{tab:test_id31_tomo_m0_30rpm_robust_hac_iff_rms}.
The lateral and vertical errors are similar, however the tilt (\(R_y\)) errors are underestimated by the model, which is reasonable as disturbances in \(R_y\) were not modeled.

Results obtained with this conservative HAC are already close to the specifications.

\begin{table}[htbp]
\caption{\label{tab:test_id31_tomo_m0_30rpm_robust_hac_iff_rms}RMS values of the errors for a tomography experiment at 30RPM and without payload. Experimental results and simulation are compared.}
\centering
\begin{tabularx}{0.7\linewidth}{Xccc}
\toprule
 & \(D_y\) & \(D_z\) & \(R_y\)\\
\midrule
Experiment (OL) & \(1.8\,\mu\text{mRMS}\) & \(24\,\text{nmRMS}\) & \(10\,\mu\text{radRMS}\)\\
\midrule
Simulation (CL) & \(30\,\text{nmRMS}\) & \(8\,\text{nmRMS}\) & \(73\,\text{nradRMS}\)\\
Experiment (CL) & \(39\,\text{nmRMS}\) & \(11\,\text{nmRMS}\) & \(130\,\text{nradRMS}\)\\
\midrule
Specifications & \(30\,\text{nmRMS}\) & \(15\,\text{nmRMS}\) & \(250\,\text{nradRMS}\)\\
\bottomrule
\end{tabularx}
\end{table}

\paragraph{Dynamic Error Budgeting}

In this section, the noise budget is performed.
The vibrations of the sample is measured in different conditions using the external metrology.

\textbf{Tomography}:
\begin{itemize}
\item Beam size: 200nm x 100nm
\item Keep the PoI in the beam: peak to peak errors of 200nm in Dy and 100nm in Dz
\item RMS errors (/ by 6.6) gives 30nmRMS in Dy and 15nmRMS in Dz.
\item Ry error <1.7urad, 250nrad RMS
\end{itemize}

\begin{center}
\begin{tabular}{lllllll}
 & Dx & Dy & Dz & Rx & Ry & Rz\\
\hline
peak 2 peak &  & 200nm & 100nm &  & 1.7 urad & \\
RMS &  & 30nm & 15nm &  & 250 nrad & \\
\end{tabular}
\end{center}


\begin{itemize}
\item Effect of rotation.
\item Comparison with measurement noise: should be higher
\item Maybe say that we then focus on the high rotation velocity
\item Also say that for the RMS errors, we don't take into account drifts (so we NASS we can correct drifts)
\item Focus on 30rpm case
\end{itemize}

\begin{figure}[htbp]
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_hac_cas_ol_dy.png}
\end{center}
\subcaption{\label{fig:test_id31_hac_cas_ol_dy} $D_y$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_hac_cas_ol_dz.png}
\end{center}
\subcaption{\label{fig:test_id31_hac_cas_ol_dz} $D_z$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_hac_cas_ol_ry.png}
\end{center}
\subcaption{\label{fig:test_id31_hac_cas_ol_ry} $R_y$}
\end{subfigure}
\caption{\label{fig:test_id31_hac_cas_ol}Cumulative Amplitude Spectrum of the measured positioning errors without any rotation, with \(\Omega_z = 36\,\text{deg}/s\) and with \(\Omega_z = 180\,\text{deg}/s\). Open-loop case. RMS values are indicated in the legend.}
\end{figure}

Effect of LAC:
\begin{itemize}
\item reduce amplitude around 80Hz
\item Inject some noise between 200 and 700Hz?
\end{itemize}

Effect of HAC:
\begin{itemize}
\item Bandwidth is approximately 10Hz
\end{itemize}

\begin{figure}[htbp]
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_hac_cas_cl_dy.png}
\end{center}
\subcaption{\label{fig:test_id31_hac_cas_cl_dy} $D_y$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_hac_cas_cl_dz.png}
\end{center}
\subcaption{\label{fig:test_id31_hac_cas_cl_dz} $D_z$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_hac_cas_cl_ry.png}
\end{center}
\subcaption{\label{fig:test_id31_hac_cas_cl_ry} $R_y$}
\end{subfigure}
\caption{\label{fig:test_id31_hac_cas_cl}Cumulative Amplitude Spectrum for tomography experiments at \(180\,\text{deg}/s\). Open-Loop case, IFF, and HAC-LAC are compared. Specifications are indicated by black dashed lines. RSM values are indicated in the legend.}
\end{figure}

\section{Reflectivity Scans}
\label{ssec:test_id31_scans_reflectivity}

X-ray reflectivity consists of scanning the \(R_y\) angle of thin structures (typically solid/liquid interfaces) through the beam.
Here, a \(R_y\) scan is performed with a rotational velocity of \(100\,\mu rad/s\) and the positioning errors in closed-loop are recorded (Figure \ref{fig:test_id31_reflectivity}).
It is shown that the NASS is able to keep the point of interest in the beam within specifications.

\begin{figure}[htbp]
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_reflectivity_dy.png}
\end{center}
\subcaption{\label{fig:test_id31_reflectivity_dy}$D_y$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_reflectivity_dz.png}
\end{center}
\subcaption{\label{fig:test_id31_reflectivity_dz}$D_z$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_reflectivity_ry.png}
\end{center}
\subcaption{\label{fig:test_id31_reflectivity_ry}$R_y$}
\end{subfigure}
\caption{\label{fig:test_id31_reflectivity}Reflectivity scan (\(R_y\)) with a rotational velocity of \(100\,\mu \text{rad}/s\).}
\end{figure}


\section{Dirty Layer Scans}
\label{ssec:test_id31_scans_dz}
In some cases, samples are composed of several atomic ``layers'' that are first aligned in the horizontal plane with precise \(R_y\) positioning and that are then scanned vertically with precise \(D_z\) motion.
The vertical scan can be performed continuously of using step-by-step motion.
\paragraph{Step by Step \(D_z\) motion}

Vertical steps are here performed using the nano-hexapod only.
Step sizes from \(10\,nm\) to \(1\,\mu m\) are tested, and the results are shown in Figure \ref{fig:test_id31_dz_mim_steps}.
10nm steps can be resolved if detectors are integrating over 50ms (see red curve in Figure \ref{fig:test_id31_dz_mim_10nm_steps}), which is reasonable for many experiments.

When doing step-by-step scans, the time to reach the next value is quite critical as long settling time can render the total experiment excessively long.
The response time to reach the wanted value (to within \(\pm 20\,nm\)) is around \(70\,ms\) as shown with the \(1\,\mu m\) step response in Figure \ref{fig:test_id31_dz_mim_1000nm_steps}.

\begin{figure}[htbp]
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dz_mim_10nm_steps.png}
\end{center}
\subcaption{\label{fig:test_id31_dz_mim_10nm_steps}10nm steps}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dz_mim_100nm_steps.png}
\end{center}
\subcaption{\label{fig:test_id31_dz_mim_100nm_steps}100nm steps}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dz_mim_1000nm_steps.png}
\end{center}
\subcaption{\label{fig:test_id31_dz_mim_1000nm_steps}$1\,\mu$m step}
\end{subfigure}
\caption{\label{fig:test_id31_dz_mim_steps}Vertical steps performed with the nano-hexapod. 10nm steps are shown in (\subref{fig:test_id31_dz_mim_10nm_steps}) with the low pass filtered data corresponding to an integration time of \(50\,ms\). 100nm steps are shown in (\subref{fig:test_id31_dz_mim_100nm_steps}). The response time to reach a peak to peak error of \(\pm 20\,nm\) is \(\approx 70\,ms\) as shown in (\subref{fig:test_id31_dz_mim_1000nm_steps}) for a \(1\,\mu m\) step.}
\end{figure}

\paragraph{Continuous \(D_z\) motion: Dirty Layer Scans}

\begin{itemize}
\item[{$\square$}] In this section and the following experiments, the NASS performs ``ramp scans'' (i.e. constant velocity scans).
In order to have no tracking errors, two integrators needs to be present in the feedback loop.
As the plant present not integral action at low frequency, two integrators are included in the controller.
\end{itemize}

Instead of performing ``step-by-step'' scans, continuous scans can also be performed in the vertical direction.
At \(10\,\mu m/s\), the errors are well within the specifications (see Figure \ref{fig:test_id31_dz_scan_10ums}).

\begin{figure}[htbp]
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dz_scan_10ums_dy.png}
\end{center}
\subcaption{\label{fig:test_id31_dz_scan_10ums_dy}$D_y$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dz_scan_10ums_dz.png}
\end{center}
\subcaption{\label{fig:test_id31_dz_scan_10ums_dz}$D_z$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dz_scan_10ums_ry.png}
\end{center}
\subcaption{\label{fig:test_id31_dz_scan_10ums_ry}$R_y$}
\end{subfigure}
\caption{\label{fig:test_id31_dz_scan_10ums}\(D_z\) scan with a velocity of \(10\,\mu m/s\). \(D_z\) setpoint, measured position and error are shown in (\subref{fig:test_id31_dz_scan_10ums_dz}). Errors in \(D_y\) and \(R_y\) are respectively shown in (\subref{fig:test_id31_dz_scan_10ums_dy}) and (\subref{fig:test_id31_dz_scan_10ums_ry})}
\end{figure}

The second tested velocity is \(100\,\mu m/s\), which is the fastest velocity for \(D_z\) scans when the ultimate performances is wanted (corresponding to a 1ms integration time and 100nm ``resolution'').
At this velocity, the positioning errors are also within the specifications except for the very start and very end of the motion (i.e. during acceleration/deceleration phases, see Figure \ref{fig:test_id31_dz_scan_100ums}).
However, the detectors are usually triggered only during the constant velocity phase, so this is not not an issue.
The performances during acceleration phase may also be improved by using a feedforward controller.

\begin{figure}[htbp]
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dz_scan_100ums_dy.png}
\end{center}
\subcaption{\label{fig:test_id31_dz_scan_100ums_dy}$D_y$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dz_scan_100ums_dz.png}
\end{center}
\subcaption{\label{fig:test_id31_dz_scan_100ums_dz}$D_z$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dz_scan_100ums_ry.png}
\end{center}
\subcaption{\label{fig:test_id31_dz_scan_100ums_ry}$R_y$}
\end{subfigure}
\caption{\label{fig:test_id31_dz_scan_100ums}\(D_z\) scan with a velocity of \(100\,\mu m/s\). \(D_z\) setpoint, measured position and error are shown in (\subref{fig:test_id31_dz_scan_100ums_dz}). Errors in \(D_y\) and \(R_y\) are respectively shown in (\subref{fig:test_id31_dz_scan_100ums_dy}) and (\subref{fig:test_id31_dz_scan_100ums_ry})}
\end{figure}

\paragraph{Summary}

\begin{center}
\begin{tabular}{lrrr}
 & \(D_y\) & \(D_z\) & \(R_y\)\\
\hline
Specs & 100.0 & 50.0 & 0.85\\
10um/s & 82.35 & 17.94 & 0.41\\
100um/s & 98.72 & 41.45 & 0.48\\
\end{tabular}
\end{center}

\begin{center}
\begin{tabular}{lrrr}
 & \(D_y\) & \(D_z\) & \(R_y\)\\
\hline
Specs & 30.0 & 15.0 & 0.25\\
10um/s & 25.11 & 5.04 & 0.11\\
100um/s & 34.84 & 9.08 & 0.13\\
\end{tabular}
\end{center}

\section{Lateral Scans}
\label{ssec:test_id31_scans_dy}
Lateral scans are performed with the \(T_y\) stage.
The stepper motor controller\footnote{The ``IcePAP'' \cite{janvier13_icepap}  which is developed at the ESRF} outputs the setpoint which is received by the Speedgoat.
In the Speedgoat, the setpoint is compared with the measured \(D_y\) position of the top-platform, and the Nano-Hexapod is used to correct positioning errors induced by the scanning of the \(T_y\) stage.
The stroke is here limited to \(\pm 100\,\mu m\) due to the limited acceptance of the metrology system.
\paragraph{Slow scan}

The \(T_y\) stage is first scanned with a velocity of \(10\,\mu m/s\) which is typical for such experiments.
The errors in open-loop (i.e. without using the NASS) and in closed-loop are compared in Figure \ref{fig:test_id31_dy_10ums}.

In the direction of motion, periodic errors can be observed in the open-loop case (Figure \ref{fig:test_id31_dy_10ums_dy}).
These errors are induced by the stepper motor being used in the \(T_y\) stage.
Indeed, stepper motors inherently have ``micro-stepping errors'' which are periodic errors happening 200 times per motor rotation with an amplitude approximately equal to \(1\,\text{mrad}\).
As the lead screw for the \(T_y\) stage has a pitch of \(2\,mm\), this means that the micro-stepping errors have a period of \(10\,\mu m\) and an amplitude of \(\approx 300\,nm\) which can indeed be seen in open-loop.

In the vertical direction (Figure \ref{fig:test_id31_dy_10ums_dz}), open-loop errors are most likely due to measurement errors of the metrology itself as the top interferometer point at a sphere (see Figure \ref{fig:test_id31_xy_map_sphere}).

In closed-loop, the errors are within the specifications in all directions.

\begin{figure}[htbp]
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dy_10ums_dy.png}
\end{center}
\subcaption{\label{fig:test_id31_dy_10ums_dy} $D_y$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dy_10ums_dz.png}
\end{center}
\subcaption{\label{fig:test_id31_dy_10ums_dz} $D_z$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dy_10ums_ry.png}
\end{center}
\subcaption{\label{fig:test_id31_dy_10ums_ry} $R_y$}
\end{subfigure}
\caption{\label{fig:test_id31_dy_10ums}Open-Loop (in blue) and Closed-loop (i.e. using the NASS, in red) during a \(10\,\mu m/s\) scan with the \(T_y\) stage. Errors in \(D_y\) is shown in (\subref{fig:test_id31_dy_10ums_dy}).}
\end{figure}

\paragraph{Faster Scan}

The performance of the NASS is then tested for a scanning velocity of \(100\,\mu m/s\) and the results are shown in Figure \ref{fig:test_id31_dy_100ums}.
At this velocity, the micro-stepping errors have a frequency of \(10\,\text{Hz}\) and are inducing lot's of vibrations which are even amplified by some resonances of the micro-station.
These vibrations are outside the bandwidth of the NASS feedback controller and therefore not well reduced in closed-loop.

This is the main reason why stepper motors should be not be used for ``long-stroke / short-stroke'' systems when good scanning performances are wanted \cite{dehaeze22_fastj_uhv}.
In order to improve the scanning performances at high velocity, the stepper motor of the \(T_y\) stage could be replaced by a three-phase torque motor for instance.

As the closed-loop errors in \(D_z\) and \(R_y\) directions are within specifications (see Figures \ref{fig:test_id31_dy_100ums_dz} and \ref{fig:test_id31_dy_100ums_ry}), another option would be to trigger the detectors based on the measured \(D_y\) position instead of based on time or on the \(T_y\) setpoint.
This would make the experiment less sensitive to \(D_y\) vibrations.
For small \(D_y\) scans, the nano-hexapod alone can be used for the scans, but with limited strokes.

\begin{figure}[htbp]
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dy_100ums_dy.png}
\end{center}
\subcaption{\label{fig:test_id31_dy_100ums_dy} $D_y$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dy_100ums_dz.png}
\end{center}
\subcaption{\label{fig:test_id31_dy_100ums_dz} $D_z$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_dy_100ums_ry.png}
\end{center}
\subcaption{\label{fig:test_id31_dy_100ums_ry} $R_y$}
\end{subfigure}
\caption{\label{fig:test_id31_dy_100ums}Open-Loop (in blue) and Closed-loop (i.e. using the NASS, in red) during a \(100\,\mu m/s\) scan with the \(T_y\) stage. Errors in \(D_y\) is shown in (\subref{fig:test_id31_dy_100ums_dy}).}
\end{figure}

\paragraph{Conclusion}

\begin{center}
\begin{tabular}{lrrr}
 & \(D_y\) & \(D_z\) & \(R_y\)\\
\hline
Specs & 30.0 & 15.0 & 0.25\\
\hline
10um/s (OL) & 585.43 & 154.51 & 6.3\\
10um/s (CL) & 20.64 & 9.67 & 0.06\\
\hline
100um/s (OL) & 1063.58 & 166.85 & 6.44\\
100um/s (CL) & 731.63 & 19.91 & 0.36\\
\end{tabular}
\end{center}

\begin{center}
\begin{tabular}{lrrr}
 & \(D_y\) & \(D_z\) & \(R_y\)\\
\hline
Specs & 100.0 & 50.0 & 0.85\\
10um/s (OL) & 1167.8 & 308.35 & 11.06\\
10um/s (CL) & 86.36 & 41.6 & 0.28\\
100um/s (OL) & 2687.67 & 328.45 & 11.26\\
100um/s (CL) & 1339.31 & 69.5 & 0.91\\
\end{tabular}
\end{center}

\section{Diffraction Tomography}
\label{ssec:test_id31_scans_diffraction_tomo}

In diffraction tomography, the micro-station performs combined \(R_z\) rotation and \(D_y\) lateral scans.
Here the spindle is performing a continuous 1rpm rotation while the nano-hexapod is used to perform fast \(D_y\) scans.

The \(T_y\) stage is here not used as the stepper motor would induce high frequency vibrations, therefore the stroke is here limited to \(\approx \pm 100\,\mu m/s\).
Several \(D_y\) velocities are tested: \(0.1\,mm/s\), \(0.5\,mm/s\) and \(1\,mm/s\).

The \(D_y\) setpoint and the measured positions are shown for all tested velocities in Figure \ref{fig:test_id31_diffraction_tomo_setpoint}.

\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_id31_diffraction_tomo_setpoint.png}
\caption{\label{fig:test_id31_diffraction_tomo_setpoint}Dy motion for several configured velocities}
\end{figure}

The measured errors in \(D_y\), \(D_z\) and \(R_y\) directions are shown in Figure \ref{fig:test_id31_diffraction_tomo}.
While the \(D_z\) and \(R_y\) errors are within specifications (see Figures \ref{fig:test_id31_diffraction_tomo_dz} and \ref{fig:test_id31_diffraction_tomo_ry}), the lateral error goes outside of specifications during acceleration and deceleration phases (Figure \ref{fig:test_id31_diffraction_tomo_dy}).
However, it goes out of specifications during only during \(\approx 20\,ms\), and this could be optimized using feedforward and more appropriate setpoint signals.

\begin{figure}[htbp]
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_diffraction_tomo_dy.png}
\end{center}
\subcaption{\label{fig:test_id31_diffraction_tomo_dy} $D_y$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_diffraction_tomo_dz.png}
\end{center}
\subcaption{\label{fig:test_id31_diffraction_tomo_dz} $D_z$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/test_id31_diffraction_tomo_ry.png}
\end{center}
\subcaption{\label{fig:test_id31_diffraction_tomo_ry} $R_y$}
\end{subfigure}
\caption{\label{fig:test_id31_diffraction_tomo}Diffraction tomography scans (combined \(R_z\) and \(D_y\) motions) at several \(D_y\) velocities (\(R_z\) rotational velocity is 1rpm).}
\end{figure}

\begin{center}
\begin{tabular}{lrrr}
Velocity & \(D_y\) [nmRMS] & \(D_z\) [nmRMS] & \(R_y\) [\(\mu\text{radRMS}\)]\\
\hline
Specs & 100.0 & 50.0 & 0.85\\
0.1 mm/s & 208.25 & 35.33 & 0.73\\
0.5 mm/s & 117.94 & 28.03 & 0.27\\
1 mm/s & 186.88 & 33.02 & 0.53\\
\end{tabular}
\end{center}

\begin{center}
\begin{tabular}{lrrr}
Velocity & \(D_y\) [nmRMS] & \(D_z\) [nmRMS] & \(R_y\) [\(\mu\text{radRMS}\)]\\
\hline
Specs & 30.0 & 15.0 & 0.25\\
0.1 mm/s & 36.18 & 7.35 & 0.11\\
0.5 mm/s & 28.58 & 7.52 & 0.08\\
1 mm/s & 53.05 & 9.84 & 0.14\\
\end{tabular}
\end{center}

\section*{Conclusion}
\label{ssec:test_id31_scans_conclusion}

For each conducted experiments, the \(D_y\), \(D_z\) and \(R_y\) errors are computed and summarized in Table \ref{tab:id31_experiments_results_summary}.

\begin{table}[htbp]
\caption{\label{tab:id31_experiments_results_summary}Table caption}
\centering
\begin{tabularx}{\linewidth}{Xccc}
\toprule
 & \(D_y\) [nmRMS] & \(D_z\) [nmRMS] & \(R_y\) [nradRMS]\\
\midrule
Specifications &  &  & \\
\midrule
Tomography (\(R_z\) 1rpm) & 15 & 5 & 55\\
Tomography (\(R_z\) 6rpm) & 19 & 5 & 73\\
Tomography (\(R_z\) 30rpm) & 38 & 10 & 129\\
\midrule
Dirty Layer (\(D_z\) \(10\,\mu m/s\)) & 25 & 5 & 114\\
Dirty Layer (\(D_z\) \(100\,\mu m/s\)) & 34 & 15 & 130\\
\midrule
Reflectivity (\(R_y\) \(100\,\mu\text{rad}/s\)) & 28 & 6 & 118\\
\midrule
Lateral Scan (\(D_y\) \(10\,\mu m/s\)) & 21 & 10 & 37\\
\midrule
Diffraction Tomography (\(R_z\) 1rpm, \(D_y\) 0.1mm/s) & 75 & 9 & 118\\
Diffraction Tomography (\(R_z\) 1rpm, \(D_y\) 1mm/s) & 428 & 11 & 169\\
\bottomrule
\end{tabularx}
\end{table}

\chapter*{Conclusion}
\label{ssec:test_id31_conclusion}

\printbibliography[heading=bibintoc,title={Bibliography}]
\end{document}
