Update few experimental figures
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_diffraction_tomo_dy.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_diffraction_tomo_dy.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 26 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_diffraction_tomo_dz.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_diffraction_tomo_dz.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 27 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_diffraction_tomo_ry.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_diffraction_tomo_ry.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 27 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_diffraction_tomo_setpoint.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_diffraction_tomo_setpoint.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 88 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dy_100ums_dy.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dy_100ums_dy.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 38 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dy_100ums_dz.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dy_100ums_dz.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 27 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dy_100ums_ry.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dy_100ums_ry.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 24 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dy_10ums_dy.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dy_10ums_dy.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 27 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dy_10ums_dz.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dy_10ums_dz.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 24 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dy_10ums_ry.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dy_10ums_ry.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 22 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_mim_1000nm_steps.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_mim_1000nm_steps.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 12 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_mim_100nm_steps.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_mim_100nm_steps.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 19 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_mim_10nm_steps.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_mim_10nm_steps.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 37 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_scan_100ums_dy.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_scan_100ums_dy.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 21 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_scan_100ums_dz.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_scan_100ums_dz.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 29 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_scan_100ums_ry.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_scan_100ums_ry.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 14 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_scan_10ums_dy.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_scan_10ums_dy.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 19 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_scan_10ums_dz.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_scan_10ums_dz.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 26 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_scan_10ums_ry.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_dz_scan_10ums_ry.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 13 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_reflectivity_dy.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_reflectivity_dy.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 18 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_reflectivity_dz.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_reflectivity_dz.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 14 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_reflectivity_ry.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								figs/test_id31_reflectivity_ry.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 32 KiB  | 
| 
		 Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 29 KiB  | 
							
								
								
									
										21
									
								
								matlab/src/circlefit.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					function   [xc,yc,R,a] = circlefit(x,y)
 | 
				
			||||||
 | 
					%
 | 
				
			||||||
 | 
					%   [xc yx R] = circfit(x,y)
 | 
				
			||||||
 | 
					%
 | 
				
			||||||
 | 
					%   fits a circle  in x,y plane in a more accurate
 | 
				
			||||||
 | 
					%   (less prone to ill condition )
 | 
				
			||||||
 | 
					%  procedure than circfit2 but using more memory
 | 
				
			||||||
 | 
					%  x,y are column vector where (x(i),y(i)) is a measured point
 | 
				
			||||||
 | 
					%
 | 
				
			||||||
 | 
					%  result is center point (yc,xc) and radius R
 | 
				
			||||||
 | 
					%  an optional output is the vector of coeficient a
 | 
				
			||||||
 | 
					% describing the circle's equation
 | 
				
			||||||
 | 
					%
 | 
				
			||||||
 | 
					%   x^2+y^2+a(1)*x+a(2)*y+a(3)=0
 | 
				
			||||||
 | 
					%
 | 
				
			||||||
 | 
					%  By:  Izhak bucher 25/oct /1991,
 | 
				
			||||||
 | 
					    x=x(:); y=y(:);
 | 
				
			||||||
 | 
					    a=[x y ones(size(x))]\[-(x.^2+y.^2)];
 | 
				
			||||||
 | 
					    xc = -.5*a(1);
 | 
				
			||||||
 | 
					    yc = -.5*a(2);
 | 
				
			||||||
 | 
					    R  =  sqrt((a(1)^2+a(2)^2)/4-a(3));
 | 
				
			||||||
							
								
								
									
										11
									
								
								matlab/src/unwrapphase.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					function [unwraped_phase] = unwrapphase(frf, f, args)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					arguments
 | 
				
			||||||
 | 
					  frf
 | 
				
			||||||
 | 
					  f
 | 
				
			||||||
 | 
					  args.f0 (1,1) double {mustBeNumeric} = 1
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					unwraped_phase = unwrap(frf);
 | 
				
			||||||
 | 
					[~,i] = min(abs(f - args.f0));
 | 
				
			||||||
 | 
					unwraped_phase = unwraped_phase - 2*pi*round(unwraped_phase(i)./(2*pi));
 | 
				
			||||||
