Rework HAC section

This commit is contained in:
Thomas Dehaeze 2025-02-01 18:35:04 +01:00
parent 712cafabed
commit 301f4b51fc
33 changed files with 3284 additions and 3917 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -11,6 +11,18 @@
@book{skogestad07_multiv_feedb_contr,
author = {Skogestad, Sigurd and Postlethwaite, Ian},
title = {Multivariable Feedback Control: Analysis and Design -
Second Edition},
year = 2007,
publisher = {John Wiley},
isbn = 978-0470011683,
keywords = {favorite},
}
@inproceedings{dehaeze22_fastj_uhv,
author = {Thomas Dehaeze and Ludovic Ducott{\'e}},
title = {The Fastjack - A robust, UHV compatible and high

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,8 +1,13 @@
% Created 2025-02-01 Sat 12:10
% Created 2025-02-01 Sat 18:34
% Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
\input{preamble.tex}
\newacronym{nass}{NASS}{Nano Active Stabilization System}
\newacronym{fem}{FEM}{Finite Element Model}
\newacronym{apa}{APA}{Amplified Piezoelectric Actuator}
\newacronym{dac}{DAC}{Digital to Analog Converter}
\newacronym{rga}{RGA}{Relative Gain Array}
\input{preamble_extra.tex}
\bibliography{test-bench-id31.bib}
\author{Dehaeze Thomas}
@ -583,7 +588,10 @@ The good correlation between the modeled and measured damped plants confirms the
\chapter{High Authority Control in the frame of the struts}
\label{sec:test_id31_hac}
The position of the sample is actively stabilized by implementing a High-Authority-Controller as shown in Figure \ref{fig:test_id31_iff_hac_schematic}.
In this section, a High-Authority-Controller is developed to actively stabilize the sample's position.
The corresponding control architecture is shown in Figure \ref{fig:test_id31_iff_hac_schematic}.
As the diagonal terms of the damped plants were found to be all equal (thanks to the system's symmetry and manufacturing and mounting uniformity, see Figure \ref{fig:test_id31_hac_plant_effect_mass}), a diagonal high authority controller \(\bm{K}_{\text{HAC}}\) is implemented with all diagonal terms being equal \eqref{eq:eq:test_id31_hac_diagonal}.
\begin{equation}\label{eq:eq:test_id31_hac_diagonal}
\bm{K}_{\text{HAC}} = K_{\text{HAC}} \cdot \bm{I}_6 = \begin{bmatrix}
@ -601,7 +609,8 @@ K_{\text{HAC}} & & 0 \\
\section{Damped Plant}
\label{ssec:test_id31_iff_hac_plant}
To verify if the model accurately represents the damped plants, both direct terms and coupling terms corresponding to the first actuator are compared in Figure \ref{fig:test_id31_comp_simscape_hac}.
To verify whether the multi body model accurately represents the measured damped dynamics, both direct terms and coupling terms corresponding to the first actuator are compared in Figure \ref{fig:test_id31_comp_simscape_hac}.
Considering the complexity of the system's dynamics, the model can be considered to well represent the system's dynamics, and can therefore be used to tune the feedback controller and evaluate its performances.
\begin{figure}[htbp]
\centering
@ -609,49 +618,61 @@ To verify if the model accurately represents the damped plants, both direct term
\caption{\label{fig:test_id31_comp_simscape_hac}Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal (\(u_1^\prime\)) of the damped plant to the estimated errors (\(\epsilon_{\mathcal{L}_i}\)) in the frame of the six struts by the external metrology}
\end{figure}
The six direct terms for all four payload conditions are compared with the model in Figure \ref{fig:test_id31_hac_plant_effect_mass}.
It is shown that the model accurately represents the dynamics for all payloads.
In this section \ref{sec:test_id31_iff}, a High Authority Controller is tuned to be robust to the change of dynamics due to different payloads used.
Without decentralized IFF being applied, the controller would have had to be robust to all the undamped dynamics shown in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants}, which is a very complex control problem.
With the applied decentralized IFF, the HAC instead had to be be robust to all the damped dynamics shown in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants}, which is easier from a control perspective.
The challenge here is to tune an high authority controller such that it is robust to the change of dynamics due to different payloads being used.
Doing that without using the HAC-LAC strategy would require to design a controller which gives good performances for all the undamped dynamics (blue curves in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants}), which is a very complex control problem.
With the HAC-LAC strategy, the designed controller instead has to be be robust to all the damped dynamics (red curves in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants}), which is easier from a control perspective.
This is one of the key benefit of using the HAC-LAC strategy.
Comparison of all undamped \(\epsilon\mathcal{L}_i/u_i\) and damped \(\epsilon\mathcal{L}_i/u_i^\prime\) measured frequency response functions for all payloads is done in (\subref{fig:test_id31_comp_all_undamped_damped_plants}).
\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_hac_plant_effect_mass.png}
\end{center}
\subcaption{\label{fig:test_id31_hac_plant_effect_mass}Effect of payload mass on $\epsilon\mathcal{L}_i/u_i^\prime$}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_comp_all_undamped_damped_plants.png}
\end{center}
\subcaption{\label{fig:test_id31_comp_all_undamped_damped_plants}Undamped and damped plants}
\end{subfigure}
\caption{\label{fig:test_id31_hac_plant_effect_mass_comp_model}Comparison of the measured damped plants and modeled plants for all considered payloads, only ``direct'' terms (\(\epsilon\mathcal{L}_i/u_i^\prime\)) are displayed (\subref{fig:test_id31_hac_plant_effect_mass}). Comparison of all undamped \(\epsilon\mathcal{L}_i/u_i\) and damped \(\epsilon\mathcal{L}_i/u_i^\prime\) measured frequency response functions for all payloads is done in (\subref{fig:test_id31_comp_all_undamped_damped_plants}).}
\centering
\includegraphics[scale=1]{figs/test_id31_comp_all_undamped_damped_plants.png}
\caption{\label{fig:test_id31_comp_all_undamped_damped_plants}Comparison of the (six) direct terms for all (four) payload conditions in the undamped case (in blue) and the damped case (i.e. with the decentralized IFF being implemented, in red).}
\end{figure}
\section{Interaction Analysis}
Decoupled system up to 10Hz
Higher coupling for higher masses (when considering control in the frame of the struts)
\label{sec:test_id31_hac_interaction_analysis}
As the control strategy here is to apply a diagonal control in the frame of the struts, it is important to determine the frequency at which multivariable effects become significant, as this represents a critical limitation of the control approach.
To conduct this interaction analysis, the \acrfull{rga} \(\bm{\Lambda_G}\) is first computed using \eqref{eq:test_id31_rga} for the plant dynamics identified with the multiple payload masses.
\begin{equation}\label{eq:test_id31_rga}
\bm{\Lambda_G}(\omega) = \bm{G}(j\omega) \star \left(\bm{G}(j\omega)^{-1}\right)^{T}, \quad (\star \text{ means element wise multiplication})
\end{equation}
Then, \acrshort{rga} numbers are computed using \eqref{eq:test_id31_rga_number} and are use as a metric for interaction \cite[chapt. 3.4]{skogestad07_multiv_feedb_contr}.
\begin{equation}\label{eq:test_id31_rga_number}
\text{RGA number}(\omega) = \|\bm{\Lambda_G}(\omega) - \bm{I}\|_{\text{sum}}
\end{equation}
The obtained \acrshort{rga} numbers are compared in Figure \ref{fig:test_id31_hac_rga_number}.
The results indicates that higher payload masses increase the coupling when implementing control in the strut reference frame (i.e., decentralized approach).
This indicates that it is progressively more challenging to achieve high bandwidth performance as the payload mass increases.
This behavior can be attributed to the fundamental approach of implementing control in the frame of the struts.
Indeed, above the suspension modes of the nano-hexapod, the induced motion by the piezoelectric actuators is no longer dictated by the kinematics but rather by the inertia of the different parts.
This design choice, while beneficial for system simplicity, introduces inherent limitations in the system's ability to handle larger masses at high frequency.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_id31_hac_rga_number.png}
\caption{\label{fig:test_id31_hac_rga_number}RGA-number for the damped plants - Comparison of all the payload conditions}
\end{figure}
\section{Robust Controller Design}
\label{ssec:test_id31_iff_hac_controller}
A first diagonal controller was designed to be robust to change of payloads, which means that every damped plants shown in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants} should be considered during the controller design.
For a first design, a crossover frequency of \(5\,\text{Hz}\) for chosen.
A diagonal controller was designed to be robust to change of payloads, which means that every damped plants shown in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants} should be considered during the controller design.
For this controller design, a crossover frequency of \(5\,\text{Hz}\) was chosen to limit multivariable effects as explain in Section \ref{sec:test_id31_hac_interaction_analysis}.
One integrator is added to increase the low frequency gain, a lead is added around \(5\,\text{Hz}\) to increase the stability margins and a first order low pass filter with a cut-off frequency of \(30\,\text{Hz}\) is added to improve the robustness to dynamical uncertainty at high frequency.
The obtained ``decentralized'' loop-gains are shown in Figure \ref{fig:test_id31_hac_loop_gain}.
The controller transfer function is shown in \eqref{eq:test_id31_robust_hac}.
\begin{equation}\label{eq:test_id31_robust_hac}
K_{\text{HAC}} = g_0 \cdot \underbrace{\frac{\omega_c}{s}}_{\text{int}} \cdot \underbrace{\frac{1}{\sqrt{\alpha}}\frac{1 + \frac{s}{\omega_c/\sqrt{\alpha}}}{1 + \frac{s}{\omega_c\sqrt{\alpha}}}}_{\text{lead}} \cdot \underbrace{\frac{1}{1 + \frac{s}{\omega_0}}}_{\text{LPF}}, \quad \left( \omega_c = 2\pi5\,\text{rad/s},\ \alpha = 2,\ \omega_0 = 2\pi30\,\text{rad/s} \right)
K_{\text{HAC}}(s) = g_0 \cdot \underbrace{\frac{\omega_c}{s}}_{\text{int}} \cdot \underbrace{\frac{1}{\sqrt{\alpha}}\frac{1 + \frac{s}{\omega_c/\sqrt{\alpha}}}{1 + \frac{s}{\omega_c\sqrt{\alpha}}}}_{\text{lead}} \cdot \underbrace{\frac{1}{1 + \frac{s}{\omega_0}}}_{\text{LPF}}, \quad \left( \omega_c = 2\pi5\,\text{rad/s},\ \alpha = 2,\ \omega_0 = 2\pi30\,\text{rad/s} \right)
\end{equation}
The closed-loop stability is verified by computing the characteristic Loci (Figure \ref{fig:test_id31_hac_characteristic_loci}).
The obtained ``decentralized'' loop-gains (i.e. the diagonal element of the controller times the diagonal terms of the plant) are shown in Figure \ref{fig:test_id31_hac_loop_gain}.
Closed-loop stability is verified by computing the characteristic Loci (Figure \ref{fig:test_id31_hac_characteristic_loci}).
However, small stability margins are observed for the highest mass, indicating that some multivariable effects are in play.
\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
@ -669,12 +690,13 @@ The closed-loop stability is verified by computing the characteristic Loci (Figu
\caption{\label{fig:test_id31_hac_loop_gain_loci}Robust High Authority Controller. ``Decentralized loop-gains'' are shown in (\subref{fig:test_id31_hac_loop_gain}) and characteristic loci are shown in (\subref{fig:test_id31_hac_characteristic_loci})}
\end{figure}
\section{Estimation of performances with Tomography scans}
\section{Performance estimation with simulation of Tomography scans}
\label{ssec:test_id31_iff_hac_perf}
To estimate the performances that can be expected with this HAC-LAC architecture and the designed controllers, two simulations of tomography experiments were performed\footnote{Note that the eccentricity of the ``point of interest'' with respect to the Spindle rotation axis has been tuned from the measurements.}.
To estimate the performances that can be expected with this HAC-LAC architecture and the designed controller, simulations of tomography experiments were performed\footnote{Note that the eccentricity of the ``point of interest'' with respect to the Spindle rotation axis has been tuned based on measurements.}.
The rotational velocity was set to 30rpm, and no payload was added on top of the nano-hexapod.
An open-loop simulation and a closed-loop simulation were performed and compared in Figure \ref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim}.
The obtained closed-loop positioning accuracy was found to comply with the requirements as it succeeded to keep the point of interest on the beam (Figure \ref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz}).
\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
@ -692,6 +714,64 @@ An open-loop simulation and a closed-loop simulation were performed and compared
\caption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim}Position error of the sample in the XY (\subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_xy}) and YZ (\subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz}) planes during a simulation of a tomography experiment at 30RPM. No payload is placed on top of the nano-hexapod.}
\end{figure}
\section{Robustness estimation with simulation of Tomography scans}
\label{ssec:test_id31_iff_hac_robustness}
To verify the robustness to the change of payload mass, four simulations of tomography experiments were performed with payloads as shown Figure \ref{fig:test_id31_picture_masses} (i.e. \(0\,kg\), \(13\,kg\), \(26\,kg\) and \(39\,kg\)).
This time, the rotational velocity was set at 1rpm (i.e. 6deg/s), as it is the typical rotational velocity for heavy samples.
The closed-loop systems were stable for all payload conditions, indicating good control robustness.
However, the positioning errors are getting worse as the payload mass increases, especially in the lateral \(D_y\) direction, as shown in Figure \ref{fig:test_id31_hac_tomography_Wz36_simulation}.
Yet it was decided that this controller will be tested experimentally, and improved if necessary.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_id31_hac_tomography_Wz36_simulation.png}
\caption{\label{fig:test_id31_hac_tomography_Wz36_simulation}Positioning errors in the Y-Z plane during tomography experiments simulated using the multi-body model (in closed-loop)}
\end{figure}
\section*{Conclusion}
In this section, a High-Authority-Controller was developed to actively stabilize the sample's position.
The multi-body model was first validated by comparing it with measured frequency responses of the damped plant, showing good agreement for both direct terms and coupling terms.
This validation confirmed that the model could be reliably used to tune the feedback controller and evaluate its performances.
An interaction analysis using the RGA-number was then performed, revealing that higher payload masses lead to increased coupling when implementing control in the strut reference frame.
Based on this analysis, a diagonal controller with a crossover frequency of 5 Hz was designed, incorporating an integrator, a lead compensator, and a first order low-pass filter.
Finally, simulations of tomography experiments were performed to validate the HAC-LAC architecture.
The closed-loop system remained stable for all tested payload conditions (0 to 39 kg).
With no payload at 30 rpm, the NASS successfully kept the sample point of interested on the beam, which fulfills the specifications.
At 1 rpm, while positioning errors increased with the payload mass (particularly in the lateral direction), the system maintained stable.
These results demonstrate both the effectiveness and limitations of implementing control in the frame of the struts.
\chapter{Validation with Scientific experiments}
\label{sec:test_id31_experiments}
The online metrology prototype does not allow samples to be placed on top of the nano-hexapod while being illuminated by the x-ray beam.
However, in order to fully validate the NASS, typical motion performed during scientific experiments can be mimicked, and the positioning performances can be evaluated.
For tomography scans, performances were already evaluated in Section \ref{ssec:test_id31_iff_hac_perf}.
Here, other typical experiments are performed:
\begin{itemize}
\item \emph{Lateral scans}: the \(T_y\) translations stage performs \(D_y\) scans and the errors are corrected by the NASS in real time (Section \ref{ssec:test_id31_scans_dy})
\item \emph{Vertical layer scans}: the nano-hexapod is used to perform \(D_z\) step motion or ramp scans (Section \ref{ssec:test_id31_scans_dz})
\item \emph{Reflectivity scans}: the tilt stage is doing \(R_y\) rotations and the errors are corrected by the NASS in real time (Section \ref{ssec:test_id31_scans_reflectivity})
\item \emph{Diffraction Tomography}: the Spindle is performing continuous \(R_z\) rotation while the translation stage is performing lateral \(D_y\) scans at the same time.
This is the experiment with the most stringent requirements (Section \ref{ssec:test_id31_scans_diffraction_tomo})
\end{itemize}
\section{\(R_z\) scans: Tomography}
\label{ssec:test_id31_scans_tomography}
\textbf{Issue with this control architecture (or controller?)}:
\begin{itemize}
\item The position is not converging to zero
\end{itemize}
\textbf{Compare}:
\begin{itemize}
\item 1rpm, 6rpm, 30rpm
\item at 1rpm: m0, m1, m2, m3 (same robust controller!)
\end{itemize}
\paragraph{Previous results at 30rpm}
Then the same tomography experiment (i.e. constant spindle rotation at 30rpm, and no payload) was performed experimentally.
The measured position of the ``point of interest'' during the experiment are shown in Figure \ref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp}.
@ -735,16 +815,7 @@ Specifications & \(30\,\text{nmRMS}\) & \(15\,\text{nmRMS}\) & \(250\,\text{nrad
\end{table}
\section{Robustness to change of payload}
\label{ssec:test_id31_iff_hac_robustness}
\begin{itemize}
\item[{$\square$}] Make simulations with all masses?
\end{itemize}
To verify the robustness to the change of payload mass, four simulations of tomography experiments were performed with payloads as shown Figure \ref{fig:test_id31_picture_masses} (i.e. \(0\,kg\), \(13\,kg\), \(26\,kg\) and \(39\,kg\)).
This time, the rotational velocity was set at 1rpm (i.e. 6deg/s), as it is the typical rotational velocity for heavy samples.
The closed-loop systems were stable for all payload conditions, indicating good control robustness.
\paragraph{Previous results at 1rpm}
The tomography experiments that were simulated were then experimentally conducted.
For each payload, a spindle rotating was first performed in open-loop, and then the loop was closed during another full spindle rotation.
@ -796,75 +867,12 @@ The obtained closed-loop errors are fulfilling the requirements, except for the
\end{table}
\section{Dynamic Error Budgeting}
\label{sec:test_id31_iff_hac_error_budget}
In this section, the noise budget is performed.
The vibrations of the sample is measured in different conditions using the external metrology.
\textbf{Tomography}:
\begin{itemize}
\item Beam size: 200nm x 100nm
\item Keep the PoI in the beam: peak to peak errors of 200nm in Dy and 100nm in Dz
\item RMS errors (/ by 6.6) gives 30nmRMS in Dy and 15nmRMS in Dz.
\item Ry error <1.7urad, 250nrad RMS
\end{itemize}
\begin{center}
\begin{tabular}{lllllll}
& Dx & Dy & Dz & Rx & Ry & Rz\\
\hline
peak 2 peak & & 200nm & 100nm & & 1.7 urad & \\
RMS & & 30nm & 15nm & & 250 nrad & \\
\end{tabular}
\end{center}
\paragraph{Open-Loop Noise Budget}
\begin{itemize}
\item Effect of rotation.
\item Comparison with measurement noise: should be higher
\item Maybe say that we then focus on the high rotation velocity
\item Also say that for the RMS errors, we don't take into account drifts (so we NASS we can correct drifts)
\end{itemize}
\paragraph{Effect of LAC}
\begin{itemize}
\item[{$\square$}] Maybe merge this with the HAC-LAC
\end{itemize}
Effect of LAC:
\begin{itemize}
\item reduce amplitude around 80Hz
\item Inject some noise between 200 and 700Hz?
\end{itemize}
\paragraph{Effect of HAC}
Bandwidth is approximately 10Hz.
\section*{Conclusion}
\chapter{Validation with Scientific experiments}
\label{sec:test_id31_experiments}
The online metrology prototype does not allow samples to be placed on top of the nano-hexapod while being illuminated by the x-ray beam.
However, in order to fully validate the NASS, typical motion performed during scientific experiments can be mimicked, and the positioning performances can be evaluated.
For tomography scans, performances were already evaluated in Section \ref{ssec:test_id31_iff_hac_perf}.
Here, other typical experiments are performed:
\begin{itemize}
\item \emph{Lateral scans}: the \(T_y\) translations stage performs \(D_y\) scans and the errors are corrected by the NASS in real time (Section \ref{ssec:test_id31_scans_dy})
\item \emph{Vertical layer scans}: the nano-hexapod is used to perform \(D_z\) step motion or ramp scans (Section \ref{ssec:test_id31_scans_dz})
\item \emph{Reflectivity scans}: the tilt stage is doing \(R_y\) rotations and the errors are corrected by the NASS in real time (Section \ref{ssec:test_id31_scans_reflectivity})
\item \emph{Diffraction Tomography}: the Spindle is performing continuous \(R_z\) rotation while the translation stage is performing lateral \(D_y\) scans at the same time.
This is the experiment with the most stringent requirements (Section \ref{ssec:test_id31_scans_diffraction_tomo})
\end{itemize}
\section{\(D_y\) - Lateral Scans}
\label{ssec:test_id31_scans_dy}
Lateral scans are performed with the \(T_y\) stage.
The stepper motor controller\footnote{The ``IcePAP'' \cite{janvier13_icepap} which is developed at the ESRF} outputs the setpoint which is received by the Speedgoat.
In the Speedgoat, the setpoint is compared with the measured \(D_y\) position of the top-platform, and the Nano-Hexapod is used to correct positioning errors induced by the scanning of the \(T_y\) stage.
The stroke is here limited to \(\pm 100\,\mu m\) due to the limited acceptance of the metrology system.
\paragraph{Slow scan}
The \(T_y\) stage is first scanned with a velocity of \(10\,\mu m/s\) which is typical for such experiments.