Rework open-loop identification
This commit is contained in:
parent
155c95845a
commit
de7f923b1a
@ -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.
@ -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}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user