@@ -11,6 +11,27 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@inproceedings{dehaeze22_fastj_uhv,
 | 
				
			||||||
 | 
					  author          = {Thomas Dehaeze and Ludovic Ducott{\'e}},
 | 
				
			||||||
 | 
					  title           = {The Fastjack - A robust, UHV compatible and high
 | 
				
			||||||
 | 
					                  performance linear actuator},
 | 
				
			||||||
 | 
					  year            = 2022,
 | 
				
			||||||
 | 
					  organization    = {EUSPEN},
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@article{janvier13_icepap,
 | 
				
			||||||
 | 
					  author          = {Janvier, N and Clement, JM and Fajardo, P and Cun{\'\i}, G},
 | 
				
			||||||
 | 
					  title           = {Icepap: an Advanced Motor Controller for Scientific
 | 
				
			||||||
 | 
					                  Applications in Large User Facilities},
 | 
				
			||||||
 | 
					  journal         = {TUPPC081, ICALEPCS2013, San Francisco},
 | 
				
			||||||
 | 
					  volume          = 2016,
 | 
				
			||||||
 | 
					  year            = 2013,
 | 
				
			||||||
 | 
					  keywords        = {esrf},
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@article{hino18_posit_encod_proces_unit,
 | 
					@article{hino18_posit_encod_proces_unit,
 | 
				
			||||||
  author          = {Ricardo Hino and Pablo Fajardo and Nicolas Janvier and
 | 
					  author          = {Ricardo Hino and Pablo Fajardo and Nicolas Janvier and
 | 
				
			||||||
                  Thierry Le Ca{\"e}r and Fabien Le Mentec},
 | 
					                  Thierry Le Ca{\"e}r and Fabien Le Mentec},
 | 
				
			||||||
@@ -25,3 +46,5 @@
 | 
				
			|||||||
  url             =
 | 
					  url             =
 | 
				
			||||||
                  {http://jacow.org/icalepcs2017/doi/JACoW-ICALEPCS2017-THPHA072.html},
 | 
					                  {http://jacow.org/icalepcs2017/doi/JACoW-ICALEPCS2017-THPHA072.html},
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2107
									
								
								test-bench-id31.org
									
									
									
									
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
				
			|||||||
% Created 2024-11-15 Fri 18:44
 | 
					% Created 2025-01-31 Fri 14:50
 | 
				
			||||||
% Intended LaTeX compiler: pdflatex
 | 
					% Intended LaTeX compiler: pdflatex
 | 
				
			||||||
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
 | 
					\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -205,7 +205,6 @@ 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.
 | 
					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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\begin{table}[htbp]
 | 
					\begin{table}[htbp]
 | 
				
			||||||
\caption{\label{tab:test_id31_metrology_acceptance}Estimated measurement range for each interferometer, and for three different directions.}
 | 
					 | 
				
			||||||
\centering
 | 
					\centering
 | 
				
			||||||
\begin{tabularx}{0.45\linewidth}{Xccc}
 | 
					\begin{tabularx}{0.45\linewidth}{Xccc}
 | 
				
			||||||
\toprule
 | 
					\toprule
 | 
				
			||||||
@@ -218,6 +217,8 @@ The obtained lateral acceptance for pure displacements in any direction is estim
 | 
				
			|||||||
\(d_5\) (z) & \(1.33\, mm\) & \(1.06\,mm\) & \(>2\,mm\)\\
 | 
					\(d_5\) (z) & \(1.33\, mm\) & \(1.06\,mm\) & \(>2\,mm\)\\
 | 
				
			||||||
\bottomrule
 | 
					\bottomrule
 | 
				
			||||||
\end{tabularx}
 | 
					\end{tabularx}
 | 
				
			||||||
 | 
					\caption{\label{tab:test_id31_metrology_acceptance}Estimated measurement range for each interferometer, and for three different directions.}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\end{table}
 | 
					\end{table}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -345,6 +346,8 @@ Results shown in Figure \ref{fig:test_id31_Rz_align_correct} are indeed indicati
 | 
				
			|||||||
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}.
 | 
					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.
 | 
					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).
 | 
					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]
 | 
					\begin{figure}[htbp]
 | 
				
			||||||
\centering
 | 
					\centering
 | 
				
			||||||
@@ -401,7 +404,7 @@ It is interesting to note that the anti-resonances in the force sensor plant are
 | 
				
			|||||||
\end{center}
 | 
					\end{center}
 | 
				
			||||||
\subcaption{\label{fig:test_id31_comp_simscape_iff_diag_masses}from $u$ to $V_s$}
 | 
					\subcaption{\label{fig:test_id31_comp_simscape_iff_diag_masses}from $u$ to $V_s$}
 | 
				
			||||||
\end{subfigure}
 | 
					\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 Simscape 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})}
 | 
					\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}
 | 
					\end{figure}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Effect of Spindle Rotation}
 | 
					\section{Effect of Spindle Rotation}
 | 
				
			||||||
@@ -432,13 +435,6 @@ This also indicates that the metrology kinematics is correct and is working in r
 | 
				
			|||||||
\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.}
 | 
					\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}
 | 
					\end{figure}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Identification of Spurious modes}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\begin{itemize}
 | 
					 | 
				
			||||||
\item[{$\square$}] These are made to identify the modes of the spheres
 | 
					 | 
				
			||||||
\item[{$\square$}] Also discuss other observed modes
 | 
					 | 
				
			||||||
\end{itemize}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\section*{Conclusion}
 | 
					\section*{Conclusion}
 | 
				
			||||||
Thanks to the model, poor alignment between the nano-hexapod axes and the external metrology axes could be identified.
 | 
					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.
 | 
					After alignment, the identified dynamics is well matching with the multi-body model.
 | 
				
			||||||
@@ -609,6 +605,10 @@ This is one of the key benefit of using the HAC-LAC strategy.
 | 
				
			|||||||
\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}).}
 | 
					\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}).}
 | 
				
			||||||
