Rework open-loop identification

This commit is contained in:
Thomas Dehaeze 2025-02-01 10:37:12 +01:00
parent 155c95845a
commit de7f923b1a
3 changed files with 72 additions and 72 deletions

View File

@ -206,7 +206,8 @@ One big advantage of doing the control in the cartesian plane, is that we don't
Maybe this should be done in A6 (simscape-nass). Maybe this should be done in A6 (simscape-nass).
Here it can be reminded when doing the control in the cartesian frame. Here it can be reminded when doing the control in the cartesian frame.
** TODO [#A] Add same specifications for all the curves ** DONE [#A] Add same specifications for all the curves
CLOSED: [2025-02-01 Sat 10:22]
Peak to peak errors: Peak to peak errors:
- Dz < +/- 50nm - Dz < +/- 50nm
@ -245,7 +246,9 @@ Fn => Vs
- RPM - RPM
- rpm - rpm
- Wz (deg/s) - *Wz (deg/s)*
Maybe deg/s is the most adequate
Make a choice, and then adapt all notations. Make a choice, and then adapt all notations.
Also, change the =initializeReferences= to accept the chosen description instead of =period=. Also, change the =initializeReferences= to accept the chosen description instead of =period=.
@ -393,6 +396,11 @@ This means that height of nano-hexapod <=> beam is 800 - 530 - 95 = *175mm and n
it seems 150mm was used for the metrology jacobian! it seems 150mm was used for the metrology jacobian!
- [X] If something is change, update the previous Simscape models - [X] If something is change, update the previous Simscape models
** TODO [#C] Verify notations
$\bm{\epsilon\mathcal{L}}$ and not $\bm{e\mathcal{L}}$
$\bm{\epsilon\mathcal{X}}$ and not $\bm{e\mathcal{L}}$
** CANC [#B] Should the micro-hexapod position be adjusted to match the experiment ** CANC [#B] Should the micro-hexapod position be adjusted to match the experiment
CLOSED: [2024-11-13 Wed 18:05] CLOSED: [2024-11-13 Wed 18:05]
@ -411,7 +419,7 @@ First identification:
- New identification for all masses - New identification for all masses
- Better match with Simscape model! - Better match with Simscape model!
** QUES [#B] Why now we have minimum phase zero for IFF Plant? ** QUES [#C] Why now we have minimum phase zero for IFF Plant?
** CANC [#C] Find identification where Rz was not taken into account ** CANC [#C] Find identification where Rz was not taken into account
CLOSED: [2024-11-12 Tue 16:03] CLOSED: [2024-11-12 Tue 16:03]
@ -919,28 +927,26 @@ exportFig('figs/test_id31_xy_map_sphere.pdf', 'width', 'half', 'height', 'normal
#+end_subfigure #+end_subfigure
#+end_figure #+end_figure
* Identified Open Loop Plant * Open Loop Plant
:PROPERTIES: :PROPERTIES:
:header-args:matlab+: :tangle matlab/test_id31_2_open_loop_plant.m :header-args:matlab+: :tangle matlab/test_id31_2_open_loop_plant.m
:END: :END:
<<sec:test_id31_open_loop_plant>> <<sec:test_id31_open_loop_plant>>
** Introduction :ignore: ** Introduction :ignore:
The NASS plant is schematically shown in Figure ref:fig:test_id31_block_schematic_plant.
The input $\bm{u} = [u_1,\ u_2,\ u_3,\ u_4,\ u_5,\ u_6]$ is the command signal and corresponds to the voltages generated for each piezoelectric actuator.
After amplification, the voltages across the piezoelectric stack actuators are $\bm{V}_a = [V_{a1},\ V_{a2},\ V_{a3},\ V_{a4},\ V_{a5},\ V_{a6}]$.
From the setpoint of micro-station stages ($r_{D_y}$ for the translation stage, $r_{R_y}$ for the tilt stage and $r_{R_z}$ for the spindle), the reference pose of the sample $\bm{r}_{\mathcal{X}}$ is computed using the micro-station's kinematics.
The sample's position $\bm{y}_\mathcal{X} = [D_x,\,D_y,\,D_z,\,R_x,\,R_y,\,R_z]$ is measured using multiple sensors.
First, the five interferometers $\bm{d} = [d_{1},\ d_{2},\ d_{3},\ d_{4},\ d_{5}]$ are used to measure the $[D_x,\,D_y,\,D_z,\,R_x,\,R_y]$ degrees of freedom of the sample.
The $R_z$ position of the sample is computed from the spindle's setpoint $r_{R_z}$ and from the 6 encoders $\bm{d}_e$ integrated in the nano-hexapod.
- Force sensors: $\bm{V}_s = [V_{s1},\ V_{s2},\ V_{s3},\ V_{s4},\ V_{s5},\ V_{s6}]$ The sample's position $\bm{y}_{\mathcal{X}}$ is compared to the reference position $\bm{r}_{\mathcal{X}}$ to compute the position error in the frame of the (rotating) nano-hexapod $\bm{\epsilon\mathcal{X}} = [\epsilon_{D_x},\,\epsilon_{D_y},\,\epsilon_{D_z},\,\epsilon_{R_x},\,\epsilon_{R_y},\,\epsilon_{R_z}]$.
- Encoders: $\bm{d}_e = [d_{e1},\ d_{e2},\ d_{e3},\ d_{e4},\ d_{e5},\ d_{e6}]$ Finally, the Jacobian matrix $\bm{J}$ of the nano-hexapod is used to map $\bm{\epsilon\mathcal{X}}$ in the frame of the nano-hexapod struts $\bm{\epsilon\mathcal{L}} = [\epsilon_{\mathcal{L}_1},\,\epsilon_{\mathcal{L}_2},\,\epsilon_{\mathcal{L}_3},\,\epsilon_{\mathcal{L}_4},\,\epsilon_{\mathcal{L}_5},\,\epsilon_{\mathcal{L}_6}]$.
- Interferometers: $\bm{d} = [d_{1},\ d_{2},\ d_{3},\ d_{4},\ d_{5}]$
- Command signal: $\bm{u} = [u_1,\ u_2,\ u_3,\ u_4,\ u_5,\ u_6]$ Voltages generated by the force sensor piezoelectric stacks $\bm{V}_s = [V_{s1},\ V_{s2},\ V_{s3},\ V_{s4},\ V_{s5},\ V_{s6}]$ will be used for active damping.
- Voltage across the piezoelectric stack actuator: $\bm{V}_a = [V_{a1},\ V_{a2},\ V_{a3},\ V_{a4},\ V_{a5},\ V_{a6}]$
- Motion of the sample measured by external metrology: $\bm{y}_\mathcal{X} = [D_x,\,D_y,\,D_z,\,R_x,\,R_y,\,R_z]$
# - Sample motion expressed in the nano-hexapod frame: $\bm{\mathcal{X}} = [\epsilon_{D_x},\,\epsilon_{D_y},\,\epsilon_{D_z},\,\epsilon_{R_x},\,\epsilon_{R_y},\,\epsilon_{R_z}]$
# - Motion of the struts measured by external metrology: $\bm{\mathcal{L}} = [\mathcal{L}_1,\,\mathcal{L}_2,\,\mathcal{L}_3,\,\mathcal{L}_4,\,\mathcal{L}_5,\,\mathcal{L}_6]$
- Error of the sample measured by external metrology: $\bm{\epsilon\mathcal{X}} = [\epsilon_{D_x},\,\epsilon_{D_y},\,\epsilon_{D_z},\,\epsilon_{R_x},\,\epsilon_{R_y},\,\epsilon_{R_z}]$
- Error of the struts measured by external metrology: $\bm{\epsilon\mathcal{L}} = [\epsilon_{\mathcal{L}_1},\,\epsilon_{\mathcal{L}_2},\,\epsilon_{\mathcal{L}_3},\,\epsilon_{\mathcal{L}_4},\,\epsilon_{\mathcal{L}_5},\,\epsilon_{\mathcal{L}_6}]$
- Spindle angle setpoint (or encoder): $r_{R_z}$
- Translation stage setpoint: $r_{D_y}$
- Tilt stage setpoint: $r_{R_y}$
#+begin_src latex :file test_id31_block_schematic_plant.pdf #+begin_src latex :file test_id31_block_schematic_plant.pdf
\begin{tikzpicture} \begin{tikzpicture}
@ -994,7 +1000,7 @@ exportFig('figs/test_id31_xy_map_sphere.pdf', 'width', 'half', 'height', 'normal
#+end_src #+end_src
#+name: fig:test_id31_block_schematic_plant #+name: fig:test_id31_block_schematic_plant
#+caption: Schematic of the #+caption: Schematic of the NASS plant
#+RESULTS: #+RESULTS:
[[file:figs/test_id31_block_schematic_plant.png]] [[file:figs/test_id31_block_schematic_plant.png]]
@ -1027,7 +1033,7 @@ exportFig('figs/test_id31_xy_map_sphere.pdf', 'width', 'half', 'height', 'normal
<<m-init-other>> <<m-init-other>>
#+end_src #+end_src
** First Open-Loop Plant Identification ** Open-Loop Plant Identification
<<ssec:test_id31_open_loop_plant_first_id>> <<ssec:test_id31_open_loop_plant_first_id>>
The plant dynamics is first identified for a fixed spindle angle (at $0\,\text{deg}$) and without any payload. The plant dynamics is first identified for a fixed spindle angle (at $0\,\text{deg}$) and without any payload.
@ -1035,10 +1041,10 @@ The model dynamics is also identified in the same conditions.
A first comparison between the model and the measured dynamics is done in Figure ref:fig:test_id31_first_id. A first comparison between the model and the measured dynamics is done in Figure ref:fig:test_id31_first_id.
A good match can be observed for the diagonal dynamics (except the high frequency modes which are not modeled). A good match can be observed for the diagonal dynamics (except the high frequency modes which are not modeled).
However, the coupling for the transfer function from command signals $\bm{u}$ to estimated strut motion from the external metrology $e\bm{\mathcal{L}}$ is larger than expected (Figure ref:fig:test_id31_first_id_int). However, the coupling for the transfer function from command signals $\bm{u}$ to the estimated strut motion from the external metrology $\bm{\epsilon\mathcal{L}}$ is larger than expected (Figure ref:fig:test_id31_first_id_int).
The experimental time delay estimated from the FRF (Figure ref:fig:test_id31_first_id_int) is larger than expected. The experimental time delay estimated from the FRF (Figure ref:fig:test_id31_first_id_int) is larger than expected.
After investigation, it was found that the additional delay was due to digital processing unit[fn:3] that was used to read the interferometers in the Speedgoat. After investigation, it was found that the additional delay was due to a digital processing unit[fn:3] that was used to get the interferometers' signals in the Speedgoat.
This issue was later solved. This issue was later solved.
#+begin_src matlab #+begin_src matlab
@ -1220,7 +1226,7 @@ exportFig('figs/test_id31_first_id_iff.pdf', 'width', 'half', 'height', 600);
#+end_src #+end_src
#+name: fig:test_id31_first_id #+name: fig:test_id31_first_id
#+caption: Comparison between the measured dynamics and the multi-body model dynamics. Both for the external metrology (\subref{fig:test_id31_first_id_int}) and force sensors (\subref{fig:test_id31_first_id_iff}). #+caption: Comparison between the measured dynamics and the multi-body model dynamics. Both for the external metrology (\subref{fig:test_id31_first_id_int}) and force sensors (\subref{fig:test_id31_first_id_iff}). Direct terms are displayed with solid lines while off-diagonal (i.e. coupling) terms are shown with shaded lines.
#+attr_latex: :options [htbp] #+attr_latex: :options [htbp]
#+begin_figure #+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:test_id31_first_id_int}External Metrology} #+attr_latex: :caption \subcaption{\label{fig:test_id31_first_id_int}External Metrology}
@ -1241,12 +1247,12 @@ exportFig('figs/test_id31_first_id_iff.pdf', 'width', 'half', 'height', 600);
<<ssec:test_id31_open_loop_plant_rz_alignment>> <<ssec:test_id31_open_loop_plant_rz_alignment>>
One possible explanation of the increased coupling observed in Figure ref:fig:test_id31_first_id_int is the poor alignment between the external metrology axes (i.e. the interferometer supports) and the nano-hexapod axes. One possible explanation of the increased coupling observed in Figure ref:fig:test_id31_first_id_int is the poor alignment between the external metrology axes (i.e. the interferometer supports) and the nano-hexapod axes.
To estimate this alignment, a decentralized low-bandwidth feedback controller based on the nano-hexapod encoders is implemented. To estimate this alignment, a decentralized low-bandwidth feedback controller based on the nano-hexapod encoders was implemented.
This allowed to perform two straight movements of the nano-hexapod along the $x$ and $y$ axes in the frame of the nano-hexapod. This allowed to perform two straight movements of the nano-hexapod along its $x$ and $y$ axes.
During these two movements, the external metrology measurement is recorded and shown in Figure ref:fig:test_id31_Rz_align_error. During these two movements, the external metrology measurement was recorded and are shown in Figure ref:fig:test_id31_Rz_align_error.
It was found that there is a misalignment of 2.7 degrees (rotation along the vertical axis) between the interferometer axes and nano-hexapod axes. It was found that there is a misalignment of 2.7 degrees (rotation along the vertical axis) between the interferometer axes and nano-hexapod axes.
This was corrected by adding an offset to the spindle angle. This was corrected by adding an offset to the spindle angle.
To check that the alignment has improved, the same movement was performed using the nano-hexapod while recording the signal of the external metrology. After alignment, the same movement was performed using the nano-hexapod while recording the signal of the external metrology.
Results shown in Figure ref:fig:test_id31_Rz_align_correct are indeed indicating much better alignment. Results shown in Figure ref:fig:test_id31_Rz_align_correct are indeed indicating much better alignment.
#+begin_src matlab #+begin_src matlab
@ -1335,10 +1341,7 @@ exportFig('figs/test_id31_Rz_align_correct.pdf', 'width', 'half', 'height', 'nor
#+end_subfigure #+end_subfigure
#+end_figure #+end_figure
** Open-Loop Identification after alignment The plant dynamics was identified again after the fine alignment and is compared with the model dynamics in Figure ref:fig:test_id31_first_id_int_better_rz_align.
<<ssec:test_id31_open_loop_plant_after_alignment>>
The plant dynamics is identified after the fine alignment and is compared with the model dynamics in Figure ref:fig:test_id31_first_id_int_better_rz_align.
Compared to the initial identification shown in Figure ref:fig:test_id31_first_id_int, the obtained coupling has decreased and is now close to the coupling obtained with the multi-body model. Compared to the initial identification shown in Figure ref:fig:test_id31_first_id_int, the obtained coupling has decreased and is now close to the coupling obtained with the multi-body model.
At low frequency (below $10\,\text{Hz}$) all the off-diagonal elements have an amplitude $\approx 100$ times lower compared to the diagonal elements, indicating that a low bandwidth feedback controller can be implemented in a decentralized way (i.e. $6$ SISO controllers). At low frequency (below $10\,\text{Hz}$) all the off-diagonal elements have an amplitude $\approx 100$ times lower compared to the diagonal elements, indicating that a low bandwidth feedback controller can be implemented in a decentralized way (i.e. $6$ SISO controllers).
Between $650\,\text{Hz}$ and $1000\,\text{Hz}$, several modes can be observed that are due to flexible modes of the top platform and modes of the two spheres adjustment mechanism. Between $650\,\text{Hz}$ and $1000\,\text{Hz}$, several modes can be observed that are due to flexible modes of the top platform and modes of the two spheres adjustment mechanism.
@ -1405,8 +1408,10 @@ exportFig('figs/test_id31_first_id_int_better_rz_align.pdf', 'width', 'wide', 'h
** Effect of Payload Mass ** Effect of Payload Mass
<<ssec:test_id31_open_loop_plant_mass>> <<ssec:test_id31_open_loop_plant_mass>>
The system dynamics was identified with four payload conditions that are shown in Figure ref:fig:test_id31_picture_masses. In order to see how the system dynamics changes with the payload, open-loop identification was performed for four payload conditions that are shown in Figure ref:fig:test_id31_picture_masses.
The obtained direct terms are compared with the model dynamics in Figure ref:fig:test_nhexa_comp_simscape_diag_masses. The obtained direct terms are compared with the model dynamics in Figure ref:fig:test_nhexa_comp_simscape_diag_masses.
It is shown that the model dynamics well predicts the measured dynamics for all payload conditions.
Therefore the model can be used for model-based control is necessary.
It is interesting to note that the anti-resonances in the force sensor plant are now appearing as minimum-phase, as the model predicts (Figure ref:fig:test_id31_comp_simscape_iff_diag_masses). It is interesting to note that the anti-resonances in the force sensor plant are now appearing as minimum-phase, as the model predicts (Figure ref:fig:test_id31_comp_simscape_iff_diag_masses).
@ -1754,8 +1759,7 @@ exportFig('figs/test_id31_comp_simscape_iff_diag_masses.pdf', 'width', 'half', '
** Effect of Spindle Rotation ** Effect of Spindle Rotation
<<ssec:test_id31_open_loop_plant_rotation>> <<ssec:test_id31_open_loop_plant_rotation>>
The dynamics was then identified while the Spindle was rotating at constant velocity. To verify that all the kinematics in Figure ref:fig:test_id31_block_schematic_plant are correct and to check whether the system dynamics is affected by Spindle rotation of not, three identification experiments were performed: no spindle rotation, spindle rotation at $36\,\text{deg}/s$ and at $180\,\text{deg}/s$.
Three identification experiments were performed: no spindle rotation, spindle rotation at $36\,\text{deg}/s$ and at $180\,\text{deg}/s$.
The comparison of the obtained dynamics from command signal $u$ to estimated strut error $e\mathcal{L}$ is done in Figure ref:fig:test_id31_effect_rotation. The comparison of the obtained dynamics from command signal $u$ to estimated strut error $e\mathcal{L}$ is done in Figure ref:fig:test_id31_effect_rotation.
Both direct terms (Figure ref:fig:test_id31_effect_rotation_direct) and coupling terms (Figure ref:fig:test_id31_effect_rotation_coupling) are unaffected by the rotation. Both direct terms (Figure ref:fig:test_id31_effect_rotation_direct) and coupling terms (Figure ref:fig:test_id31_effect_rotation_coupling) are unaffected by the rotation.
@ -1924,10 +1928,9 @@ exportFig('figs/test_id31_effect_rotation_coupling.pdf', 'width', 'half', 'heigh
:UNNUMBERED: t :UNNUMBERED: t
:END: :END:
Thanks to the model, poor alignment between the nano-hexapod axes and the external metrology axes could be identified. The identified frequency response functions from command signals $\bm{u}$ to the force sensors $\bm{V}_s$ and to the estimated strut errors $\bm{\epsilon\mathcal{L}}$ are well matching the developed multi-body model.
After alignment, the identified dynamics is well matching with the multi-body model. Effect of payload mass is shown to be well predicted by the model, which can be useful if robust model based control is to be used.
The spindle rotation has no visible effect on the measured dynamics, indicating that controllers should be robust to the spindle rotation.
Also, the observed effects of the payload mass and of the spindle rotation on the dynamics are well matching the model predictions.
* Decentralized Integral Force Feedback * Decentralized Integral Force Feedback
:PROPERTIES: :PROPERTIES:

Binary file not shown.

View File

@ -1,4 +1,4 @@
% Created 2025-01-31 Fri 18:54 % Created 2025-02-01 Sat 10:36
% Intended LaTeX compiler: pdflatex % Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt} \documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
@ -267,28 +267,28 @@ The effect of the noise on the translation and rotation measurements is estimate
\caption{\label{fig:test_id31_metrology_errors}Estimated measurement errors of the metrology. Cross-coupling between lateral motion and vertical measurement is shown in (\subref{fig:test_id31_xy_map_sphere}). Effect of interferometer noise on the measured translations and rotations is shown in (\subref{fig:test_id31_interf_noise}).} \caption{\label{fig:test_id31_metrology_errors}Estimated measurement errors of the metrology. Cross-coupling between lateral motion and vertical measurement is shown in (\subref{fig:test_id31_xy_map_sphere}). Effect of interferometer noise on the measured translations and rotations is shown in (\subref{fig:test_id31_interf_noise}).}
\end{figure} \end{figure}
\chapter{Identified Open Loop Plant} \chapter{Open Loop Plant}
\label{sec:test_id31_open_loop_plant} \label{sec:test_id31_open_loop_plant}
\begin{itemize} The NASS plant is schematically shown in Figure \ref{fig:test_id31_block_schematic_plant}.
\item Force sensors: \(\bm{V}_s = [V_{s1},\ V_{s2},\ V_{s3},\ V_{s4},\ V_{s5},\ V_{s6}]\) The input \(\bm{u} = [u_1,\ u_2,\ u_3,\ u_4,\ u_5,\ u_6]\) is the command signal and corresponds to the voltages generated for each piezoelectric actuator.
\item Encoders: \(\bm{d}_e = [d_{e1},\ d_{e2},\ d_{e3},\ d_{e4},\ d_{e5},\ d_{e6}]\) After amplification, the voltages across the piezoelectric stack actuators are \(\bm{V}_a = [V_{a1},\ V_{a2},\ V_{a3},\ V_{a4},\ V_{a5},\ V_{a6}]\).
\item Interferometers: \(\bm{d} = [d_{1},\ d_{2},\ d_{3},\ d_{4},\ d_{5}]\)
\item Command signal: \(\bm{u} = [u_1,\ u_2,\ u_3,\ u_4,\ u_5,\ u_6]\) From the setpoint of micro-station stages (\(r_{D_y}\) for the translation stage, \(r_{R_y}\) for the tilt stage and \(r_{R_z}\) for the spindle), the reference pose of the sample \(\bm{r}_{\mathcal{X}}\) is computed using the micro-station's kinematics.
\item Voltage across the piezoelectric stack actuator: \(\bm{V}_a = [V_{a1},\ V_{a2},\ V_{a3},\ V_{a4},\ V_{a5},\ V_{a6}]\) The sample's position \(\bm{y}_\mathcal{X} = [D_x,\,D_y,\,D_z,\,R_x,\,R_y,\,R_z]\) is measured using multiple sensors.
\item Motion of the sample measured by external metrology: \(\bm{y}_\mathcal{X} = [D_x,\,D_y,\,D_z,\,R_x,\,R_y,\,R_z]\) First, the five interferometers \(\bm{d} = [d_{1},\ d_{2},\ d_{3},\ d_{4},\ d_{5}]\) are used to measure the \([D_x,\,D_y,\,D_z,\,R_x,\,R_y]\) degrees of freedom of the sample.
\item Error of the sample measured by external metrology: \(\bm{\epsilon\mathcal{X}} = [\epsilon_{D_x},\,\epsilon_{D_y},\,\epsilon_{D_z},\,\epsilon_{R_x},\,\epsilon_{R_y},\,\epsilon_{R_z}]\) The \(R_z\) position of the sample is computed from the spindle's setpoint \(r_{R_z}\) and from the 6 encoders \(\bm{d}_e\) integrated in the nano-hexapod.
\item Error of the struts measured by external metrology: \(\bm{\epsilon\mathcal{L}} = [\epsilon_{\mathcal{L}_1},\,\epsilon_{\mathcal{L}_2},\,\epsilon_{\mathcal{L}_3},\,\epsilon_{\mathcal{L}_4},\,\epsilon_{\mathcal{L}_5},\,\epsilon_{\mathcal{L}_6}]\)
\item Spindle angle setpoint (or encoder): \(r_{R_z}\) The sample's position \(\bm{y}_{\mathcal{X}}\) is compared to the reference position \(\bm{r}_{\mathcal{X}}\) to compute the position error in the frame of the (rotating) nano-hexapod \(\bm{\epsilon\mathcal{X}} = [\epsilon_{D_x},\,\epsilon_{D_y},\,\epsilon_{D_z},\,\epsilon_{R_x},\,\epsilon_{R_y},\,\epsilon_{R_z}]\).
\item Translation stage setpoint: \(r_{D_y}\) Finally, the Jacobian matrix \(\bm{J}\) of the nano-hexapod is used to map \(\bm{\epsilon\mathcal{X}}\) in the frame of the nano-hexapod struts \(\bm{\epsilon\mathcal{L}} = [\epsilon_{\mathcal{L}_1},\,\epsilon_{\mathcal{L}_2},\,\epsilon_{\mathcal{L}_3},\,\epsilon_{\mathcal{L}_4},\,\epsilon_{\mathcal{L}_5},\,\epsilon_{\mathcal{L}_6}]\).
\item Tilt stage setpoint: \(r_{R_y}\)
\end{itemize} Voltages generated by the force sensor piezoelectric stacks \(\bm{V}_s = [V_{s1},\ V_{s2},\ V_{s3},\ V_{s4},\ V_{s5},\ V_{s6}]\) will be used for active damping.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/test_id31_block_schematic_plant.png} \includegraphics[scale=1]{figs/test_id31_block_schematic_plant.png}
\caption{\label{fig:test_id31_block_schematic_plant}Schematic of the} \caption{\label{fig:test_id31_block_schematic_plant}Schematic of the NASS plant}
\end{figure} \end{figure}
\section{First Open-Loop Plant Identification} \section{Open-Loop Plant Identification}
\label{ssec:test_id31_open_loop_plant_first_id} \label{ssec:test_id31_open_loop_plant_first_id}
The plant dynamics is first identified for a fixed spindle angle (at \(0\,\text{deg}\)) and without any payload. The plant dynamics is first identified for a fixed spindle angle (at \(0\,\text{deg}\)) and without any payload.
@ -296,10 +296,10 @@ The model dynamics is also identified in the same conditions.
A first comparison between the model and the measured dynamics is done in Figure \ref{fig:test_id31_first_id}. A first comparison between the model and the measured dynamics is done in Figure \ref{fig:test_id31_first_id}.
A good match can be observed for the diagonal dynamics (except the high frequency modes which are not modeled). A good match can be observed for the diagonal dynamics (except the high frequency modes which are not modeled).
However, the coupling for the transfer function from command signals \(\bm{u}\) to estimated strut motion from the external metrology \(e\bm{\mathcal{L}}\) is larger than expected (Figure \ref{fig:test_id31_first_id_int}). However, the coupling for the transfer function from command signals \(\bm{u}\) to the estimated strut motion from the external metrology \(\bm{\epsilon\mathcal{L}}\) is larger than expected (Figure \ref{fig:test_id31_first_id_int}).
The experimental time delay estimated from the FRF (Figure \ref{fig:test_id31_first_id_int}) is larger than expected. The experimental time delay estimated from the FRF (Figure \ref{fig:test_id31_first_id_int}) is larger than expected.
After investigation, it was found that the additional delay was due to digital processing unit\footnote{The ``PEPU'' \cite{hino18_posit_encod_proces_unit} was used for digital protocol conversion between the interferometers and the Speedgoat} that was used to read the interferometers in the Speedgoat. After investigation, it was found that the additional delay was due to a digital processing unit\footnote{The ``PEPU'' \cite{hino18_posit_encod_proces_unit} was used for digital protocol conversion between the interferometers and the Speedgoat} that was used to get the interferometers' signals in the Speedgoat.
This issue was later solved. This issue was later solved.
\begin{figure}[htbp] \begin{figure}[htbp]
@ -315,19 +315,19 @@ This issue was later solved.
\end{center} \end{center}
\subcaption{\label{fig:test_id31_first_id_iff}Force Sensors} \subcaption{\label{fig:test_id31_first_id_iff}Force Sensors}
\end{subfigure} \end{subfigure}
\caption{\label{fig:test_id31_first_id}Comparison between the measured dynamics and the multi-body model dynamics. Both for the external metrology (\subref{fig:test_id31_first_id_int}) and force sensors (\subref{fig:test_id31_first_id_iff}).} \caption{\label{fig:test_id31_first_id}Comparison between the measured dynamics and the multi-body model dynamics. Both for the external metrology (\subref{fig:test_id31_first_id_int}) and force sensors (\subref{fig:test_id31_first_id_iff}). Direct terms are displayed with solid lines while off-diagonal (i.e. coupling) terms are shown with shaded lines.}
\end{figure} \end{figure}
\section{Better Angular Alignment} \section{Better Angular Alignment}
\label{ssec:test_id31_open_loop_plant_rz_alignment} \label{ssec:test_id31_open_loop_plant_rz_alignment}
One possible explanation of the increased coupling observed in Figure \ref{fig:test_id31_first_id_int} is the poor alignment between the external metrology axes (i.e. the interferometer supports) and the nano-hexapod axes. One possible explanation of the increased coupling observed in Figure \ref{fig:test_id31_first_id_int} is the poor alignment between the external metrology axes (i.e. the interferometer supports) and the nano-hexapod axes.
To estimate this alignment, a decentralized low-bandwidth feedback controller based on the nano-hexapod encoders is implemented. To estimate this alignment, a decentralized low-bandwidth feedback controller based on the nano-hexapod encoders was implemented.
This allowed to perform two straight movements of the nano-hexapod along the \(x\) and \(y\) axes in the frame of the nano-hexapod. This allowed to perform two straight movements of the nano-hexapod along its \(x\) and \(y\) axes.
During these two movements, the external metrology measurement is recorded and shown in Figure \ref{fig:test_id31_Rz_align_error}. During these two movements, the external metrology measurement was recorded and are shown in Figure \ref{fig:test_id31_Rz_align_error}.
It was found that there is a misalignment of 2.7 degrees (rotation along the vertical axis) between the interferometer axes and nano-hexapod axes. It was found that there is a misalignment of 2.7 degrees (rotation along the vertical axis) between the interferometer axes and nano-hexapod axes.
This was corrected by adding an offset to the spindle angle. This was corrected by adding an offset to the spindle angle.
To check that the alignment has improved, the same movement was performed using the nano-hexapod while recording the signal of the external metrology. After alignment, the same movement was performed using the nano-hexapod while recording the signal of the external metrology.
Results shown in Figure \ref{fig:test_id31_Rz_align_correct} are indeed indicating much better alignment. Results shown in Figure \ref{fig:test_id31_Rz_align_correct} are indeed indicating much better alignment.
\begin{figure}[htbp] \begin{figure}[htbp]
@ -346,10 +346,7 @@ Results shown in Figure \ref{fig:test_id31_Rz_align_correct} are indeed indicati
\caption{\label{fig:test_id31_Rz_align_error}Measurement of the Nano-Hexapod axes in the frame of the external metrology. Before alignment (\subref{fig:test_id31_Rz_align_error}) and after alignment (\subref{fig:test_id31_Rz_align_correct}).} \caption{\label{fig:test_id31_Rz_align_error}Measurement of the Nano-Hexapod axes in the frame of the external metrology. Before alignment (\subref{fig:test_id31_Rz_align_error}) and after alignment (\subref{fig:test_id31_Rz_align_correct}).}
\end{figure} \end{figure}
\section{Open-Loop Identification after alignment} The plant dynamics was identified again after the fine alignment and is compared with the model dynamics in Figure \ref{fig:test_id31_first_id_int_better_rz_align}.
\label{ssec:test_id31_open_loop_plant_after_alignment}
The plant dynamics is identified after the fine alignment and is compared with the model dynamics in Figure \ref{fig:test_id31_first_id_int_better_rz_align}.
Compared to the initial identification shown in Figure \ref{fig:test_id31_first_id_int}, the obtained coupling has decreased and is now close to the coupling obtained with the multi-body model. Compared to the initial identification shown in Figure \ref{fig:test_id31_first_id_int}, the obtained coupling has decreased and is now close to the coupling obtained with the multi-body model.
At low frequency (below \(10\,\text{Hz}\)) all the off-diagonal elements have an amplitude \(\approx 100\) times lower compared to the diagonal elements, indicating that a low bandwidth feedback controller can be implemented in a decentralized way (i.e. \(6\) SISO controllers). At low frequency (below \(10\,\text{Hz}\)) all the off-diagonal elements have an amplitude \(\approx 100\) times lower compared to the diagonal elements, indicating that a low bandwidth feedback controller can be implemented in a decentralized way (i.e. \(6\) SISO controllers).
Between \(650\,\text{Hz}\) and \(1000\,\text{Hz}\), several modes can be observed that are due to flexible modes of the top platform and modes of the two spheres adjustment mechanism. Between \(650\,\text{Hz}\) and \(1000\,\text{Hz}\), several modes can be observed that are due to flexible modes of the top platform and modes of the two spheres adjustment mechanism.
@ -364,8 +361,10 @@ The flexible modes of the top platform can be passively damped while the modes o
\section{Effect of Payload Mass} \section{Effect of Payload Mass}
\label{ssec:test_id31_open_loop_plant_mass} \label{ssec:test_id31_open_loop_plant_mass}
The system dynamics was identified with four payload conditions that are shown in Figure \ref{fig:test_id31_picture_masses}. In order to see how the system dynamics changes with the payload, open-loop identification was performed for four payload conditions that are shown in Figure \ref{fig:test_id31_picture_masses}.
The obtained direct terms are compared with the model dynamics in Figure \ref{fig:test_nhexa_comp_simscape_diag_masses}. The obtained direct terms are compared with the model dynamics in Figure \ref{fig:test_nhexa_comp_simscape_diag_masses}.
It is shown that the model dynamics well predicts the measured dynamics for all payload conditions.
Therefore the model can be used for model-based control is necessary.
It is interesting to note that the anti-resonances in the force sensor plant are now appearing as minimum-phase, as the model predicts (Figure \ref{fig:test_id31_comp_simscape_iff_diag_masses}). It is interesting to note that the anti-resonances in the force sensor plant are now appearing as minimum-phase, as the model predicts (Figure \ref{fig:test_id31_comp_simscape_iff_diag_masses}).
@ -416,8 +415,7 @@ It is interesting to note that the anti-resonances in the force sensor plant are
\section{Effect of Spindle Rotation} \section{Effect of Spindle Rotation}
\label{ssec:test_id31_open_loop_plant_rotation} \label{ssec:test_id31_open_loop_plant_rotation}
The dynamics was then identified while the Spindle was rotating at constant velocity. To verify that all the kinematics in Figure \ref{fig:test_id31_block_schematic_plant} are correct and to check whether the system dynamics is affected by Spindle rotation of not, three identification experiments were performed: no spindle rotation, spindle rotation at \(36\,\text{deg}/s\) and at \(180\,\text{deg}/s\).
Three identification experiments were performed: no spindle rotation, spindle rotation at \(36\,\text{deg}/s\) and at \(180\,\text{deg}/s\).
The comparison of the obtained dynamics from command signal \(u\) to estimated strut error \(e\mathcal{L}\) is done in Figure \ref{fig:test_id31_effect_rotation}. The comparison of the obtained dynamics from command signal \(u\) to estimated strut error \(e\mathcal{L}\) is done in Figure \ref{fig:test_id31_effect_rotation}.
Both direct terms (Figure \ref{fig:test_id31_effect_rotation_direct}) and coupling terms (Figure \ref{fig:test_id31_effect_rotation_coupling}) are unaffected by the rotation. Both direct terms (Figure \ref{fig:test_id31_effect_rotation_direct}) and coupling terms (Figure \ref{fig:test_id31_effect_rotation_coupling}) are unaffected by the rotation.
@ -442,10 +440,9 @@ This also indicates that the metrology kinematics is correct and is working in r
\end{figure} \end{figure}
\section*{Conclusion} \section*{Conclusion}
Thanks to the model, poor alignment between the nano-hexapod axes and the external metrology axes could be identified. The identified frequency response functions from command signals \(\bm{u}\) to the force sensors \(\bm{V}_s\) and to the estimated strut errors \(\bm{\epsilon\mathcal{L}}\) are well matching the developed multi-body model.
After alignment, the identified dynamics is well matching with the multi-body model. Effect of payload mass is shown to be well predicted by the model, which can be useful if robust model based control is to be used.
The spindle rotation has no visible effect on the measured dynamics, indicating that controllers should be robust to the spindle rotation.
Also, the observed effects of the payload mass and of the spindle rotation on the dynamics are well matching the model predictions.
\chapter{Decentralized Integral Force Feedback} \chapter{Decentralized Integral Force Feedback}
\label{sec:test_id31_iff} \label{sec:test_id31_iff}