1060 lines
38 KiB
TeX
1060 lines
38 KiB
TeX
|
% Created 2024-03-19 Tue 11:22
|
||
|
% Intended LaTeX compiler: pdflatex
|
||
|
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
|
||
|
|
||
|
\input{preamble.tex}
|
||
|
\bibliography{test-bench-id31.bib}
|
||
|
\author{Dehaeze Thomas}
|
||
|
\date{\today}
|
||
|
\title{Nano-Hexapod on the micro-station}
|
||
|
\hypersetup{
|
||
|
pdfauthor={Dehaeze Thomas},
|
||
|
pdftitle={Nano-Hexapod on the micro-station},
|
||
|
pdfkeywords={},
|
||
|
pdfsubject={},
|
||
|
pdfcreator={Emacs 29.2 (Org mode 9.7)},
|
||
|
pdflang={English}}
|
||
|
\usepackage{biblatex}
|
||
|
|
||
|
\begin{document}
|
||
|
|
||
|
\maketitle
|
||
|
\tableofcontents
|
||
|
|
||
|
\clearpage
|
||
|
\chapter{Short Stroke Metrology System}
|
||
|
\label{sec:id31_short_stroke_metrology}
|
||
|
The control of the nano-hexapod requires an external metrology system measuring the relative position of the nano-hexapod top platform with respect to the granite.
|
||
|
As the long-stroke (\(\approx 1\,cm^3\)) metrology system is not developed yet, a stroke stroke (\(> 100\,\mu m^3\)) can be used instead to validate the nano-hexapod control.
|
||
|
|
||
|
This short stroke metrology system consists of 5 interferometers pointing at 2 spheres fixed on top of the nano-hexapod (Figure \ref{fig:LION_picture_close}).
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1,width=0.5\linewidth]{figs/LION_picture_close.jpg}
|
||
|
\caption{\label{fig:LION_picture_close}Metrology system with LION spheres (1 inch diameter) and 5 interferometers fixed to their individual tip-tilts}
|
||
|
\end{figure}
|
||
|
|
||
|
This short stroke metrology system is fixed to the main granite using a gantry made of granite blocs to have good vibration and thermal stability (see Figure \ref{fig:short_stroke_metrology_overview}).
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1,width=\linewidth]{figs/short_stroke_metrology_overview.jpg}
|
||
|
\caption{\label{fig:short_stroke_metrology_overview}Granite gantry used to fix the short-stroke metrology system}
|
||
|
\end{figure}
|
||
|
|
||
|
As the metrology system as limited stroke (estimated to be in the order of hundreds of micro-meters in x-y-z), it has to be well aligned in the rest position.
|
||
|
|
||
|
The alignment procedure is as follows:
|
||
|
\begin{enumerate}
|
||
|
\item The granite is aligned to be perpendicular to gravity (using inclinometer and adjusting airlocks)
|
||
|
\item The height of micro-hexapod is tuned to be able to position the short stroke metrology without additional shim
|
||
|
\item It is verified that the spindle axis is well perpendicular to the granite using the laser tracker
|
||
|
\item The micro hexapod is then used to align the two spheres with the spindle axis.
|
||
|
\end{enumerate}
|
||
|
\section{Kinematics}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1,width=0.5\linewidth]{figs/LION_metrology_interferometers.png}
|
||
|
\caption{\label{fig:LION_metrology_interferometers}Schematic of the measurement system}
|
||
|
\end{figure}
|
||
|
|
||
|
We have the following set of equations:
|
||
|
\begin{align}
|
||
|
d_1 &= +D_y - l_2 R_x \\
|
||
|
d_2 &= +D_y + l_1 R_x \\
|
||
|
d_3 &= -D_x - l_2 R_y \\
|
||
|
d_4 &= -D_x + l_1 R_y \\
|
||
|
d_5 &= -D_z
|
||
|
\end{align}
|
||
|
|
||
|
That can be written as a linear transformation:
|
||
|
\begin{equation}
|
||
|
\begin{bmatrix}
|
||
|
d_1 \\ d_2 \\ d_3 \\ d_4 \\ d_5
|
||
|
\end{bmatrix} = \begin{bmatrix}
|
||
|
0 & 1 & 0 & -l_2 & 0 \\
|
||
|
0 & 1 & 0 & l_1 & 0 \\
|
||
|
-1 & 0 & 0 & 0 & -l_2 \\
|
||
|
-1 & 0 & 0 & 0 & l_1 \\
|
||
|
0 & 0 & -1 & 0 & 0
|
||
|
\end{bmatrix} \cdot \begin{bmatrix}
|
||
|
D_x \\ D_y \\ D_z \\ R_x \\ R_y
|
||
|
\end{bmatrix}
|
||
|
\end{equation}
|
||
|
|
||
|
By inverting the matrix, we obtain the Jacobian relation:
|
||
|
\begin{equation}
|
||
|
\begin{bmatrix}
|
||
|
D_x \\ D_y \\ D_z \\ R_x \\ R_y
|
||
|
\end{bmatrix} = \begin{bmatrix}
|
||
|
0 & 1 & 0 & -l_2 & 0 \\
|
||
|
0 & 1 & 0 & l_1 & 0 \\
|
||
|
-1 & 0 & 0 & 0 & -l_2 \\
|
||
|
-1 & 0 & 0 & 0 & l_1 \\
|
||
|
0 & 0 & -1 & 0 & 0
|
||
|
\end{bmatrix}^{-1} \cdot \begin{bmatrix}
|
||
|
d_1 \\ d_2 \\ d_3 \\ d_4 \\ d_5
|
||
|
\end{bmatrix}
|
||
|
\end{equation}
|
||
|
|
||
|
\begin{table}[htbp]
|
||
|
\caption{\label{tab:jacobian_metrology}Jacobian matrix for the metrology system}
|
||
|
\centering
|
||
|
\begin{tabularx}{\linewidth}{cXXXXX}
|
||
|
\toprule
|
||
|
& \textbf{d1} & \textbf{d2} & \textbf{d3} & \textbf{d4} & \textbf{d5}\\
|
||
|
\midrule
|
||
|
\textbf{Dx} & 0.0 & 0.0 & -0.79 & -0.21 & 0.0\\
|
||
|
\textbf{Dy} & 0.79 & 0.21 & 0.0 & 0.0 & 0.0\\
|
||
|
\textbf{Dz} & 0.0 & 0.0 & 0.0 & 0.0 & -1.0\\
|
||
|
\textbf{Rx} & -13.12 & 13.12 & -0.0 & 0.0 & 0.0\\
|
||
|
\textbf{Ry} & -0.0 & -0.0 & -13.12 & 13.12 & 0.0\\
|
||
|
\bottomrule
|
||
|
\end{tabularx}
|
||
|
\end{table}
|
||
|
\section{Rough alignment of spheres using comparators}
|
||
|
Bottom Sphere, then top sphere.
|
||
|
|
||
|
Alignment better than 10um.
|
||
|
But the coaxiality between the cylinder and the sphere might not be good.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1,width=\linewidth]{figs/align_top_sphere_comparators.jpg}
|
||
|
\caption{\label{fig:align_top_sphere_comparators}Two mechanical comparators used to align the top sphere with the rotation axis of the spindle}
|
||
|
\end{figure}
|
||
|
\section{Alignment of spheres using interferometers}
|
||
|
\subsection{Angular alignment}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_metrology_align_rx_ry.png}
|
||
|
\caption{\label{fig:id31_metrology_align_rx_ry}Rx/Ry alignment of the spheres using the micro-station}
|
||
|
\end{figure}
|
||
|
\subsection{Eccentricity alignment}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_metrology_align_dx_dy.png}
|
||
|
\caption{\label{fig:id31_metrology_align_dx_dy}Dx/Dy alignment of the spheres using the micro-station}
|
||
|
\end{figure}
|
||
|
\section{Residual error after alignment}
|
||
|
\begin{itemize}
|
||
|
\item Dx and Dy are less than 1um.
|
||
|
\item Dz less than 0.1um.
|
||
|
\item Rx and Ry less than 4urad.
|
||
|
\end{itemize}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_align_metorlogy_errors_after_align.png}
|
||
|
\caption{\label{fig:id31_align_metorlogy_errors_after_align}Remaining errors after aligning the metrology using the interferometers}
|
||
|
\end{figure}
|
||
|
\section{Metrology acceptance}
|
||
|
Because the interferometers are pointing to spheres and not flat surfaces, the lateral acceptance is limited.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/metrology_alignment_xy_map.png}
|
||
|
\caption{\label{fig:metrology_alignment_xy_map}XY mapping of the Z measurement by the interferometer}
|
||
|
\end{figure}
|
||
|
\chapter{Simscape Model}
|
||
|
\label{sec:id31_simscape_model}
|
||
|
\section{Init model}
|
||
|
\section{Identify Transfer functions}
|
||
|
\section{IFF Plant}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_simscape_iff_ol_plant.png}
|
||
|
\caption{\label{fig:id31_simscape_iff_ol_plant}IFF transfer function - Simscape model}
|
||
|
\end{figure}
|
||
|
\section{Encoder plant}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_simscape_enc_ol_plant.png}
|
||
|
\caption{\label{fig:id31_simscape_enc_ol_plant}ENC transfer function - Simscape model}
|
||
|
\end{figure}
|
||
|
\section{HAC Undamped plant}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_simscape_int_ol_plant.png}
|
||
|
\caption{\label{fig:id31_simscape_int_ol_plant}INT transfer function - Simscape model}
|
||
|
\end{figure}
|
||
|
\chapter{Identified Open Loop Plant}
|
||
|
\label{sec:id31_open_loop_plant}
|
||
|
\section{IFF Plant}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_iff_ol_plant_m0.png}
|
||
|
\caption{\label{fig:id31_iff_ol_plant_m0}Measured transfer function from generated voltages to measured voltage on the force sensors}
|
||
|
\end{figure}
|
||
|
|
||
|
The measured frequency response functions from DAC voltages \(u_i\) to measured voltages on the force sensors \(\tau_{m,i}\) are compared with the simscape model in Figure \ref{fig:id31_comp_simscape_frf_ol_iff}.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_comp_simscape_frf_ol_iff.png}
|
||
|
\caption{\label{fig:id31_comp_simscape_frf_ol_iff}Comparison of the Simscape model and identified IFF plant}
|
||
|
\end{figure}
|
||
|
|
||
|
The effect of the payload mass on the diagonal elements are shown in Figure \ref{fig:id31_effect_mass_frf_ol_iff}.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_effect_mass_frf_ol_iff.png}
|
||
|
\caption{\label{fig:id31_effect_mass_frf_ol_iff}Effect of the payload mass on the IFF plant}
|
||
|
\end{figure}
|
||
|
\section{Encoder plant}
|
||
|
The identified frequency response functions from general voltages \(u_i\) to measured displacement of the struts by the encoders \(d\mathcal{L}_i\) are compared with the simscape model in Figure \ref{fig:id31_comp_simscape_frf_ol_enc}.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_comp_simscape_frf_ol_enc.png}
|
||
|
\caption{\label{fig:id31_comp_simscape_frf_ol_enc}Comparison of the Simscape model and identified plant - Transfer functions from voltages to encoders}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_effect_mass_frf_ol_enc.png}
|
||
|
\caption{\label{fig:id31_effect_mass_frf_ol_enc}Effect of the payload mass on the transfer function from actuator voltage to encoder displacement}
|
||
|
\end{figure}
|
||
|
\section{HAC Undamped plant}
|
||
|
The identified frequency response functions from actuator voltages \(u_i\) to measured strut motion from the external metrology (i.e. the interferometers) are compare with the simscape model in Figure \ref{fig:id31_comp_simscape_frf_ol_int}.
|
||
|
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_int_ol_plant_m0.png}
|
||
|
\caption{\label{fig:id31_int_ol_plant_m0}Measured transfer function from generated voltages to measured voltage on the force sensors}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_comp_simscape_frf_ol_int.png}
|
||
|
\caption{\label{fig:id31_comp_simscape_frf_ol_int}Comparison of the Simscape model and identified plant - Transfer functions from voltages to estimated strut motion from interferometers}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_effect_mass_frf_ol_int.png}
|
||
|
\caption{\label{fig:id31_effect_mass_frf_ol_int}Effect of the payload mass on the transfer functions from actuator voltage to measured strut motion by the external metrology}
|
||
|
\end{figure}
|
||
|
\section{Decoupling improvement thanks to better Rz alignment}
|
||
|
\subsection{Alignment procedure}
|
||
|
|
||
|
\begin{itemize}
|
||
|
\item Control based on encoders
|
||
|
\item Slow moving in X and Y
|
||
|
\item Compare with X and Y from interf
|
||
|
\end{itemize}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_Rz_align_dx_dy_scans_before_calib.png}
|
||
|
\caption{\label{fig:id31_Rz_align_dx_dy_scans_before_calib}description}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_Rz_align_dx_dy_scans.png}
|
||
|
\caption{\label{fig:id31_Rz_align_dx_dy_scans}description}
|
||
|
\end{figure}
|
||
|
\subsection{m0}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_coupling_decrease_rz_align.png}
|
||
|
\caption{\label{fig:id31_coupling_decrease_rz_align}Decrease of the coupling with better Rz alignment}
|
||
|
\end{figure}
|
||
|
\subsection{m3}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_coupling_decrease_rz_align_m3.png}
|
||
|
\caption{\label{fig:id31_coupling_decrease_rz_align_m3}Decrease of the coupling with better Rz alignment}
|
||
|
\end{figure}
|
||
|
\section{Conclusion}
|
||
|
|
||
|
\begin{itemize}
|
||
|
\item Good match between the model and experiment
|
||
|
\end{itemize}
|
||
|
\chapter{Noise Budget}
|
||
|
\label{sec:id31_noise_budget}
|
||
|
In this section, the noise budget is performed.
|
||
|
The vibrations of the sample is measured in different conditions using the external metrology.
|
||
|
\section{Open-Loop Noise Budget}
|
||
|
First, the noise is measured while no motion is performed.
|
||
|
|
||
|
Noise budget in the cartesian frame
|
||
|
Data in the time domain
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_noise_budget_interf_time_domain_m0.png}
|
||
|
\caption{\label{fig:id31_noise_budget_interf_time_domain_m0}Measured vibration with the interferometers}
|
||
|
\end{figure}
|
||
|
|
||
|
In the frequency domain
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_noise_budget_interf_freq_domain_m0.png}
|
||
|
\caption{\label{fig:id31_noise_budget_interf_freq_domain_m0}Measured vibration with the interferometers}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_noise_budget_open_loop_cas_m0.png}
|
||
|
\caption{\label{fig:id31_noise_budget_open_loop_cas_m0}Measured vibration with the interferometers}
|
||
|
\end{figure}
|
||
|
\section{Effect of LAC}
|
||
|
Effect of LAC (Figure \ref{fig:id31_noise_budget_effect_lac_m0}):
|
||
|
\begin{itemize}
|
||
|
\item reduce amplitude around 80Hz
|
||
|
\item Inject some noise between 200 and 700Hz?
|
||
|
\end{itemize}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_noise_budget_effect_lac_m0.png}
|
||
|
\caption{\label{fig:id31_noise_budget_effect_lac_m0}Measured vibration with the interferometers}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_cas_effect_lac_m0.png}
|
||
|
\caption{\label{fig:id31_cas_effect_lac_m0}Measured vibration with the interferometers}
|
||
|
\end{figure}
|
||
|
\section{Effect of rotation}
|
||
|
Rotation induces lots of vibrations, especially at high velocity.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_noise_budget_effect_rotation.png}
|
||
|
\caption{\label{fig:id31_noise_budget_effect_rotation}Cumulative Amplitude Spectrum for the three important directions (\(D_y\), \(D_z\) and \(R_y\)). Three rotating velocities are shown. Integrated RMS values are shown in the legend.}
|
||
|
\end{figure}
|
||
|
\section{Effect of HAC}
|
||
|
Bandwidth is approximately 10Hz.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_noise_budget_effect_hac_m0.png}
|
||
|
\caption{\label{fig:id31_noise_budget_effect_hac_m0}Measured vibration with the interferometers}
|
||
|
\end{figure}
|
||
|
|
||
|
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_cas_effect_hac_m0.png}
|
||
|
\caption{\label{fig:id31_cas_effect_hac_m0}Measured vibration with the interferometers}
|
||
|
\end{figure}
|
||
|
\section{Noise coming from force sensor}
|
||
|
\chapter{Integral Force Feedback}
|
||
|
\label{sec:id31_iff}
|
||
|
\section{IFF Plants}
|
||
|
\subsection{6x6 Plant}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_Giff_plant.png}
|
||
|
\caption{\label{fig:id31_Giff_plant}Obtained transfer function from generated voltages to measured voltages on the piezoelectric force sensor}
|
||
|
\end{figure}
|
||
|
|
||
|
Compare with Model:
|
||
|
\subsection{Effect of Rotation}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_Giff_effect_rotation.png}
|
||
|
\caption{\label{fig:id31_Giff_effect_rotation}Obtained transfer function from generated voltages to measured voltages on the piezoelectric force sensor}
|
||
|
\end{figure}
|
||
|
\subsection{Effect of Mass}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_Giff_effect_mass.png}
|
||
|
\caption{\label{fig:id31_Giff_effect_mass}Obtained transfer function from generated voltages to measured voltages on the piezoelectric force sensor}
|
||
|
\end{figure}
|
||
|
\subsection{Compare with the model}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_Giff_plant_comp_model.png}
|
||
|
\caption{\label{fig:id31_Giff_plant_comp_model}Comparison of the identified IFF plant and the IFF plant extracted from the simscape model}
|
||
|
\end{figure}
|
||
|
\section{IFF Controller}
|
||
|
\subsection{Controller Design}
|
||
|
Test second order high pass filter:
|
||
|
We want integral action between 20Hz and 200Hz.
|
||
|
Loop Gain:
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_iff_loop_gain_diagonal_terms.png}
|
||
|
\caption{\label{fig:id31_iff_loop_gain_diagonal_terms}IFF Loop gain of the diagonal terms}
|
||
|
\end{figure}
|
||
|
|
||
|
Root Locus to obtain optimal gain.
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_iff_root_locus.png}
|
||
|
\caption{\label{fig:id31_iff_root_locus}Root Locus for IFF. Green crosses are closed-loop poles for the same choosen IFF gain.}
|
||
|
\end{figure}
|
||
|
\subsection{Verify Stability}
|
||
|
Verify Stability with Nyquist plot:
|
||
|
|
||
|
\begin{itemize}
|
||
|
\item Why bad stability margins?
|
||
|
\end{itemize}
|
||
|
\subsection{Save Controller}
|
||
|
\section{Estimated Damped Plant}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_hac_damped_plant_estimated_simscape.png}
|
||
|
\caption{\label{fig:id31_hac_damped_plant_estimated_simscape}description}
|
||
|
\end{figure}
|
||
|
\chapter{High Authority Control}
|
||
|
\label{sec:id31_iff_hac}
|
||
|
\section{Identify Spurious modes}
|
||
|
\section{HAC Plants}
|
||
|
\subsection{6x6 Plant}
|
||
|
Compare with Model:
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_Ghac_6x6_plant_comp_model.png}
|
||
|
\caption{\label{fig:id31_Ghac_6x6_plant_comp_model}6x6 plant from generated voltages to displacement of the struts as measured by the external metrology}
|
||
|
\end{figure}
|
||
|
\subsection{Effect of Mass}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_Ghac_effect_mass.png}
|
||
|
\caption{\label{fig:id31_Ghac_effect_mass}Obtained transfer function from generated voltages to measured voltages on the piezoelectric force sensor}
|
||
|
\end{figure}
|
||
|
\subsection{Compare with the model}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_Ghac_plant_comp_model.png}
|
||
|
\caption{\label{fig:id31_Ghac_plant_comp_model}Comparison of the identified HAC plant and the HAC plant extracted from the simscape model}
|
||
|
\end{figure}
|
||
|
\subsection{Comparison with Undamped plant}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_comp_undamped_damped_plant_m0.png}
|
||
|
\caption{\label{fig:id31_comp_undamped_damped_plant_m0}description}
|
||
|
\end{figure}
|
||
|
\section{Robust HAC}
|
||
|
\subsection{Controller design}
|
||
|
Loop gain
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_hac_robust_loop_gain.png}
|
||
|
\caption{\label{fig:id31_hac_robust_loop_gain}description}
|
||
|
\end{figure}
|
||
|
\subsection{Verify Stability}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_hac_robust_nyquist.png}
|
||
|
\caption{\label{fig:id31_hac_robust_nyquist}description}
|
||
|
\end{figure}
|
||
|
\subsection{Estimated performances}
|
||
|
|
||
|
\subsection{Save Controller}
|
||
|
\section{High Performance HAC}
|
||
|
The goal is to make a controller specific for one mass in order to have high bandwidth.
|
||
|
\subsection{Mass 0}
|
||
|
\paragraph{Load Plant}
|
||
|
\paragraph{Plant}
|
||
|
\paragraph{Controller design}
|
||
|
Loop gain
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_high_perf_hac_m0_loop_gain.png}
|
||
|
\caption{\label{fig:id31_high_perf_hac_m0_loop_gain}Loop gain for the High Authority Control}
|
||
|
\end{figure}
|
||
|
\paragraph{Verify Stability}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_high_perf_hac_m0_nyquist.png}
|
||
|
\caption{\label{fig:id31_high_perf_hac_m0_nyquist}Nyquist plot for the High Authority Control}
|
||
|
\end{figure}
|
||
|
\paragraph{Estimated performances}
|
||
|
Loop gain with model
|
||
|
\paragraph{Save Controller}
|
||
|
\paragraph{Experimental Validation}
|
||
|
|
||
|
\begin{center}
|
||
|
\begin{tabular}{lrrr}
|
||
|
& Dy [nm] & Dz [nm] & Ry [urad]\\
|
||
|
\hline
|
||
|
1rpm & 55.3 & 5.9 & 0.1\\
|
||
|
30rpm & 85.2 & 12.5 & 0.3\\
|
||
|
\end{tabular}
|
||
|
\end{center}
|
||
|
\paragraph{Closed-Loop identification}
|
||
|
\subsection{Mass 1}
|
||
|
\paragraph{Load Plant}
|
||
|
\paragraph{Plant}
|
||
|
\paragraph{Plant Inverse}
|
||
|
\paragraph{Controller design}
|
||
|
Loop gain
|
||
|
\paragraph{Verify Stability}
|
||
|
\paragraph{Estimated performances}
|
||
|
Loop gain with model
|
||
|
\paragraph{Save Controller}
|
||
|
\section{Tomography - Performances}
|
||
|
\subsection{First scan with closed-loop at middle}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_tomography_ol_cl_robust_hac_m0.png}
|
||
|
\caption{\label{fig:id31_tomography_ol_cl_robust_hac_m0}description}
|
||
|
\end{figure}
|
||
|
\subsection{Slow Rotation - 6RPM}
|
||
|
\subsection{Rapid Rotation - 30RPM}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_cas_m0_30rpm_ol_lac_hac.png}
|
||
|
\caption{\label{fig:id31_cas_m0_30rpm_ol_lac_hac}Cumulative Amplitude Spectrum of the errors in \(D_y\), \(D_z\) and \(R_y\) during a tomography scan at 30RPM. Three control configuration are compared: Open-Loop, Low Authority Control, and High Authority Control}
|
||
|
\end{figure}
|
||
|
\chapter{6DoF Control in Cartesian plane (rotating with the nano-hexapod)}
|
||
|
\label{sec:id31_cart_hac_rot}
|
||
|
As only Dy, Dz and Ry directions are important, we could only control them.
|
||
|
This lead to a 3x3 plant that may be more decoupled than the 6x6 plant.
|
||
|
\section{5x5 plant in Cartesian plane}
|
||
|
Compute identified plant in the Cartesian plane:
|
||
|
Compute plant model in the Cartesian plane:
|
||
|
\section{Controller Design}
|
||
|
\section{Check Stability}
|
||
|
\section{Save controllers}
|
||
|
\section{Performances}
|
||
|
2023-08-18\_18-33\_m0\_1rpm\_K\_cart.mat
|
||
|
\chapter{3DoF Control in Cartesian plane (fixed)}
|
||
|
\label{sec:id31_cart_hac_fix}
|
||
|
As only Dy, Dz and Ry directions are important, we could only control them.
|
||
|
This lead to a 3x3 plant that may be more decoupled than the 6x6 plant.
|
||
|
\section{3x3 plant in Cartesian plane}
|
||
|
Compute identified plant in the Cartesian plane:
|
||
|
Compute plant model in the Cartesian plane:
|
||
|
\begin{important}
|
||
|
Diagonal elements are matching quite well, but off-diagonal elements are very different.
|
||
|
|
||
|
Why so much more coupling than from the model?
|
||
|
\begin{itemize}
|
||
|
\item Is it due to the metrology? The spheres could induce coupling as for instance X motion will also be seen as Z motion.
|
||
|
This is especially true if not well centered with the sphere (as seemed to be the case for the lateral interferometers).
|
||
|
\end{itemize}
|
||
|
\end{important}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_cart_plant_3x3.png}
|
||
|
\caption{\label{fig:id31_cart_plant_3x3}3x3 cartesian plant}
|
||
|
\end{figure}
|
||
|
|
||
|
|
||
|
Normalization of outputs:
|
||
|
\section{Controller Design}
|
||
|
\subsection{Dy}
|
||
|
\subsection{Dz}
|
||
|
\subsection{Ry}
|
||
|
\subsection{3x3 controller}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/G_cart_loop_gain_diagonal_3dof.png}
|
||
|
\caption{\label{fig:G_cart_loop_gain_diagonal_3dof}description}
|
||
|
\end{figure}
|
||
|
\section{Check Stability}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/G_cart_nyquist_diagonal_3dof.png}
|
||
|
\caption{\label{fig:G_cart_nyquist_diagonal_3dof}description}
|
||
|
\end{figure}
|
||
|
\section{Save controllers}
|
||
|
\subsection{Save Controller}
|
||
|
\section{Controller Design (normalized)}
|
||
|
\section{Verify Stability}
|
||
|
\section{Control Performances}
|
||
|
\begin{itemize}
|
||
|
\item[{$\square$}] Compare with estimated performances
|
||
|
\end{itemize}
|
||
|
\chapter{Complementary Filter Control}
|
||
|
\label{sec:id31_cart_hac_complementary_filter}
|
||
|
\section{m0}
|
||
|
\subsection{3x3 plant in Cartesian plane}
|
||
|
Compute identified plant in the Cartesian plane:
|
||
|
Compute plant model in the Cartesian plane:
|
||
|
\subsection{Plant Invert}
|
||
|
Reduce model size
|
||
|
Add first resonance
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_comp_cart_plant_reduced_model.png}
|
||
|
\caption{\label{fig:id31_comp_cart_plant_reduced_model}Comparaison of the measured direct terms and the reduced order models}
|
||
|
\end{figure}
|
||
|
|
||
|
|
||
|
Invert and make realizable
|
||
|
\subsection{Save Plant Inverse}
|
||
|
\subsection{Control Performances}
|
||
|
\paragraph{5Hz}
|
||
|
\begin{itemize}
|
||
|
\item[{$\square$}] Compare with estimated performances
|
||
|
\end{itemize}
|
||
|
\paragraph{20Hz}
|
||
|
\begin{itemize}
|
||
|
\item[{$\square$}] Compare with estimated performances
|
||
|
\end{itemize}
|
||
|
\paragraph{Different bandwidth for different directions}
|
||
|
\begin{itemize}
|
||
|
\item[{$\square$}] Compare with estimated performances
|
||
|
\end{itemize}
|
||
|
\paragraph{Dz 25Hz}
|
||
|
\begin{itemize}
|
||
|
\item[{$\square$}] Compare with estimated performances
|
||
|
\end{itemize}
|
||
|
\subsection{Better plant invert}
|
||
|
\paragraph{Dy}
|
||
|
Stable Inverse
|
||
|
\paragraph{Dz}
|
||
|
Stable Inverse
|
||
|
\paragraph{Ry}
|
||
|
Stable Inverse
|
||
|
\paragraph{Compare Invert plants}
|
||
|
|
||
|
\paragraph{Save plant inverse}
|
||
|
\paragraph{Compare Digital Invert plants}
|
||
|
\subsection{Control Performances}
|
||
|
\paragraph{Better plant invert}
|
||
|
\subsection{Scans with good controller}
|
||
|
\paragraph{1rpm}
|
||
|
1RPM scans are performed for all the masses with the same controller.
|
||
|
|
||
|
\begin{center}
|
||
|
\begin{tabular}{lrrrrr}
|
||
|
& Dx [nm] & Dy [nm] & Dz [nm] & Rx [nrad] & Ry [nrad]\\
|
||
|
\hline
|
||
|
m0 & 796 & 20 & 8 & 8209 & 73\\
|
||
|
\end{tabular}
|
||
|
\end{center}
|
||
|
\paragraph{30rpm}
|
||
|
1RPM scans are performed for all the masses with the same controller.
|
||
|
|
||
|
\begin{center}
|
||
|
\begin{tabular}{lrrrrr}
|
||
|
& Dx [nm] & Dy [nm] & Dz [nm] & Rx [nrad] & Ry [nrad]\\
|
||
|
\hline
|
||
|
m0 & 820 & 39 & 13 & 7790 & 156\\
|
||
|
\end{tabular}
|
||
|
\end{center}
|
||
|
\section{m1}
|
||
|
\subsection{3x3 plant in Cartesian plane}
|
||
|
Compute identified plant in the Cartesian plane:
|
||
|
Compute plant model in the Cartesian plane:
|
||
|
Normalization of outputs:
|
||
|
\subsection{Better plant invert}
|
||
|
\paragraph{Dy}
|
||
|
Stable Inverse
|
||
|
\paragraph{Dz}
|
||
|
Stable Inverse
|
||
|
\paragraph{Ry}
|
||
|
Stable Inverse
|
||
|
\paragraph{Compare Invert plants}
|
||
|
\paragraph{Save plant inverse}
|
||
|
\paragraph{Compare Digital Invert plants}
|
||
|
\subsection{Control Performances}
|
||
|
\paragraph{Better plant invert}
|
||
|
\subsection{Scans with good controller}
|
||
|
\paragraph{1rpm}
|
||
|
1RPM scans are performed for all the masses with the same controller.
|
||
|
|
||
|
\begin{center}
|
||
|
\begin{tabular}{lrrrrr}
|
||
|
& Dx [nm] & Dy [nm] & Dz [nm] & Rx [nrad] & Ry [nrad]\\
|
||
|
\hline
|
||
|
m0 & 796 & 20 & 8 & 8209 & 73\\
|
||
|
\end{tabular}
|
||
|
\end{center}
|
||
|
\paragraph{30rpm}
|
||
|
1RPM scans are performed for all the masses with the same controller.
|
||
|
|
||
|
\begin{center}
|
||
|
\begin{tabular}{lrrrrr}
|
||
|
& Dx [nm] & Dy [nm] & Dz [nm] & Rx [nrad] & Ry [nrad]\\
|
||
|
\hline
|
||
|
m0 & 820 & 39 & 13 & 7790 & 156\\
|
||
|
\end{tabular}
|
||
|
\end{center}
|
||
|
\section{m2}
|
||
|
\subsection{3x3 plant in Cartesian plane}
|
||
|
Compute identified plant in the Cartesian plane:
|
||
|
Compute plant model in the Cartesian plane:
|
||
|
Normalization of outputs:
|
||
|
\subsection{Better plant invert}
|
||
|
\paragraph{Dy}
|
||
|
Stable Inverse
|
||
|
\paragraph{Dz}
|
||
|
Stable Inverse
|
||
|
\paragraph{Ry}
|
||
|
Stable Inverse
|
||
|
\paragraph{Compare Invert plants}
|
||
|
\paragraph{Save plant inverse}
|
||
|
\paragraph{Compare Digital Invert plants}
|
||
|
\subsection{Control Performances}
|
||
|
\paragraph{Better plant invert}
|
||
|
\subsection{Scans with good controller}
|
||
|
\paragraph{1rpm}
|
||
|
1RPM scans are performed for all the masses with the same controller.
|
||
|
|
||
|
\begin{center}
|
||
|
\begin{tabular}{lrrrrr}
|
||
|
& Dx [nm] & Dy [nm] & Dz [nm] & Rx [nrad] & Ry [nrad]\\
|
||
|
\hline
|
||
|
m0 & 796 & 20 & 8 & 8209 & 73\\
|
||
|
\end{tabular}
|
||
|
\end{center}
|
||
|
\paragraph{30rpm}
|
||
|
1RPM scans are performed for all the masses with the same controller.
|
||
|
|
||
|
\begin{center}
|
||
|
\begin{tabular}{lrrrrr}
|
||
|
& Dx [nm] & Dy [nm] & Dz [nm] & Rx [nrad] & Ry [nrad]\\
|
||
|
\hline
|
||
|
m0 & 820 & 39 & 13 & 7790 & 156\\
|
||
|
\end{tabular}
|
||
|
\end{center}
|
||
|
\section{m3}
|
||
|
\subsection{3x3 plant in Cartesian plane}
|
||
|
Compute identified plant in the Cartesian plane:
|
||
|
Compute plant model in the Cartesian plane:
|
||
|
Normalization of outputs:
|
||
|
\subsection{Better plant invert}
|
||
|
\paragraph{Dy}
|
||
|
Stable Inverse
|
||
|
\paragraph{Dz}
|
||
|
Stable Inverse
|
||
|
\paragraph{Ry}
|
||
|
Stable Inverse
|
||
|
\paragraph{Compare Invert plants}
|
||
|
\paragraph{Save plant inverse}
|
||
|
\paragraph{Compare Digital Invert plants}
|
||
|
\subsection{Control Performances}
|
||
|
\paragraph{Better plant invert}
|
||
|
\subsection{Scans with good controller}
|
||
|
\paragraph{1rpm}
|
||
|
1RPM scans are performed for all the masses with the same controller.
|
||
|
|
||
|
\begin{center}
|
||
|
\begin{tabular}{lrrrrr}
|
||
|
& Dx [nm] & Dy [nm] & Dz [nm] & Rx [nrad] & Ry [nrad]\\
|
||
|
\hline
|
||
|
m0 & 796 & 20 & 8 & 8209 & 73\\
|
||
|
\end{tabular}
|
||
|
\end{center}
|
||
|
\paragraph{30rpm}
|
||
|
1RPM scans are performed for all the masses with the same controller.
|
||
|
|
||
|
\begin{center}
|
||
|
\begin{tabular}{lrrrrr}
|
||
|
& Dx [nm] & Dy [nm] & Dz [nm] & Rx [nrad] & Ry [nrad]\\
|
||
|
\hline
|
||
|
m0 & 820 & 39 & 13 & 7790 & 156\\
|
||
|
\end{tabular}
|
||
|
\end{center}
|
||
|
\chapter{Scans}
|
||
|
\label{sec:id31_scans}
|
||
|
\begin{itemize}
|
||
|
\item Section \ref{sec:id31_scans_tomography}
|
||
|
\item Section \ref{sec:id31_scans_dz}
|
||
|
\item Section \ref{sec:id31_scans_reflectivity}
|
||
|
\item Section \ref{sec:id31_scans_dy}
|
||
|
\item Section \ref{sec:id31_scans_diffraction_tomo}
|
||
|
\end{itemize}
|
||
|
\section{\(R_z\) scans: Tomography}
|
||
|
\label{sec:id31_scans_tomography}
|
||
|
m0: 30rpm, 6rpm, 1rpm
|
||
|
m1: 6rpm, 1rpm
|
||
|
m2: 6rpm, 1rpm
|
||
|
m3: 1rpm
|
||
|
\subsection{Robust Control - 1rpm}
|
||
|
1RPM scans are performed for all the masses with the same robust controller.
|
||
|
|
||
|
The problem for these scans is that the position initialization was not make properly, so the open-loop errors are quite large (see Figure \ref{fig:id31_tomo_1rpm_robust_m0}).
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_tomo_1rpm_robust_m0.png}
|
||
|
\caption{\label{fig:id31_tomo_1rpm_robust_m0}\(D_x\), \(D_y\) and \(D_z\) motion during a slow (1RPM) tomography experiment. Open Loop data is shown in blue and closed-loop data in red}
|
||
|
\end{figure}
|
||
|
|
||
|
The obtained open-loop and closed-loop errors are shown in tables \ref{tab:id31_tomo_1rpm_robust_ol_errors} and \ref{tab:id31_tomo_1rpm_robust_cl_errors} respectively.
|
||
|
|
||
|
\begin{table}[htbp]
|
||
|
\caption{\label{tab:id31_tomo_1rpm_robust_ol_errors}Measured error during open-loop tomography scans (1rpm)}
|
||
|
\centering
|
||
|
\begin{tabularx}{\linewidth}{cXXXXX}
|
||
|
\toprule
|
||
|
& \(D_x\) {[}\(\mu m\)] & \(D_y\) {[}\(\mu m\)] & \(D_z\) {[}\(nm\)] & \(R_x\) {[}\(\mu\text{rad}\)] & \(R_y\) {[}\(\mu\text{rad}\)]\\
|
||
|
\midrule
|
||
|
\(m_0\) & 6 & 6 & 32 & 34 & 34\\
|
||
|
\(m_1\) & 6 & 7 & 26 & 51 & 55\\
|
||
|
\(m_2\) & 36 & 38 & 36 & 259 & 253\\
|
||
|
\(m_3\) & 31 & 33 & 38 & 214 & 203\\
|
||
|
\bottomrule
|
||
|
\end{tabularx}
|
||
|
\end{table}
|
||
|
|
||
|
\begin{table}[htbp]
|
||
|
\caption{\label{tab:id31_tomo_1rpm_robust_cl_errors}Measured error during closed-loop tomography scans (1rpm, robust controller)}
|
||
|
\centering
|
||
|
\begin{tabularx}{\linewidth}{cXXXXX}
|
||
|
\toprule
|
||
|
& \(D_x\) {[}nm] & \(D_y\) {[}nm] & \(D_z\) {[}nm] & \(R_x\) {[}nrad] & \(R_y\) {[}nrad]\\
|
||
|
\midrule
|
||
|
\(m_0\) & 13 & 15 & 5 & 57 & 55\\
|
||
|
\(m_1\) & 16 & 25 & 6 & 102 & 55\\
|
||
|
\(m_2\) & 25 & 25 & 7 & 120 & 103\\
|
||
|
\(m_3\) & 40 & 53 & 9 & 225 & 169\\
|
||
|
\bottomrule
|
||
|
\end{tabularx}
|
||
|
\end{table}
|
||
|
\subsection{Robust Control - 6rpm}
|
||
|
\begin{table}[htbp]
|
||
|
\caption{\label{tab:id31_tomo_6rpm_robust_ol_errors}Measured error during open-loop tomography scans (6rpm)}
|
||
|
\centering
|
||
|
\begin{tabularx}{\linewidth}{cXXXXX}
|
||
|
\toprule
|
||
|
& \(D_x\) {[}\(\mu m\)] & \(D_y\) {[}\(\mu m\)] & \(D_z\) {[}\(nm\)] & \(R_x\) {[}\(\mu\text{rad}\)] & \(R_y\) {[}\(\mu\text{rad}\)]\\
|
||
|
\midrule
|
||
|
\(m_0\) & 8 & 7 & 20 & 41 & 41\\
|
||
|
\(m_1\) & 4 & 4 & 21 & 39 & 39\\
|
||
|
\bottomrule
|
||
|
\end{tabularx}
|
||
|
\end{table}
|
||
|
|
||
|
\begin{table}[htbp]
|
||
|
\caption{\label{tab:id31_tomo_6rpm_robust_cl_errors}Measured error during closed-loop tomography scans (6rpm, robust controller)}
|
||
|
\centering
|
||
|
\begin{tabularx}{\linewidth}{cXXXXX}
|
||
|
\toprule
|
||
|
& \(D_x\) {[}nm] & \(D_y\) {[}nm] & \(D_z\) {[}nm] & \(R_x\) {[}nrad] & \(R_y\) {[}nrad]\\
|
||
|
\midrule
|
||
|
\(m_0\) & 17 & 19 & 5 & 70 & 73\\
|
||
|
\(m_1\) & 20 & 26 & 7 & 110 & 77\\
|
||
|
\bottomrule
|
||
|
\end{tabularx}
|
||
|
\end{table}
|
||
|
\subsection{Robust Control - 30rpm}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_tomography_m0_30rpm_robust_xyz.png}
|
||
|
\caption{\label{fig:id31_tomography_m0_30rpm_robust_xyz}Measured motion during tomography scan at 30RPM with a robust controller}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{table}[htbp]
|
||
|
\caption{\label{tab:id31_tomo_30rpm_robust_ol_errors}Measured error during open-loop tomography scans (30rpm)}
|
||
|
\centering
|
||
|
\begin{tabularx}{\linewidth}{cXXXXX}
|
||
|
\toprule
|
||
|
& \(D_x\) {[}\(\mu m\)] & \(D_y\) {[}\(\mu m\)] & \(D_z\) {[}\(nm\)] & \(R_x\) {[}\(\mu\text{rad}\)] & \(R_y\) {[}\(\mu\text{rad}\)]\\
|
||
|
\midrule
|
||
|
\(m_0\) & 2 & 2 & 24 & 10 & 10\\
|
||
|
\bottomrule
|
||
|
\end{tabularx}
|
||
|
\end{table}
|
||
|
|
||
|
\begin{table}[htbp]
|
||
|
\caption{\label{tab:id31_tomo_30rpm_robust_cl_errors}Measured error during closed-loop tomography scans (30rpm, robust controller)}
|
||
|
\centering
|
||
|
\begin{tabularx}{\linewidth}{cXXXXX}
|
||
|
\toprule
|
||
|
& \(D_x\) {[}nm] & \(D_y\) {[}nm] & \(D_z\) {[}nm] & \(R_x\) {[}nrad] & \(R_y\) {[}nrad]\\
|
||
|
\midrule
|
||
|
\(m_0\) & 34 & 38 & 10 & 127 & 129\\
|
||
|
\bottomrule
|
||
|
\end{tabularx}
|
||
|
\end{table}
|
||
|
\section{\(D_z\) scans: Dirty Layer Scans}
|
||
|
\label{sec:id31_scans_dz}
|
||
|
\subsection{Step by Step \(D_z\) motion}
|
||
|
Three step sizes are tested:
|
||
|
\begin{itemize}
|
||
|
\item \(10\,nm\) steps (Figure \ref{fig:id31_dz_mim_10nm_steps})
|
||
|
\item \(100\,nm\) steps (Figure \ref{fig:id31_dz_mim_100nm_steps})
|
||
|
\item \(1\,\mu m\) steps (Figure \ref{fig:id31_dz_steps_response})
|
||
|
\end{itemize}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_dz_mim_10nm_steps.png}
|
||
|
\caption{\label{fig:id31_dz_mim_10nm_steps}Dz MIM test with 10nm steps (low pass filter with cut-off frequency of 10Hz is applied)}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_dz_mim_100nm_steps.png}
|
||
|
\caption{\label{fig:id31_dz_mim_100nm_steps}Dz MIM test with 100nm steps}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_dz_steps_response.png}
|
||
|
\caption{\label{fig:id31_dz_steps_response}\(D_z\) step response - Stabilization time is around 70ms}
|
||
|
\end{figure}
|
||
|
\subsection{Continuous \(D_z\) motion: Dirty Layer Scans}
|
||
|
Two \(D_z\) scans are performed:
|
||
|
\begin{itemize}
|
||
|
\item at \(10\,\mu m/s\) in Figure \ref{fig:id31_dirty_layer_scan_m0}
|
||
|
\item at \(100\,\mu m/s\) in Figure \ref{fig:id31_dirty_layer_scan_m0_large}
|
||
|
\end{itemize}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_dirty_layer_scan_m0.png}
|
||
|
\caption{\label{fig:id31_dirty_layer_scan_m0}Dirty layer scan: \(D_z\) motion at \(10\,\mu m/s\)}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_dirty_layer_scan_m0_large.png}
|
||
|
\caption{\label{fig:id31_dirty_layer_scan_m0_large}Dirty layer scan: \(D_z\) motion at \(100\,\mu m/s\)}
|
||
|
\end{figure}
|
||
|
\section{\(R_y\) scans: Reflectivity}
|
||
|
\label{sec:id31_scans_reflectivity}
|
||
|
An \(R_y\) scan is performed at \(100\,\mu rad/s\) velocity (Figure \ref{fig:id31_reflectivity_scan_Ry_100urads}).
|
||
|
During the \(R_y\) scan, the errors in \(D_y\) are \(D_z\) are kept small.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_reflectivity_scan_Ry_100urads.png}
|
||
|
\caption{\label{fig:id31_reflectivity_scan_Ry_100urads}\(R_y\) reflecitivity scan at \(100\,\mu\text{rad}/s\) velocity}
|
||
|
\end{figure}
|
||
|
\section{\(D_y\) Scans}
|
||
|
\label{sec:id31_scans_dy}
|
||
|
The steps generated by the IcePAP for the \(T_y\) stage are send to the Speedgoat.
|
||
|
Then, we can know in real time what is the wanted position in \(D_y\) during \(T_y\) scans.
|
||
|
\subsection{Open Loop}
|
||
|
We can clearly see micro-stepping errors of the stepper motor used for the \(T_y\) stage.
|
||
|
The errors have a period of \(10\,\mu m\) with an amplitude of \(\pm 100\,nm\).
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_ty_scan_10ums_ol_dy_errors.png}
|
||
|
\caption{\label{fig:id31_ty_scan_10ums_ol_dy_errors}\(T_y\) scan (at \(10\,\mu m/s\)) - \(D_y\) errors. The micro-stepping errors can clearly be seen with a period of \(10\,\mu m\) and an amplitude of \(\pm 100\,nm\)}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_ty_scan_10ums_ol_dz_ry_errors.png}
|
||
|
\caption{\label{fig:id31_ty_scan_10ums_ol_dz_ry_errors}\(T_y\) scan (at \(10\,\mu m/s\)) - \(D_z\) and \(R_y\) errors. The \(D_z\) error is most likely due to having the top interferometer pointing to a sphere. The large \(R_y\) errors might also be due to the metrology system}
|
||
|
\end{figure}
|
||
|
\subsection{Closed Loop}
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_ty_scan_10ums_cl_dy_errors.png}
|
||
|
\caption{\label{fig:id31_ty_scan_10ums_cl_dy_errors}\(T_y\) scan (at \(10\,\mu m/s\)) - \(D_y\) errors. Open-loop and Closed-loop scans}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_ty_scan_10ums_cl_dz_ry_errors.png}
|
||
|
\caption{\label{fig:id31_ty_scan_10ums_cl_dz_ry_errors}\(T_y\) scan (at \(10\,\mu m/s\)) - \(D_z\) and \(R_y\) errors. Open-loop and Closed-loop scans}
|
||
|
\end{figure}
|
||
|
\subsection{Faster Scan}
|
||
|
Because of micro-stepping errors of the Ty stepper motor, when scanning at high velocity this induce high frequency vibration that are outside the bandwidth of the feedback controller.
|
||
|
|
||
|
At \(100\,\mu m/s\), the micro-stepping errors with a period of \(10\,\mu m\) (see Figure \ref{fig:id31_ty_scan_10ums_ol_dy_errors}) are at 10Hz.
|
||
|
These errors are them amplified by some resonances in the system.
|
||
|
|
||
|
This could be easily solved by changing the stepper motor for a torque motor for instance.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_ty_scan_100ums_cl_dy_errors.png}
|
||
|
\caption{\label{fig:id31_ty_scan_100ums_cl_dy_errors}\(T_y\) scan (at \(100\,\mu m/s\)) - \(D_y\) errors. Open-loop and Closed-loop scans}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_ty_scan_100ums_cl_dz_ry_errors.png}
|
||
|
\caption{\label{fig:id31_ty_scan_100ums_cl_dz_ry_errors}\(T_y\) scan (at \(100\,\mu m/s\)) - \(D_z\) and \(R_y\) errors. Open-loop and Closed-loop scans}
|
||
|
\end{figure}
|
||
|
\section{Combined \(R_z\) and \(D_y\): Diffraction Tomography}
|
||
|
\label{sec:id31_scans_diffraction_tomo}
|
||
|
Instead of doing a fast \(R_z\) motion a slow \(D_y\), the idea is to perform slow \(R_z\) (here 1rpm) and fast \(D_y\) scans with the nano-hexapod.
|
||
|
|
||
|
Here, the \(D_y\) scans are performed only with the nano-hexapod (the Ty stage is not moving), so we are limited to \(\pm 100\,\mu m\).
|
||
|
|
||
|
Several \(D_y\) velocities are tested: \(0.1\,mm/s\), \(0.5\,mm/s\), \(1\,mm/s\) and \(10\,mm/s\) (see Figure \ref{fig:id31_diffraction_tomo_velocities}).
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_diffraction_tomo_velocities.png}
|
||
|
\caption{\label{fig:id31_diffraction_tomo_velocities}Dy motion for several configured velocities}
|
||
|
\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]
|
||
|
\caption{\label{tab:diffraction_tomo_velocities}\(D_y\) scaning repetition rate}
|
||
|
\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\\
|
||
|
10 mm/s & 0.18 s & 330\\
|
||
|
\bottomrule
|
||
|
\end{tabularx}
|
||
|
\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{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{figs/id31_diffraction_tomo_1mms.png}
|
||
|
\caption{\label{fig:id31_diffraction_tomo_1mms}Diffraction tomography with Dy velocity of 1mm/s and Rz velocity of 1RPM}
|
||
|
\end{figure}
|
||
|
|
||
|
\begin{table}[htbp]
|
||
|
\caption{\label{tab:id31_diffraction_tomo_results}Obtained errors for several \(D_y\) velocities}
|
||
|
\centering
|
||
|
\begin{tabularx}{\linewidth}{lXX}
|
||
|
\toprule
|
||
|
Velocity & \(D_y\) {[}nmRMS] & \(D_z\) {[}nmRMS] & \(R_y\) {[}\(\mu\text{radRMS}\)]\\
|
||
|
\midrule
|
||
|
0.1 mm/s & 75.5 & 9.1 & 0.1\\
|
||
|
0.5 mm/s & 190.5 & 10.0 & 0.1\\
|
||
|
1 mm/s & 428.0 & 11.2 & 0.2\\
|
||
|
10 mm/s & 4639.9 & 55.9 & 1.4\\
|
||
|
\bottomrule
|
||
|
\end{tabularx}
|
||
|
\end{table}
|
||
|
\section{Summary of experiments}
|
||
|
For each conducted experiments, the \(D_y\), \(D_z\) and \(R_y\) errors are computed and summarized in Table \ref{tab:id31_experiments_results_summary}.
|
||
|
|
||
|
\begin{table}[htbp]
|
||
|
\caption{\label{tab:id31_experiments_results_summary}Table caption}
|
||
|
\centering
|
||
|
\begin{tabularx}{\linewidth}{Xccc}
|
||
|
\toprule
|
||
|
& \(D_y\) {[}nmRMS] & \(D_z\) {[}nmRMS] & \(R_y\) {[}nradRMS]\\
|
||
|
\midrule
|
||
|
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}
|
||
|
\end{table}
|
||
|
\printbibliography[heading=bibintoc,title={Bibliography}]
|
||
|
\end{document}
|