\end{figure}
 | 
					\end{figure}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\section{Interaction Analysis}
 | 
				
			||||||
 | 
					Decoupled system up to 10Hz
 | 
				
			||||||
 | 
					Higher coupling for higher masses (when considering control in the frame of the struts)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Robust Controller Design}
 | 
					\section{Robust Controller Design}
 | 
				
			||||||
\label{ssec:test_id31_iff_hac_controller}
 | 
					\label{ssec:test_id31_iff_hac_controller}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -639,7 +639,7 @@ The closed-loop stability is verified by computing the characteristic Loci (Figu
 | 
				
			|||||||
\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})}
 | 
					\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}
 | 
					\end{figure}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Estimation of performances}
 | 
					\section{Estimation of performances with Tomography scans}
 | 
				
			||||||
\label{ssec:test_id31_iff_hac_perf}
 | 
					\label{ssec:test_id31_iff_hac_perf}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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.}.
 | 
					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.}.
 | 
				
			||||||
@@ -665,6 +665,10 @@ An open-loop simulation and a closed-loop simulation were performed and compared
 | 
				
			|||||||
Then the same tomography experiment (i.e. constant spindle rotation at 30rpm, and no payload) was performed experimentally.
 | 
					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}.
 | 
					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{itemize}
 | 
				
			||||||
 | 
					\item[{$\square$}] Add beam size (200x100nm)
 | 
				
			||||||
 | 
					\end{itemize}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\begin{figure}[htbp]
 | 
					\begin{figure}[htbp]
 | 
				
			||||||
\begin{subfigure}{0.49\textwidth}
 | 
					\begin{subfigure}{0.49\textwidth}
 | 
				
			||||||
\begin{center}
 | 
					\begin{center}
 | 
				
			||||||
@@ -688,7 +692,6 @@ The lateral and vertical errors are similar, however the tilt (\(R_y\)) errors a
 | 
				
			|||||||
Results obtained with this conservative HAC are already close to the specifications.
 | 
					Results obtained with this conservative HAC are already close to the specifications.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\begin{table}[htbp]
 | 
					\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
 | 
					\centering
 | 
				
			||||||
