Grammar check
This commit is contained in:
parent
327ff6e29b
commit
4557614037
@ -97,9 +97,9 @@ Prefix is =ustation=
|
||||
From modal analysis: validation of the multi-body model.
|
||||
|
||||
*Goals*:
|
||||
- *Modelling of the micro-station*: Kinematics + Dynamics + Disturbances
|
||||
- *Modeling of the micro-station*: Kinematics + Dynamics + Disturbances
|
||||
- Kinematics of each stage
|
||||
- Modelling: solid bodies + joints. Show what is used for each stage
|
||||
- Modeling: solid bodies + joints. Show what is used for each stage
|
||||
- Correlation with the dynamical measurements
|
||||
- Inclusion of disturbances (correlation with measurements)
|
||||
|
||||
@ -306,7 +306,7 @@ Be able to pass custom =.mat= files (one mat file per disturbance)?
|
||||
- [ ] Ty stage, X and Z
|
||||
- [ ] Rz stage, X, Y and Z
|
||||
- Maybe say that we remove the excentricity (by circle fit: show it in the figure)
|
||||
- Then the rest is modelled by stochastic disturbance
|
||||
- Then the rest is modeled by stochastic disturbance
|
||||
|
||||
** DONE [#C] Add picture of measured ground motion
|
||||
CLOSED: [2024-11-06 Wed 16:29]
|
||||
@ -882,23 +882,23 @@ xlim([2, 500]);
|
||||
|
||||
* Introduction :ignore:
|
||||
|
||||
From the start of this work, it became increasingly clear that an accurate model of the micro-station was necessary.
|
||||
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 apparent 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 affects the system dynamics, and that it should therefore be modelled.
|
||||
Finally, performing a modal analysis of the micro-station showed how complex the dynamics of the station is.
|
||||
It also confirmed that each stage behaves as a rigid body in the frequency range of interest.
|
||||
Therefore a multi-body model seems a good candidate to accurately represent the micro-station dynamics.
|
||||
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 multi-body model is presented.
|
||||
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 modelled properly.
|
||||
To do so, the effect of these disturbances are first measured experimental and then injected in the multi-body model (Section ref:sec:ustation_disturbances).
|
||||
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.
|
||||
|
||||
@ -922,18 +922,19 @@ To validate the accuracy of the micro-station model, "real world" experiments ar
|
||||
|
||||
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 stacked architecture allows high mobility, but the overall stiffness is reduced and the dynamics is very complex. complex dynamics.
|
||||
Such a stacked architecture allows high mobility, but the overall stiffness is reduced, and the dynamics is very complex. complex dynamics.
|
||||
|
||||
#+name: fig:ustation_cad_view
|
||||
#+caption: CAD view of the micro-station with the translation stage (in blue), the tilt stage (in red), the rotation stage (in yellow) and the positioning hexapod (in purple). On top of these four stages, a solid part (shown in green) will be replaced by the stabilization stage.
|
||||
#+caption: 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.
|
||||
#+attr_latex: :width \linewidth
|
||||
[[file:figs/ustation_cad_view.png]]
|
||||
|
||||
There are different ways of modelling the stage dynamics in a multi-body model.
|
||||
The one chosen in this work consists of modelling each stage by two solid bodies connected by one 6-DoF joint.
|
||||
The stiffness and damping properties of the joint can be tuned separately for each DoF.
|
||||
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 modelled 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.
|
||||
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.
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab
|
||||
@ -971,21 +972,21 @@ The "controlled" DoF of each stage (for instance the $D_y$ direction for the tra
|
||||
|
||||
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 be able to perform 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, probably caused by rust of the linear guides along its stroke.
|
||||
An optical linear encoder is used to measure the stage motion and for PID control of the position.
|
||||
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[fn:12].
|
||||
An optical linear encoder is used to measure the stage motion and for controlling the position.
|
||||
|
||||
Four cylindrical bearings[fn:4] are used to guide the motion (i.e. minimize the parasitic motions) and have high stiffness.
|
||||
|
||||
**** Tilt Stage
|
||||
|
||||
The tilt stage is guided by four linear motion guides[fn:1] which are placed such that the center of rotation coincide with the X-ray beam.
|
||||
Each linear guide has high stiffness in radial directions such that the only DoF with low stiffness is in $R_y$.
|
||||
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 for /reflectivity/ experiments where the sample $R_y$ angle is scanned.
|
||||
This stage is mainly used in /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 as well as two optical encoders are used in a PID feedback loop.
|
||||
To precisely control the $R_y$ angle, a stepper motor and two optical encoders are used in a PID feedback loop.
|
||||
|
||||
#+attr_latex: :options [b]{0.48\linewidth}
|
||||
#+begin_minipage
|
||||
@ -1008,14 +1009,14 @@ To precisely control the $R_y$ angle, a stepper motor as well as two optical enc
|
||||
Then, a rotation stage is used for tomography experiments.
|
||||
It is composed of an air bearing spindle[fn:2], 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 to be able to pass through the rotation many electrical signals and fluids and gazes.
|
||||
Additional rotary unions and slip-rings are used to be able to pass electrical signals, fluids and gazes through the rotation stage.
|
||||
|
||||
**** Micro-Hexapod
|
||||
|
||||
Finally, a Stewart platform[fn:3] is used to position the sample.
|
||||
It includes a DC motor and an optical linear encoders in each of the six strut.
|
||||
It includes a DC motor and an optical linear encoders in each of the six struts.
|
||||
|
||||
It is used to position the point of interest of the sample with respect to the spindle rotation axis.
|
||||
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.
|
||||
|
||||
#+attr_latex: :options [t]{0.49\linewidth}
|
||||
@ -1038,16 +1039,16 @@ It can also be used to precisely position the PoI vertically with respect to the
|
||||
<<ssec:ustation_motion_description>>
|
||||
**** Introduction :ignore:
|
||||
|
||||
The goal here is to introduce mathematical tools[fn:6] that are used to describe the motion of positioning stages and ultimately the sample.
|
||||
In this section, mathematical tools[fn:6] that are used to describe the motion of positioning stages are introduced.
|
||||
|
||||
First, the tools to described the pose of a solid body (i.e. it's position and orientation) are introduced.
|
||||
Then, the motion induced by a positioning stage is described using transformation matrices.
|
||||
Finally, the motion of all stacked stages are combined, and the sample's motion is computed from each stage motion.
|
||||
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.
|
||||
|
||||
**** Spatial motion representation
|
||||
|
||||
The /pose/ of a solid body with respect to a specific frame can be described by six independent parameters.
|
||||
Three parameters are usually describing its position, and three other parameters are describing its orientation.
|
||||
The /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 /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\}$.
|
||||
@ -1056,7 +1057,7 @@ The name of the frame is usually added as a leading superscript: ${}^AP$ which r
|
||||
{}^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.
|
||||
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.
|
||||
|
||||
#+name: fig:ustation_transformation_schematics
|
||||
#+caption: Rigid body motion representation. (\subref{fig:ustation_translation}) pure translation. (\subref{fig:ustation_rotation}) pure rotation. (\subref{fig:ustation_transformation}) combined rotation and translation.
|
||||
@ -1082,11 +1083,11 @@ A pure translation of a solid body (i.e. of a frame $\{B\}$ attached to the soli
|
||||
#+end_subfigure
|
||||
#+end_figure
|
||||
|
||||
The /orientation/ of a rigid body is the same for all its points (by definition).
|
||||
Hence, the orientation of a rigid body can be viewed as that for the orientation 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 Euler angles are common descriptions.
|
||||
The /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.
|
||||
|
||||
A rotation matrix ${}^A\mathbf{R}_B$ is a $3 \times 3$ matrix containing the Cartesian unit vectors of frame $\{\mathbf{B}\}$ represented in frame $\{\mathbf{A}\}$ eqref:eq:ustation_rotation_matrix.
|
||||
The rotation matrix ${}^A\mathbf{R}_B$ is a $3 \times 3$ matrix containing the Cartesian unit vectors of frame $\{\mathbf{B}\}$ represented in frame $\{\mathbf{A}\}$ eqref:eq:ustation_rotation_matrix.
|
||||
|
||||
\begin{equation}\label{eq:ustation_rotation_matrix}
|
||||
{}^A\mathbf{R}_B = \left[ {}^A\hat{\mathbf{x}}_B | {}^A\hat{\mathbf{y}}_B | {}^A\hat{\mathbf{z}}_B \right] = \begin{bmatrix}
|
||||
@ -1104,7 +1105,7 @@ The rotation matrix can be used to express the coordinates of a point $P$ in a f
|
||||
\end{equation}
|
||||
|
||||
|
||||
For rotations along $x$, $y$ or $z$ axis, formulas are given in Equation eqref:eq:ustation_rotation_matrices_xyz.
|
||||
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}
|
||||
@ -1115,7 +1116,7 @@ For rotations along $x$, $y$ or $z$ axis, formulas are given in Equation eqref:e
|
||||
\end{subequations}
|
||||
|
||||
Sometimes, it is useful to express a rotation as a combination of three rotations described by $\mathbf{R}_x$, $\mathbf{R}_y$ and $\mathbf{R}_z$.
|
||||
As the order of rotation is very important[fn:5], in this work we choose to express rotations as three successive rotations about the coordinate axes of the moving frame eqref;eq:ustation_rotation_combination.
|
||||
The order of rotation is very important[fn:5], 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\mathbf{R}_B(\alpha, \beta, \gamma) = \mathbf{R}_u(\alpha) \mathbf{R}_v(\beta) \mathbf{R}_c(\gamma)
|
||||
@ -1133,9 +1134,9 @@ Such rotation can be parameterized by three Euler angles $(\alpha,\ \beta,\ \gam
|
||||
|
||||
**** Motion of a Rigid Body
|
||||
|
||||
Since the relative positions of a rigid body with respect to a moving frame $\{B\}$ attached to it is 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.
|
||||
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:
|
||||
Therefore, the pose of a rigid body can be fully determined by:
|
||||
1. The position vector of point $O_B$ with respect to frame $\{A\}$ which is denoted ${}^AP_{O_B}$
|
||||
2. 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\mathbf{R}_B$.
|
||||
|
||||
@ -1175,7 +1176,7 @@ Then, ${}^AP$ can be computed from ${}^BP$ and the homogeneous transformation ma
|
||||
\left[ \begin{array}{c} \\ {}^BP \\ \cr \hline 1 \end{array} \right] \quad \Rightarrow \quad {}^AP = {}^A\mathbf{R}_B {}^BP + {}^AP_{O_B}
|
||||
\end{equation}
|
||||
|
||||
One key advantage of using homogeneous transformation is that it can easily be generalized for consecutive transformations.
|
||||
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.
|
||||
|
||||
@ -1184,7 +1185,7 @@ Frame $\{A\}$ represents the initial location, frame $\{B\}$ is an intermediate
|
||||
[[file:figs/ustation_combined_transformation.png]]
|
||||
|
||||
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 is known relative to each other, ${}^CP$ can be transformed to ${}^BP$ using ${}^B\mathbf{T}_C$ using ${}^BP = {}^B\mathbf{T}_C {}^CP$.
|
||||
Since the locations of the rigid body are known relative to each other, ${}^CP$ can be transformed to ${}^BP$ using ${}^B\mathbf{T}_C$ using ${}^BP = {}^B\mathbf{T}_C {}^CP$.
|
||||
Similarly, ${}^BP$ can be transformed into ${}^AP$ using ${}^AP = {}^A\mathbf{T}_B {}^BP$.
|
||||
|
||||
Combining the two relations, Equation eqref:eq:ustation_consecutive_transformations is obtained.
|
||||
@ -1194,7 +1195,7 @@ This shows that combining multiple transformations is equivalent as to compute $
|
||||
{}^AP = \underbrace{{}^A\mathbf{T}_B {}^B\mathbf{T}_C}_{{}^A\mathbf{T}_C} {}^CP
|
||||
\end{equation}
|
||||
|
||||
Another key advantage of using homogeneous transformation is the easy inverse transformation that can be computed using Equation eqref:eq:ustation_inverse_homogeneous_transformation.
|
||||
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\mathbf{T}_A = {}^A\mathbf{T}_B^{-1} =
|
||||
@ -1210,17 +1211,17 @@ Another key advantage of using homogeneous transformation is the easy inverse tr
|
||||
** Micro-Station Kinematics
|
||||
<<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 are having the same pose and coincide with the point of interest ($O_A = O_B$).
|
||||
An example is shown in Figure ref:fig:ustation_stage_motion for the tilt-stage.
|
||||
Note that the mobile frame of the translation stage equals the fixed frame of the tilt stage: $\{B_{D_y}\} = \{A_{R_y}\}$.
|
||||
Similarly, the mobile frame of the tilt stage equals the fixed frame of the spindle: $\{B_{R_y}\} = \{A_{R_z}\}$.
|
||||
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}\}$.
|
||||
|
||||
#+name: fig:ustation_stage_motion
|
||||
#+caption: 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.
|
||||
[[file:figs/ustation_stage_motion.png]]
|
||||
|
||||
The motion induced by a positioning stage may be described by a homogeneous transformation matrix from frame $\{A\}$ to frame $\{B\}$ as explain in Section ref:ssec:ustation_kinematics.
|
||||
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}
|
||||
@ -1242,8 +1243,8 @@ The homogeneous transformation matrix corresponding to the micro-station $\mathb
|
||||
|
||||
$\mathbf{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 representing a perfect motion (i.e. the stages are supposed to have no parasitic motion), $\mathbf{T}_{\mu\text{-station}}$ is representing 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.
|
||||
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), $\mathbf{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}
|
||||
@ -1351,9 +1352,9 @@ sim_rz = atan2(-T_sim(1, 2)/cos(Ery), T_sim(1, 1)/cos(Ery));
|
||||
<<sec:ustation_modeling>>
|
||||
** Introduction :ignore:
|
||||
|
||||
In this section, the Simscape model of the micro-station is briefly presented.
|
||||
It consists of several rigid bodies connected by springs and dampers.
|
||||
The inertia of the solid bodies as well as the stiffness properties of the guiding mechanisms are first estimated based on the CAD model and part data-sheets (Section ref:ssec:ustation_model_simscape).
|
||||
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).
|
||||
|
||||
@ -1393,41 +1394,41 @@ To do so, the 6-DoF compliance of the micro-station is measured and then compare
|
||||
** Multi-Body Model
|
||||
<<ssec:ustation_model_simscape>>
|
||||
|
||||
By performing a modal analysis of the micro-station, it could be verified that in the frequency range of interest, each stage behaved as a rigid body.
|
||||
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 with joints.
|
||||
Each solid body can be represented by 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).
|
||||
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.
|
||||
|
||||
#+name: fig:ustation_simscape_stage_example
|
||||
#+caption: Example of a stage (here the tilt-stage) represented in the multi-body model (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 ones are represented by springs and dampers. Additional disturbances forces for all DoF can be included
|
||||
#+caption: Example of a stage (here the tilt-stage) represented in the multi-body model (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
|
||||
[[file:figs/ustation_simscape_stage_example.png]]
|
||||
|
||||
The micro-station is therefore modeled by several solid bodies connected by joints.
|
||||
A typical stage (here the tilt-stage) is modelled 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 modelled by a spring and a damper.
|
||||
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.
|
||||
Obtained 3D representation of the multi-body model is shown in Figure ref:fig:ustation_simscape_model.
|
||||
The obtained 3D representation of the multi-body model is shown in Figure ref:fig:ustation_simscape_model.
|
||||
|
||||
#+name: fig:ustation_simscape_model
|
||||
#+caption: 3D view of the micro-station Simscape model
|
||||
#+attr_latex: :width 0.8\linewidth
|
||||
[[file:figs/ustation_simscape_model.jpg]]
|
||||
|
||||
The Ground is modelled by a solid body connected to the "world frame" through a joint only allowing 3 translations.
|
||||
The granite is then connected to the ground by a 6-DoF joint.
|
||||
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-DoF being 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, and therefore the model has 54 states.
|
||||
The springs and dampers values were first estimated from the joints/stages specifications and were later fined tuned based on measurements.
|
||||
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.
|
||||
|
||||
#+name: tab:ustation_6dof_stiffness_values
|
||||
#+caption: Summary of the stage stiffnesses. Contrained degrees-of-freedom are indicated by "-". The location of the 6-DoF joints in which the stiffnesses are defined are indicated by the frame in figures of Section ref:ssec:ustation_stages
|
||||
#+caption: 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
|
||||
#+attr_latex: :environment tabularx :width \linewidth :align Xcccccc
|
||||
#+attr_latex: :center t :booktabs t
|
||||
| *Stage* | $D_x$ | $D_y$ | $D_z$ | $R_x$ | $R_y$ | $R_z$ |
|
||||
@ -1442,12 +1443,12 @@ The spring values are summarized in Table ref:tab:ustation_6dof_stiffness_values
|
||||
<<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 FRF were then projected at the CoM of each stage.
|
||||
The obtained FRFs were then projected at the CoM of each stage.
|
||||
|
||||
In order to have a first idea of the accuracy of the obtained model, the FRF from the hammer impacts to the acceleration of each stage is extracted from the Simscape model and compared with the measurements in Figure ref:fig:ustation_comp_com_response.
|
||||
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 Simscape 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 Simscape model does not represent very accurately the complex micro-station dynamics.
|
||||
Tuning the numerous model parameters to better match the measurements is an highly non-linear optimization problem which is difficult to solve in practice.
|
||||
Even though there is some similarity between the model and the measurements (similar overall shapes and amplitudes), it is clear that the Simscape 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_src matlab
|
||||
%% Indentify the model dynamics from the 3 hammer imapcts
|
||||
@ -1567,7 +1568,7 @@ exportFig('figs/ustation_comp_com_response_ry_z.pdf', 'width', 'third', 'height'
|
||||
#+end_src
|
||||
|
||||
#+name: fig:ustation_comp_com_response
|
||||
#+caption: FRF between the hammer impacts on the translation stage and measured stage acceleration expressed at its CoM. Comparison of the measured FRF and the ones extracted from the Simscape model. Different directions are computed and for different stages.
|
||||
#+caption: 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 Simscape model. Different directions are computed for different stages.
|
||||
#+attr_latex: :options [htbp]
|
||||
#+begin_figure
|
||||
#+attr_latex: :caption \subcaption{\label{fig:ustation_comp_com_response_rz_x}Spindle, $x$ response}
|
||||
@ -1593,18 +1594,18 @@ exportFig('figs/ustation_comp_com_response_ry_z.pdf', 'width', 'third', 'height'
|
||||
** Micro-station compliance
|
||||
<<ssec:ustation_model_compliance>>
|
||||
|
||||
As was shown 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.
|
||||
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 is what can impact the plant dynamics.
|
||||
The adopted strategy is therefore to accurately model the micro-station compliance.
|
||||
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 is experimentally measured using the setup schematically shown in Figure ref:fig:ustation_compliance_meas.
|
||||
Four 3-axis accelerometers are fixed to the micro-hexapod top platform.
|
||||
The micro-hexapod top platform is impacted at 10 different points.
|
||||
For each impact position, 10 impacts are performed for averaging and improving the data quality.
|
||||
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.
|
||||
|
||||
#+name: fig:ustation_compliance_meas
|
||||
#+caption: Schematic of the measurement setup 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).
|
||||
#+caption: 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).
|
||||
[[file:figs/ustation_compliance_meas.png]]
|
||||
|
||||
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 $\mathbf{J}_a$ is written based on the positions and orientations of the accelerometers eqref:eq:ustation_compliance_acc_jacobian.
|
||||
@ -1649,14 +1650,14 @@ Similar to what is done for the accelerometers, a Jacobian matrix $\mathbf{J}_F$
|
||||
\end{bmatrix}
|
||||
\end{equation}
|
||||
|
||||
Force and torques applied at center of $\{\mathcal{X}\}$ are then computed using eqref:eq:ustation_compute_cart_force.
|
||||
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}} = \mathbf{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 FRF will be used for comparison with the Simscape model.
|
||||
These FRFs were then used for comparison with the Simscape model.
|
||||
|
||||
#+begin_src matlab
|
||||
% Positions and orientation of accelerometers
|
||||
@ -1802,9 +1803,9 @@ end
|
||||
FRF_cartesian = pagemtimes(Ja_inv, pagemtimes(G_raw, Jf_inv));
|
||||
#+end_src
|
||||
|
||||
The compliance of the micro-station multi-body model is extracted by computing the transfer function from forces/torques applied to the positioning hexapod's top platform to the "absolute" motion of the top platform.
|
||||
These are compared with the measurements in Figure ref:fig:ustation_frf_compliance_model.
|
||||
Considering how complex the micro-station compliance dynamics is, the model compliance is matching sufficiently well the measurements for the current application.
|
||||
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_src matlab
|
||||
%% Identification of the compliance of the micro-station
|
||||
@ -1879,7 +1880,7 @@ exportFig('figs/ustation_frf_compliance_Rxyz_model.pdf', 'width', 'half', 'heigh
|
||||
#+end_src
|
||||
|
||||
#+name: fig:ustation_frf_compliance_model
|
||||
#+caption: Compliance of the micro-station expressed in frame $\{\mathcal{X}\}$. Measured FRF are display by solid lines, while FRF 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.
|
||||
#+caption: 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.
|
||||
#+attr_latex: :options [htbp]
|
||||
#+begin_figure
|
||||
#+attr_latex: :caption \subcaption{\label{fig:ustation_frf_compliance_xyz_model}Compliance in translation}
|
||||
@ -1903,15 +1904,16 @@ exportFig('figs/ustation_frf_compliance_Rxyz_model.pdf', 'width', 'half', 'heigh
|
||||
<<sec:ustation_disturbances>>
|
||||
** Introduction :ignore:
|
||||
|
||||
The goal in this section is to obtain realistic representation of disturbances affecting the micro-station.
|
||||
These disturbance sources will then be used during time domain simulations to accurately model the micro-station behavior.
|
||||
The focus is made on stochastic disturbances, as it is in principle possible to calibrate the repeatable part of disturbances.
|
||||
Such disturbance includes ground motion, and vibrations induces by the scanning of the translation stage and the spindle.
|
||||
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 modelled as internal forces applied in the stage's joint.
|
||||
In practice, the disturbance forces cannot be directly measured, and the effect of those perturbations on the vibration of the micro-station's top platform is measured instead (Section ref:ssec:ustation_disturbances_meas).
|
||||
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 function from disturbances sources (i.e. forces applied in the stages' joint) to the displacement of the micro-station's top platform with respect to the granite are extracted from the Simscape model (Section ref:ssec:ustation_disturbances_sensitivity).
|
||||
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 Simscape model (Section ref:ssec:ustation_disturbances_sensitivity).
|
||||
Finally, the obtained disturbance sources are compared in Section ref:ssec:ustation_disturbances_results.
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
@ -1946,16 +1948,16 @@ Finally, the obtained disturbance sources are compared in Section ref:ssec:ustat
|
||||
** Disturbance measurements
|
||||
<<ssec:ustation_disturbances_meas>>
|
||||
**** Introduction :ignore:
|
||||
In this section, the ground motion disturbances is directly measured using geophones.
|
||||
Vibrations induced by the scanning of the translation stage and of the spindle are also measured using dedicated setups.
|
||||
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, they are however not modelled here as these two stages are only used for pre-positioning and not for scanning.
|
||||
Therefore, from a control point of view, they are not important.
|
||||
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.
|
||||
|
||||
**** Ground Motion
|
||||
|
||||
The ground motion is measured by using a sensitive 3-axis geophone[fn:11] placed on the ground.
|
||||
The generated voltages are recorded with a high resolution DAC, and converted to displacement using the Geophone sensitivity transfer function.
|
||||
The ground motion was measured by using a sensitive 3-axis geophone[fn:11] 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_src matlab
|
||||
@ -2023,18 +2025,18 @@ exportFig('figs/ustation_ground_disturbance.pdf', 'width', 'half', 'height', 450
|
||||
|
||||
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"[fn:9]) is fixed on top of the micro-station, while a laser source[fn:10] and a straightness reflector are fixed on the ground.
|
||||
A similar setup is used to measure the horizontal deviation (i.e. in the $x$ direction), as well as the pitch and yaw errors of the translation stage.
|
||||
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.
|
||||
|
||||
#+name: fig:ustation_errors_ty_setup
|
||||
#+caption: Experimental setup to measure the flatness (vertical deviation) of the translation stage
|
||||
[[file:figs/ustation_errors_ty_setup.png]]
|
||||
|
||||
Six scans are performed between $-4.5\,mm$ and $4.5\,mm$.
|
||||
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.
|
||||
As the measurement axis may not be perfectly aligned with the displacement axis of the translation stage, a linear fit may be removed from the measurement.
|
||||
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 to be expected.
|
||||
Similar result is obtain for the $x$ lateral direction.
|
||||
A vertical error of $\pm300\,nm$ induced by the translation stage is expected.
|
||||
Similar result is obtained for the $x$ lateral direction.
|
||||
|
||||
#+begin_src matlab
|
||||
%% Ty errors
|
||||
@ -2120,13 +2122,13 @@ pxx_dy_dx = pxx_dy_dz;
|
||||
|
||||
**** Spindle
|
||||
|
||||
In order to measure the positioning errors induced by the Spindle, a "Spindle error analyzer"[fn:7] 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[fn:8] are pointing at the two spheres as shown in Figure ref:fig:ustation_rz_meas_lion_zoom.
|
||||
To measure the positioning errors induced by the Spindle, a "Spindle error analyzer"[fn:7] 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[fn:8] 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.
|
||||
|
||||
#+name: fig:ustation_rz_meas_lion_setup
|
||||
#+caption: Experimental setup used to estimate the errors induced by the Spindle rotation (\subref{fig:ustation_rz_meas_lion}). The motion of the two reference sphere is done using 5 capacitive sensors (\subref{fig:ustation_rz_meas_lion_zoom})
|
||||
#+caption: 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})
|
||||
#+attr_latex: :options [htbp]
|
||||
#+begin_figure
|
||||
#+attr_latex: :caption \subcaption{\label{fig:ustation_rz_meas_lion}Micro-station and 5-DoF metrology}
|
||||
@ -2143,13 +2145,13 @@ From the 5 measured displacements $[d_1,\,d_2,\,d_3,\,d_4,\,d_5]$, the translati
|
||||
#+end_subfigure
|
||||
#+end_figure
|
||||
|
||||
A measurement is performed at 60rpm during 10 turns, and the obtained results are shown in Figure ref:fig:ustation_errors_spindle.
|
||||
A 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.
|
||||
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 with the rotation axis will be considered as it is very difficult to align in practice.
|
||||
The NASS will be used to actively keep the PoI on the rotation axis.
|
||||
The vertical motion induced by the scanning of the spindle is in the order of $\pm 30\,nm$ (Figure ref:fig:ustation_errors_spindle_axial).
|
||||
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_src matlab
|
||||
%% Spindle Errors
|
||||
@ -2210,7 +2212,7 @@ exportFig('figs/ustation_errors_spindle_tilt.pdf', 'width', 'third', 'height', '
|
||||
#+end_src
|
||||
|
||||
#+name: fig:ustation_errors_spindle
|
||||
#+caption: 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. A circular best fit is shown by the dashed circle. It represents the misalignment of the spheres with the rotation axis.
|
||||
#+caption: 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.
|
||||
#+attr_latex: :options [htbp]
|
||||
#+begin_figure
|
||||
#+attr_latex: :caption \subcaption{\label{fig:ustation_errors_spindle_radial}Radial errors}
|
||||
@ -2264,8 +2266,8 @@ Noverlap = floor(Nfft/2); % Overlap for frequency analysis
|
||||
** Sensitivity to disturbances
|
||||
<<ssec:ustation_disturbances_sensitivity>>
|
||||
|
||||
In order 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 done using the multi-body that was presented in Section ref:sec:ustation_modeling.
|
||||
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_src matlab
|
||||
@ -2397,7 +2399,7 @@ exportFig('figs/ustation_model_sensitivity_rz.pdf', 'width', 'third', 'height',
|
||||
<<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 Simscape 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.
|
||||
They are shown in Figure ref:fig:ustation_dist_sources.
|
||||
The obtained power spectral density of the disturbances are shown in Figure ref:fig:ustation_dist_sources.
|
||||
|
||||
#+begin_src matlab
|
||||
%% Compute the PSD of the equivalent disturbance sources
|
||||
@ -2494,7 +2496,7 @@ exportFig('figs/ustation_dist_source_spindle.pdf', 'width', 'third', 'height', '
|
||||
#+end_src
|
||||
|
||||
#+name: fig:ustation_dist_sources
|
||||
#+caption: Measured spectral density of the micro-station disturbances 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}).
|
||||
#+caption: 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}).
|
||||
#+attr_latex: :options [htbp]
|
||||
#+begin_figure
|
||||
#+attr_latex: :caption \subcaption{\label{fig:ustation_dist_source_ground_motion}Ground Motion}
|
||||
@ -2517,10 +2519,10 @@ exportFig('figs/ustation_dist_source_spindle.pdf', 'width', 'third', 'height', '
|
||||
#+end_subfigure
|
||||
#+end_figure
|
||||
|
||||
The disturbances are characterized by their power spectral densities as shown in Figure ref:fig:ustation_dist_sources.
|
||||
However, in order to perform time domain simulations, disturbances needs to be represented by a time domain.
|
||||
In order to generate stochastic time domain signals having the same power spectral densities as the ones estimated, the discrete inverse Fourier transform is used as explained in [[cite:&preumont94_random_vibrat_spect_analy chap. 12.11]].
|
||||
Examples of obtained time domain disturbance signals are shown in Figure ref:fig:ustation_dist_sources_time.
|
||||
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:&preumont94_random_vibrat_spect_analy chap. 12.11]].
|
||||
Examples of the obtained time-domain disturbance signals are shown in Figure ref:fig:ustation_dist_sources_time.
|
||||
|
||||
#+begin_src matlab
|
||||
%% Compute time domain disturbance signals
|
||||
@ -2606,10 +2608,10 @@ exportFig('figs/ustation_dist_source_ground_motion_time.pdf', 'width', 'third',
|
||||
<<sec:ustation_experiments>>
|
||||
** Introduction :ignore:
|
||||
|
||||
In order to fully validate the micro-station multi-body model, two time domain simulations corresponding to typical use cases are performed.
|
||||
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) is performed and compared with experimental measurements (Section ref:sec:ustation_experiments_tomography).
|
||||
Second, a constant velocity scans with the translation stage is performed and also compared with experimental data (Section ref:sec:ustation_experiments_ty_scans).
|
||||
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).
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab
|
||||
@ -2644,11 +2646,11 @@ Second, a constant velocity scans with the translation stage is performed and al
|
||||
<<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 are simulation based on what was computed in Section ref:sec:ustation_disturbances.
|
||||
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 is recorded.
|
||||
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 are observed both for radial errors (Figure ref:fig:ustation_errors_model_spindle_radial) and axial errors (Figure ref:fig:ustation_errors_model_spindle_axial).
|
||||
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_src matlab
|
||||
%% Tomography experiment
|
||||
@ -2731,7 +2733,7 @@ exportFig('figs/ustation_errors_model_spindle_axial.pdf', 'width', 'half', 'heig
|
||||
#+end_src
|
||||
|
||||
#+name: fig:ustation_errors_model_spindle
|
||||
#+caption: Simulation results for a tomography experiment with a constant velocity of 60rpm. The comparison is made with measurements both for radial (\subref{fig:ustation_errors_model_spindle_radial}) and axial errors (\subref{fig:ustation_errors_model_spindle_axial}).
|
||||
#+caption: 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}).
|
||||
#+attr_latex: :options [htbp]
|
||||
#+begin_figure
|
||||
#+attr_latex: :caption \subcaption{\label{fig:ustation_errors_model_spindle_radial}Radial error}
|
||||
@ -2751,11 +2753,11 @@ exportFig('figs/ustation_errors_model_spindle_axial.pdf', 'width', 'half', 'heig
|
||||
** Raster Scans with the translation stage
|
||||
<<sec:ustation_experiments_ty_scans>>
|
||||
|
||||
A second experiment is performed in which the translation stage is scanned with a constant velocity.
|
||||
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 are included in the simulation.
|
||||
Similar to what was performed for the tomography simulation, the PoI position with respect to the granite is recorded and compared with experimental measurements in Figure ref:fig:ustation_errors_model_dy_vertical.
|
||||
Similar error amplitude can be observed, thus indicating that the multi-body model with included disturbances is accurately representing the micro-station behavior for typical scientific experiments.
|
||||
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_src matlab
|
||||
%% Translation stage latteral scans
|
||||
@ -2822,7 +2824,7 @@ exportFig('figs/ustation_errors_model_dy_vertical.pdf', 'width', 'half', 'height
|
||||
#+end_src
|
||||
|
||||
#+name: fig:ustation_errors_model_dy_vertical
|
||||
#+caption: Vertical errors during a constant velocity scan of the translation stage. Comparison of the measurements and simulated errors.
|
||||
#+caption: Vertical errors during a constant-velocity scan of the translation stage. Comparison of the measurements and simulated errors.
|
||||
#+RESULTS:
|
||||
[[file:figs/ustation_errors_model_dy_vertical.png]]
|
||||
|
||||
@ -2833,12 +2835,12 @@ exportFig('figs/ustation_errors_model_dy_vertical.pdf', 'width', 'half', 'height
|
||||
<<sec:uniaxial_conclusion>>
|
||||
|
||||
In this study, a multi-body model of the micro-station was developed.
|
||||
It was found difficult to match the measured dynamics obtained from the modal analysis of the micro-station.
|
||||
However, the most important dynamical characteristics to be modelled is the compliance, as it is what impacts the dynamics of the NASS.
|
||||
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 that affect the sample's position should also be well modelled.
|
||||
After experimental estimation of 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 is scanned (Figure ref:fig:ustation_errors_model_dy_vertical).
|
||||
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).
|
||||
|
||||
* Bibliography :ignore:
|
||||
#+latex: \printbibliography[heading=bibintoc,title={Bibliography}]
|
||||
@ -5376,6 +5378,8 @@ Otherwise, when the limbs' lengths derived yield complex numbers, then the posit
|
||||
#+end_src
|
||||
|
||||
* Footnotes
|
||||
|
||||
[fn:12]It was probably caused by rust of the linear guides along its stroke.
|
||||
[fn:11]A 3-Axis L4C geophone manufactured Sercel was used.
|
||||
[fn:10]Laser source is manufactured by Agilent (5519b).
|
||||
[fn:9]The special optics (straightness interferometer and reflector) are manufactured by Agilent (10774A).
|
||||
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
% Created 2024-11-06 Wed 17:24
|
||||
% Created 2024-11-06 Wed 18:35
|
||||
% Intended LaTeX compiler: pdflatex
|
||||
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
|
||||
|
||||
@ -24,23 +24,23 @@
|
||||
|
||||
\clearpage
|
||||
|
||||
From the start of this work, it became increasingly clear that an accurate model of the micro-station was necessary.
|
||||
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 apparent 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 affects the system dynamics, and that it should therefore be modelled.
|
||||
Finally, performing a modal analysis of the micro-station showed how complex the dynamics of the station is.
|
||||
It also confirmed that each stage behaves as a rigid body in the frequency range of interest.
|
||||
Therefore a multi-body model seems a good candidate to accurately represent the micro-station dynamics.
|
||||
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 multi-body model is presented.
|
||||
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 modelled properly.
|
||||
To do so, the effect of these disturbances are first measured experimental and then injected in the multi-body model (Section \ref{sec:ustation_disturbances}).
|
||||
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}.
|
||||
|
||||
@ -49,19 +49,20 @@ To validate the accuracy of the micro-station model, ``real world'' experiments
|
||||
\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 stacked architecture allows high mobility, but the overall stiffness is reduced and the dynamics is very complex. complex dynamics.
|
||||
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), the tilt stage (in red), the rotation stage (in yellow) and the positioning hexapod (in purple). On top of these four stages, a solid part (shown in green) will be replaced by the stabilization stage.}
|
||||
\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 modelling the stage dynamics in a multi-body model.
|
||||
The one chosen in this work consists of modelling each stage by two solid bodies connected by one 6-DoF joint.
|
||||
The stiffness and damping properties of the joint can be tuned separately for each DoF.
|
||||
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 modelled 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.
|
||||
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}
|
||||
|
||||
@ -69,21 +70,21 @@ The ``controlled'' DoF of each stage (for instance the \(D_y\) direction for the
|
||||
|
||||
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 be able to perform 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, probably caused by rust of the linear guides along its stroke.
|
||||
An optical linear encoder is used to measure the stage motion and for PID control of the position.
|
||||
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 has high stiffness in radial directions such that the only DoF with low stiffness is in \(R_y\).
|
||||
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 for \emph{reflectivity} experiments where the sample \(R_y\) angle is scanned.
|
||||
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 as well as two optical encoders are used in a PID feedback loop.
|
||||
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}
|
||||
@ -104,14 +105,14 @@ To precisely control the \(R_y\) angle, a stepper motor as well as two optical e
|
||||
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 to be able to pass through the rotation many electrical signals and fluids and gazes.
|
||||
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 strut.
|
||||
It includes a DC motor and an optical linear encoders in each of the six struts.
|
||||
|
||||
It is used to position the point of interest of the sample with respect to the spindle rotation axis.
|
||||
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}
|
||||
@ -130,15 +131,15 @@ It can also be used to precisely position the PoI vertically with respect to the
|
||||
|
||||
\section{Mathematical description of a rigid body motion}
|
||||
\label{ssec:ustation_motion_description}
|
||||
The goal here is to introduce mathematical tools\footnote{The tools presented here are largely taken from \cite{taghirad13_paral}.} that are used to describe the motion of positioning stages and ultimately the sample.
|
||||
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 described the pose of a solid body (i.e. it's position and orientation) are introduced.
|
||||
Then, the motion induced by a positioning stage is described using transformation matrices.
|
||||
Finally, the motion of all stacked stages are combined, and the sample's motion is computed from each stage motion.
|
||||
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 with respect to a specific frame can be described by six independent parameters.
|
||||
Three parameters are usually describing its position, and three other parameters are describing its orientation.
|
||||
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\}\).
|
||||
@ -147,7 +148,7 @@ The name of the frame is usually added as a leading superscript: \({}^AP\) which
|
||||
{}^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}.
|
||||
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}
|
||||
@ -171,11 +172,11 @@ A pure translation of a solid body (i.e. of a frame \(\{B\}\) attached to the so
|
||||
\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 for all its points (by definition).
|
||||
Hence, the orientation of a rigid body can be viewed as that for the orientation 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 Euler angles are common descriptions.
|
||||
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.
|
||||
|
||||
A rotation matrix \({}^A\mathbf{R}_B\) is a \(3 \times 3\) matrix containing the Cartesian unit vectors of frame \(\{\mathbf{B}\}\) represented in frame \(\{\mathbf{A}\}\) \eqref{eq:ustation_rotation_matrix}.
|
||||
The rotation matrix \({}^A\mathbf{R}_B\) is a \(3 \times 3\) matrix containing the Cartesian unit vectors of frame \(\{\mathbf{B}\}\) represented in frame \(\{\mathbf{A}\}\) \eqref{eq:ustation_rotation_matrix}.
|
||||
|
||||
\begin{equation}\label{eq:ustation_rotation_matrix}
|
||||
{}^A\mathbf{R}_B = \left[ {}^A\hat{\mathbf{x}}_B | {}^A\hat{\mathbf{y}}_B | {}^A\hat{\mathbf{z}}_B \right] = \begin{bmatrix}
|
||||
@ -193,7 +194,7 @@ The rotation matrix can be used to express the coordinates of a point \(P\) in a
|
||||
\end{equation}
|
||||
|
||||
|
||||
For rotations along \(x\), \(y\) or \(z\) axis, formulas are given in Equation \eqref{eq:ustation_rotation_matrices_xyz}.
|
||||
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}
|
||||
@ -204,7 +205,7 @@ For rotations along \(x\), \(y\) or \(z\) axis, formulas are given in Equation \
|
||||
\end{subequations}
|
||||
|
||||
Sometimes, it is useful to express a rotation as a combination of three rotations described by \(\mathbf{R}_x\), \(\mathbf{R}_y\) and \(\mathbf{R}_z\).
|
||||
As the order of rotation is very important\footnote{Rotations are non commutative in 3D.}, in this work we choose to express rotations as three successive rotations about the coordinate axes of the moving frame eqref;eq:ustation\_rotation\_combination.
|
||||
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\mathbf{R}_B(\alpha, \beta, \gamma) = \mathbf{R}_u(\alpha) \mathbf{R}_v(\beta) \mathbf{R}_c(\gamma)
|
||||
@ -222,9 +223,9 @@ Such rotation can be parameterized by three Euler angles \((\alpha,\ \beta,\ \ga
|
||||
|
||||
\paragraph{Motion of a Rigid Body}
|
||||
|
||||
Since the relative positions of a rigid body with respect to a moving frame \(\{B\}\) attached to it is 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.
|
||||
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:
|
||||
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\mathbf{R}_B\).
|
||||
@ -266,7 +267,7 @@ Then, \({}^AP\) can be computed from \({}^BP\) and the homogeneous transformatio
|
||||
\left[ \begin{array}{c} \\ {}^BP \\ \cr \hline 1 \end{array} \right] \quad \Rightarrow \quad {}^AP = {}^A\mathbf{R}_B {}^BP + {}^AP_{O_B}
|
||||
\end{equation}
|
||||
|
||||
One key advantage of using homogeneous transformation is that it can easily be generalized for consecutive transformations.
|
||||
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.
|
||||
|
||||
@ -277,7 +278,7 @@ Frame \(\{A\}\) represents the initial location, frame \(\{B\}\) is an intermedi
|
||||
\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 is known relative to each other, \({}^CP\) can be transformed to \({}^BP\) using \({}^B\mathbf{T}_C\) using \({}^BP = {}^B\mathbf{T}_C {}^CP\).
|
||||
Since the locations of the rigid body are known relative to each other, \({}^CP\) can be transformed to \({}^BP\) using \({}^B\mathbf{T}_C\) using \({}^BP = {}^B\mathbf{T}_C {}^CP\).
|
||||
Similarly, \({}^BP\) can be transformed into \({}^AP\) using \({}^AP = {}^A\mathbf{T}_B {}^BP\).
|
||||
|
||||
Combining the two relations, Equation \eqref{eq:ustation_consecutive_transformations} is obtained.
|
||||
@ -287,7 +288,7 @@ This shows that combining multiple transformations is equivalent as to compute \
|
||||
{}^AP = \underbrace{{}^A\mathbf{T}_B {}^B\mathbf{T}_C}_{{}^A\mathbf{T}_C} {}^CP
|
||||
\end{equation}
|
||||
|
||||
Another key advantage of using homogeneous transformation is the easy inverse transformation that can be computed using Equation \eqref{eq:ustation_inverse_homogeneous_transformation}.
|
||||
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\mathbf{T}_A = {}^A\mathbf{T}_B^{-1} =
|
||||
@ -303,11 +304,11 @@ Another key advantage of using homogeneous transformation is the easy inverse tr
|
||||
\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 are having the same pose and coincide with the point of interest (\(O_A = O_B\)).
|
||||
An example is shown in Figure \ref{fig:ustation_stage_motion} for the tilt-stage.
|
||||
Note that the mobile frame of the translation stage equals the fixed frame of the tilt stage: \(\{B_{D_y}\} = \{A_{R_y}\}\).
|
||||
Similarly, the mobile frame of the tilt stage equals the fixed frame of the spindle: \(\{B_{R_y}\} = \{A_{R_z}\}\).
|
||||
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
|
||||
@ -315,7 +316,7 @@ Similarly, the mobile frame of the tilt stage equals the fixed frame of the spin
|
||||
\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 may be described by a homogeneous transformation matrix from frame \(\{A\}\) to frame \(\{B\}\) as explain in Section \ref{ssec:ustation_kinematics}.
|
||||
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}
|
||||
@ -337,8 +338,8 @@ The homogeneous transformation matrix corresponding to the micro-station \(\math
|
||||
|
||||
\(\mathbf{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 representing a perfect motion (i.e. the stages are supposed to have no parasitic motion), \(\mathbf{T}_{\mu\text{-station}}\) is representing 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}.
|
||||
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), \(\mathbf{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}
|
||||
@ -373,9 +374,9 @@ The transformation matrices for the translation stage, tilt stage, spindle and p
|
||||
|
||||
\chapter{Micro-Station Dynamics}
|
||||
\label{sec:ustation_modeling}
|
||||
In this section, the Simscape model of the micro-station is briefly presented.
|
||||
It consists of several rigid bodies connected by springs and dampers.
|
||||
The inertia of the solid bodies as well as the stiffness properties of the guiding mechanisms are first estimated based on the CAD model and part data-sheets (Section \ref{ssec:ustation_model_simscape}).
|
||||
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}).
|
||||
|
||||
@ -384,25 +385,25 @@ To do so, the 6-DoF compliance of the micro-station is measured and then compare
|
||||
\section{Multi-Body Model}
|
||||
\label{ssec:ustation_model_simscape}
|
||||
|
||||
By performing a modal analysis of the micro-station, it could be verified that in the frequency range of interest, each stage behaved as a rigid body.
|
||||
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 with joints.
|
||||
Each solid body can be represented by 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).
|
||||
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 (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 ones are represented by springs and dampers. Additional disturbances forces for all DoF can be included}
|
||||
\caption{\label{fig:ustation_simscape_stage_example}Example of a stage (here the tilt-stage) represented in the multi-body model (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}
|
||||
|
||||
The micro-station is therefore modeled by several solid bodies connected by joints.
|
||||
A typical stage (here the tilt-stage) is modelled 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 modelled by a spring and a damper.
|
||||
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.
|
||||
Obtained 3D representation of the multi-body model is shown in Figure \ref{fig:ustation_simscape_model}.
|
||||
The obtained 3D representation of the multi-body model is shown in Figure \ref{fig:ustation_simscape_model}.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
@ -410,14 +411,14 @@ Obtained 3D representation of the multi-body model is shown in Figure \ref{fig:u
|
||||
\caption{\label{fig:ustation_simscape_model}3D view of the micro-station Simscape model}
|
||||
\end{figure}
|
||||
|
||||
The Ground is modelled by a solid body connected to the ``world frame'' through a joint only allowing 3 translations.
|
||||
The granite is then connected to the ground by a 6-DoF joint.
|
||||
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-DoF being 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, and therefore the model has 54 states.
|
||||
The springs and dampers values were first estimated from the joints/stages specifications and were later fined tuned based on measurements.
|
||||
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]
|
||||
@ -433,7 +434,7 @@ Spindle & \(700\,N/\mu m\) & \(700\,N/\mu m\) & \(2\,kN/\mu m\) & \(10\,Nm/\mu\t
|
||||
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. Contrained degrees-of-freedom are indicated by ``-''. The location of the 6-DoF joints in which the stiffnesses are defined are indicated by the frame in figures of Section \ref{ssec:ustation_stages}}
|
||||
\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}
|
||||
|
||||
@ -441,12 +442,12 @@ Hexapod & \(10\,N/\mu m\) & \(10\,N/\mu m\) & \(100\,N/\mu m\) & \(1.5\,Nm/rad\)
|
||||
\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 FRF were then projected at the CoM of each stage.
|
||||
The obtained FRFs were then projected at the CoM of each stage.
|
||||
|
||||
In order to have a first idea of the accuracy of the obtained model, the FRF from the hammer impacts to the acceleration of each stage is extracted from the Simscape model and compared with the measurements in Figure \ref{fig:ustation_comp_com_response}.
|
||||
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 Simscape 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 Simscape model does not represent very accurately the complex micro-station dynamics.
|
||||
Tuning the numerous model parameters to better match the measurements is an highly non-linear optimization problem which is difficult to solve in practice.
|
||||
Even though there is some similarity between the model and the measurements (similar overall shapes and amplitudes), it is clear that the Simscape 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}
|
||||
@ -467,26 +468,26 @@ Tuning the numerous model parameters to better match the measurements is an high
|
||||
\end{center}
|
||||
\subcaption{\label{fig:ustation_comp_com_response_ry_z}Tilt, $z$ response}
|
||||
\end{subfigure}
|
||||
\caption{\label{fig:ustation_comp_com_response}FRF between the hammer impacts on the translation stage and measured stage acceleration expressed at its CoM. Comparison of the measured FRF and the ones extracted from the Simscape model. Different directions are computed and for different stages.}
|
||||
\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 Simscape model. Different directions are computed for different stages.}
|
||||
\end{figure}
|
||||
|
||||
\section{Micro-station compliance}
|
||||
\label{ssec:ustation_model_compliance}
|
||||
|
||||
As was shown 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.
|
||||
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 is what can impact the plant dynamics.
|
||||
The adopted strategy is therefore to accurately model the micro-station compliance.
|
||||
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 is experimentally measured using the setup schematically shown in Figure \ref{fig:ustation_compliance_meas}.
|
||||
Four 3-axis accelerometers are fixed to the micro-hexapod top platform.
|
||||
The micro-hexapod top platform is impacted at 10 different points.
|
||||
For each impact position, 10 impacts are performed for averaging and improving the data quality.
|
||||
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 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).}
|
||||
\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 \(\mathbf{J}_a\) is written based on the positions and orientations of the accelerometers \eqref{eq:ustation_compliance_acc_jacobian}.
|
||||
@ -531,18 +532,18 @@ Similar to what is done for the accelerometers, a Jacobian matrix \(\mathbf{J}_F
|
||||
\end{bmatrix}
|
||||
\end{equation}
|
||||
|
||||
Force and torques applied at center of \(\{\mathcal{X}\}\) are then computed using \eqref{eq:ustation_compute_cart_force}.
|
||||
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}} = \mathbf{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 FRF will be used for comparison with the Simscape model.
|
||||
These FRFs were then used for comparison with the Simscape model.
|
||||
|
||||
The compliance of the micro-station multi-body model is extracted by computing the transfer function from forces/torques applied to the positioning hexapod's top platform to the ``absolute'' motion of the top platform.
|
||||
These are compared with the measurements in Figure \ref{fig:ustation_frf_compliance_model}.
|
||||
Considering how complex the micro-station compliance dynamics is, the model compliance is matching sufficiently well the measurements for the current application.
|
||||
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}
|
||||
@ -557,32 +558,33 @@ Considering how complex the micro-station compliance dynamics is, the model comp
|
||||
\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}\}\). Measured FRF are display by solid lines, while FRF 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.}
|
||||
\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 in this section is to obtain realistic representation of disturbances affecting the micro-station.
|
||||
These disturbance sources will then be used during time domain simulations to accurately model the micro-station behavior.
|
||||
The focus is made on stochastic disturbances, as it is in principle possible to calibrate the repeatable part of disturbances.
|
||||
Such disturbance includes ground motion, and vibrations induces by the scanning of the translation stage and the spindle.
|
||||
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 modelled as internal forces applied in the stage's joint.
|
||||
In practice, the disturbance forces cannot be directly measured, and the effect of those perturbations on the vibration of the micro-station's top platform is measured instead (Section \ref{ssec:ustation_disturbances_meas}).
|
||||
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 function from disturbances sources (i.e. forces applied in the stages' joint) to the displacement of the micro-station's top platform with respect to the granite are extracted from the Simscape model (Section \ref{ssec:ustation_disturbances_sensitivity}).
|
||||
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 Simscape 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, the ground motion disturbances is directly measured using geophones.
|
||||
Vibrations induced by the scanning of the translation stage and of the spindle are also measured using dedicated setups.
|
||||
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, they are however not modelled here as these two stages are only used for pre-positioning and not for scanning.
|
||||
Therefore, from a control point of view, they are not important.
|
||||
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 is 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 are recorded with a high resolution DAC, and converted to displacement using the Geophone sensitivity transfer function.
|
||||
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}
|
||||
@ -603,7 +605,7 @@ The obtained ground motion displacement is shown in Figure \ref{fig:ustation_gro
|
||||
|
||||
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 is used to measure the horizontal deviation (i.e. in the \(x\) direction), as well as the pitch and yaw errors of the translation stage.
|
||||
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
|
||||
@ -611,12 +613,12 @@ A similar setup is used to measure the horizontal deviation (i.e. in the \(x\) d
|
||||
\caption{\label{fig:ustation_errors_ty_setup}Experimental setup to measure the flatness (vertical deviation) of the translation stage}
|
||||
\end{figure}
|
||||
|
||||
Six scans are performed between \(-4.5\,mm\) and \(4.5\,mm\).
|
||||
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}.
|
||||
As the measurement axis may not be perfectly aligned with the displacement axis of the translation stage, a linear fit may be removed from the measurement.
|
||||
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 to be expected.
|
||||
Similar result is obtain for the \(x\) lateral direction.
|
||||
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}
|
||||
@ -636,9 +638,9 @@ Similar result is obtain for the \(x\) lateral direction.
|
||||
|
||||
\paragraph{Spindle}
|
||||
|
||||
In order 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}.
|
||||
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]
|
||||
@ -654,16 +656,16 @@ From the 5 measured displacements \([d_1,\,d_2,\,d_3,\,d_4,\,d_5]\), the transla
|
||||
\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 sphere is done using 5 capacitive sensors (\subref{fig:ustation_rz_meas_lion_zoom})}
|
||||
\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 is performed at 60rpm during 10 turns, and the obtained results are shown in Figure \ref{fig:ustation_errors_spindle}.
|
||||
A 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.
|
||||
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 with the rotation axis will be considered as it is very difficult to align in practice.
|
||||
The NASS will be used to actively keep the PoI on the rotation axis.
|
||||
The vertical motion induced by the scanning of the spindle is in the order of \(\pm 30\,nm\) (Figure \ref{fig:ustation_errors_spindle_axial}).
|
||||
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}
|
||||
@ -684,14 +686,14 @@ The vertical motion induced by the scanning of the spindle is in the order of \(
|
||||
\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. A circular best fit is shown by the dashed circle. It represents the misalignment of the spheres with the rotation axis.}
|
||||
\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}
|
||||
|
||||
In order 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 done using the multi-body that was presented in Section \ref{sec:ustation_modeling}.
|
||||
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]
|
||||
@ -720,7 +722,7 @@ The obtained transfer functions are shown in Figure \ref{fig:ustation_model_sens
|
||||
\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 Simscape 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.
|
||||
They are shown in Figure \ref{fig:ustation_dist_sources}.
|
||||
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}
|
||||
@ -741,13 +743,13 @@ They are shown in Figure \ref{fig:ustation_dist_sources}.
|
||||
\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 disturbances 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}).}
|
||||
\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, in order to perform time domain simulations, disturbances needs to be represented by a time domain.
|
||||
In order to generate stochastic time domain signals having the same power spectral densities as the ones estimated, the discrete inverse Fourier transform is used as explained in \cite[chap. 12.11]{preumont94_random_vibrat_spect_analy}.
|
||||
Examples of obtained time domain disturbance signals are shown in Figure \ref{fig:ustation_dist_sources_time}.
|
||||
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}
|
||||
@ -773,19 +775,19 @@ Examples of obtained time domain disturbance signals are shown in Figure \ref{fi
|
||||
|
||||
\chapter{Simulation of Scientific Experiments}
|
||||
\label{sec:ustation_experiments}
|
||||
In order to fully validate the micro-station multi-body model, two time domain simulations corresponding to typical use cases are performed.
|
||||
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) is performed and compared with experimental measurements (Section \ref{sec:ustation_experiments_tomography}).
|
||||
Second, a constant velocity scans with the translation stage is performed and also compared with experimental data (Section \ref{sec:ustation_experiments_ty_scans}).
|
||||
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 are simulation based on what was computed in Section \ref{sec:ustation_disturbances}.
|
||||
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 is recorded.
|
||||
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 are observed both for radial errors (Figure \ref{fig:ustation_errors_model_spindle_radial}) and axial errors (Figure \ref{fig:ustation_errors_model_spindle_axial}).
|
||||
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}
|
||||
@ -800,34 +802,34 @@ A good correlation with the measurements are observed both for radial errors (Fi
|
||||
\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 with a constant velocity of 60rpm. The comparison is made with measurements both for radial (\subref{fig:ustation_errors_model_spindle_radial}) and axial errors (\subref{fig:ustation_errors_model_spindle_axial}).}
|
||||
\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 is performed in which the translation stage is scanned with a constant velocity.
|
||||
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 are included in the simulation.
|
||||
Similar to what was performed for the tomography simulation, the PoI position with respect to the granite is recorded and compared with experimental measurements in Figure \ref{fig:ustation_errors_model_dy_vertical}.
|
||||
Similar error amplitude can be observed, thus indicating that the multi-body model with included disturbances is accurately representing the micro-station behavior for typical scientific experiments.
|
||||
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.}
|
||||
\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 found difficult to match the measured dynamics obtained from the modal analysis of the micro-station.
|
||||
However, the most important dynamical characteristics to be modelled is the compliance, as it is what impacts the dynamics of the NASS.
|
||||
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 that affect the sample's position should also be well modelled.
|
||||
After experimental estimation of 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 is scanned (Figure \ref{fig:ustation_errors_model_dy_vertical}).
|
||||
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}
|
||||
|
Loading…
Reference in New Issue
Block a user