Remove SRC blocks and RESULTS parts
This commit is contained in:
parent
e3417f6599
commit
7ce1daafbe
426
phd-thesis.org
426
phd-thesis.org
@ -307,7 +307,7 @@ The research presented in this manuscript has been possible thanks to the Fonds
|
|||||||
<<chap:introduction>>
|
<<chap:introduction>>
|
||||||
# [[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/nass-introduction.org][NASS - Introduction]]
|
# [[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/nass-introduction.org][NASS - Introduction]]
|
||||||
|
|
||||||
* Conceptual Design Development :noexport:
|
* Conceptual Design Development
|
||||||
<<chap:concept>>
|
<<chap:concept>>
|
||||||
\minitoc
|
\minitoc
|
||||||
**** Abstract
|
**** Abstract
|
||||||
@ -423,7 +423,6 @@ More accurate models will be used later on.
|
|||||||
|
|
||||||
#+name: fig:uniaxial_comp_frf_meas_model
|
#+name: fig:uniaxial_comp_frf_meas_model
|
||||||
#+caption: Comparison of the measured FRF and identified ones from the uniaxial model
|
#+caption: Comparison of the measured FRF and identified ones from the uniaxial model
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/uniaxial_comp_frf_meas_model.png]]
|
[[file:figs/uniaxial_comp_frf_meas_model.png]]
|
||||||
|
|
||||||
*** Nano-Hexapod Model
|
*** Nano-Hexapod Model
|
||||||
@ -534,7 +533,6 @@ G_{geo}(s) = \frac{V_{x_f}}{x_f}(s) = T_{g} \cdot s \cdot \frac{s^2}{s^2 + 2 \xi
|
|||||||
|
|
||||||
#+name: fig:uniaxial_geophone_meas_chain
|
#+name: fig:uniaxial_geophone_meas_chain
|
||||||
#+caption: Measurement setup for one geophone. The inertial displacement $x$ is converted to a voltage $V$ by the geophone. This voltage is amplified by a factor $g_0 = 60\,dB$ using a low-noise voltage amplifier. It is then converted to a digital value $\hat{V}_x$ using a 16bit ADC.
|
#+caption: Measurement setup for one geophone. The inertial displacement $x$ is converted to a voltage $V$ by the geophone. This voltage is amplified by a factor $g_0 = 60\,dB$ using a low-noise voltage amplifier. It is then converted to a digital value $\hat{V}_x$ using a 16bit ADC.
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/uniaxial_geophone_meas_chain.png]]
|
[[file:figs/uniaxial_geophone_meas_chain.png]]
|
||||||
|
|
||||||
The amplitude spectral density of the floor motion $\Gamma_{x_f}$ can be computed from the amplitude spectral density of measured voltage $\Gamma_{\hat{V}_{x_f}}$ using eqref:eq:uniaxial_asd_floor_motion.
|
The amplitude spectral density of the floor motion $\Gamma_{x_f}$ can be computed from the amplitude spectral density of measured voltage $\Gamma_{\hat{V}_{x_f}}$ using eqref:eq:uniaxial_asd_floor_motion.
|
||||||
@ -573,7 +571,6 @@ The sharp peak observed at $24\,\text{Hz}$ is believed to be induced by electrom
|
|||||||
|
|
||||||
#+name: fig:uniaxial_asd_vibration_spindle_rotation
|
#+name: fig:uniaxial_asd_vibration_spindle_rotation
|
||||||
#+caption: Amplitude Spectral Density $\Gamma_{R_z}$ of the relative motion measured between the granite and the micro-hexapod's top platform during Spindle rotating
|
#+caption: Amplitude Spectral Density $\Gamma_{R_z}$ of the relative motion measured between the granite and the micro-hexapod's top platform during Spindle rotating
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/uniaxial_asd_vibration_spindle_rotation.png]]
|
[[file:figs/uniaxial_asd_vibration_spindle_rotation.png]]
|
||||||
|
|
||||||
To compute the equivalent disturbance force $f_t$ (Figure ref:fig:uniaxial_model_micro_station) that induces such motion, the transfer function $G_{f_t}(s)$ from $f_t$ to the relative motion between the micro-hexapod's top platform and the granite $(x_{h} - x_{g})$ is extracted from the model.
|
To compute the equivalent disturbance force $f_t$ (Figure ref:fig:uniaxial_model_micro_station) that induces such motion, the transfer function $G_{f_t}(s)$ from $f_t$ to the relative motion between the micro-hexapod's top platform and the granite $(x_{h} - x_{g})$ is extracted from the model.
|
||||||
@ -877,7 +874,6 @@ There is even some damping authority on micro-station modes in the following cas
|
|||||||
|
|
||||||
#+name: fig:uniaxial_root_locus_damping_techniques_micro_station_mode
|
#+name: fig:uniaxial_root_locus_damping_techniques_micro_station_mode
|
||||||
#+caption: Root Locus for the three damping techniques applied with the soft nano-hexapod. It is shown that the RDC active damping technique has some authority on one mode of the micro-station. This mode corresponds to the suspension mode of the micro-hexapod.
|
#+caption: Root Locus for the three damping techniques applied with the soft nano-hexapod. It is shown that the RDC active damping technique has some authority on one mode of the micro-station. This mode corresponds to the suspension mode of the micro-hexapod.
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/uniaxial_root_locus_damping_techniques_micro_station_mode.png]]
|
[[file:figs/uniaxial_root_locus_damping_techniques_micro_station_mode.png]]
|
||||||
|
|
||||||
The transfer functions from the plant input $f$ to the relative displacement $d$ while active damping is implemented are shown in Figure ref:fig:uniaxial_damped_plant_three_active_damping_techniques.
|
The transfer functions from the plant input $f$ to the relative displacement $d$ while active damping is implemented are shown in Figure ref:fig:uniaxial_damped_plant_three_active_damping_techniques.
|
||||||
@ -1849,7 +1845,7 @@ The decentralized acrshort:iff controller $\bm{K}_F$ corresponds to a diagonal c
|
|||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
To determine how the acrshort:iff controller affects the poles of the closed-loop system, a Root Locus plot (Figure ref:fig:rotating_root_locus_iff_pure_int) is constructed as follows: the poles of the closed-loop system are drawn in the complex plane as the controller gain $g$ varies from $0$ to $\infty$ for the two controllers $K_{F}$ simultaneously.
|
To determine how the acrshort:iff controller affects the poles of the closed-loop system, a Root Locus plot (Figure ref:fig:rotating_root_locus_iff_pure_int) is constructed as follows: the poles of the closed-loop system are drawn in the complex plane as the controller gain $g$ varies from $0$ to $\infty$ for the two controllers $K_{F}$ simultaneously.
|
||||||
As explained in cite:preumont08_trans_zeros_struc_contr_with,skogestad07_multiv_feedb_contr, the closed-loop poles start at the open-loop poles (shown by $\tikz[baseline=-0.6ex] \node[cross out, draw=black, minimum size=1ex, line width=2pt, inner sep=0pt, outer sep=0pt] at (0, 0){};$) for $g = 0$ and coincide with the transmission zeros (shown by $\tikz[baseline=-0.6ex] \draw[line width=2pt, inner sep=0pt, outer sep=0pt] (0,0) circle[radius=3pt];$) as $g \to \infty$.
|
As explained in cite:preumont08_trans_zeros_struc_contr_with,skogestad07_multiv_feedb_contr, the closed-loop poles start at the open-loop poles (shown by crosses) for $g = 0$ and coincide with the transmission zeros (shown by circles) as $g \to \infty$.
|
||||||
|
|
||||||
Whereas collocated IFF is usually associated with unconditional stability cite:preumont91_activ, this property is lost due to gyroscopic effects as soon as the rotation velocity becomes non-null.
|
Whereas collocated IFF is usually associated with unconditional stability cite:preumont91_activ, this property is lost due to gyroscopic effects as soon as the rotation velocity becomes non-null.
|
||||||
This can be seen in the Root Locus plot (Figure ref:fig:rotating_root_locus_iff_pure_int) where poles corresponding to the controller are bound to the right half plane implying closed-loop system instability.
|
This can be seen in the Root Locus plot (Figure ref:fig:rotating_root_locus_iff_pure_int) where poles corresponding to the controller are bound to the right half plane implying closed-loop system instability.
|
||||||
@ -2319,7 +2315,6 @@ The obtained IFF parameters and the achievable damping are visually shown by lar
|
|||||||
#+caption: Obtained optimal parameters ($\omega_i$ and $g$) for the modified IFF controller including a high-pass filter. The corresponding achievable simultaneous damping of the two modes $\xi$ is also shown.
|
#+caption: Obtained optimal parameters ($\omega_i$ and $g$) for the modified IFF controller including a high-pass filter. The corresponding achievable simultaneous damping of the two modes $\xi$ is also shown.
|
||||||
#+attr_latex: :environment tabularx :width 0.4\linewidth :align Xccc
|
#+attr_latex: :environment tabularx :width 0.4\linewidth :align Xccc
|
||||||
#+attr_latex: :center t :booktabs t
|
#+attr_latex: :center t :booktabs t
|
||||||
#+RESULTS:
|
|
||||||
| $k_n$ | $\omega_i$ | $g$ | $\xi_\text{opt}$ |
|
| $k_n$ | $\omega_i$ | $g$ | $\xi_\text{opt}$ |
|
||||||
|-----------------+------------+------+------------------|
|
|-----------------+------------+------+------------------|
|
||||||
| $0.01\,N/\mu m$ | 7.3 | 51 | 0.45 |
|
| $0.01\,N/\mu m$ | 7.3 | 51 | 0.45 |
|
||||||
@ -2354,7 +2349,6 @@ The corresponding optimal controller gains and achievable damping are summarized
|
|||||||
#+name: tab:rotating_iff_kp_opt_iff_kp_params_nass
|
#+name: tab:rotating_iff_kp_opt_iff_kp_params_nass
|
||||||
#+attr_latex: :environment tabularx :width \linewidth :placement [b] :align Xccc
|
#+attr_latex: :environment tabularx :width \linewidth :placement [b] :align Xccc
|
||||||
#+attr_latex: :booktabs t :float nil
|
#+attr_latex: :booktabs t :float nil
|
||||||
#+RESULTS:
|
|
||||||
| $k_n$ | $k_p$ | $g$ | $\xi_{\text{opt}}$ |
|
| $k_n$ | $k_p$ | $g$ | $\xi_{\text{opt}}$ |
|
||||||
|-----------------+-----------------+---------+--------------------|
|
|-----------------+-----------------+---------+--------------------|
|
||||||
| $0.01\,N/\mu m$ | $1\,N/mm$ | 47.9 | 0.44 |
|
| $0.01\,N/\mu m$ | $1\,N/mm$ | 47.9 | 0.44 |
|
||||||
@ -2380,7 +2374,6 @@ The gain is chosen such that 99% of modal damping is obtained (obtained gains ar
|
|||||||
#+name: tab:rotating_rdc_opt_params_nass
|
#+name: tab:rotating_rdc_opt_params_nass
|
||||||
#+attr_latex: :environment tabularx :width 0.8\linewidth :placement [b] :align Xcc
|
#+attr_latex: :environment tabularx :width 0.8\linewidth :placement [b] :align Xcc
|
||||||
#+attr_latex: :booktabs t :float nil
|
#+attr_latex: :booktabs t :float nil
|
||||||
#+RESULTS:
|
|
||||||
| $k_n$ | $g$ | $\xi_{\text{opt}}$ |
|
| $k_n$ | $g$ | $\xi_{\text{opt}}$ |
|
||||||
|-----------------+-------+--------------------|
|
|-----------------+-------+--------------------|
|
||||||
| $0.01\,N/\mu m$ | 1600 | 0.99 |
|
| $0.01\,N/\mu m$ | 1600 | 0.99 |
|
||||||
@ -2601,28 +2594,8 @@ First, a /response model/ is obtained, which corresponds to a set of frequency r
|
|||||||
From this response model, the modal model can be computed, which consists of two matrices: one containing the natural frequencies and damping factors of the considered modes, and another describing the mode shapes.
|
From this response model, the modal model can be computed, which consists of two matrices: one containing the natural frequencies and damping factors of the considered modes, and another describing the mode shapes.
|
||||||
This modal model can then be used to tune the spatial model (i.e. the multi-body model), that is, to tune the mass of the considered solid bodies and the springs and dampers connecting the solid bodies.
|
This modal model can then be used to tune the spatial model (i.e. the multi-body model), that is, to tune the mass of the considered solid bodies and the springs and dampers connecting the solid bodies.
|
||||||
|
|
||||||
#+begin_src latex :file modal_vibration_analysis_procedure.pdf
|
|
||||||
\begin{tikzpicture}
|
|
||||||
\node[block, inner sep = 8pt, align=center] (1) {Description\\of structure};
|
|
||||||
\node[block, inner sep = 8pt, align=center, left=1.0 of 1] (2) {Vibration\\Modes};
|
|
||||||
\node[block, inner sep = 8pt, align=center, left=1.0 of 2] (3) {Response\\Levels};
|
|
||||||
|
|
||||||
\draw[<->] (1) -- (2);
|
|
||||||
\draw[<->] (2) -- (3);
|
|
||||||
|
|
||||||
\node[above] (labelt) at (1.north) {Spatial Model};
|
|
||||||
\node[] at (2|-labelt) {Modal Model};
|
|
||||||
\node[] at (3|-labelt) {Response Model};
|
|
||||||
|
|
||||||
\node[align = center, font=\tiny, below] (labelb) at (1.south) {Mass\\Stiffness\\Damping};
|
|
||||||
\node[align = center, font=\tiny] at (2|-labelb) {Natural Frequencies\\Mode Shapes\\};
|
|
||||||
\node[align = center, font=\tiny] at (3|-labelb) {Time Responses\\Frequency Responses\\};
|
|
||||||
\end{tikzpicture}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+name: fig:modal_vibration_analysis_procedure
|
#+name: fig:modal_vibration_analysis_procedure
|
||||||
#+caption: Three models of the same structure. The goal is to tune a spatial model (i.e. mass, stiffness and damping properties) from a response model. The modal model can be used as an intermediate step.
|
#+caption: Three models of the same structure. The goal is to tune a spatial model (i.e. mass, stiffness and damping properties) from a response model. The modal model can be used as an intermediate step.
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/modal_vibration_analysis_procedure.png]]
|
[[file:figs/modal_vibration_analysis_procedure.png]]
|
||||||
|
|
||||||
The measurement setup used to obtain the response model is described in Section ref:sec:modal_meas_setup.
|
The measurement setup used to obtain the response model is described in Section ref:sec:modal_meas_setup.
|
||||||
@ -2635,16 +2608,6 @@ The solid body assumption is then verified, validating the use of the multi-body
|
|||||||
Finally, the modal analysis is performed in Section ref:sec:modal_analysis.
|
Finally, the modal analysis is performed in Section ref:sec:modal_analysis.
|
||||||
This shows how complex the micro-station dynamics is, and the necessity of having a model representing its complex dynamics.
|
This shows how complex the micro-station dynamics is, and the necessity of having a model representing its complex dynamics.
|
||||||
|
|
||||||
# #+name: tab:modal_section_matlab_code
|
|
||||||
# #+caption: Report sections and corresponding Matlab files
|
|
||||||
# #+attr_latex: :environment tabularx :width 0.5\linewidth :align lX
|
|
||||||
# #+attr_latex: :center t :booktabs t
|
|
||||||
# | *Sections* | *Matlab File* |
|
|
||||||
# |--------------------------------------+----------------------------|
|
|
||||||
# | Section ref:sec:modal_meas_setup | =modal_1_meas_setup.m= |
|
|
||||||
# | Section ref:sec:modal_frf_processing | =modal_2_frf_processing.m= |
|
|
||||||
# | Section ref:sec:modal_analysis | =modal_3_analysis.m= |
|
|
||||||
|
|
||||||
*** Measurement Setup
|
*** Measurement Setup
|
||||||
<<sec:modal_meas_setup>>
|
<<sec:modal_meas_setup>>
|
||||||
**** Introduction :ignore:
|
**** Introduction :ignore:
|
||||||
@ -2905,43 +2868,8 @@ To validate this reduction of acrshort:dof and the solid body assumption, the fr
|
|||||||
Let us consider the schematic shown in Figure ref:fig:modal_local_to_global_coordinates where the motion of a solid body is measured at 4 distinct locations (in $x$, $y$ and $z$ directions).
|
Let us consider the schematic shown in Figure ref:fig:modal_local_to_global_coordinates where the motion of a solid body is measured at 4 distinct locations (in $x$, $y$ and $z$ directions).
|
||||||
The goal here is to link these $4 \times 3 = 12$ measurements to the 6 acrshort:dof of the solid body expressed in the frame $\{O\}$.
|
The goal here is to link these $4 \times 3 = 12$ measurements to the 6 acrshort:dof of the solid body expressed in the frame $\{O\}$.
|
||||||
|
|
||||||
#+begin_src latex :file modal_local_to_global_coordinates.pdf
|
|
||||||
\newcommand\irregularcircle[2]{% radius, irregularity
|
|
||||||
\pgfextra {\pgfmathsetmacro\len{(#1)+rand*(#2)}}
|
|
||||||
+(0:\len pt)
|
|
||||||
\foreach \a in {10,20,...,350}{
|
|
||||||
\pgfextra {\pgfmathsetmacro\len{(#1)+rand*(#2)}}
|
|
||||||
-- +(\a:\len pt)
|
|
||||||
} -- cycle
|
|
||||||
}
|
|
||||||
\begin{tikzpicture}
|
|
||||||
\draw[rounded corners=1mm, fill=blue!30!white] (0, 0) \irregularcircle{3cm}{1mm};
|
|
||||||
|
|
||||||
\node[] (origin) at (0, 0) {$\bullet$};
|
|
||||||
\begin{scope}[shift={(origin)}]
|
|
||||||
\def\axissize{0.8cm}
|
|
||||||
\draw[->] (0, 0) -- ++(\axissize, 0) node[above left]{$x$};
|
|
||||||
\draw[->] (0, 0) -- ++(0, \axissize) node[below right]{$y$};
|
|
||||||
\draw[fill, color=black] (0, 0) circle (0.05*\axissize);
|
|
||||||
\node[draw, circle, inner sep=0pt, minimum size=0.4*\axissize, label=left:$z$] (yaxis) at (0, 0){};
|
|
||||||
\node[below right] at (0, 0){$\{O\}$};
|
|
||||||
\end{scope}
|
|
||||||
|
|
||||||
\coordinate[] (p1) at (-1.5, -1.5);
|
|
||||||
\coordinate[] (p2) at (-1.5, 1.5);
|
|
||||||
\coordinate[] (p3) at ( 1.5, 1.5);
|
|
||||||
\coordinate[] (p4) at ( 1.5, -1.5);
|
|
||||||
|
|
||||||
\draw[->] (p1)node[]{$\bullet$}node[above]{$\vec{p}_1$} -- ++( 1 , 0.1)node[right]{$\delta \vec{p}_1$};
|
|
||||||
\draw[->] (p2)node[]{$\bullet$}node[above]{$\vec{p}_2$} -- ++(-0.5,-0.4)node[below]{$\delta \vec{p}_2$};
|
|
||||||
\draw[->] (p3)node[]{$\bullet$}node[above]{$\vec{p}_3$} -- ++(-0.8,-0.1)node[below]{$\delta \vec{p}_3$};
|
|
||||||
\draw[->] (p4)node[]{$\bullet$}node[above]{$\vec{p}_4$} -- ++( 0.5, 0.2)node[below]{$\delta \vec{p}_4$};
|
|
||||||
\end{tikzpicture}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+name: fig:modal_local_to_global_coordinates
|
#+name: fig:modal_local_to_global_coordinates
|
||||||
#+caption: Schematic of the measured motions of a solid body
|
#+caption: Schematic of the measured motions of a solid body
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/modal_local_to_global_coordinates.png]]
|
[[file:figs/modal_local_to_global_coordinates.png]]
|
||||||
|
|
||||||
The motion of the rigid body of figure ref:fig:modal_local_to_global_coordinates can be described by its displacement $\vec{\delta}p = [\delta p_x,\ \delta p_y,\ \delta p_z]$ and (small) rotations $[\delta \Omega_x,\ \delta \Omega_y,\ \delta \Omega_z]$ with respect to the reference frame $\{O\}$.
|
The motion of the rigid body of figure ref:fig:modal_local_to_global_coordinates can be described by its displacement $\vec{\delta}p = [\delta p_x,\ \delta p_y,\ \delta p_z]$ and (small) rotations $[\delta \Omega_x,\ \delta \Omega_y,\ \delta \Omega_z]$ with respect to the reference frame $\{O\}$.
|
||||||
@ -2991,7 +2919,6 @@ The position of each accelerometer with respect to the center of mass of the cor
|
|||||||
#+caption: Center of mass of considered solid bodies with respect to the "point of interest"
|
#+caption: Center of mass of considered solid bodies with respect to the "point of interest"
|
||||||
#+attr_latex: :environment tabularx :width 0.55\linewidth :align Xccc
|
#+attr_latex: :environment tabularx :width 0.55\linewidth :align Xccc
|
||||||
#+attr_latex: :center t :booktabs t
|
#+attr_latex: :center t :booktabs t
|
||||||
#+RESULTS:
|
|
||||||
| | $X$ | $Y$ | $Z$ |
|
| | $X$ | $Y$ | $Z$ |
|
||||||
|-------------------+-----------------+------------------+--------------------|
|
|-------------------+-----------------+------------------+--------------------|
|
||||||
| Bottom Granite | $45\,\text{mm}$ | $144\,\text{mm}$ | $-1251\,\text{mm}$ |
|
| Bottom Granite | $45\,\text{mm}$ | $144\,\text{mm}$ | $-1251\,\text{mm}$ |
|
||||||
@ -3031,7 +2958,6 @@ This also validates the reduction in the number of degrees of freedom from 69 (2
|
|||||||
|
|
||||||
#+name: fig:modal_comp_acc_solid_body_frf
|
#+name: fig:modal_comp_acc_solid_body_frf
|
||||||
#+caption: Comparison of the original accelerometer responses and the reconstructed responses from the solid body response. Accelerometers 1 to 4 corresponding to the micro-hexapod are shown. Input is a hammer force applied on the micro-hexapod in the $x$ direction
|
#+caption: Comparison of the original accelerometer responses and the reconstructed responses from the solid body response. Accelerometers 1 to 4 corresponding to the micro-hexapod are shown. Input is a hammer force applied on the micro-hexapod in the $x$ direction
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/modal_comp_acc_solid_body_frf.png]]
|
[[file:figs/modal_comp_acc_solid_body_frf.png]]
|
||||||
|
|
||||||
*** Modal Analysis
|
*** Modal Analysis
|
||||||
@ -4049,7 +3975,6 @@ A similar error amplitude was observed, thus indicating that the multi-body mode
|
|||||||
|
|
||||||
#+name: fig:ustation_errors_model_dy_vertical
|
#+name: fig:ustation_errors_model_dy_vertical
|
||||||
#+caption: Vertical errors during a constant-velocity scan of the translation stage. Comparison of the measurements and simulated errors.
|
#+caption: Vertical errors during a constant-velocity scan of the translation stage. Comparison of the measurements and simulated errors.
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/ustation_errors_model_dy_vertical.png]]
|
[[file:figs/ustation_errors_model_dy_vertical.png]]
|
||||||
|
|
||||||
*** Conclusion
|
*** Conclusion
|
||||||
@ -4455,7 +4380,6 @@ It can be computed once at the rest position and used for both forward and inver
|
|||||||
|
|
||||||
#+name: fig:nhexa_forward_kinematics_approximate_errors
|
#+name: fig:nhexa_forward_kinematics_approximate_errors
|
||||||
#+caption: Errors associated with the use of the Jacobian matrix to solve the forward kinematic problem. A Stewart platform with a height of $100\,mm$ was used to perform this analysis. $\epsilon_D$ corresponds to the distance between the true positioin and the estimated position. $\epsilon_R$ corresponds to the angular motion between the true orientation and the estimated orientation.
|
#+caption: Errors associated with the use of the Jacobian matrix to solve the forward kinematic problem. A Stewart platform with a height of $100\,mm$ was used to perform this analysis. $\epsilon_D$ corresponds to the distance between the true positioin and the estimated position. $\epsilon_R$ corresponds to the angular motion between the true orientation and the estimated orientation.
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/nhexa_forward_kinematics_approximate_errors.png]]
|
[[file:figs/nhexa_forward_kinematics_approximate_errors.png]]
|
||||||
|
|
||||||
***** Static Forces
|
***** Static Forces
|
||||||
@ -4741,7 +4665,6 @@ The close agreement between both approaches across the frequency spectrum valida
|
|||||||
|
|
||||||
#+name: fig:nhexa_comp_multi_body_analytical
|
#+name: fig:nhexa_comp_multi_body_analytical
|
||||||
#+caption: Comparison of the analytical transfer functions and the multi-body model
|
#+caption: Comparison of the analytical transfer functions and the multi-body model
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/nhexa_comp_multi_body_analytical.png]]
|
[[file:figs/nhexa_comp_multi_body_analytical.png]]
|
||||||
|
|
||||||
**** Nano Hexapod Dynamics
|
**** Nano Hexapod Dynamics
|
||||||
@ -4846,51 +4769,6 @@ The diagonal terms of the plant (transfer functions from force to displacement o
|
|||||||
This simplifies the control design because only one controller needs to be tuned.
|
This simplifies the control design because only one controller needs to be tuned.
|
||||||
Furthermore, at low frequencies, the plant exhibits good decoupling between the struts, allowing for effective independent control of each axis.
|
Furthermore, at low frequencies, the plant exhibits good decoupling between the struts, allowing for effective independent control of each axis.
|
||||||
|
|
||||||
#+begin_src latex :file nhexa_control_strut.pdf
|
|
||||||
\begin{tikzpicture}
|
|
||||||
% Blocs
|
|
||||||
\node[block={2.0cm}{2.0cm}] (P) {Plant};
|
|
||||||
\coordinate[] (inputF) at ($(P.south west)!0.5!(P.north west)$);
|
|
||||||
\coordinate[] (outputX) at ($(P.south east)!0.5!(P.north east)$);
|
|
||||||
|
|
||||||
\node[block={2.0cm}{2.0cm}, left=0.8 of inputF] (K) {\begin{matrix}K_1 & & 0 \\ & \ddots & \\ 0 & & K_6\end{matrix}};
|
|
||||||
\node[block, left=0.8 of K] (J) {$\bm{J}$};
|
|
||||||
\node[addb={+}{}{}{}{-}, left=0.8 of J] (subr) {};
|
|
||||||
% \node[block, align=center, left=0.6 of subr] (J) {Inverse\\Kinematics};
|
|
||||||
|
|
||||||
% Connections and labels
|
|
||||||
\draw[->] (outputX) -- ++(0.8, 0);
|
|
||||||
\draw[->] ($(outputX) + (0.3, 0)$)node[branch]{} node[above]{$\bm{\mathcal{X}}$} -- ++(0, -1.2) -| (subr.south);
|
|
||||||
\draw[->] (subr.east) -- node[midway, above]{$\bm{\epsilon}_{\mathcal{X}}$} (J.west);
|
|
||||||
\draw[->] (J.east) -- node[midway, above]{$\bm{\epsilon}_{\mathcal{L}}$} (K.west);
|
|
||||||
\draw[->] (K.east) -- node[midway, above]{$\bm{f}$} (inputF);
|
|
||||||
|
|
||||||
\draw[<-] (subr.west)node[above left]{$\bm{r}_{\mathcal{X}}$} -- ++(-0.8, 0);
|
|
||||||
\end{tikzpicture}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src latex :file nhexa_control_cartesian.pdf
|
|
||||||
\begin{tikzpicture}
|
|
||||||
% Blocs
|
|
||||||
\node[block={2.0cm}{2.0cm}] (P) {Plant};
|
|
||||||
\coordinate[] (inputF) at ($(P.south west)!0.5!(P.north west)$);
|
|
||||||
\coordinate[] (outputX) at ($(P.south east)!0.5!(P.north east)$);
|
|
||||||
|
|
||||||
\node[block, left=0.8 of inputF] (J) {$\bm{J}^{-\intercal}$};
|
|
||||||
\node[block={2.0cm}{2.0cm}, left=0.8 of J] (K) {\begin{matrix}K_{D_x} & & 0 \\ & \ddots & \\ 0 & & K_{R_z}\end{matrix}};
|
|
||||||
\node[addb={+}{}{}{}{-}, left=0.8 of K] (subr) {};
|
|
||||||
|
|
||||||
% Connections and labels
|
|
||||||
\draw[->] (outputX) -- ++(0.8, 0);
|
|
||||||
\draw[->] ($(outputX) + (0.3, 0)$)node[branch]{} node[above]{$\bm{\mathcal{X}}$} -- ++(0, -1.2) -| (subr.south);
|
|
||||||
|
|
||||||
\draw[->] (subr.east) -- node[midway, above]{$\bm{\epsilon}_{\mathcal{X}}$} (K.west);
|
|
||||||
\draw[->] (K.east) -- node[midway, above]{$\bm{\mathcal{F}}$} (J.west);
|
|
||||||
\draw[->] (J.east) -- node[midway, above]{$\bm{f}$} (inputF.west);
|
|
||||||
\draw[<-] (subr.west)node[above left]{$\bm{r}_{\mathcal{X}}$} -- ++(-0.8, 0);
|
|
||||||
\end{tikzpicture}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+name: fig:nhexa_control_frame
|
#+name: fig:nhexa_control_frame
|
||||||
#+caption: Two control strategies
|
#+caption: Two control strategies
|
||||||
#+attr_latex: :options [htbp]
|
#+attr_latex: :options [htbp]
|
||||||
@ -4951,36 +4829,8 @@ The decentralized Integral Force Feedback (IFF) control strategy is implemented
|
|||||||
|
|
||||||
The corresponding block diagram of the control loop is shown in Figure ref:fig:nhexa_decentralized_iff_schematic, in which the controller $\bm{K}_{\text{IFF}}(s)$ is a diagonal matrix, where each diagonal element is a pure integrator eqref:eq:nhexa_kiff.
|
The corresponding block diagram of the control loop is shown in Figure ref:fig:nhexa_decentralized_iff_schematic, in which the controller $\bm{K}_{\text{IFF}}(s)$ is a diagonal matrix, where each diagonal element is a pure integrator eqref:eq:nhexa_kiff.
|
||||||
|
|
||||||
#+begin_src latex :file nhexa_decentralized_iff_schematic.pdf
|
|
||||||
\begin{tikzpicture}
|
|
||||||
% Blocs
|
|
||||||
\node[block={2.0cm}{2.0cm}] (P) {Plant};
|
|
||||||
\coordinate[] (input) at ($(P.south west)!0.5!(P.north west)$);
|
|
||||||
\coordinate[] (outputH) at ($(P.south east)!0.2!(P.north east)$);
|
|
||||||
\coordinate[] (outputL) at ($(P.south east)!0.8!(P.north east)$);
|
|
||||||
|
|
||||||
\node[block, above=0.2 of P] (Klac) {$\bm{K}_\text{IFF}$};
|
|
||||||
\node[addb, left=0.8 of input] (addF) {};
|
|
||||||
|
|
||||||
% Connections and labels
|
|
||||||
\draw[->] (outputL) -- ++(0.7, 0) coordinate(eastlac) |- (Klac.east);
|
|
||||||
\node[above right] at (outputL){$\bm{f}_n$};
|
|
||||||
\draw[->] (Klac.west) -| (addF.north);
|
|
||||||
\draw[->] (addF.east) -- (input) node[above left]{$\bm{f}$};
|
|
||||||
|
|
||||||
\draw[->] (outputH) -- ++(1.7, 0) node[above left]{$\bm{\mathcal{L}}$};
|
|
||||||
\draw[<-] (addF.west) -- ++(-0.8, 0) node[above right]{$\bm{f}^{\prime}$};
|
|
||||||
|
|
||||||
\begin{scope}[on background layer]
|
|
||||||
\node[fit={(Klac.north-|eastlac) (addF.west|-P.south)}, fill=black!20!white, draw, dashed, inner sep=8pt] (Pi) {};
|
|
||||||
\node[anchor={north west}] at (Pi.north west){\footnotesize{Damped Plant}};
|
|
||||||
\end{scope}
|
|
||||||
\end{tikzpicture}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+name: fig:nhexa_decentralized_iff_schematic
|
#+name: fig:nhexa_decentralized_iff_schematic
|
||||||
#+caption: Schematic of the implemented decentralized IFF controller. The damped plant has a new inputs $\bm{f}^{\prime}$
|
#+caption: Schematic of the implemented decentralized IFF controller. The damped plant has a new inputs $\bm{f}^{\prime}$
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/nhexa_decentralized_iff_schematic.png]]
|
[[file:figs/nhexa_decentralized_iff_schematic.png]]
|
||||||
|
|
||||||
\begin{equation}\label{eq:nhexa_kiff}
|
\begin{equation}\label{eq:nhexa_kiff}
|
||||||
@ -5030,47 +4880,8 @@ Following the analysis from Section ref:ssec:nhexa_control_space, the control is
|
|||||||
The Jacobian matrix $\bm{J}^{-1}$ performs (approximate) real-time approximate inverse kinematics to map position errors from Cartesian space $\bm{\epsilon}_{\mathcal{X}}$ to strut space $\bm{\epsilon}_{\mathcal{L}}$.
|
The Jacobian matrix $\bm{J}^{-1}$ performs (approximate) real-time approximate inverse kinematics to map position errors from Cartesian space $\bm{\epsilon}_{\mathcal{X}}$ to strut space $\bm{\epsilon}_{\mathcal{L}}$.
|
||||||
A diagonal High Authority Controller $\bm{K}_{\text{HAC}}$ then processes these errors in the frame of the struts.
|
A diagonal High Authority Controller $\bm{K}_{\text{HAC}}$ then processes these errors in the frame of the struts.
|
||||||
|
|
||||||
#+begin_src latex :file nhexa_hac_iff_schematic.pdf
|
|
||||||
\begin{tikzpicture}
|
|
||||||
% Blocs
|
|
||||||
\node[block={2.0cm}{2.0cm}] (P) {Plant};
|
|
||||||
\coordinate[] (input) at ($(P.south west)!0.5!(P.north west)$);
|
|
||||||
\coordinate[] (outputH) at ($(P.south east)!0.2!(P.north east)$);
|
|
||||||
\coordinate[] (outputL) at ($(P.south east)!0.8!(P.north east)$);
|
|
||||||
|
|
||||||
\node[block, above=0.2 of P] (Klac) {$\bm{K}_\text{IFF}$};
|
|
||||||
\node[addb, left=0.8 of input] (addF) {};
|
|
||||||
|
|
||||||
\node[block, left=0.8 of addF] (Khac) {$\bm{K}_\text{HAC}$};
|
|
||||||
\node[block, left=0.8 of Khac] (inverseK) {$\bm{J}$};
|
|
||||||
|
|
||||||
\node[addb={+}{}{}{}{-}, left=0.8 of inverseK] (subL) {};
|
|
||||||
|
|
||||||
% Connections and labels
|
|
||||||
\draw[->] (outputL) -- ++(0.7, 0) coordinate(eastlac) |- (Klac.east);
|
|
||||||
\node[above right] at (outputL){$\bm{f}_n$};
|
|
||||||
\draw[->] (Klac.west) -| (addF.north);
|
|
||||||
\draw[->] (addF.east) -- (input) node[above left]{$\bm{f}$};
|
|
||||||
|
|
||||||
\draw[->] (outputH) -- ++(1.7, 0) node[above left]{$\bm{\mathcal{X}}$};
|
|
||||||
\draw[->] (Khac.east) node[above right]{$\bm{f}^{\prime}$} -- (addF.west);
|
|
||||||
|
|
||||||
\draw[->] ($(outputH) + (1.2, 0)$)node[branch]{} |- ($(subL.south)+(0, -1.2)$) -- (subL.south);
|
|
||||||
\draw[->] (subL.east) -- (inverseK.west) node[above left]{$\bm{\epsilon}_\mathcal{X}$};
|
|
||||||
\draw[->] (inverseK.east) -- (Khac.west) node[above left]{$\bm{\epsilon}_\mathcal{L}$};
|
|
||||||
|
|
||||||
\draw[<-] (subL.west) -- ++(-0.8, 0) node[above right]{$\bm{r}_\mathcal{X}$};
|
|
||||||
|
|
||||||
\begin{scope}[on background layer]
|
|
||||||
\node[fit={(Klac.north-|eastlac) (addF.west|-P.south)}, fill=black!20!white, draw, dashed, inner sep=8pt] (Pi) {};
|
|
||||||
\node[anchor={north west}] at (Pi.north west){\footnotesize{Damped Plant}};
|
|
||||||
\end{scope}
|
|
||||||
\end{tikzpicture}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+name: fig:nhexa_hac_iff_schematic
|
#+name: fig:nhexa_hac_iff_schematic
|
||||||
#+caption: HAC-IFF control architecture with the High Authority Controller being implemented in the frame of the struts
|
#+caption: HAC-IFF control architecture with the High Authority Controller being implemented in the frame of the struts
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/nhexa_hac_iff_schematic.png]]
|
[[file:figs/nhexa_hac_iff_schematic.png]]
|
||||||
|
|
||||||
The effect of decentralized IFF on the plant dynamics can be observed by comparing two sets of transfer functions.
|
The effect of decentralized IFF on the plant dynamics can be observed by comparing two sets of transfer functions.
|
||||||
@ -5416,7 +5227,6 @@ The overall gain was then increased to obtain a large loop gain around the reson
|
|||||||
#+name: fig:nass_iff_loop_gain
|
#+name: fig:nass_iff_loop_gain
|
||||||
#+caption: Loop gain for the decentralized IFF: $K_{\text{IFF}}(s) \cdot \frac{f_{mi}}{f_i}(s)$
|
#+caption: Loop gain for the decentralized IFF: $K_{\text{IFF}}(s) \cdot \frac{f_{mi}}{f_i}(s)$
|
||||||
#+attr_latex: :options [h!tbp]
|
#+attr_latex: :options [h!tbp]
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/nass_iff_loop_gain.png]]
|
[[file:figs/nass_iff_loop_gain.png]]
|
||||||
|
|
||||||
To verify stability, the root loci for the three payload configurations were computed, as shown in Figure ref:fig:nass_iff_root_locus.
|
To verify stability, the root loci for the three payload configurations were computed, as shown in Figure ref:fig:nass_iff_root_locus.
|
||||||
@ -5535,7 +5345,6 @@ This result confirms effective dynamic decoupling between the nano-hexapod and t
|
|||||||
#+name: fig:nass_effect_ustation_compliance
|
#+name: fig:nass_effect_ustation_compliance
|
||||||
#+caption: Effect of the micro-station limited compliance on the plant dynamics
|
#+caption: Effect of the micro-station limited compliance on the plant dynamics
|
||||||
#+attr_latex: :options [h!tbp]
|
#+attr_latex: :options [h!tbp]
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/nass_effect_ustation_compliance.png]]
|
[[file:figs/nass_effect_ustation_compliance.png]]
|
||||||
|
|
||||||
**** Effect of Nano-Hexapod Stiffness on System Dynamics
|
**** Effect of Nano-Hexapod Stiffness on System Dynamics
|
||||||
@ -5694,7 +5503,7 @@ These results provide a solid foundation for advancing to the subsequent detaile
|
|||||||
|
|
||||||
- [ ] schema avec chaque modèle et les conclusions pour chaque modèle
|
- [ ] schema avec chaque modèle et les conclusions pour chaque modèle
|
||||||
|
|
||||||
* Detailed Design :noexport:
|
* Detailed Design
|
||||||
<<chap:detail>>
|
<<chap:detail>>
|
||||||
\minitoc
|
\minitoc
|
||||||
**** Abstract
|
**** Abstract
|
||||||
@ -5708,7 +5517,7 @@ These results provide a solid foundation for advancing to the subsequent detaile
|
|||||||
#+attr_latex: :width \linewidth
|
#+attr_latex: :width \linewidth
|
||||||
[[file:figs/chapter2_overview.png]]
|
[[file:figs/chapter2_overview.png]]
|
||||||
|
|
||||||
** Nano-Hexapod Kinematics - Optimal Geometry?
|
** Optimal Geometry
|
||||||
<<sec:detail_kinematics>>
|
<<sec:detail_kinematics>>
|
||||||
*** Introduction :ignore:
|
*** Introduction :ignore:
|
||||||
|
|
||||||
@ -6135,152 +5944,6 @@ The unit vectors corresponding to the edges of the cube are described by equatio
|
|||||||
\hat{\bm{s}}_6 = \begin{bmatrix} \frac{-1}{\sqrt{6}} \\ \frac{ 1}{\sqrt{2}} \\ \frac{1}{\sqrt{3}} \end{bmatrix}
|
\hat{\bm{s}}_6 = \begin{bmatrix} \frac{-1}{\sqrt{6}} \\ \frac{ 1}{\sqrt{2}} \\ \frac{1}{\sqrt{3}} \end{bmatrix}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
#+begin_src latex :file detail_kinematics_cubic_schematic_full.pdf :results file
|
|
||||||
\begin{tikzpicture}
|
|
||||||
\begin{scope}[rotate={45}, shift={(0, 0, -4)}]
|
|
||||||
% We first define the coordinate of the points of the Cube
|
|
||||||
\coordinate[] (bot) at (0,0,4);
|
|
||||||
\coordinate[] (top) at (4,4,0);
|
|
||||||
\coordinate[] (A1) at (0,0,0);
|
|
||||||
\coordinate[] (A2) at (4,0,4);
|
|
||||||
\coordinate[] (A3) at (0,4,4);
|
|
||||||
\coordinate[] (B1) at (4,0,0);
|
|
||||||
\coordinate[] (B2) at (4,4,4);
|
|
||||||
\coordinate[] (B3) at (0,4,0);
|
|
||||||
|
|
||||||
% Center of the Cube
|
|
||||||
\coordinate[] (cubecenter) at ($0.5*(bot) + 0.5*(top)$);
|
|
||||||
|
|
||||||
% We draw parts of the cube that corresponds to the Stewart platform
|
|
||||||
\draw[] (A1)node[]{$\bullet$} -- (B1)node[]{$\bullet$} -- (A2)node[]{$\bullet$} -- (B2)node[]{$\bullet$} -- (A3)node[]{$\bullet$} -- (B3)node[]{$\bullet$} -- (A1);
|
|
||||||
|
|
||||||
% ai and bi are computed
|
|
||||||
\def\lfrom{0.0}
|
|
||||||
\def\lto{1.0}
|
|
||||||
|
|
||||||
\coordinate(a1) at ($(A1) - \lfrom*(A1) + \lfrom*(B1)$);
|
|
||||||
\coordinate(b1) at ($(A1) - \lto*(A1) + \lto*(B1)$);
|
|
||||||
\coordinate(a2) at ($(A2) - \lfrom*(A2) + \lfrom*(B1)$);
|
|
||||||
\coordinate(b2) at ($(A2) - \lto*(A2) + \lto*(B1)$);
|
|
||||||
\coordinate(a3) at ($(A2) - \lfrom*(A2) + \lfrom*(B2)$);
|
|
||||||
\coordinate(b3) at ($(A2) - \lto*(A2) + \lto*(B2)$);
|
|
||||||
\coordinate(a4) at ($(A3) - \lfrom*(A3) + \lfrom*(B2)$);
|
|
||||||
\coordinate(b4) at ($(A3) - \lto*(A3) + \lto*(B2)$);
|
|
||||||
\coordinate(a5) at ($(A3) - \lfrom*(A3) + \lfrom*(B3)$);
|
|
||||||
\coordinate(b5) at ($(A3) - \lto*(A3) + \lto*(B3)$);
|
|
||||||
\coordinate(a6) at ($(A1) - \lfrom*(A1) + \lfrom*(B3)$);
|
|
||||||
\coordinate(b6) at ($(A1) - \lto*(A1) + \lto*(B3)$);
|
|
||||||
|
|
||||||
% We draw the fixed and mobiles platforms
|
|
||||||
\path[fill=colorblue, opacity=0.2] (a1) -- (a2) -- (a3) -- (a4) -- (a5) -- (a6) -- cycle;
|
|
||||||
\path[fill=colorblue, opacity=0.2] (b1) -- (b2) -- (b3) -- (b4) -- (b5) -- (b6) -- cycle;
|
|
||||||
\draw[color=colorblue, dashed] (a1) -- (a2) -- (a3) -- (a4) -- (a5) -- (a6) -- cycle;
|
|
||||||
\draw[color=colorblue, dashed] (b1) -- (b2) -- (b3) -- (b4) -- (b5) -- (b6) -- cycle;
|
|
||||||
|
|
||||||
% The legs of the hexapod are drawn
|
|
||||||
\draw[color=colorblue] (a1)node{$\bullet$} -- (b1)node{$\bullet$};
|
|
||||||
\draw[color=colorblue] (a2)node{$\bullet$} -- (b2)node{$\bullet$};
|
|
||||||
\draw[color=colorblue] (a3)node{$\bullet$} -- (b3)node{$\bullet$};
|
|
||||||
\draw[color=colorblue] (a4)node{$\bullet$} -- (b4)node{$\bullet$};
|
|
||||||
\draw[color=colorblue] (a5)node{$\bullet$} -- (b5)node{$\bullet$};
|
|
||||||
\draw[color=colorblue] (a6)node{$\bullet$} -- (b6)node{$\bullet$};
|
|
||||||
|
|
||||||
% Unit vector
|
|
||||||
\draw[color=colorred, ->] ($0.9*(a1)+0.1*(b1)$)node{$\bullet$} -- ($0.65*(a1)+0.35*(b1)$)node[right]{$\hat{\bm{s}}_3$};
|
|
||||||
\draw[color=colorred, ->] ($0.9*(a2)+0.1*(b2)$)node{$\bullet$} -- ($0.65*(a2)+0.35*(b2)$)node[left]{$\hat{\bm{s}}_4$};
|
|
||||||
\draw[color=colorred, ->] ($0.9*(a3)+0.1*(b3)$)node{$\bullet$} -- ($0.65*(a3)+0.35*(b3)$)node[below]{$\hat{\bm{s}}_5$};
|
|
||||||
\draw[color=colorred, ->] ($0.9*(a4)+0.1*(b4)$)node{$\bullet$} -- ($0.65*(a4)+0.35*(b4)$)node[below]{$\hat{\bm{s}}_6$};
|
|
||||||
\draw[color=colorred, ->] ($0.9*(a5)+0.1*(b5)$)node{$\bullet$} -- ($0.65*(a5)+0.35*(b5)$)node[left]{$\hat{\bm{s}}_1$};
|
|
||||||
\draw[color=colorred, ->] ($0.9*(a6)+0.1*(b6)$)node{$\bullet$} -- ($0.65*(a6)+0.35*(b6)$)node[right]{$\hat{\bm{s}}_2$};
|
|
||||||
|
|
||||||
% Labels
|
|
||||||
\node[above=0.1 of B1] {$\tilde{\bm{b}}_3 = \tilde{\bm{b}}_4$};
|
|
||||||
\node[above=0.1 of B2] {$\tilde{\bm{b}}_5 = \tilde{\bm{b}}_6$};
|
|
||||||
\node[above=0.1 of B3] {$\tilde{\bm{b}}_1 = \tilde{\bm{b}}_2$};
|
|
||||||
\end{scope}
|
|
||||||
|
|
||||||
% Height of the Hexapod
|
|
||||||
\coordinate[] (sizepos) at ($(a2)+(0.2, 0)$);
|
|
||||||
\coordinate[] (origin) at (0,0,0);
|
|
||||||
|
|
||||||
\draw[->, color=colorgreen] (cubecenter.center) node[above right]{$\{B\}$} -- ++(0,0,1);
|
|
||||||
\draw[->, color=colorgreen] (cubecenter.center) -- ++(1,0,0);
|
|
||||||
\draw[->, color=colorgreen] (cubecenter.center) -- ++(0,1,0);
|
|
||||||
|
|
||||||
\node[] at (cubecenter.center){$\bullet$};
|
|
||||||
\node[above left] at (cubecenter.center){$\{C\}$};
|
|
||||||
|
|
||||||
% Useful part of the cube
|
|
||||||
\draw[<->, dashed] ($(A2)+(0.5,0)$) -- node[midway, right]{$H_{C}$} ($(B1)+(0.5,0)$);
|
|
||||||
\end{tikzpicture}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src latex :file detail_kinematics_cubic_schematic.pdf :results file
|
|
||||||
\begin{tikzpicture}
|
|
||||||
\begin{scope}[rotate={45}, shift={(0, 0, -4)}]
|
|
||||||
% We first define the coordinate of the points of the Cube
|
|
||||||
\coordinate[] (bot) at (0,0,4);
|
|
||||||
\coordinate[] (top) at (4,4,0);
|
|
||||||
\coordinate[] (A1) at (0,0,0);
|
|
||||||
\coordinate[] (A2) at (4,0,4);
|
|
||||||
\coordinate[] (A3) at (0,4,4);
|
|
||||||
\coordinate[] (B1) at (4,0,0);
|
|
||||||
\coordinate[] (B2) at (4,4,4);
|
|
||||||
\coordinate[] (B3) at (0,4,0);
|
|
||||||
|
|
||||||
% Center of the Cube
|
|
||||||
\coordinate[] (cubecenter) at ($0.5*(bot) + 0.5*(top)$);
|
|
||||||
|
|
||||||
% We draw parts of the cube that corresponds to the Stewart platform
|
|
||||||
\draw[] (A1)node[]{$\bullet$} -- (B1)node[]{$\bullet$} -- (A2)node[]{$\bullet$} -- (B2)node[]{$\bullet$} -- (A3)node[]{$\bullet$} -- (B3)node[]{$\bullet$} -- (A1);
|
|
||||||
|
|
||||||
% ai and bi are computed
|
|
||||||
\def\lfrom{0.2}
|
|
||||||
\def\lto{0.8}
|
|
||||||
|
|
||||||
\coordinate(a1) at ($(A1) - \lfrom*(A1) + \lfrom*(B1)$);
|
|
||||||
\coordinate(b1) at ($(A1) - \lto*(A1) + \lto*(B1)$);
|
|
||||||
\coordinate(a2) at ($(A2) - \lfrom*(A2) + \lfrom*(B1)$);
|
|
||||||
\coordinate(b2) at ($(A2) - \lto*(A2) + \lto*(B1)$);
|
|
||||||
\coordinate(a3) at ($(A2) - \lfrom*(A2) + \lfrom*(B2)$);
|
|
||||||
\coordinate(b3) at ($(A2) - \lto*(A2) + \lto*(B2)$);
|
|
||||||
\coordinate(a4) at ($(A3) - \lfrom*(A3) + \lfrom*(B2)$);
|
|
||||||
\coordinate(b4) at ($(A3) - \lto*(A3) + \lto*(B2)$);
|
|
||||||
\coordinate(a5) at ($(A3) - \lfrom*(A3) + \lfrom*(B3)$);
|
|
||||||
\coordinate(b5) at ($(A3) - \lto*(A3) + \lto*(B3)$);
|
|
||||||
\coordinate(a6) at ($(A1) - \lfrom*(A1) + \lfrom*(B3)$);
|
|
||||||
\coordinate(b6) at ($(A1) - \lto*(A1) + \lto*(B3)$);
|
|
||||||
|
|
||||||
% We draw the fixed and mobiles platforms
|
|
||||||
\path[fill=colorblue, opacity=0.2] (a1) -- (a2) -- (a3) -- (a4) -- (a5) -- (a6) -- cycle;
|
|
||||||
\path[fill=colorblue, opacity=0.2] (b1) -- (b2) -- (b3) -- (b4) -- (b5) -- (b6) -- cycle;
|
|
||||||
\draw[color=colorblue, dashed] (a1) -- (a2) -- (a3) -- (a4) -- (a5) -- (a6) -- cycle;
|
|
||||||
\draw[color=colorblue, dashed] (b1) -- (b2) -- (b3) -- (b4) -- (b5) -- (b6) -- cycle;
|
|
||||||
|
|
||||||
% The legs of the hexapod are drawn
|
|
||||||
\draw[color=colorblue] (a1)node{$\bullet$} -- (b1)node{$\bullet$}node[below right]{$\bm{b}_3$};
|
|
||||||
\draw[color=colorblue] (a2)node{$\bullet$} -- (b2)node{$\bullet$}node[right]{$\bm{b}_4$};
|
|
||||||
\draw[color=colorblue] (a3)node{$\bullet$} -- (b3)node{$\bullet$}node[above right]{$\bm{b}_5$};
|
|
||||||
\draw[color=colorblue] (a4)node{$\bullet$} -- (b4)node{$\bullet$}node[above left]{$\bm{b}_6$};
|
|
||||||
\draw[color=colorblue] (a5)node{$\bullet$} -- (b5)node{$\bullet$}node[left]{$\bm{b}_1$};
|
|
||||||
\draw[color=colorblue] (a6)node{$\bullet$} -- (b6)node{$\bullet$}node[below left]{$\bm{b}_2$};
|
|
||||||
\end{scope}
|
|
||||||
|
|
||||||
% Height of the Hexapod
|
|
||||||
\coordinate[] (sizepos) at ($(a2)+(0.2, 0)$);
|
|
||||||
\coordinate[] (origin) at (0,0,0);
|
|
||||||
|
|
||||||
\draw[->, color=colorgreen] ($(cubecenter.center)+(0,2.0,0)$) node[above right]{$\{B\}$} -- ++(0,0,1);
|
|
||||||
\draw[->, color=colorgreen] ($(cubecenter.center)+(0,2.0,0)$) -- ++(1,0,0);
|
|
||||||
\draw[->, color=colorgreen] ($(cubecenter.center)+(0,2.0,0)$) -- ++(0,1,0);
|
|
||||||
|
|
||||||
\node[] at (cubecenter.center){$\bullet$};
|
|
||||||
\node[right] at (cubecenter.center){$\{C\}$};
|
|
||||||
|
|
||||||
\draw[<->, dashed] (cubecenter.center) -- node[midway, right]{$H$} ($(cubecenter.center)+(0,2.0,0)$);
|
|
||||||
\end{tikzpicture}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+name: fig:detail_kinematics_cubic_schematic_cases
|
#+name: fig:detail_kinematics_cubic_schematic_cases
|
||||||
#+caption: Cubic architecture. Struts are represented in blue. The cube's center by a black dot. The Struts can match the cube's edges (\subref{fig:detail_kinematics_cubic_schematic_full}) or just take a portion of the edge (\subref{fig:detail_kinematics_cubic_schematic})
|
#+caption: Cubic architecture. Struts are represented in blue. The cube's center by a black dot. The Struts can match the cube's edges (\subref{fig:detail_kinematics_cubic_schematic_full}) or just take a portion of the edge (\subref{fig:detail_kinematics_cubic_schematic})
|
||||||
#+attr_latex: :options [htbp]
|
#+attr_latex: :options [htbp]
|
||||||
@ -6395,29 +6058,8 @@ Furthermore, an inverse relationship exists between the cube's dimension and rot
|
|||||||
This section examines the dynamics of the cubic architecture in the Cartesian frame which corresponds to the transfer function from forces and torques $\bm{\mathcal{F}}$ to translations and rotations $\bm{\mathcal{X}}$ of the top platform.
|
This section examines the dynamics of the cubic architecture in the Cartesian frame which corresponds to the transfer function from forces and torques $\bm{\mathcal{F}}$ to translations and rotations $\bm{\mathcal{X}}$ of the top platform.
|
||||||
When relative motion sensors are integrated in each strut (measuring $\bm{\mathcal{L}}$), the pose $\bm{\mathcal{X}}$ is computed using the Jacobian matrix as shown in Figure ref:fig:detail_kinematics_centralized_control.
|
When relative motion sensors are integrated in each strut (measuring $\bm{\mathcal{L}}$), the pose $\bm{\mathcal{X}}$ is computed using the Jacobian matrix as shown in Figure ref:fig:detail_kinematics_centralized_control.
|
||||||
|
|
||||||
#+begin_src latex :file detail_kinematics_centralized_control.pdf
|
|
||||||
\begin{tikzpicture}
|
|
||||||
\node[block] (Jt) at (0, 0) {$\bm{J}^{-\intercal}$};
|
|
||||||
\node[block, right= of Jt] (G) {$\bm{G}$};
|
|
||||||
\node[block, right= of G] (J) {$\bm{J}^{-1}$};
|
|
||||||
\node[block, left= of Jt] (Kx) {$\bm{K}_{\mathcal{X}}$};
|
|
||||||
|
|
||||||
\draw[->] (Kx.east) -- node[midway, above]{$\bm{\mathcal{F}}$} (Jt.west);
|
|
||||||
\draw[->] (Jt.east) -- (G.west) node[above left]{$\bm{\tau}$};
|
|
||||||
\draw[->] (G.east) -- (J.west) node[above left]{$\bm{\mathcal{L}}$};
|
|
||||||
\draw[->] (J.east) -- ++(1.0, 0);
|
|
||||||
\draw[->] ($(J.east) + (0.5, 0)$)node[]{$\bullet$} node[above]{$\bm{\mathcal{X}}$} -- ++(0, -1) -| ($(Kx.west) + (-0.5, 0)$) -- (Kx.west);
|
|
||||||
|
|
||||||
\begin{scope}[on background layer]
|
|
||||||
\node[fit={(Jt.south west) (J.north east)}, fill=black!20!white, draw, dashed, inner sep=4pt] (Px) {};
|
|
||||||
\node[anchor={south}] at (Px.north){\small{Cartesian Plant}};
|
|
||||||
\end{scope}
|
|
||||||
\end{tikzpicture}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+name: fig:detail_kinematics_centralized_control
|
#+name: fig:detail_kinematics_centralized_control
|
||||||
#+caption: Typical control architecture in the cartesian frame
|
#+caption: Typical control architecture in the cartesian frame
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/detail_kinematics_centralized_control.png]]
|
[[file:figs/detail_kinematics_centralized_control.png]]
|
||||||
|
|
||||||
***** Low frequency and High frequency coupling
|
***** Low frequency and High frequency coupling
|
||||||
@ -6510,26 +6152,8 @@ The orthogonal arrangement of struts in the cubic architecture suggests a potent
|
|||||||
Two sensor types integrated in the struts are considered: displacement sensors and force sensors.
|
Two sensor types integrated in the struts are considered: displacement sensors and force sensors.
|
||||||
The control architecture is illustrated in Figure ref:fig:detail_kinematics_decentralized_control, where $\bm{K}_{\mathcal{L}}$ represents a diagonal transfer function matrix.
|
The control architecture is illustrated in Figure ref:fig:detail_kinematics_decentralized_control, where $\bm{K}_{\mathcal{L}}$ represents a diagonal transfer function matrix.
|
||||||
|
|
||||||
#+begin_src latex :file detail_kinematics_decentralized_control.pdf
|
|
||||||
\begin{tikzpicture}
|
|
||||||
\node[block] (G) at (0,0) {$\bm{G}$};
|
|
||||||
|
|
||||||
\node[block, left= of G] (Kl) {$\bm{K}_{\mathcal{L}}$};
|
|
||||||
|
|
||||||
\draw[->] (Kl.east) -- node[midway, above]{$\bm{\tau}$} (G.west);
|
|
||||||
\draw[->] (G.east) -- ++(1.0, 0);
|
|
||||||
\draw[->] ($(G.east) + (0.5, 0)$)node[]{$\bullet$} node[above]{$\bm{\mathcal{L}}$} -- ++(0, -1) -| ($(Kl.west) + (-0.5, 0)$) -- (Kl.west);
|
|
||||||
|
|
||||||
\begin{scope}[on background layer]
|
|
||||||
\node[fit={(G.south west) (G.north east)}, fill=black!20!white, draw, dashed, inner sep=4pt] (Pl) {};
|
|
||||||
\node[anchor={south}] at (Pl.north){\small{Strut Plant}};
|
|
||||||
\end{scope}
|
|
||||||
\end{tikzpicture}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+name: fig:detail_kinematics_decentralized_control
|
#+name: fig:detail_kinematics_decentralized_control
|
||||||
#+caption: Decentralized control in the frame of the struts.
|
#+caption: Decentralized control in the frame of the struts.
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/detail_kinematics_decentralized_control.png]]
|
[[file:figs/detail_kinematics_decentralized_control.png]]
|
||||||
|
|
||||||
The obtained plant dynamics in the frame of the struts are compared for two Stewart platforms.
|
The obtained plant dynamics in the frame of the struts are compared for two Stewart platforms.
|
||||||
@ -6831,7 +6455,6 @@ The diagram confirms that the required workspace fits within the system's capabi
|
|||||||
|
|
||||||
#+name: fig:detail_kinematics_nano_hexapod_mobility
|
#+name: fig:detail_kinematics_nano_hexapod_mobility
|
||||||
#+caption: Specified translation mobility of the Nano-Hexapod (grey cube) and computed Mobility (red volume).
|
#+caption: Specified translation mobility of the Nano-Hexapod (grey cube) and computed Mobility (red volume).
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/detail_kinematics_nano_hexapod_mobility.png]]
|
[[file:figs/detail_kinematics_nano_hexapod_mobility.png]]
|
||||||
|
|
||||||
**** Required Joint angular stroke
|
**** Required Joint angular stroke
|
||||||
@ -6861,7 +6484,7 @@ Modified cubic architectures with the cube's center positioned above the top pla
|
|||||||
For the nano-hexapod design, a key challenge was addressing the wide range of potential payloads (1 to 50kg), which made it impossible to optimize the geometry for consistent dynamic performance across all usage scenarios.
|
For the nano-hexapod design, a key challenge was addressing the wide range of potential payloads (1 to 50kg), which made it impossible to optimize the geometry for consistent dynamic performance across all usage scenarios.
|
||||||
This led to a practical design approach where struts were oriented more vertically than in cubic configurations to address several application-specific needs: achieving higher resolution in the vertical direction by reducing amplification factors and better matching the micro-station's modal characteristics with higher vertical resonance frequencies.
|
This led to a practical design approach where struts were oriented more vertically than in cubic configurations to address several application-specific needs: achieving higher resolution in the vertical direction by reducing amplification factors and better matching the micro-station's modal characteristics with higher vertical resonance frequencies.
|
||||||
|
|
||||||
** Optimization using Finite Element Models
|
** Component Optimization
|
||||||
*** Introduction :ignore:
|
*** Introduction :ignore:
|
||||||
|
|
||||||
During the nano-hexapod's detailed design phase, a hybrid modeling approach combining finite element analysis with multi-body dynamics was developed.
|
During the nano-hexapod's detailed design phase, a hybrid modeling approach combining finite element analysis with multi-body dynamics was developed.
|
||||||
@ -7052,7 +6675,6 @@ The multi-body model predicted a resonant frequency under block-free conditions
|
|||||||
|
|
||||||
#+name: fig:detail_fem_apa95ml_compliance
|
#+name: fig:detail_fem_apa95ml_compliance
|
||||||
#+caption: Estimated compliance of the APA95ML
|
#+caption: Estimated compliance of the APA95ML
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/detail_fem_apa95ml_compliance.png]]
|
[[file:figs/detail_fem_apa95ml_compliance.png]]
|
||||||
|
|
||||||
In order to estimate the stroke of the APA95ML, the mechanical amplification factor, defined as the ratio between vertical displacement and horizontal stack displacement, was first determined.
|
In order to estimate the stroke of the APA95ML, the mechanical amplification factor, defined as the ratio between vertical displacement and horizontal stack displacement, was first determined.
|
||||||
@ -7341,7 +6963,6 @@ The developed models of the APA do not represent such behavior, but as this effe
|
|||||||
|
|
||||||
#+name: fig:detail_fem_apa95ml_effect_electrical_boundaries
|
#+name: fig:detail_fem_apa95ml_effect_electrical_boundaries
|
||||||
#+caption: Effect of the electrical bondaries of the force sensor stack on the APA95ML resonance frequency
|
#+caption: Effect of the electrical bondaries of the force sensor stack on the APA95ML resonance frequency
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/detail_fem_apa95ml_effect_electrical_boundaries.png]]
|
[[file:figs/detail_fem_apa95ml_effect_electrical_boundaries.png]]
|
||||||
|
|
||||||
However, the electrical characteristics of the APA remain crucial for instrumentation design.
|
However, the electrical characteristics of the APA remain crucial for instrumentation design.
|
||||||
@ -7689,7 +7310,6 @@ The transfer functions from these three noise sources (for one strut) to the ver
|
|||||||
|
|
||||||
#+name: fig:detail_instrumentation_noise_sensitivities
|
#+name: fig:detail_instrumentation_noise_sensitivities
|
||||||
#+caption: Transfer function from noise sources to vertical motion errors, in closed-loop with the implemented HAC-LAC strategy.
|
#+caption: Transfer function from noise sources to vertical motion errors, in closed-loop with the implemented HAC-LAC strategy.
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/detail_instrumentation_noise_sensitivities.png]]
|
[[file:figs/detail_instrumentation_noise_sensitivities.png]]
|
||||||
|
|
||||||
**** Estimation of maximum instrumentation noise
|
**** Estimation of maximum instrumentation noise
|
||||||
@ -7973,7 +7593,6 @@ This approach is effective because the noise approximates white noise and its am
|
|||||||
|
|
||||||
#+name: fig:detail_instrumentation_adc_noise_measured
|
#+name: fig:detail_instrumentation_adc_noise_measured
|
||||||
#+caption: Measured ADC noise (IO318)
|
#+caption: Measured ADC noise (IO318)
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/detail_instrumentation_adc_noise_measured.png]]
|
[[file:figs/detail_instrumentation_adc_noise_measured.png]]
|
||||||
|
|
||||||
***** Reading of piezoelectric force sensor
|
***** Reading of piezoelectric force sensor
|
||||||
@ -8144,7 +7763,6 @@ While the exact cause of these peaks is not fully understood, their amplitudes r
|
|||||||
|
|
||||||
#+name: fig:detail_instrumentation_pd200_noise
|
#+name: fig:detail_instrumentation_pd200_noise
|
||||||
#+caption: Measured output voltage noise of the PD200 amplifiers
|
#+caption: Measured output voltage noise of the PD200 amplifiers
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/detail_instrumentation_pd200_noise.png]]
|
[[file:figs/detail_instrumentation_pd200_noise.png]]
|
||||||
|
|
||||||
***** Small Signal Bandwidth
|
***** Small Signal Bandwidth
|
||||||
@ -8161,7 +7779,6 @@ The identified dynamics shown in Figure ref:fig:detail_instrumentation_pd200_tf
|
|||||||
|
|
||||||
#+name: fig:detail_instrumentation_pd200_tf
|
#+name: fig:detail_instrumentation_pd200_tf
|
||||||
#+caption: Identified dynamics from input voltage to output voltage of the PD200 voltage amplifier
|
#+caption: Identified dynamics from input voltage to output voltage of the PD200 voltage amplifier
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/detail_instrumentation_pd200_tf.png]]
|
[[file:figs/detail_instrumentation_pd200_tf.png]]
|
||||||
|
|
||||||
**** Linear Encoders
|
**** Linear Encoders
|
||||||
@ -8202,7 +7819,6 @@ This confirms that the selected instrumentation, with its measured noise charact
|
|||||||
|
|
||||||
#+name: fig:detail_instrumentation_cl_noise_budget
|
#+name: fig:detail_instrumentation_cl_noise_budget
|
||||||
#+caption: Closed-loop noise budgeting using measured noise of instrumentation
|
#+caption: Closed-loop noise budgeting using measured noise of instrumentation
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/detail_instrumentation_cl_noise_budget.png]]
|
[[file:figs/detail_instrumentation_cl_noise_budget.png]]
|
||||||
|
|
||||||
*** Conclusion
|
*** Conclusion
|
||||||
@ -8240,7 +7856,7 @@ This rigorous methodology spanning requirement formulation, component selection,
|
|||||||
:END:
|
:END:
|
||||||
<<sec:detail_conclusion>>
|
<<sec:detail_conclusion>>
|
||||||
|
|
||||||
* Experimental Validation :noexport:
|
* Experimental Validation
|
||||||
<<chap:test>>
|
<<chap:test>>
|
||||||
\minitoc
|
\minitoc
|
||||||
**** Abstract
|
**** Abstract
|
||||||
@ -8312,7 +7928,6 @@ The measured flatness values, summarized in Table ref:tab:test_apa_flatness_meas
|
|||||||
#+attr_latex: :environment tabularx :width 0.6\linewidth :align Xc
|
#+attr_latex: :environment tabularx :width 0.6\linewidth :align Xc
|
||||||
#+attr_latex: :booktabs t :float nil
|
#+attr_latex: :booktabs t :float nil
|
||||||
#+caption: Estimated flatness of the APA300ML interfaces
|
#+caption: Estimated flatness of the APA300ML interfaces
|
||||||
#+RESULTS:
|
|
||||||
| | *Flatness* $[\mu m]$ |
|
| | *Flatness* $[\mu m]$ |
|
||||||
|-------+----------------------|
|
|-------+----------------------|
|
||||||
| APA 1 | 8.9 |
|
| APA 1 | 8.9 |
|
||||||
@ -8466,7 +8081,6 @@ Another explanation is the shape difference between the manufactured APA300ML an
|
|||||||
|
|
||||||
#+name: fig:test_apa_meas_freq_compare
|
#+name: fig:test_apa_meas_freq_compare
|
||||||
#+caption: Frequency response functions for the two tests using the instrumented hammer and the laser vibrometer. The Y-bending mode is measured at $280\,\text{Hz}$ and the X-bending mode at $412\,\text{Hz}$
|
#+caption: Frequency response functions for the two tests using the instrumented hammer and the laser vibrometer. The Y-bending mode is measured at $280\,\text{Hz}$ and the X-bending mode at $412\,\text{Hz}$
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_apa_meas_freq_compare.png]]
|
[[file:figs/test_apa_meas_freq_compare.png]]
|
||||||
|
|
||||||
*** Dynamical measurements
|
*** Dynamical measurements
|
||||||
@ -8517,7 +8131,6 @@ This is the typical behavior expected from a PZT stack actuator, where the hyste
|
|||||||
|
|
||||||
#+name: fig:test_apa_meas_hysteresis
|
#+name: fig:test_apa_meas_hysteresis
|
||||||
#+caption: Displacement as a function of applied voltage for multiple excitation amplitudes
|
#+caption: Displacement as a function of applied voltage for multiple excitation amplitudes
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_apa_meas_hysteresis.png]]
|
[[file:figs/test_apa_meas_hysteresis.png]]
|
||||||
|
|
||||||
**** Axial stiffness
|
**** Axial stiffness
|
||||||
@ -8551,7 +8164,6 @@ These estimated stiffnesses are summarized in Table ref:tab:test_apa_measured_st
|
|||||||
#+caption: Measured axial stiffnesses (in $N/\mu m$)
|
#+caption: Measured axial stiffnesses (in $N/\mu m$)
|
||||||
#+attr_latex: :environment tabularx :width 0.6\linewidth :align Xcc
|
#+attr_latex: :environment tabularx :width 0.6\linewidth :align Xcc
|
||||||
#+attr_latex: :center t :booktabs t :float nil
|
#+attr_latex: :center t :booktabs t :float nil
|
||||||
#+RESULTS:
|
|
||||||
| APA | $k_1$ | $k_2$ |
|
| APA | $k_1$ | $k_2$ |
|
||||||
|-----+-------+-------|
|
|-----+-------+-------|
|
||||||
| 1 | 1.68 | 1.9 |
|
| 1 | 1.68 | 1.9 |
|
||||||
@ -8667,7 +8279,6 @@ It is confirmed that the added resistor has the effect of adding a high-pass fil
|
|||||||
|
|
||||||
#+name: fig:test_apa_effect_resistance
|
#+name: fig:test_apa_effect_resistance
|
||||||
#+caption: Transfer function from $u$ to $V_s$ with and without the resistor $R$ in parallel with the piezoelectric stack used as the force sensor
|
#+caption: Transfer function from $u$ to $V_s$ with and without the resistor $R$ in parallel with the piezoelectric stack used as the force sensor
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_apa_effect_resistance.png]]
|
[[file:figs/test_apa_effect_resistance.png]]
|
||||||
|
|
||||||
**** Integral Force Feedback
|
**** Integral Force Feedback
|
||||||
@ -8684,7 +8295,6 @@ A comparison between the identified plant and the manually tuned transfer functi
|
|||||||
|
|
||||||
#+name: fig:test_apa_iff_plant_comp_manual_fit
|
#+name: fig:test_apa_iff_plant_comp_manual_fit
|
||||||
#+caption: Identified IFF plant and manually tuned model of the plant (a time delay of $200\,\mu s$ is added to the model of the plant to better match the identified phase). Note that a minimum-phase zero is identified here even though the coherence is not good around the frequency of the zero.
|
#+caption: Identified IFF plant and manually tuned model of the plant (a time delay of $200\,\mu s$ is added to the model of the plant to better match the identified phase). Note that a minimum-phase zero is identified here even though the coherence is not good around the frequency of the zero.
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_apa_iff_plant_comp_manual_fit.png]]
|
[[file:figs/test_apa_iff_plant_comp_manual_fit.png]]
|
||||||
|
|
||||||
The implemented Integral Force Feedback Controller transfer function is shown in equation eqref:eq:test_apa_Kiff_formula.
|
The implemented Integral Force Feedback Controller transfer function is shown in equation eqref:eq:test_apa_Kiff_formula.
|
||||||
@ -9070,7 +8680,6 @@ However, what is more important than the true value of the thickness is the cons
|
|||||||
|
|
||||||
#+name: fig:test_joints_size_hist
|
#+name: fig:test_joints_size_hist
|
||||||
#+caption: Histogram for the (16x2) measured beams' thicknesses
|
#+caption: Histogram for the (16x2) measured beams' thicknesses
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_joints_size_hist.png]]
|
[[file:figs/test_joints_size_hist.png]]
|
||||||
|
|
||||||
**** Bad flexible joints
|
**** Bad flexible joints
|
||||||
@ -9950,7 +9559,6 @@ Thickness differences for all the struts were found to be between $0.94\,mm$ and
|
|||||||
#+caption: Measured $y$ misalignment at the top and bottom of the APA. Measurements are in $mm$
|
#+caption: Measured $y$ misalignment at the top and bottom of the APA. Measurements are in $mm$
|
||||||
#+attr_latex: :environment tabularx :width 0.25\linewidth :align Xcc
|
#+attr_latex: :environment tabularx :width 0.25\linewidth :align Xcc
|
||||||
#+attr_latex: :center t :booktabs t
|
#+attr_latex: :center t :booktabs t
|
||||||
#+RESULTS:
|
|
||||||
| *Strut* | *Bot* | *Top* |
|
| *Strut* | *Bot* | *Top* |
|
||||||
|---------+-------+-------|
|
|---------+-------+-------|
|
||||||
| 1 | 0.1 | 0.33 |
|
| 1 | 0.1 | 0.33 |
|
||||||
@ -9970,7 +9578,6 @@ With a better alignment, the amplitude of the spurious resonances is expected to
|
|||||||
|
|
||||||
#+name: fig:test_struts_comp_dy_tuned_model_frf_enc
|
#+name: fig:test_struts_comp_dy_tuned_model_frf_enc
|
||||||
#+caption: Comparison of the frequency response functions from DAC voltage $u$ to measured displacement $d_e$ by the encoders for the three struts. In blue, the measured dynamics is represted, in red the dynamics extracted from the model with the $y$ misalignment estimated from measurements, and in yellow, the dynamics extracted from the model when both the $x$ and $y$ misalignments are tuned
|
#+caption: Comparison of the frequency response functions from DAC voltage $u$ to measured displacement $d_e$ by the encoders for the three struts. In blue, the measured dynamics is represted, in red the dynamics extracted from the model with the $y$ misalignment estimated from measurements, and in yellow, the dynamics extracted from the model when both the $x$ and $y$ misalignments are tuned
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_struts_comp_dy_tuned_model_frf_enc.png]]
|
[[file:figs/test_struts_comp_dy_tuned_model_frf_enc.png]]
|
||||||
|
|
||||||
**** Proper struts alignment
|
**** Proper struts alignment
|
||||||
@ -9986,7 +9593,6 @@ Measured $y$ alignments are summarized in Table ref:tab:test_struts_meas_y_misal
|
|||||||
#+caption: Measured $y$ misalignment at the top and bottom of the APA after realigning the struts using a positioning pin. Measurements are in $mm$.
|
#+caption: Measured $y$ misalignment at the top and bottom of the APA after realigning the struts using a positioning pin. Measurements are in $mm$.
|
||||||
#+attr_latex: :environment tabularx :width 0.25\linewidth :align Xcc
|
#+attr_latex: :environment tabularx :width 0.25\linewidth :align Xcc
|
||||||
#+attr_latex: :center t :booktabs t
|
#+attr_latex: :center t :booktabs t
|
||||||
#+RESULTS:
|
|
||||||
| *Strut* | *Bot* | *Top* |
|
| *Strut* | *Bot* | *Top* |
|
||||||
|---------+--------+-------|
|
|---------+--------+-------|
|
||||||
| 1 | -0.02 | 0.01 |
|
| 1 | -0.02 | 0.01 |
|
||||||
@ -10006,7 +9612,6 @@ Therefore, fixing the encoders to the nano-hexapod plates instead may be an inte
|
|||||||
|
|
||||||
#+name: fig:test_struts_comp_enc_frf_realign
|
#+name: fig:test_struts_comp_enc_frf_realign
|
||||||
#+caption: Comparison of the dynamics from $u$ to $d_e$ before and after proper alignment using the dowel pins
|
#+caption: Comparison of the dynamics from $u$ to $d_e$ before and after proper alignment using the dowel pins
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_struts_comp_enc_frf_realign.png]]
|
[[file:figs/test_struts_comp_enc_frf_realign.png]]
|
||||||
|
|
||||||
*** Conclusion
|
*** Conclusion
|
||||||
@ -10192,7 +9797,6 @@ The next modes are the flexible modes of the breadboard as shown in Figure ref:f
|
|||||||
#+caption: Obtained modes of the suspended table
|
#+caption: Obtained modes of the suspended table
|
||||||
#+attr_latex: :environment tabularx :width 0.8\linewidth :placement [b] :align clX
|
#+attr_latex: :environment tabularx :width 0.8\linewidth :placement [b] :align clX
|
||||||
#+attr_latex: :booktabs t :float nil :center t
|
#+attr_latex: :booktabs t :float nil :center t
|
||||||
#+RESULTS:
|
|
||||||
| *Modes* | *Frequency* | *Description* |
|
| *Modes* | *Frequency* | *Description* |
|
||||||
|---------+-------------+------------------|
|
|---------+-------------+------------------|
|
||||||
| 1,2 | 1.3 Hz | X-Y translations |
|
| 1,2 | 1.3 Hz | X-Y translations |
|
||||||
@ -10274,7 +9878,6 @@ The effect of the payload mass on the dynamics is discussed in Section ref:ssec:
|
|||||||
#+name: fig:test_nhexa_nano_hexapod_signals
|
#+name: fig:test_nhexa_nano_hexapod_signals
|
||||||
#+caption: Block diagram of the studied system. The command signal generated by the speedgoat is $\mathbf{u}$, and the measured dignals are $\mathbf{d}_{e}$ and $\mathbf{V}_s$. Units are indicated in square brackets.
|
#+caption: Block diagram of the studied system. The command signal generated by the speedgoat is $\mathbf{u}$, and the measured dignals are $\mathbf{d}_{e}$ and $\mathbf{V}_s$. Units are indicated in square brackets.
|
||||||
#+attr_latex: :width \linewidth
|
#+attr_latex: :width \linewidth
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_nhexa_nano_hexapod_signals.png]]
|
[[file:figs/test_nhexa_nano_hexapod_signals.png]]
|
||||||
|
|
||||||
**** Modal analysis
|
**** Modal analysis
|
||||||
@ -10349,7 +9952,6 @@ This would not have occurred if the encoders were fixed to the struts.
|
|||||||
#+name: fig:test_nhexa_identified_frf_de
|
#+name: fig:test_nhexa_identified_frf_de
|
||||||
#+caption: Measured FRF for the transfer function from $\mathbf{u}$ to $\mathbf{d}_e$. The 6 diagonal terms are the colored lines (all superimposed), and the 30 off-diagonal terms are the gray lines.
|
#+caption: Measured FRF for the transfer function from $\mathbf{u}$ to $\mathbf{d}_e$. The 6 diagonal terms are the colored lines (all superimposed), and the 30 off-diagonal terms are the gray lines.
|
||||||
#+attr_latex: :width \linewidth
|
#+attr_latex: :width \linewidth
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_nhexa_identified_frf_de.png]]
|
[[file:figs/test_nhexa_identified_frf_de.png]]
|
||||||
|
|
||||||
Similarly, the $6 \times 6$ FRF matrix from $\mathbf{u}$ to $\mathbf{V}_s$ is shown in Figure ref:fig:test_nhexa_identified_frf_Vs.
|
Similarly, the $6 \times 6$ FRF matrix from $\mathbf{u}$ to $\mathbf{V}_s$ is shown in Figure ref:fig:test_nhexa_identified_frf_Vs.
|
||||||
@ -10360,7 +9962,6 @@ The first flexible mode of the struts as 235Hz has large amplitude, and therefor
|
|||||||
#+name: fig:test_nhexa_identified_frf_Vs
|
#+name: fig:test_nhexa_identified_frf_Vs
|
||||||
#+caption: Measured FRF for the transfer function from $\mathbf{u}$ to $\mathbf{V}_s$. The 6 diagonal terms are the colored lines (all superimposed), and the 30 off-diagonal terms are the shaded black lines.
|
#+caption: Measured FRF for the transfer function from $\mathbf{u}$ to $\mathbf{V}_s$. The 6 diagonal terms are the colored lines (all superimposed), and the 30 off-diagonal terms are the shaded black lines.
|
||||||
#+attr_latex: :width \linewidth
|
#+attr_latex: :width \linewidth
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_nhexa_identified_frf_Vs.png]]
|
[[file:figs/test_nhexa_identified_frf_Vs.png]]
|
||||||
|
|
||||||
**** Effect of payload mass on the dynamics
|
**** Effect of payload mass on the dynamics
|
||||||
@ -10471,7 +10072,6 @@ Similar results are observed for all other coupling terms and for the transfer f
|
|||||||
|
|
||||||
#+name: fig:test_nhexa_comp_simscape_de_all
|
#+name: fig:test_nhexa_comp_simscape_de_all
|
||||||
#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal $u_1$ to the six encoders $d_{e1}$ to $d_{e6}$. The APA are here modeled with a 2-DoF mass-spring-damper system.
|
#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal $u_1$ to the six encoders $d_{e1}$ to $d_{e6}$. The APA are here modeled with a 2-DoF mass-spring-damper system.
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_nhexa_comp_simscape_de_all.png]]
|
[[file:figs/test_nhexa_comp_simscape_de_all.png]]
|
||||||
|
|
||||||
The APA300ML was then modeled with a /super-element/ extracted from a FE-software.
|
The APA300ML was then modeled with a /super-element/ extracted from a FE-software.
|
||||||
@ -10482,7 +10082,6 @@ Therefore, if the modes of the struts are to be modeled, the /super-element/ of
|
|||||||
|
|
||||||
#+name: fig:test_nhexa_comp_simscape_de_all_flex
|
#+name: fig:test_nhexa_comp_simscape_de_all_flex
|
||||||
#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal $u_1$ to the six encoders $d_{e1}$ to $d_{e6}$. The APA are here modeled with a "super-element".
|
#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal $u_1$ to the six encoders $d_{e1}$ to $d_{e6}$. The APA are here modeled with a "super-element".
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_nhexa_comp_simscape_de_all_flex.png]]
|
[[file:figs/test_nhexa_comp_simscape_de_all_flex.png]]
|
||||||
|
|
||||||
**** Effect of payload mass
|
**** Effect of payload mass
|
||||||
@ -10521,7 +10120,6 @@ Therefore, the model effectively represents the system coupling for different pa
|
|||||||
|
|
||||||
#+name: fig:test_nhexa_comp_simscape_de_all_high_mass
|
#+name: fig:test_nhexa_comp_simscape_de_all_high_mass
|
||||||
#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal $u_1$ to the six encoders $d_{e1}$ to $d_{e6}$
|
#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal $u_1$ to the six encoders $d_{e1}$ to $d_{e6}$
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_nhexa_comp_simscape_de_all_high_mass.png]]
|
[[file:figs/test_nhexa_comp_simscape_de_all_high_mass.png]]
|
||||||
|
|
||||||
*** Conclusion
|
*** Conclusion
|
||||||
@ -10763,7 +10361,6 @@ The obtained lateral acceptance for pure displacements in any direction is estim
|
|||||||
#+caption: Estimated measurement range for each interferometer, and for three different directions.
|
#+caption: Estimated measurement range for each interferometer, and for three different directions.
|
||||||
#+attr_latex: :environment tabularx :width 0.45\linewidth :align Xccc
|
#+attr_latex: :environment tabularx :width 0.45\linewidth :align Xccc
|
||||||
#+attr_latex: :center t :booktabs t
|
#+attr_latex: :center t :booktabs t
|
||||||
#+RESULTS:
|
|
||||||
| | $D_x$ | $D_y$ | $D_z$ |
|
| | $D_x$ | $D_y$ | $D_z$ |
|
||||||
|-----------+-------------+------------+-------|
|
|-----------+-------------+------------+-------|
|
||||||
| $d_1$ (y) | $1.0\,mm$ | $>2\,mm$ | $1.35\,mm$ |
|
| $d_1$ (y) | $1.0\,mm$ | $>2\,mm$ | $1.35\,mm$ |
|
||||||
@ -10905,7 +10502,6 @@ The flexible modes of the top platform can be passively damped, whereas the mode
|
|||||||
|
|
||||||
#+name: fig:test_id31_first_id_int_better_rz_align
|
#+name: fig:test_id31_first_id_int_better_rz_align
|
||||||
#+caption: Decrease of the coupling with better Rz alignment
|
#+caption: Decrease of the coupling with better Rz alignment
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_id31_first_id_int_better_rz_align.png]]
|
[[file:figs/test_id31_first_id_int_better_rz_align.png]]
|
||||||
|
|
||||||
**** Effect of Payload Mass
|
**** Effect of Payload Mass
|
||||||
@ -11038,7 +10634,6 @@ This confirms that the multi-body model can be used to tune the IFF controller.
|
|||||||
|
|
||||||
#+name: fig:test_id31_comp_simscape_Vs
|
#+name: fig:test_id31_comp_simscape_Vs
|
||||||
#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal $u_1$ to the six force sensor voltages $V_{s1}$ to $V_{s6}$
|
#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal $u_1$ to the six force sensor voltages $V_{s1}$ to $V_{s6}$
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_id31_comp_simscape_Vs.png]]
|
[[file:figs/test_id31_comp_simscape_Vs.png]]
|
||||||
|
|
||||||
**** IFF Controller
|
**** IFF Controller
|
||||||
@ -11178,7 +10773,6 @@ Considering the complexity of the system's dynamics, the model can be considered
|
|||||||
|
|
||||||
#+name: fig:test_id31_comp_simscape_hac
|
#+name: fig:test_id31_comp_simscape_hac
|
||||||
#+caption: 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
|
#+caption: 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
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_id31_comp_simscape_hac.png]]
|
[[file:figs/test_id31_comp_simscape_hac.png]]
|
||||||
|
|
||||||
The challenge here is to tune a high authority controller such that it is robust to the change in dynamics due to different payloads being used.
|
The challenge here is to tune a high authority controller such that it is robust to the change in dynamics due to different payloads being used.
|
||||||
@ -11188,7 +10782,6 @@ This is one of the key benefits of using the HAC-LAC strategy.
|
|||||||
|
|
||||||
#+name: fig:test_id31_comp_all_undamped_damped_plants
|
#+name: fig:test_id31_comp_all_undamped_damped_plants
|
||||||
#+caption: 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).
|
#+caption: 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).
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_id31_comp_all_undamped_damped_plants.png]]
|
[[file:figs/test_id31_comp_all_undamped_damped_plants.png]]
|
||||||
|
|
||||||
**** Interaction Analysis
|
**** Interaction Analysis
|
||||||
@ -11216,7 +10809,6 @@ This design choice, while beneficial for system simplicity, introduces inherent
|
|||||||
|
|
||||||
#+name: fig:test_id31_hac_rga_number
|
#+name: fig:test_id31_hac_rga_number
|
||||||
#+caption: RGA-number for the damped plants - Comparison of all the payload conditions
|
#+caption: RGA-number for the damped plants - Comparison of all the payload conditions
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_id31_hac_rga_number.png]]
|
[[file:figs/test_id31_hac_rga_number.png]]
|
||||||
|
|
||||||
**** Robust Controller Design
|
**** Robust Controller Design
|
||||||
@ -11291,7 +10883,6 @@ However, it was decided that this controller should be tested experimentally and
|
|||||||
|
|
||||||
#+name: fig:test_id31_hac_tomography_Wz36_simulation
|
#+name: fig:test_id31_hac_tomography_Wz36_simulation
|
||||||
#+caption: Positioning errors in the Y-Z plane during tomography experiments simulated using the multi-body model (in closed-loop)
|
#+caption: Positioning errors in the Y-Z plane during tomography experiments simulated using the multi-body model (in closed-loop)
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_id31_hac_tomography_Wz36_simulation.png]]
|
[[file:figs/test_id31_hac_tomography_Wz36_simulation.png]]
|
||||||
|
|
||||||
**** Conclusion
|
**** Conclusion
|
||||||
@ -11382,7 +10973,6 @@ These experimental findings are consistent with the predictions from the tomogra
|
|||||||
|
|
||||||
#+name: fig:test_id31_tomo_Wz36_results
|
#+name: fig:test_id31_tomo_Wz36_results
|
||||||
#+caption: Measured errors in the $Y-Z$ plane during tomography experiments at $6\,\text{deg/s}$ for all considered payloads. In the open-loop case, the effect of eccentricity is removed from the data.
|
#+caption: Measured errors in the $Y-Z$ plane during tomography experiments at $6\,\text{deg/s}$ for all considered payloads. In the open-loop case, the effect of eccentricity is removed from the data.
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_id31_tomo_Wz36_results.png]]
|
[[file:figs/test_id31_tomo_Wz36_results.png]]
|
||||||
|
|
||||||
***** Fast Tomography scans
|
***** Fast Tomography scans
|
||||||
@ -11668,7 +11258,6 @@ The system performance was evaluated at three lateral scanning velocities: $0.1\
|
|||||||
|
|
||||||
#+name: fig:test_id31_diffraction_tomo_setpoint
|
#+name: fig:test_id31_diffraction_tomo_setpoint
|
||||||
#+caption: Dy motion for several configured velocities
|
#+caption: Dy motion for several configured velocities
|
||||||
#+RESULTS:
|
|
||||||
[[file:figs/test_id31_diffraction_tomo_setpoint.png]]
|
[[file:figs/test_id31_diffraction_tomo_setpoint.png]]
|
||||||
|
|
||||||
The positioning errors measured along $D_y$, $D_z$, and $R_y$ directions are displayed in Figure ref:fig:test_id31_diffraction_tomo.
|
The positioning errors measured along $D_y$, $D_z$, and $R_y$ directions are displayed in Figure ref:fig:test_id31_diffraction_tomo.
|
||||||
@ -11785,9 +11374,6 @@ Moreover, the systematic approach to system development and validation, along wi
|
|||||||
* TODO Conclusion and Future Work
|
* TODO Conclusion and Future Work
|
||||||
<<chap:conclusion>>
|
<<chap:conclusion>>
|
||||||
|
|
||||||
** Alternative Architecture
|
|
||||||
[[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/alternative-micro-station-architecture.org]]
|
|
||||||
|
|
||||||
* Appendix :noexport:ignore:
|
* Appendix :noexport:ignore:
|
||||||
#+latex: \appendix
|
#+latex: \appendix
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user