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 validate the developed nano active platform and the associated instrumentation and control architecture, a 5-DoF short stroke metrology system was developed (Section \ref{sec:test_id31_metrology}).
The identify dynamics of the nano-hexapod fixed on top of the micro-station was identified for different experimental conditions (payload masses, rotational velocities) and compared with the model (Section \ref{sec:test_id31_open_loop_plant}).
\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})}
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 (\(\approx1\,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.
As the gap between the capacitive sensors and the spheres is very small\footnote{Depending on the measuring range, gap can range from \(\approx1\,\mu m\) to \(\approx100\,\mu m\)}, the risk of damaging the spheres and the capacitive sensors is high.
\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})}
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 it comes back to the fiber and produces an interference.
This way, the gap between the sensor 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, as when the spheres are moving perpendicularly to the beam axis, the reflected light does not coincide with the incident light, and for some perpendicular displacement, the interference is too small to be detected.
\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}.
\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 \(\{B\}\) frame as a linear combination of the measured five distances by the interferometers \eqref{eq:test_id31_metrology_kinematics_inverse}.
The short stroke metrology system is placed on top of the main granite using a gantry made of granite blocs to have good vibration and thermal stability (Figure \ref{fig:short_stroke_metrology_overview}).
The interferometers need to be aligned with respect to the two reference spheres to approach as much as possible the ideal case shown in Figure \ref{fig:test_id31_metrology_kinematics}.
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 beam and the sphere center).
The lateral sensor heads (i.e. all except the top one), which are each fixed to a custom tip-tilt adjustment mechanism, are individually oriented such that the coupling efficient is maximized.
Thanks to the good alignment of the two reference spheres with the spindle axis and to the fine adjustment of the interferometers orientations, the interferometer measurement is made possible during complete spindle rotation.
This metrology and therefore be used to better align the axis defined by the two spheres' center with the spindle axis.
This iterative process is first perform 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}).
Remaining error after alignment is in the order of \(\pm5\,\mu\text{rad}\) for angular errors, \(\pm1\,\mu m\) laterally and less than \(0.1\,\mu m\) vertically.
\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.}
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 \(\pm1\,mm\), respectively along the the \(x\), \(y\) and \(z\) axes.
During these scans, the 5 interferometers are recorded, and the ranges in which each interferometer has enough coupling efficiency for measurement 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.
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 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.
They are 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 \(\approx50\,\mu m\), therefore the system is more sensitive to shape errors with small features.
\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}).}
\item Voltage across the piezoelectric stack actuator: \(\bm{V}_a =[V_{a1},\ V_{a2},\ V_{a3},\ V_{a4},\ V_{a5},\ V_{a6}]\)
\item Motion of the sample measured by external metrology: \(\bm{y}_\mathcal{X}=[D_x,\,D_y,\,D_z,\,R_x,\,R_y,\,R_z]\)
\item Error of the sample measured by external metrology: \(\bm{\epsilon\mathcal{X}}=[\epsilon_{D_x},\,\epsilon_{D_y},\,\epsilon_{D_z},\,\epsilon_{R_x},\,\epsilon_{R_y},\,\epsilon_{R_z}]\)
\item Error of the struts measured by external metrology: \(\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}]\)
However, the coupling for the transfer function from command signals \(\bm{u}\) to estimated strut motion from the external metrology \(e\bm{\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 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 read the interferometers in the Speedgoat.
\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}).}
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 is implemented.
This allowed to perform two straight movements of the nano-hexapod along the \(x\) and \(y\) axes in the frame of the nano-hexapod.
During these two movements, the external metrology measurement is recorded and 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.
To check that the alignment has improved, 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.
\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}
\section{Open-Loop Identification after alignment}
The plant dynamics is identified 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 \(\approx100\) 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.
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}).
\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.}
\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})}
The dynamics was then identified while the Spindle was rotating at constant velocity.
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.
\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.}
Thanks to the model, poor alignment between the nano-hexapod axes and the external metrology axes could be identified.
After alignment, the identified dynamics is well matching with the multi-body model.
Also, the observed effects of the payload mass and of the spindle rotation on the dynamics are well matching the model predictions.
\chapter{Decentralized Integral Force Feedback}
\label{sec:test_id31_iff}
Before implementing a position controller, an active damping controller was first implemented as shown in Figure \ref{fig:test_id31_iff_block_diagram}.
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}.
\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 estimate the stability of the IFF controller and to optimize achievable damping, it is first checked is this model accurately represents the system dynamics.
In 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, as that for all considered payloads.
The model is also accurate for the dynamics from an actuator to the force sensors in the other struts (i.e. the off-diagonal dynamics) as shown in Figure \ref{fig:test_id31_comp_simscape_Vs}.
\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 is there 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 \(\approx30\,\text{Hz}\) to \(\approx250\,\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}\)) is added to limit the low frequency gain.
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{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)
\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 could be tuned separately for each payload.
For instance, 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.
\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{Estimated 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 with 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, and with the same decentralized IFF controller.
\caption{\label{fig:test_id31_comp_ol_iff_plant_model}Comparison of the open-loop plants and the estimated damped plant with Decentralized IFF.}
\end{figure}
\section*{Conclusion}
\chapter{High Authority Control in the frame of the struts}
\label{sec:test_id31_iff_hac}
The position of the sample is actively stabilized by implementing a High-Authority-Controller as shown in Figure \ref{fig:test_id31_iff_hac_schematic}.
\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}
The damped plants (i.e. the transfer function from \(\bm{u}^\prime\) to \(\bm{\epsilon\mathcal{L}}\)) were identified for all payload conditions.
To verify if the model accurately represents the damped plants, both direct terms and coupling terms corresponding to the first actuator are compared in Figure \ref{fig:test_id31_comp_simscape_hac}.
\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 six direct terms for all four payload conditions are compared with the model in Figure \ref{fig:test_id31_hac_plant_effect_mass}.
It is shown that the model accurately represents the dynamics for all payloads.
In Section \ref{sec:test_id31_iff_hac}, a High Authority Controller is tuned to be robust to the change of dynamics due to different payloads used.
Without decentralized IFF being applied, the controller would have had to be robust to all the undamped dynamics shown in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants}, which is a very complex control problem.
With the applied decentralized IFF, the HAC instead had to be be robust to all the damped dynamics shown 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.
\subcaption{\label{fig:test_id31_comp_all_undamped_damped_plants}Undamped and damped plants}
\end{subfigure}
\caption{\label{fig:test_id31_hac_plant_effect_mass_comp_model}Comparison of the measured damped plants and modeled plants for all considered payloads, only ``direct'' terms (\(\epsilon\mathcal{L}_i/u_i^\prime\)) are displayed (\subref{fig:test_id31_hac_plant_effect_mass}). Comparison of all undamped \(\epsilon\mathcal{L}_i/u_i\) and damped \(\epsilon\mathcal{L}_i/u_i^\prime\) measured frequency response functions for all payloads is done in (\subref{fig:test_id31_comp_all_undamped_damped_plants}).}
A first 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 a first design, a crossover frequency of \(5\,\text{Hz}\) for chosen.
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 obtained ``decentralized'' loop-gains are shown in Figure \ref{fig:test_id31_hac_loop_gain}.
\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})}
To estimate the performances that can be expected with this HAC-LAC architecture and the designed controllers, two 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 from the 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}.
\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}
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}.
\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.
\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.}
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.
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.
\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.
\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.}
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}
\section{Open-Loop Noise Budget}
\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)
\end{itemize}
\section{Effect of LAC}
\begin{itemize}
\item[{$\square$}] Maybe merge this with the HAC-LAC
\end{itemize}
Effect of LAC:
\begin{itemize}
\item reduce amplitude around 80Hz
\item Inject some noise between 200 and 700Hz?
\end{itemize}
\section{Effect of HAC}
Bandwidth is approximately 10Hz.
\chapter{Validation with Scientific experiments}
The online metrology prototype does not allow samples to be placed on top of the nano-hexapod and to be illuminated by the x-ray beam.
However, in order to fully validate the NASS, typical motion performed during scientific experiments can be mimicked, and the positioning performances can be evaluated.
Performances were already evaluated with tomography scans (Section \ref{ssec:test_id31_iff_hac_perf}).
Here, other typical experiments are performed:
\begin{itemize}
\item Lateral scans: the translations stage performs \(D_y\) scans, and the errors are corrected by the NASS in real time (Section \ref{ssec:test_id31_scans_dy})
\item Vertical layer scans: the nano-hexapod is used to perform \(D_z\) steps or ramp scans (Section \ref{ssec:test_id31_scans_dz})
\item Reflectivity scans: the tilt stage is doing \(R_y\) rotations and the errors are corrected by the NASS in real time (Section \ref{ssec:test_id31_scans_reflectivity})
\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}
\section{\(D_y\) - 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.
Therefore, the Nano-Hexapod can be used to correct positioning errors induced by the scanning of the \(T_y\) stage.
\paragraph{Slow scan}
The \(T_y\) stage is first scanned at \(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 are due to 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 \(\approx300\,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 (see Figure \ref{fig:test_id31_xy_map_sphere}).
\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 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}), the detectors could be triggered based on the measured \(D_y\) position and therefore the experiment would be much less sensitive to \(D_y\) vibrations.
\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{\(D_z\) scans: 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 then scanned vertically with precise \(D_z\) motion.
The vertical scan can be performed step-by-step or continuously.
\paragraph{Step by Step \(D_z\) motion}
Vertical steps are here performed using the nano-hexapod.
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 very typical.
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 \(\pm20\,nm\)) is around \(70\,ms\) as shown with the \(1\,\mu m\) step response in Figure \ref{fig:test_id31_dz_mim_1000nm_steps}.
\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 \(\pm20\,nm\) is \(\approx70\,ms\) as shown in (\subref{fig:test_id31_dz_mim_1000nm_steps}) for a \(1\,\mu m\) step.}
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}).
The second tested velocity is \(100\,\mu m/s\), which is typically the fastest velocity for \(D_z\) scans when the ultimate performances is wanted (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 should not be an issue.
The performances during acceleration phase may also be improved by using a feedforward controller.
\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})}
\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{\(R_y\) scans: Reflectivity}
\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 at \(100\,\mu rad/s\) velocity and the positioning errors 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.
\caption{\label{fig:test_id31_reflectivity}Reflectivity scan (\(R_y\)) with a rotational velocity of \(100\,\mu\text{rad}/s\).}
\end{figure}
\section{Combined \(R_z\) and \(D_y\): Diffraction Tomography}
\label{ssec:test_id31_scans_diffraction_tomo}
The goal of this experiment is to perform combined \(R_z\) rotation and \(D_z\) lateral scans.
Here the spindle is performing a continuous 1rpm rotation while the nano-hexapod is used to perform fast \(D_z\) 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\pm100\,\mu m/s\).
Several \(D_y\) velocities are tested: \(0.1\,mm/s\), \(0.5\,mm/s\) and \(1\,mm/s\).
\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}
The corresponding ``repetition rate'' and \(D_y\) scan per spindle turn are shown in Table \ref{tab:diffraction_tomo_velocities}.
The main issue here is the ``waiting'' time between two scans that is in the order of 50ms.
By removing this waiting time (fairly easily), we can double the repetition rate at 10mm/s.
The scan results for a velocity of 1mm/s is shown in Figure \ref{fig:id31_diffraction_tomo_1mms}.
The \(D_z\) and \(R_y\) errors are quite small during the scan.
The \(D_y\) errors are quite large as the velocity is increased.
This type of scan can probably be massively improved by using feed-forward and optimizing the trajectory.
Also, if the detectors are triggered in position (the Speedgoat could generate an encoder signal for instance), we don't care about the \(D_y\) errors.
\caption{\label{tab:id31_diffraction_tomo_results}Obtained errors for several \(D_y\) velocities}
\end{table}
\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}.