\begin{tabularx}{0.7\linewidth}{Xccc}
 | 
					\begin{tabularx}{0.7\linewidth}{Xccc}
 | 
				
			||||||
\toprule
 | 
					\toprule
 | 
				
			||||||
@@ -699,9 +702,11 @@ Experiment (OL) & \(1.8\,\mu\text{mRMS}\) & \(24\,\text{nmRMS}\) & \(10\,\mu\tex
 | 
				
			|||||||
Simulation (CL) & \(30\,\text{nmRMS}\) & \(8\,\text{nmRMS}\) & \(73\,\text{nradRMS}\)\\
 | 
					Simulation (CL) & \(30\,\text{nmRMS}\) & \(8\,\text{nmRMS}\) & \(73\,\text{nradRMS}\)\\
 | 
				
			||||||
Experiment (CL) & \(39\,\text{nmRMS}\) & \(11\,\text{nmRMS}\) & \(130\,\text{nradRMS}\)\\
 | 
					Experiment (CL) & \(39\,\text{nmRMS}\) & \(11\,\text{nmRMS}\) & \(130\,\text{nradRMS}\)\\
 | 
				
			||||||
\midrule
 | 
					\midrule
 | 
				
			||||||
Specifications (CL) & \(30\,\text{nmRMS}\) & \(15\,\text{nmRMS}\) & \(250\,\text{nradRMS}\)\\
 | 
					Specifications & \(30\,\text{nmRMS}\) & \(15\,\text{nmRMS}\) & \(250\,\text{nradRMS}\)\\
 | 
				
			||||||
\bottomrule
 | 
					\bottomrule
 | 
				
			||||||
\end{tabularx}
 | 
					\end{tabularx}
 | 
				
			||||||
 | 
					\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.}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\end{table}
 | 
					\end{table}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Robustness to change of payload}
 | 
					\section{Robustness to change of payload}
 | 
				
			||||||
@@ -719,6 +724,11 @@ To estimate the open-loop errors, it is supposed that the ``point of interest''
 | 
				
			|||||||
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}.
 | 
					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.
 | 
					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{figure}[htbp]
 | 
				
			||||||
\begin{subfigure}{0.49\textwidth}
 | 
					\begin{subfigure}{0.49\textwidth}
 | 
				
			||||||
\begin{center}
 | 
					\begin{center}
 | 
				
			||||||
@@ -739,7 +749,6 @@ The RMS values of the open-loop and closed-loop errors for all masses are summar
 | 
				
			|||||||
The obtained closed-loop errors are fulfilling the requirements, except for the \(39\,\text{kg}\) payload in the lateral (\(D_y\)) direction.
 | 
					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]
 | 
					\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
 | 
					\centering
 | 
				
			||||||
\begin{tabularx}{0.9\linewidth}{Xccc}
 | 
					\begin{tabularx}{0.9\linewidth}{Xccc}
 | 
				
			||||||
\toprule
 | 
					\toprule
 | 
				
			||||||
@@ -753,9 +762,423 @@ The obtained closed-loop errors are fulfilling the requirements, except for the
 | 
				
			|||||||
\textbf{Specifications} & \(30\,\text{nmRMS}\) & \(15\,\text{nmRMS}\) & \(250\,\text{nradRMS}\)\\
 | 
					\textbf{Specifications} & \(30\,\text{nmRMS}\) & \(15\,\text{nmRMS}\) & \(250\,\text{nradRMS}\)\\
 | 
				
			||||||
\bottomrule
 | 
					\bottomrule
 | 
				
			||||||
