836 lines
49 KiB
TeX
836 lines
49 KiB
TeX
% Created 2024-11-18 Mon 13:10
|
|
% Intended LaTeX compiler: pdflatex
|
|
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
|
|
|
|
\input{preamble.tex}
|
|
\input{preamble_extra.tex}
|
|
\bibliography{simscape-micro-station.bib}
|
|
\author{Dehaeze Thomas}
|
|
\date{\today}
|
|
\title{Multi-Body Model - Micro Station}
|
|
\hypersetup{
|
|
pdfauthor={Dehaeze Thomas},
|
|
pdftitle={Multi-Body Model - Micro Station},
|
|
pdfkeywords={},
|
|
pdfsubject={},
|
|
pdfcreator={Emacs 29.4 (Org mode 9.6)},
|
|
pdflang={English}}
|
|
\usepackage{biblatex}
|
|
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
\tableofcontents
|
|
|
|
\clearpage
|
|
|
|
From the start of this work, it became increasingly clear that an accurate micro-station model was necessary.
|
|
|
|
First, during the uniaxial study, it became clear that the micro-station dynamics affects the nano-hexapod dynamics.
|
|
Then, using the 3-DoF rotating model, it was discovered that the rotation of the nano-hexapod induces gyroscopic effects that affect the system dynamics and should therefore be modeled.
|
|
Finally, a modal analysis of the micro-station showed how complex the dynamics of the station is.
|
|
The modal analysis also confirm that each stage behaves as a rigid body in the frequency range of interest.
|
|
Therefore, a multi-body model is a good candidate to accurately represent the micro-station dynamics.
|
|
|
|
In this report, the development of such a multi-body model is presented.
|
|
|
|
First, each stage of the micro-station is described.
|
|
The kinematics of the micro-station (i.e. how the motion of the stages are combined) is presented in Section \ref{sec:ustation_kinematics}.
|
|
|
|
Then, the multi-body model is presented and tuned to match the measured dynamics of the micro-station (Section \ref{sec:ustation_modeling}).
|
|
|
|
Disturbances affecting the positioning accuracy also need to be modeled properly.
|
|
To do so, the effects of these disturbances were first measured experimental and then injected into the multi-body model (Section \ref{sec:ustation_disturbances}).
|
|
|
|
To validate the accuracy of the micro-station model, ``real world'' experiments are simulated and compared with measurements in Section \ref{sec:ustation_experiments}.
|
|
|
|
|
|
\chapter{Micro-Station Kinematics}
|
|
\label{sec:ustation_kinematics}
|
|
The micro-station consists of 4 stacked positioning stages (Figure \ref{fig:ustation_cad_view}).
|
|
From bottom to top, the stacked stages are the translation stage \(D_y\), the tilt stage \(R_y\), the rotation stage (Spindle) \(R_z\) and the positioning hexapod.
|
|
Such a stacked architecture allows high mobility, but the overall stiffness is reduced, and the dynamics is very complex. complex dynamics.
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1,width=\linewidth]{figs/ustation_cad_view.png}
|
|
\caption{\label{fig:ustation_cad_view}CAD view of the micro-station with the translation stage (in blue), tilt stage (in red), rotation stage (in yellow) and positioning hexapod (in purple). On top of these four stages, a solid part (shown in green) will be replaced by the stabilization stage.}
|
|
\end{figure}
|
|
|
|
There are different ways of modeling the stage dynamics in a multi-body model.
|
|
The one chosen in this work consists of modeling each stage by two solid bodies connected by one 6-DoF joint.
|
|
The stiffness and damping properties of the joint
|
|
s can be tuned separately for each DoF.
|
|
|
|
The ``controlled'' DoF of each stage (for instance the \(D_y\) direction for the translation stage) is modeled as infinitely rigid (i.e. its motion is imposed by a ``setpoint'') while the other DoFs have limited stiffness to model the different micro-station modes.
|
|
\section{Motion Stages}
|
|
\label{ssec:ustation_stages}
|
|
|
|
\paragraph{Translation Stage}
|
|
|
|
The translation stage is used to position and scan the sample laterally with respect to the X-ray beam.
|
|
|
|
A linear motor was first used to enable fast and accurate scans.
|
|
It was later replaced with a stepper motor and lead-screw, as the feedback control used for the linear motor was unreliable\footnote{It was probably caused by rust of the linear guides along its stroke.}.
|
|
An optical linear encoder is used to measure the stage motion and for controlling the position.
|
|
|
|
Four cylindrical bearings\footnote{Ball cage (N501) and guide bush (N550) from Mahr are used.} are used to guide the motion (i.e. minimize the parasitic motions) and have high stiffness.
|
|
|
|
\paragraph{Tilt Stage}
|
|
|
|
The tilt stage is guided by four linear motion guides\footnote{HCR 35 A C1, from THK.} which are placed such that the center of rotation coincide with the X-ray beam.
|
|
Each linear guide is very stiff in radial directions such that the only DoF with low stiffness is in \(R_y\).
|
|
|
|
This stage is mainly used in \emph{reflectivity} experiments where the sample \(R_y\) angle is scanned.
|
|
This stage can also be used to tilt the rotation axis of the Spindle.
|
|
|
|
To precisely control the \(R_y\) angle, a stepper motor and two optical encoders are used in a PID feedback loop.
|
|
|
|
\begin{minipage}[b]{0.48\linewidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,scale=1]{figs/ustation_ty_stage.png}
|
|
\captionof{figure}{\label{fig:ustation_ty_stage}Translation Stage}
|
|
\end{center}
|
|
\end{minipage}
|
|
\hfill
|
|
\begin{minipage}[b]{0.48\linewidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,scale=1]{figs/ustation_ry_stage.png}
|
|
\captionof{figure}{\label{fig:ustation_ry_stage}Tilt Stage}
|
|
\end{center}
|
|
\end{minipage}
|
|
|
|
\paragraph{Spindle}
|
|
|
|
Then, a rotation stage is used for tomography experiments.
|
|
It is composed of an air bearing spindle\footnote{Made by LAB Motion Systems.}, whose angular position is controlled with a 3 phase synchronous motor based on the reading of 4 optical encoders.
|
|
|
|
Additional rotary unions and slip-rings are used to be able to pass electrical signals, fluids and gazes through the rotation stage.
|
|
|
|
\paragraph{Micro-Hexapod}
|
|
|
|
Finally, a Stewart platform\footnote{Modified Zonda Hexapod by Symetrie.} is used to position the sample.
|
|
It includes a DC motor and an optical linear encoders in each of the six struts.
|
|
|
|
This stage is used to position the point of interest of the sample with respect to the spindle rotation axis.
|
|
It can also be used to precisely position the PoI vertically with respect to the x-ray.
|
|
|
|
\begin{minipage}[t]{0.49\linewidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,scale=1]{figs/ustation_rz_stage.png}
|
|
\captionof{figure}{\label{fig:ustation_rz_stage}Rotation Stage (Spindle)}
|
|
\end{center}
|
|
\end{minipage}
|
|
\hfill
|
|
\begin{minipage}[t]{0.49\linewidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,scale=1]{figs/ustation_hexapod_stage.png}
|
|
\captionof{figure}{\label{fig:ustation_hexapod_stage}Micro Hexapod}
|
|
\end{center}
|
|
\end{minipage}
|
|
|
|
\section{Mathematical description of a rigid body motion}
|
|
\label{ssec:ustation_motion_description}
|
|
In this section, mathematical tools\footnote{The tools presented here are largely taken from \cite{taghirad13_paral}.} that are used to describe the motion of positioning stages are introduced.
|
|
|
|
First, the tools to describe the pose of a solid body (i.e. it's position and orientation) are introduced.
|
|
The motion induced by a positioning stage is described by transformation matrices.
|
|
Finally, the motions of all stacked stages are combined, and the sample's motion is computed from each stage motion.
|
|
\paragraph{Spatial motion representation}
|
|
|
|
The \emph{pose} of a solid body relative to a specific frame can be described by six independent parameters.
|
|
Three parameters are typically used to describe its position, and three other parameters describe its orientation.
|
|
|
|
The \emph{position} of a point \(P\) with respect to a frame \(\{A\}\) can be described by a \(3 \times 1\) position vector \eqref{eq:ustation_position}.
|
|
The name of the frame is usually added as a leading superscript: \({}^AP\) which reads as vector \(P\) in frame \(\{A\}\).
|
|
|
|
\begin{equation}\label{eq:ustation_position}
|
|
{}^AP = \begin{bmatrix} P_x\\ P_y\\ P_z \end{bmatrix}
|
|
\end{equation}
|
|
|
|
A pure translation of a solid body (i.e., of a frame \(\{B\}\) attached to the solid body) can be described by the position \({}^AP_{O_B}\) as shown in Figure \ref{fig:ustation_translation}.
|
|
|
|
\begin{figure}[htbp]
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,scale=0.8]{figs/ustation_translation.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_translation}Pure translation}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,scale=0.8]{figs/ustation_rotation.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_rotation}Pure rotation}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,scale=0.8]{figs/ustation_transformation.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_transformation}General transformation}
|
|
\end{subfigure}
|
|
\caption{\label{fig:ustation_transformation_schematics}Rigid body motion representation. (\subref{fig:ustation_translation}) pure translation. (\subref{fig:ustation_rotation}) pure rotation. (\subref{fig:ustation_transformation}) combined rotation and translation.}
|
|
\end{figure}
|
|
|
|
The \emph{orientation} of a rigid body is the same at all its points (by definition).
|
|
Hence, the orientation of a rigid body can be viewed as that of a moving frame attached to the rigid body.
|
|
It can be represented in several different ways: the rotation matrix, the screw axis representation, and the Euler angles are common descriptions.
|
|
|
|
The rotation matrix \({}^A\bm{R}_B\) is a \(3 \times 3\) matrix containing the Cartesian unit vectors of frame \(\{\bm{B}\}\) represented in frame \(\{\bm{A}\}\) \eqref{eq:ustation_rotation_matrix}.
|
|
|
|
\begin{equation}\label{eq:ustation_rotation_matrix}
|
|
{}^A\bm{R}_B = \left[ {}^A\hat{\bm{x}}_B | {}^A\hat{\bm{y}}_B | {}^A\hat{\bm{z}}_B \right] = \begin{bmatrix}
|
|
u_{x} & v_{x} & z_{x} \\
|
|
u_{y} & v_{y} & z_{y} \\
|
|
u_{z} & v_{z} & z_{z}
|
|
\end{bmatrix}
|
|
\end{equation}
|
|
|
|
Consider a pure rotation of a rigid body (\(\{\bm{A}\}\) and \(\{\bm{B}\}\) are coincident at their origins, as shown in Figure \ref{fig:ustation_rotation}).
|
|
The rotation matrix can be used to express the coordinates of a point \(P\) in a fixed frame \(\{A\}\) (i.e. \({}^AP\)) from its coordinate in the moving frame \(\{B\}\) using Equation \eqref{eq:ustation_rotation}.
|
|
|
|
\begin{equation} \label{eq:ustation_rotation}
|
|
{}^AP = {}^A\bm{R}_B {}^BP
|
|
\end{equation}
|
|
|
|
|
|
For rotations along \(x\), \(y\) or \(z\) axis, the formulas of the corresponding rotation matrices are given in Equation \eqref{eq:ustation_rotation_matrices_xyz}.
|
|
|
|
\begin{subequations}\label{eq:ustation_rotation_matrices_xyz}
|
|
\begin{align}
|
|
\bm{R}_x(\theta_x) &= \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos(\theta_x) & -\sin(\theta_x) \\ 0 & \sin(\theta_x) & \cos(\theta_x) \end{bmatrix} \\
|
|
\bm{R}_y(\theta_y) &= \begin{bmatrix} \cos(\theta_y) & 0 & \sin(\theta_y) \\ 0 & 1 & 0 \\ -\sin(\theta_y) & 0 & \cos(\theta_y) \end{bmatrix} \\
|
|
\bm{R}_z(\theta_z) &= \begin{bmatrix} \cos(\theta_z) & -\sin(\theta_z) & 0 \\ \sin(\theta_z) & \cos(\theta_x) & 0 \\ 0 & 0 & 1 \end{bmatrix}
|
|
\end{align}
|
|
\end{subequations}
|
|
|
|
Sometimes, it is useful to express a rotation as a combination of three rotations described by \(\bm{R}_x\), \(\bm{R}_y\) and \(\bm{R}_z\).
|
|
The order of rotation is very important\footnote{Rotations are non commutative in 3D.}, therefore, in this study, rotations are expressed as three successive rotations about the coordinate axes of the moving frame \eqref{eq:ustation_rotation_combination}.
|
|
|
|
\begin{equation}\label{eq:ustation_rotation_combination}
|
|
{}^A\bm{R}_B(\alpha, \beta, \gamma) = \bm{R}_u(\alpha) \bm{R}_v(\beta) \bm{R}_c(\gamma)
|
|
\end{equation}
|
|
|
|
Such rotation can be parameterized by three Euler angles \((\alpha,\ \beta,\ \gamma)\), which can be computed from a given rotation matrix using equations \eqref{eq:ustation_euler_angles}.
|
|
|
|
\begin{subequations}\label{eq:ustation_euler_angles}
|
|
\begin{align}
|
|
\alpha &= \text{atan2}(-R_{23}/\cos(\beta),\ R_{33}/\cos(\beta)) \\
|
|
\beta &= \text{atan2}( R_{13},\ \sqrt{R_{11}^2 + R_{12}^2}) \\
|
|
\gamma &= \text{atan2}(-R_{12}/\cos(\beta),\ R_{11}/\cos(\beta))
|
|
\end{align}
|
|
\end{subequations}
|
|
|
|
\paragraph{Motion of a Rigid Body}
|
|
|
|
Since the relative positions of a rigid body with respect to a moving frame \(\{B\}\) attached to it are fixed for all time, it is sufficient to know the position of the origin of the frame \(O_B\) and the orientation of the frame \(\{B\}\) with respect to the fixed frame \(\{A\}\), to represent the position of any point \(P\) in the space.
|
|
|
|
Therefore, the pose of a rigid body can be fully determined by:
|
|
\begin{enumerate}
|
|
\item The position vector of point \(O_B\) with respect to frame \(\{A\}\) which is denoted \({}^AP_{O_B}\)
|
|
\item The orientation of the rigid body, or the moving frame \(\{B\}\) attached to it with respect to the fixed frame \(\{A\}\), that is represented by \({}^A\bm{R}_B\).
|
|
\end{enumerate}
|
|
|
|
The position of any point \(P\) of the rigid body with respect to the fixed frame \(\{\bm{A}\}\), which is denoted \({}^A\bm{P}\) may be determined thanks to the \emph{Chasles' theorem}, which states that if the pose of a rigid body \(\{{}^A\bm{R}_B, {}^AP_{O_B}\}\) is given, then the position of any point \(P\) of this rigid body with respect to \(\{\bm{A}\}\) is given by Equation \eqref{eq:ustation_chasles_therorem}.
|
|
|
|
\begin{equation} \label{eq:ustation_chasles_therorem}
|
|
{}^AP = {}^A\bm{R}_B {}^BP + {}^AP_{O_B}
|
|
\end{equation}
|
|
|
|
While equation \eqref{eq:ustation_chasles_therorem} can describe the motion of a rigid body, it can be written in a more convenient way using \(4 \times 4\) homogeneous transformation matrices and \(4 \times 1\) homogeneous coordinates.
|
|
The homogeneous transformation matrix is composed of the rotation matrix \({}^A\bm{R}_B\) representing the orientation and the position vector \({}^AP_{O_B}\) representing the translation.
|
|
It is partitioned as shown in Equation \eqref{eq:ustation_homogeneous_transformation_parts}.
|
|
|
|
\begin{equation}\label{eq:ustation_homogeneous_transformation_parts}
|
|
{}^A\bm{T}_B =
|
|
\left[ \begin{array}{ccc|c}
|
|
& & & \\
|
|
& {}^A\bm{R}_B & & {}^AP_{O_B} \\
|
|
& & & \cr
|
|
\hline
|
|
0 & 0 & 0 & 1
|
|
\end{array} \right]
|
|
\end{equation}
|
|
|
|
Then, \({}^AP\) can be computed from \({}^BP\) and the homogeneous transformation matrix using \eqref{eq:ustation_homogeneous_transformation}.
|
|
|
|
\begin{equation}\label{eq:ustation_homogeneous_transformation}
|
|
\left[ \begin{array}{c} \\ {}^AP \\ \cr \hline 1 \end{array} \right]
|
|
=
|
|
\left[ \begin{array}{ccc|c}
|
|
& & & \\
|
|
& {}^A\bm{R}_B & & {}^AP_{O_B} \\
|
|
& & & \cr
|
|
\hline
|
|
0 & 0 & 0 & 1
|
|
\end{array} \right]
|
|
\left[ \begin{array}{c} \\ {}^BP \\ \cr \hline 1 \end{array} \right] \quad \Rightarrow \quad {}^AP = {}^A\bm{R}_B {}^BP + {}^AP_{O_B}
|
|
\end{equation}
|
|
|
|
One key advantage of homogeneous transformation is that it can easily be generalized for consecutive transformations.
|
|
Let us consider the motion of a rigid body described at three locations (Figure \ref{fig:ustation_combined_transformation}).
|
|
Frame \(\{A\}\) represents the initial location, frame \(\{B\}\) is an intermediate location, and frame \(\{C\}\) represents the rigid body at its final location.
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/ustation_combined_transformation.png}
|
|
\caption{\label{fig:ustation_combined_transformation}Motion of a rigid body represented at three locations by frame \(\{A\}\), \(\{B\}\) and \(\{C\}\)}
|
|
\end{figure}
|
|
|
|
Furthermore, suppose the position vector of a point \(P\) of the rigid body is given in the final location, that is \({}^CP\) is given, and the position of this point is to be found in the fixed frame \(\{A\}\), that is \({}^AP\).
|
|
Since the locations of the rigid body are known relative to each other, \({}^CP\) can be transformed to \({}^BP\) using \({}^B\bm{T}_C\) using \({}^BP = {}^B\bm{T}_C {}^CP\).
|
|
Similarly, \({}^BP\) can be transformed into \({}^AP\) using \({}^AP = {}^A\bm{T}_B {}^BP\).
|
|
|
|
Combining the two relations, Equation \eqref{eq:ustation_consecutive_transformations} is obtained.
|
|
This shows that combining multiple transformations is equivalent as to compute \(4 \times 4\) matrix multiplications.
|
|
|
|
\begin{equation}\label{eq:ustation_consecutive_transformations}
|
|
{}^AP = \underbrace{{}^A\bm{T}_B {}^B\bm{T}_C}_{{}^A\bm{T}_C} {}^CP
|
|
\end{equation}
|
|
|
|
Another key advantage of homogeneous transformation is the easy inverse transformation, which can be computed using Equation \eqref{eq:ustation_inverse_homogeneous_transformation}.
|
|
|
|
\begin{equation}\label{eq:ustation_inverse_homogeneous_transformation}
|
|
{}^B\bm{T}_A = {}^A\bm{T}_B^{-1} =
|
|
\left[ \begin{array}{ccc|c}
|
|
& & & \\
|
|
& {}^A\bm{R}_B^T & & -{}^A \bm{R}_B^T {}^AP_{O_B} \\
|
|
& & & \cr
|
|
\hline
|
|
0 & 0 & 0 & 1 \\
|
|
\end{array} \right]
|
|
\end{equation}
|
|
|
|
\section{Micro-Station Kinematics}
|
|
\label{ssec:ustation_kinematics}
|
|
|
|
Each stage is described by two frames; one is attached to the fixed platform \(\{A\}\) while the other is fixed to the mobile platform \(\{B\}\).
|
|
At ``rest'' position, the two have the same pose and coincide with the point of interest (\(O_A = O_B\)).
|
|
An example of the tilt stage is shown in Figure \ref{fig:ustation_stage_motion}.
|
|
The mobile frame of the translation stage is equal to the fixed frame of the tilt stage: \(\{B_{D_y}\} = \{A_{R_y}\}\).
|
|
Similarly, the mobile frame of the tilt stage is equal to the fixed frame of the spindle: \(\{B_{R_y}\} = \{A_{R_z}\}\).
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/ustation_stage_motion.png}
|
|
\caption{\label{fig:ustation_stage_motion}Example of the motion induced by the tilt-stage \(R_y\). ``Rest'' position in shown in blue while a arbitrary position in shown in red. Parasitic motions are here magnified for clarity.}
|
|
\end{figure}
|
|
|
|
The motion induced by a positioning stage can be described by a homogeneous transformation matrix from frame \(\{A\}\) to frame \(\{B\}\) as explain in Section \ref{ssec:ustation_kinematics}.
|
|
As any motion stage induces parasitic motion in all 6 DoF, the transformation matrix representing its induced motion can be written as in \eqref{eq:ustation_translation_stage_errors}.
|
|
|
|
\begin{equation}\label{eq:ustation_translation_stage_errors}
|
|
{}^A\bm{T}_B(D_x, D_y, D_z, \theta_x, \theta_y, \theta_z) =
|
|
\left[ \begin{array}{ccc|c}
|
|
& & & D_x \\
|
|
& \bm{R}_x(\theta_x) \bm{R}_y(\theta_y) \bm{R}_z(\theta_z) & & D_y \\
|
|
& & & D_z \cr
|
|
\hline
|
|
0 & 0 & 0 & 1
|
|
\end{array} \right]
|
|
\end{equation}
|
|
|
|
The homogeneous transformation matrix corresponding to the micro-station \(\bm{T}_{\mu\text{-station}}\) is simply equal to the matrix multiplication of the homogeneous transformation matrices of the individual stages as shown in Equation \eqref{eq:ustation_transformation_station}.
|
|
|
|
\begin{equation}\label{eq:ustation_transformation_station}
|
|
\bm{T}_{\mu\text{-station}} = \bm{T}_{D_y} \cdot \bm{T}_{R_y} \cdot \bm{T}_{R_z} \cdot \bm{T}_{\mu\text{-hexapod}}
|
|
\end{equation}
|
|
|
|
\(\bm{T}_{\mu\text{-station}}\) represents the pose of the sample (supposed to be rigidly fixed on top of the positioning-hexapod) with respect to the granite.
|
|
|
|
If the transformation matrices of the individual stages are each representing a perfect motion (i.e. the stages are supposed to have no parasitic motion), \(\bm{T}_{\mu\text{-station}}\) then represent the pose setpoint of the sample with respect to the granite.
|
|
The transformation matrices for the translation stage, tilt stage, spindle, and positioning hexapod can be written as shown in Equation \eqref{eq:ustation_transformation_matrices_stages}.
|
|
|
|
\begin{equation}\label{eq:ustation_transformation_matrices_stages}
|
|
\begin{align}
|
|
\bm{T}_{D_y} &= \begin{bmatrix}
|
|
1 & 0 & 0 & 0 \\
|
|
0 & 1 & 0 & D_y \\
|
|
0 & 0 & 1 & 0 \\
|
|
0 & 0 & 0 & 1
|
|
\end{bmatrix} \quad
|
|
\bm{T}_{\mu\text{-hexapod}} =
|
|
\left[ \begin{array}{ccc|c}
|
|
& & & D_{\mu x} \\
|
|
& \bm{R}_x(\theta_{\mu x}) \bm{R}_y(\theta_{\mu y}) \bm{R}_{z}(\theta_{\mu z}) & & D_{\mu y} \\
|
|
& & & D_{\mu z} \cr
|
|
\hline
|
|
0 & 0 & 0 & 1
|
|
\end{array} \right] \\
|
|
\bm{T}_{R_z} &= \begin{bmatrix}
|
|
\cos(\theta_z) & -\sin(\theta_z) & 0 & 0 \\
|
|
\sin(\theta_z) & \cos(\theta_z) & 0 & 0 \\
|
|
0 & 0 & 1 & 0 \\
|
|
0 & 0 & 0 & 1
|
|
\end{bmatrix} \quad
|
|
\bm{T}_{R_y} = \begin{bmatrix}
|
|
\cos(\theta_y) & 0 & \sin(\theta_y) & 0 \\
|
|
0 & 1 & 0 & 0 \\
|
|
-\sin(\theta_y) & 0 & \cos(\theta_y) & 0 \\
|
|
0 & 0 & 0 & 1
|
|
\end{bmatrix}
|
|
\end{align}
|
|
\end{equation}
|
|
|
|
\chapter{Micro-Station Dynamics}
|
|
\label{sec:ustation_modeling}
|
|
In this section, the multi-body model of the micro-station is presented.
|
|
Such model consists of several rigid bodies connected by springs and dampers.
|
|
The inertia of the solid bodies and the stiffness properties of the guiding mechanisms were first estimated based on the CAD model and data-sheets (Section \ref{ssec:ustation_model_simscape}).
|
|
|
|
The obtained dynamics is then compared with the modal analysis performed on the micro-station (Section \ref{ssec:ustation_model_comp_dynamics}).
|
|
|
|
As the dynamics of the nano-hexapod is impacted by the micro-station compliance, the most important dynamical characteristic that should be well modeled is the overall compliance of the micro-station.
|
|
To do so, the 6-DoF compliance of the micro-station is measured and then compared with the 6-DoF compliance extracted from the multi-body model (Section \ref{ssec:ustation_model_compliance}).
|
|
\section{Multi-Body Model}
|
|
\label{ssec:ustation_model_simscape}
|
|
|
|
By performing a modal analysis of the micro-station, it was verified that in the frequency range of interest, each stage behaved as a rigid body.
|
|
This confirms that a multi-body model can be used to properly model the micro-station.
|
|
|
|
A multi-body model consists of several solid bodies connected by joints.
|
|
Each solid body can be represented by its inertia properties (most of the time computed automatically from the 3D model and material density).
|
|
Joints are used to impose kinematic constraints between solid bodies and to specify dynamical properties (i.e. spring stiffness and damping coefficient).
|
|
External forces can be used to model disturbances, and ``sensors'' can be used to measure the relative pose between two defined frames.
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/ustation_simscape_stage_example.png}
|
|
\caption{\label{fig:ustation_simscape_stage_example}Example of a stage (here the tilt-stage) represented in the multi-body model software (Simscape). It is composed of two solid bodies connected by a 6-DoF joint. One joint DoF (here the tilt angle) can be imposed, the other DoFs are represented by springs and dampers. Additional disturbances forces for all DoF can be included}
|
|
\end{figure}
|
|
|
|
Therefore, the micro-station is modeled by several solid bodies connected by joints.
|
|
A typical stage (here the tilt-stage) is modeled as shown in Figure \ref{fig:ustation_simscape_stage_example} where two solid bodies (the fixed part and the mobile part) are connected by a 6-DoF joint.
|
|
One DoF of the 6-DoF joint is ``imposed'' by a setpoint (i.e. modeled as infinitely stiff), while the other 5 are each modeled by a spring and damper.
|
|
Additional forces can be used to model disturbances induced by the stage motion.
|
|
The obtained 3D representation of the multi-body model is shown in Figure \ref{fig:ustation_simscape_model}.
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1,width=0.8\linewidth]{figs/ustation_simscape_model.jpg}
|
|
\caption{\label{fig:ustation_simscape_model}3D view of the micro-station multi-body model}
|
|
\end{figure}
|
|
|
|
The ground is modeled by a solid body connected to the ``world frame'' through a joint only allowing 3 translations.
|
|
The granite was then connected to the ground using a 6-DoF joint.
|
|
The translation stage is connected to the granite by a 6-DoF joint, but the \(D_y\) motion is imposed.
|
|
Similarly, the tilt-stage and the spindle are connected to the stage below using a 6-DoF joint, with 1 imposed DoF each time.
|
|
Finally, the positioning hexapod has 6-DoF.
|
|
|
|
The total number of ``free'' degrees of freedom is 27, so the model has 54 states.
|
|
The springs and dampers values were first estimated from the joint/stage specifications and were later fined-tuned based on the measurements.
|
|
The spring values are summarized in Table \ref{tab:ustation_6dof_stiffness_values}.
|
|
|
|
\begin{table}[htbp]
|
|
\centering
|
|
\begin{tabularx}{\linewidth}{Xcccccc}
|
|
\toprule
|
|
\textbf{Stage} & \(D_x\) & \(D_y\) & \(D_z\) & \(R_x\) & \(R_y\) & \(R_z\)\\
|
|
\midrule
|
|
Granite & \(5\,kN/\mu m\) & \(5\,kN/\mu m\) & \(5\,kN/\mu m\) & \(25\,Nm/\mu\text{rad}\) & \(25\,Nm/\mu\text{rad}\) & \(10\,Nm/\mu\text{rad}\)\\
|
|
Translation & \(200\,N/\mu m\) & - & \(200\,N/\mu m\) & \(60\,Nm/\mu\text{rad}\) & \(90\,Nm/\mu\text{rad}\) & \(60\,Nm/\mu\text{rad}\)\\
|
|
Tilt & \(380\,N/\mu m\) & \(400\,N/\mu m\) & \(380\,N/\mu m\) & \(120\,Nm/\mu\text{rad}\) & - & \(120\,Nm/\mu\text{rad}\)\\
|
|
Spindle & \(700\,N/\mu m\) & \(700\,N/\mu m\) & \(2\,kN/\mu m\) & \(10\,Nm/\mu\text{rad}\) & \(10\,Nm/\mu\text{rad}\) & -\\
|
|
Hexapod & \(10\,N/\mu m\) & \(10\,N/\mu m\) & \(100\,N/\mu m\) & \(1.5\,Nm/rad\) & \(1.5\,Nm/rad\) & \(0.27\,Nm/rad\)\\
|
|
\bottomrule
|
|
\end{tabularx}
|
|
\caption{\label{tab:ustation_6dof_stiffness_values}Summary of the stage stiffnesses. The contrained degrees-of-freedom are indicated by ``-''. The frames in which the 6-DoF joints are defined are indicated in figures found in Section \ref{ssec:ustation_stages}}
|
|
|
|
\end{table}
|
|
|
|
\section{Comparison with the measured dynamics}
|
|
\label{ssec:ustation_model_comp_dynamics}
|
|
|
|
The dynamics of the micro-station was measured by placing accelerometers on each stage and by impacting the translation stage with an instrumented hammer in three directions.
|
|
The obtained FRFs were then projected at the CoM of each stage.
|
|
|
|
To gain a first insight into the accuracy of the obtained model, the FRFs from the hammer impacts to the acceleration of each stage were extracted from the multi-body model and compared with the measurements in Figure \ref{fig:ustation_comp_com_response}.
|
|
|
|
Even though there is some similarity between the model and the measurements (similar overall shapes and amplitudes), it is clear that the multi-body model does not accurately represent the complex micro-station dynamics.
|
|
Tuning the numerous model parameters to better match the measurements is a highly non-linear optimization problem that is difficult to solve in practice.
|
|
|
|
\begin{figure}[htbp]
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_comp_com_response_rz_x.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_comp_com_response_rz_x}Spindle, $x$ response}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_comp_com_response_hexa_y.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_comp_com_response_hexa_y}Hexapod, $y$ response}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_comp_com_response_ry_z.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_comp_com_response_ry_z}Tilt, $z$ response}
|
|
\end{subfigure}
|
|
\caption{\label{fig:ustation_comp_com_response}FRFs between the hammer impacts on the translation stage and the measured stage acceleration expressed at its CoM. Comparison of the measured and extracted FRFs from the multi-body model. Different directions are computed for different stages.}
|
|
\end{figure}
|
|
|
|
\section{Micro-station compliance}
|
|
\label{ssec:ustation_model_compliance}
|
|
|
|
As discussed in the previous section, the dynamics of the micro-station is complex, and tuning the multi-body model parameters to obtain a perfect match is difficult.
|
|
|
|
When considering the NASS, the most important dynamical characteristics of the micro-station is its compliance, as it can affect the plant dynamics.
|
|
Therefore, the adopted strategy is to accurately model the micro-station compliance.
|
|
|
|
The micro-station compliance was experimentally measured using the setup illustrated in Figure \ref{fig:ustation_compliance_meas}.
|
|
Four 3-axis accelerometers were fixed to the micro-hexapod top platform.
|
|
The micro-hexapod top platform was impacted at 10 different points.
|
|
For each impact position, 10 impacts were performed to average and improve the data quality.
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/ustation_compliance_meas.png}
|
|
\caption{\label{fig:ustation_compliance_meas}Schematic of the measurement setup used to estimate the compliance of the micro-station. The top platform of the positioning hexapod is shown with four 3-axis accelerometers (shown in red) are on top. 10 hammer impacts are performed at different locations (shown in blue).}
|
|
\end{figure}
|
|
|
|
To convert the 12 acceleration signals \(a_{\mathcal{L}} = [a_{1x}\ a_{1y}\ a_{1z}\ a_{2x}\ \dots\ a_{4z}]\) to the acceleration expressed in the frame \(\{\mathcal{X}\}\) \(a_{\mathcal{X}} = [a_{dx}\ a_{dy}\ a_{dz}\ a_{rx}\ a_{ry}\ a_{rz}]\), a Jacobian matrix \(\bm{J}_a\) is written based on the positions and orientations of the accelerometers \eqref{eq:ustation_compliance_acc_jacobian}.
|
|
|
|
\begin{equation}\label{eq:ustation_compliance_acc_jacobian}
|
|
\bm{J}_a = \begin{bmatrix}
|
|
1 & 0 & 0 & 0 & 0 &-d \\
|
|
0 & 1 & 0 & 0 & 0 & 0 \\
|
|
0 & 0 & 1 & d & 0 & 0 \\
|
|
1 & 0 & 0 & 0 & 0 & 0 \\
|
|
0 & 1 & 0 & 0 & 0 &-d \\
|
|
0 & 0 & 1 & 0 & d & 0 \\
|
|
1 & 0 & 0 & 0 & 0 & d \\
|
|
0 & 1 & 0 & 0 & 0 & 0 \\
|
|
0 & 0 & 1 &-d & 0 & 0 \\
|
|
1 & 0 & 0 & 0 & 0 & 0 \\
|
|
0 & 1 & 0 & 0 & 0 & d \\
|
|
0 & 0 & 1 & 0 &-d & 0
|
|
\end{bmatrix}
|
|
\end{equation}
|
|
|
|
Then, the acceleration in the cartesian frame can be computed using \eqref{eq:ustation_compute_cart_acc}.
|
|
|
|
\begin{equation}\label{eq:ustation_compute_cart_acc}
|
|
a_{\mathcal{X}} = \bm{J}_a^\dagger \cdot a_{\mathcal{L}}
|
|
\end{equation}
|
|
|
|
Similar to what is done for the accelerometers, a Jacobian matrix \(\bm{J}_F\) is computed \eqref{eq:ustation_compliance_force_jacobian} and used to convert the individual hammer forces \(F_{\mathcal{L}}\) to force and torques \(F_{\mathcal{X}}\) applied at the center of the micro-hexapod top plate (defined by frame \(\{\mathcal{X}\}\) in Figure \ref{fig:ustation_compliance_meas}).
|
|
|
|
\begin{equation}\label{eq:ustation_compliance_force_jacobian}
|
|
\bm{J}_F = \begin{bmatrix}
|
|
0 & -1 & 0 & 0 & 0 & 0\\
|
|
0 & 0 & -1 & -d & 0 & 0\\
|
|
1 & 0 & 0 & 0 & 0 & 0\\
|
|
0 & 0 & -1 & 0 & -d & 0\\
|
|
0 & 1 & 0 & 0 & 0 & 0\\
|
|
0 & 0 & -1 & d & 0 & 0\\
|
|
-1 & 0 & 0 & 0 & 0 & 0\\
|
|
0 & 0 & -1 & 0 & d & 0\\
|
|
-1 & 0 & 0 & 0 & 0 & -d\\
|
|
-1 & 0 & 0 & 0 & 0 & d
|
|
\end{bmatrix}
|
|
\end{equation}
|
|
|
|
The equivalent forces and torques applied at center of \(\{\mathcal{X}\}\) are then computed using \eqref{eq:ustation_compute_cart_force}.
|
|
|
|
\begin{equation}\label{eq:ustation_compute_cart_force}
|
|
F_{\mathcal{X}} = \bm{J}_F^t \cdot F_{\mathcal{L}}
|
|
\end{equation}
|
|
|
|
Using the two Jacobian matrices, the FRF from the 10 hammer impacts to the 12 accelerometer outputs can be converted to the FRF from 6 forces/torques applied at the origin of frame \(\{\mathcal{X}\}\) to the 6 linear/angular accelerations of the top platform expressed with respect to \(\{\mathcal{X}\}\).
|
|
These FRFs were then used for comparison with the multi-body model.
|
|
|
|
The compliance of the micro-station multi-body model was extracted by computing the transfer function from forces/torques applied on the hexapod's top platform to the ``absolute'' motion of the top platform.
|
|
These results are compared with the measurements in Figure \ref{fig:ustation_frf_compliance_model}.
|
|
Considering the complexity of the micro-station compliance dynamics, the model compliance matches sufficiently well for the current application.
|
|
|
|
\begin{figure}[htbp]
|
|
\begin{subfigure}{0.49\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.95\linewidth]{figs/ustation_frf_compliance_xyz_model.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_frf_compliance_xyz_model}Compliance in translation}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.49\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.95\linewidth]{figs/ustation_frf_compliance_Rxyz_model.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_frf_compliance_Rxyz_model}Compliance in rotation}
|
|
\end{subfigure}
|
|
\caption{\label{fig:ustation_frf_compliance_model}Compliance of the micro-station expressed in frame \(\{\mathcal{X}\}\). The measured FRFs are display by solid lines, while the FRFs extracted from the multi-body models are shown by dashed lines. Both translation terms (\subref{fig:ustation_frf_compliance_xyz_model}) and rotational terms (\subref{fig:ustation_frf_compliance_Rxyz_model}) are displayed.}
|
|
\end{figure}
|
|
|
|
\chapter{Estimation of Disturbances}
|
|
\label{sec:ustation_disturbances}
|
|
The goal of this section is to obtain a realistic representation of disturbances affecting the micro-station.
|
|
These disturbance sources are then used during time domain simulations to accurately model the micro-station behavior.
|
|
The focus on stochastic disturbances because, in principle, it is possible to calibrate the repeatable part of disturbances.
|
|
Such disturbances include ground motions and vibrations induces by scanning the translation stage and the spindle.
|
|
|
|
In the multi-body model, stage vibrations are modeled as internal forces applied in the stage joint.
|
|
In practice, disturbance forces cannot be directly measured.
|
|
Instead, the vibrations of the micro-station's top platform induced by the disturbances were measured (Section \ref{ssec:ustation_disturbances_meas}).
|
|
|
|
To estimate the equivalent disturbance force that induces such vibration, the transfer functions from disturbance sources (i.e. forces applied in the stages' joint) to the displacements of the micro-station's top platform with respect to the granite are extracted from the multi-body model (Section \ref{ssec:ustation_disturbances_sensitivity}).
|
|
Finally, the obtained disturbance sources are compared in Section \ref{ssec:ustation_disturbances_results}.
|
|
\section{Disturbance measurements}
|
|
\label{ssec:ustation_disturbances_meas}
|
|
In this section, ground motion is directly measured using geophones.
|
|
Vibrations induced by scanning the translation stage and the spindle are also measured using dedicated setups.
|
|
|
|
The tilt stage and the micro-hexapod also have positioning errors; however, they are not modeled here because these two stages are only used for pre-positioning and not for scanning.
|
|
Therefore, from a control perspective, they are not important.
|
|
\paragraph{Ground Motion}
|
|
|
|
The ground motion was measured by using a sensitive 3-axis geophone\footnote{A 3-Axis L4C geophone manufactured Sercel was used.} placed on the ground.
|
|
The generated voltages were recorded with a high resolution DAC, and converted to displacement using the Geophone sensitivity transfer function.
|
|
The obtained ground motion displacement is shown in Figure \ref{fig:ustation_ground_disturbance}.
|
|
|
|
\begin{minipage}[b]{0.54\linewidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,scale=1]{figs/ustation_ground_disturbance.png}
|
|
\captionof{figure}{\label{fig:ustation_ground_disturbance}Measured ground motion}
|
|
\end{center}
|
|
\end{minipage}
|
|
\hfill
|
|
\begin{minipage}[b]{0.44\linewidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.92\linewidth]{figs/ustation_geophone_picture.jpg}
|
|
\captionof{figure}{\label{fig:ustation_geophone_picture}(3D) L-4C geophone}
|
|
\end{center}
|
|
\end{minipage}
|
|
|
|
\paragraph{Ty Stage}
|
|
|
|
To measure the positioning errors of the translation stage, the setup shown in Figure \ref{fig:ustation_errors_ty_setup} is used.
|
|
A special optical element (called a ``straightness interferometer''\footnote{The special optics (straightness interferometer and reflector) are manufactured by Agilent (10774A).}) is fixed on top of the micro-station, while a laser source\footnote{Laser source is manufactured by Agilent (5519b).} and a straightness reflector are fixed on the ground.
|
|
A similar setup was used to measure the horizontal deviation (i.e. in the \(x\) direction), as well as the pitch and yaw errors of the translation stage.
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/ustation_errors_ty_setup.png}
|
|
\caption{\label{fig:ustation_errors_ty_setup}Experimental setup to measure the flatness (vertical deviation) of the translation stage}
|
|
\end{figure}
|
|
|
|
Six scans were performed between \(-4.5\,mm\) and \(4.5\,mm\).
|
|
The results for each individual scan are shown in Figure \ref{fig:ustation_errors_dy_vertical}.
|
|
The measurement axis may not be perfectly aligned with the translation stage axis; this, a linear fit is removed from the measurement.
|
|
The remaining vertical displacement is shown in Figure \ref{fig:ustation_errors_dy_vertical_remove_mean}.
|
|
A vertical error of \(\pm300\,nm\) induced by the translation stage is expected.
|
|
Similar result is obtained for the \(x\) lateral direction.
|
|
|
|
\begin{figure}[htbp]
|
|
\begin{subfigure}{0.49\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.95\linewidth]{figs/ustation_errors_dy_vertical.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_errors_dy_vertical}Measured vertical error}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.49\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.95\linewidth]{figs/ustation_errors_dy_vertical_remove_mean.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_errors_dy_vertical_remove_mean}Error after removing linear fit}
|
|
\end{subfigure}
|
|
\caption{\label{fig:ustation_errors_dy}Measurement of the linear (vertical) deviation of the Translation stage (\subref{fig:ustation_errors_dy_vertical}). A linear fit is then removed from the data (\subref{fig:ustation_errors_dy_vertical_remove_mean}).}
|
|
\end{figure}
|
|
|
|
\paragraph{Spindle}
|
|
|
|
To measure the positioning errors induced by the Spindle, a ``Spindle error analyzer''\footnote{The Spindle Error Analyzer is made by Lion Precision.} is used as shown in Figure \ref{fig:ustation_rz_meas_lion_setup}.
|
|
A specific target is fixed on top of the micro-station, which consists of two sphere with 1 inch diameter precisely aligned with the spindle rotation axis.
|
|
Five capacitive sensors\footnote{C8 capacitive sensors and CPL290 capacitive driver electronics from Lion Precision.} are pointing at the two spheres, as shown in Figure \ref{fig:ustation_rz_meas_lion_zoom}.
|
|
From the 5 measured displacements \([d_1,\,d_2,\,d_3,\,d_4,\,d_5]\), the translations and rotations \([D_x,\,D_y,\,D_z,\,R_x,\,R_y]\) of the target can be estimated.
|
|
|
|
\begin{figure}[htbp]
|
|
\begin{subfigure}{0.49\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_rz_meas_lion.jpg}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_rz_meas_lion}Micro-station and 5-DoF metrology}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.49\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_rz_meas_lion_zoom.jpg}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_rz_meas_lion_zoom}Zoom on the metrology system}
|
|
\end{subfigure}
|
|
\caption{\label{fig:ustation_rz_meas_lion_setup}Experimental setup used to estimate the errors induced by the Spindle rotation (\subref{fig:ustation_rz_meas_lion}). The motion of the two reference spheres is measured using 5 capacitive sensors (\subref{fig:ustation_rz_meas_lion_zoom})}
|
|
\end{figure}
|
|
|
|
A measurement was performed during a constant rotational velocity of the spindle of 60rpm and during 10 turns.
|
|
The obtained results are shown in Figure \ref{fig:ustation_errors_spindle}.
|
|
A large fraction of the radial (Figure \ref{fig:ustation_errors_spindle_radial}) and tilt (Figure \ref{fig:ustation_errors_spindle_tilt}) errors is linked to the fact that the two spheres are not perfectly aligned with the rotation axis of the Spindle.
|
|
This is displayed by the dashed circle.
|
|
After removing the best circular fit from the data, the vibrations induced by the Spindle may be viewed as stochastic disturbances.
|
|
However, some misalignment between the ``point-of-interest'' of the sample and the rotation axis will be considered because the alignment is not perfect in practice.
|
|
The vertical motion induced by scanning the spindle is in the order of \(\pm 30\,nm\) (Figure \ref{fig:ustation_errors_spindle_axial}).
|
|
|
|
\begin{figure}[htbp]
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_errors_spindle_radial.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_errors_spindle_radial}Radial errors}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_errors_spindle_axial.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_errors_spindle_axial}Axial error}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_errors_spindle_tilt.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_errors_spindle_tilt}Tilt errors}
|
|
\end{subfigure}
|
|
\caption{\label{fig:ustation_errors_spindle}Measurement of the radial (\subref{fig:ustation_errors_spindle_radial}), axial (\subref{fig:ustation_errors_spindle_axial}) and tilt (\subref{fig:ustation_errors_spindle_tilt}) Spindle errors during a 60rpm spindle rotation. The circular best fit is shown by the dashed circle. It represents the misalignment of the spheres with the rotation axis.}
|
|
\end{figure}
|
|
|
|
\section{Sensitivity to disturbances}
|
|
\label{ssec:ustation_disturbances_sensitivity}
|
|
|
|
To compute the disturbance source (i.e. forces) that induced the measured vibrations in Section \ref{ssec:ustation_disturbances_meas}, the transfer function from the disturbance sources to the stage vibration (i.e. the ``sensitivity to disturbances'') needs to be estimated.
|
|
This is achieved using the multi-body model presented in Section \ref{sec:ustation_modeling}.
|
|
The obtained transfer functions are shown in Figure \ref{fig:ustation_model_sensitivity}.
|
|
|
|
\begin{figure}[htbp]
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_model_sensitivity_ground_motion.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_model_sensitivity_ground_motion}Ground motion}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_model_sensitivity_ty.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_model_sensitivity_ty}Translation stage}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_model_sensitivity_rz.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_model_sensitivity_rz}Spindle}
|
|
\end{subfigure}
|
|
\caption{\label{fig:ustation_model_sensitivity}Extracted transfer functions from disturbances to relative motion between the micro-station's top platform and the granite. The considered disturbances are the ground motion (\subref{fig:ustation_model_sensitivity_ground_motion}), the translation stage vibrations (\subref{fig:ustation_model_sensitivity_ty}), and the spindle vibrations (\subref{fig:ustation_model_sensitivity_rz}).}
|
|
\end{figure}
|
|
|
|
\section{Obtained disturbance sources}
|
|
\label{ssec:ustation_disturbances_results}
|
|
|
|
From the measured effect of disturbances in Section \ref{ssec:ustation_disturbances_meas} and the sensitivity to disturbances extracted from the multi-body model in Section \ref{ssec:ustation_disturbances_sensitivity}, the power spectral density of the disturbance sources (i.e. forces applied in the stage's joint) can be estimated.
|
|
The obtained power spectral density of the disturbances are shown in Figure \ref{fig:ustation_dist_sources}.
|
|
|
|
\begin{figure}[htbp]
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_dist_source_ground_motion.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_dist_source_ground_motion}Ground Motion}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_dist_source_translation_stage.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_dist_source_translation_stage}Translation Stage}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_dist_source_spindle.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_dist_source_spindle}Spindle}
|
|
\end{subfigure}
|
|
\caption{\label{fig:ustation_dist_sources}Measured spectral density of the micro-station disturbance sources. Ground motion (\subref{fig:ustation_dist_source_ground_motion}), translation stage (\subref{fig:ustation_dist_source_translation_stage}) and spindle (\subref{fig:ustation_dist_source_spindle}).}
|
|
\end{figure}
|
|
|
|
The disturbances are characterized by their power spectral densities, as shown in Figure \ref{fig:ustation_dist_sources}.
|
|
However, to perform time domain simulations, disturbances must be represented by a time domain signal.
|
|
To generate stochastic time-domain signals with a specific power spectral densities, the discrete inverse Fourier transform is used, as explained in \cite[chap. 12.11]{preumont94_random_vibrat_spect_analy}.
|
|
Examples of the obtained time-domain disturbance signals are shown in Figure \ref{fig:ustation_dist_sources_time}.
|
|
|
|
\begin{figure}[htbp]
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_dist_source_ground_motion_time.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_dist_source_ground_motion_time}Ground Motion}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_dist_source_translation_stage_time.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_dist_source_translation_stage_time}Translation Stage}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.33\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_dist_source_spindle_time.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_dist_source_spindle_time}Spindle}
|
|
\end{subfigure}
|
|
\caption{\label{fig:ustation_dist_sources_time}Generated time domain disturbance signals. Ground motion (\subref{fig:ustation_dist_source_ground_motion_time}), translation stage (\subref{fig:ustation_dist_source_translation_stage_time}) and spindle (\subref{fig:ustation_dist_source_spindle_time}).}
|
|
\end{figure}
|
|
|
|
\chapter{Simulation of Scientific Experiments}
|
|
\label{sec:ustation_experiments}
|
|
To fully validate the micro-station multi-body model, two time-domain simulations corresponding to typical use cases were performed.
|
|
|
|
First, a tomography experiment (i.e. a constant Spindle rotation) was performed and was compared with experimental measurements (Section \ref{sec:ustation_experiments_tomography}).
|
|
Second, a constant velocity scans with the translation stage was performed and also compared with the experimental data (Section \ref{sec:ustation_experiments_ty_scans}).
|
|
\section{Tomography Experiment}
|
|
\label{sec:ustation_experiments_tomography}
|
|
|
|
To simulate a tomography experiment, the setpoint of the Spindle is configured to perform a constant rotation with a rotational velocity of 60rpm.
|
|
Both ground motion and spindle vibration disturbances were simulated based on what was computed in Section \ref{sec:ustation_disturbances}.
|
|
A radial offset of \(\approx 1\,\mu m\) between the ``point-of-interest'' and the spindle's rotation axis is introduced to represent what is experimentally observed.
|
|
During the 10 second simulation (i.e. 10 spindle turns), the position of the ``point-of-interest'' with respect to the granite was recorded.
|
|
Results are shown in Figure \ref{fig:ustation_errors_model_spindle}.
|
|
A good correlation with the measurements is observed both for radial errors (Figure \ref{fig:ustation_errors_model_spindle_radial}) and axial errors (Figure \ref{fig:ustation_errors_model_spindle_axial}).
|
|
|
|
\begin{figure}[htbp]
|
|
\begin{subfigure}{0.49\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,scale=1]{figs/ustation_errors_model_spindle_radial.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_errors_model_spindle_radial}Radial error}
|
|
\end{subfigure}
|
|
\begin{subfigure}{0.49\textwidth}
|
|
\begin{center}
|
|
\includegraphics[scale=1,scale=1]{figs/ustation_errors_model_spindle_axial.png}
|
|
\end{center}
|
|
\subcaption{\label{fig:ustation_errors_model_spindle_axial}Axial error}
|
|
\end{subfigure}
|
|
\caption{\label{fig:ustation_errors_model_spindle}Simulation results for a tomography experiment at constant velocity of 60rpm. The comparison is made with measurements for both radial (\subref{fig:ustation_errors_model_spindle_radial}) and axial errors (\subref{fig:ustation_errors_model_spindle_axial}).}
|
|
\end{figure}
|
|
|
|
\section{Raster Scans with the translation stage}
|
|
\label{sec:ustation_experiments_ty_scans}
|
|
|
|
A second experiment was performed in which the translation stage was scanned at constant velocity.
|
|
The translation stage setpoint is configured to have a ``triangular'' shape with stroke of \(\pm 4.5\, mm\).
|
|
Both ground motion and translation stage vibrations were included in the simulation.
|
|
Similar to what was performed for the tomography simulation, the PoI position with respect to the granite was recorded and compared with the experimental measurements in Figure \ref{fig:ustation_errors_model_dy_vertical}.
|
|
A similar error amplitude was observed, thus indicating that the multi-body model with the included disturbances accurately represented the micro-station behavior in typical scientific experiments.
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/ustation_errors_model_dy_vertical.png}
|
|
\caption{\label{fig:ustation_errors_model_dy_vertical}Vertical errors during a constant-velocity scan of the translation stage. Comparison of the measurements and simulated errors.}
|
|
\end{figure}
|
|
|
|
\chapter*{Conclusion}
|
|
\label{sec:uniaxial_conclusion}
|
|
|
|
In this study, a multi-body model of the micro-station was developed.
|
|
It was difficult to match the measured dynamics obtained from the modal analysis of the micro-station.
|
|
However, the most important dynamical characteristic to be modeled is the compliance, as it affects the dynamics of the NASS.
|
|
After tuning the model parameters, a good match with the measured compliance was obtained (Figure \ref{fig:ustation_frf_compliance_model}).
|
|
|
|
The disturbances affecting the sample position should also be well modeled.
|
|
After experimentally estimating the disturbances (Section \ref{sec:ustation_disturbances}), the multi-body model was finally validated by performing a tomography simulation (Figure \ref{fig:ustation_errors_model_spindle}) as well as a simulation in which the translation stage was scanned (Figure \ref{fig:ustation_errors_model_dy_vertical}).
|
|
|
|
\printbibliography[heading=bibintoc,title={Bibliography}]
|
|
\end{document}
|