\end{tabularx}
 | 
					\end{tabularx}
 | 
				
			||||||
 | 
					\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.}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\end{table}
 | 
					\end{table}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section*{Conclusion}
 | 
					\section*{Conclusion}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\chapter{Dynamic Error Budgeting}
 | 
				
			||||||
 | 
					\label{sec:test_id31_error_budget}
 | 
				
			||||||
 | 
					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}
 | 
				
			||||||
 | 
					\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 \(\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 (see Figure \ref{fig:test_id31_xy_map_sphere}).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\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 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\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{\(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 \(\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}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\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}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\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{\(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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\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{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 \pm 100\,\mu m/s\).
 | 
				
			||||||
 | 
					Several \(D_y\) velocities are tested: \(0.1\,mm/s\), \(0.5\,mm/s\) and \(1\,mm/s\).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\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}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\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}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{table}[htbp]
 | 
				
			||||||
 | 
					\centering
 | 
				
			||||||
 | 
					\begin{tabularx}{0.6\linewidth}{lXX}
 | 
				
			||||||
 | 
					\toprule
 | 
				
			||||||
 | 
					\(D_y\) Velocity & Repetition rate & Scans per turn (at 1RPM)\\
 | 
				
			||||||
 | 
					\midrule
 | 
				
			||||||
 | 
					0.1 mm/s & 4 s & 15\\
 | 
				
			||||||
 | 
					0.5 mm/s & 0.9 s & 65\\
 | 
				
			||||||
 | 
					1 mm/s & 0.5 s & 120\\
 | 
				
			||||||
 | 
					\bottomrule
 | 
				
			||||||
 | 
					\end{tabularx}
 | 
				
			||||||
 | 
					\caption{\label{tab:diffraction_tomo_velocities}\(D_y\) scaning repetition rate}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\end{table}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{table}[htbp]
 | 
				
			||||||
 | 
					\centering
 | 
				
			||||||
 | 
					\begin{tabularx}{\linewidth}{lXX}
 | 
				
			||||||
 | 
					\toprule
 | 
				
			||||||
 | 
					Velocity & \(D_y\) [nmRMS] & \(D_z\) [nmRMS] & \(R_y\) [\(\mu\text{radRMS}\)]\\
 | 
				
			||||||
 | 
					\midrule
 | 
				
			||||||
 | 
					0.1 mm/s & 75.45 & 9.13 & 0.12\\
 | 
				
			||||||
 | 
					0.5 mm/s & 190.47 & 9.97 & 0.1\\
 | 
				
			||||||
 | 
					1 mm/s & 428.0 & 11.24 & 0.17\\
 | 
				
			||||||
 | 
					\bottomrule
 | 
				
			||||||
 | 
					\end{tabularx}
 | 
				
			||||||
 | 
					\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}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{table}[htbp]
 | 
				
			||||||
 | 
					\centering
 | 
				
			||||||
 | 
					\begin{tabularx}{\linewidth}{Xccc}
 | 
				
			||||||
 | 
					\toprule
 | 
				
			||||||
 | 
					 & \(D_y\) [nmRMS] & \(D_z\) [nmRMS] & \(R_y\) [nradRMS]\\
 | 
				
			||||||
 | 
					\midrule
 | 
				
			||||||
 | 
					Tomography (\(R_z\) 1rpm) & 15 & 5 & 55\\
 | 
				
			||||||
 | 
					Tomography (\(R_z\) 6rpm) & 19 & 5 & 73\\
 | 
				
			||||||
 | 
					Tomography (\(R_z\) 30rpm) & 38 & 10 & 129\\
 | 
				
			||||||
 | 
					Dirty Layer (\(D_z\) \(10\,\mu m/s\)) & 25 & 5 & 114\\
 | 
				
			||||||
 | 
					Dirty Layer (\(D_z\) \(100\,\mu m/s\)) & 34 & 15 & 130\\
 | 
				
			||||||
 | 
					Reflectivity (\(R_y\) \(100\,\mu\text{rad}/s\)) & 28 & 6 & 118\\
 | 
				
			||||||
 | 
					Lateral Scan (\(D_y\) \(10\,\mu m/s\)) & 21 & 10 & 37\\
 | 
				
			||||||
 | 
					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}
 | 
				
			||||||
 | 
					\caption{\label{tab:id31_experiments_results_summary}Table caption}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\end{table}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\printbibliography[heading=bibintoc,title={Bibliography}]
 | 
					\printbibliography[heading=bibintoc,title={Bibliography}]
 | 
				
			||||||
\end{document}
 | 
					\end{document}
 | 
				
			||||||
 
 | 
				
			|||||||