diff --git a/docs/figs/effect_feedback_disturbance_diagram.pdf b/docs/figs/effect_feedback_disturbance_diagram.pdf new file mode 100644 index 0000000..2b629e2 Binary files /dev/null and b/docs/figs/effect_feedback_disturbance_diagram.pdf differ diff --git a/docs/figs/effect_feedback_disturbance_diagram.png b/docs/figs/effect_feedback_disturbance_diagram.png new file mode 100644 index 0000000..6b7fee9 Binary files /dev/null and b/docs/figs/effect_feedback_disturbance_diagram.png differ diff --git a/docs/figs/opt_stiff_cas_dz_gm.pdf b/docs/figs/opt_stiff_cas_dz_gm.pdf new file mode 100644 index 0000000..98662c1 Binary files /dev/null and b/docs/figs/opt_stiff_cas_dz_gm.pdf differ diff --git a/docs/figs/opt_stiff_cas_dz_gm.png b/docs/figs/opt_stiff_cas_dz_gm.png new file mode 100644 index 0000000..1be7aaf Binary files /dev/null and b/docs/figs/opt_stiff_cas_dz_gm.png differ diff --git a/docs/figs/opt_stiff_cas_dz_rz.pdf b/docs/figs/opt_stiff_cas_dz_rz.pdf new file mode 100644 index 0000000..c505c0f Binary files /dev/null and b/docs/figs/opt_stiff_cas_dz_rz.pdf differ diff --git a/docs/figs/opt_stiff_cas_dz_rz.png b/docs/figs/opt_stiff_cas_dz_rz.png new file mode 100644 index 0000000..d07c38e Binary files /dev/null and b/docs/figs/opt_stiff_cas_dz_rz.png differ diff --git a/docs/figs/opt_stiff_cas_dz_tot.pdf b/docs/figs/opt_stiff_cas_dz_tot.pdf new file mode 100644 index 0000000..913a6e3 Binary files /dev/null and b/docs/figs/opt_stiff_cas_dz_tot.pdf differ diff --git a/docs/figs/opt_stiff_cas_dz_tot.png b/docs/figs/opt_stiff_cas_dz_tot.png new file mode 100644 index 0000000..f59080e Binary files /dev/null and b/docs/figs/opt_stiff_cas_dz_tot.png differ diff --git a/docs/figs/opt_stiff_psd_dz_gm.pdf b/docs/figs/opt_stiff_psd_dz_gm.pdf new file mode 100644 index 0000000..81061b2 Binary files /dev/null and b/docs/figs/opt_stiff_psd_dz_gm.pdf differ diff --git a/docs/figs/opt_stiff_psd_dz_gm.png b/docs/figs/opt_stiff_psd_dz_gm.png new file mode 100644 index 0000000..926873e Binary files /dev/null and b/docs/figs/opt_stiff_psd_dz_gm.png differ diff --git a/docs/figs/opt_stiff_psd_dz_rz.pdf b/docs/figs/opt_stiff_psd_dz_rz.pdf new file mode 100644 index 0000000..9afd850 Binary files /dev/null and b/docs/figs/opt_stiff_psd_dz_rz.pdf differ diff --git a/docs/figs/opt_stiff_psd_dz_rz.png b/docs/figs/opt_stiff_psd_dz_rz.png new file mode 100644 index 0000000..30bae34 Binary files /dev/null and b/docs/figs/opt_stiff_psd_dz_rz.png differ diff --git a/docs/figs/opt_stiff_psd_dz_tot.pdf b/docs/figs/opt_stiff_psd_dz_tot.pdf new file mode 100644 index 0000000..0de6f48 Binary files /dev/null and b/docs/figs/opt_stiff_psd_dz_tot.pdf differ diff --git a/docs/figs/opt_stiff_psd_dz_tot.png b/docs/figs/opt_stiff_psd_dz_tot.png new file mode 100644 index 0000000..5c4313d Binary files /dev/null and b/docs/figs/opt_stiff_psd_dz_tot.png differ diff --git a/docs/figs/psd_change_tf.pdf b/docs/figs/psd_change_tf.pdf new file mode 100644 index 0000000..782f377 Binary files /dev/null and b/docs/figs/psd_change_tf.pdf differ diff --git a/docs/figs/psd_change_tf.png b/docs/figs/psd_change_tf.png new file mode 100644 index 0000000..68a2e34 Binary files /dev/null and b/docs/figs/psd_change_tf.png differ diff --git a/docs/figs/psd_change_tf_multiple_pert.pdf b/docs/figs/psd_change_tf_multiple_pert.pdf new file mode 100644 index 0000000..a1174e5 Binary files /dev/null and b/docs/figs/psd_change_tf_multiple_pert.pdf differ diff --git a/docs/figs/psd_change_tf_multiple_pert.png b/docs/figs/psd_change_tf_multiple_pert.png new file mode 100644 index 0000000..955cba4 Binary files /dev/null and b/docs/figs/psd_change_tf_multiple_pert.png differ diff --git a/docs/optimal_stiffness_disturbances.html b/docs/optimal_stiffness_disturbances.html index a6424bc..4d97449 100644 --- a/docs/optimal_stiffness_disturbances.html +++ b/docs/optimal_stiffness_disturbances.html @@ -4,7 +4,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +@@ -696,27 +697,130 @@ Having a soft granite suspension could greatly improve the sensitivity the groun
++Now that the frequency content of disturbances have been estimated (Section 1) and the transfer functions from disturbances to the position error of the sample have been identified (Section 2), we can compute the level of sample vibration due to the disturbances. +
+ ++We then can conclude and the nano-hexapod stiffness that will lower the sample position error. +
load('./mat/dist_psd.mat', 'dist_f'); -load('./mat/opt_stiffness_disturbances.mat', 'Gd') -+
+Let’s consider Figure 13 there \(G_d(s)\) is the transfer function from a signal \(d\) (the perturbation) to a signal \(y\) (the sample’s position error). +
+ + ++
+Figure 13: Figure caption
++We can compute the Power Spectral Density (PSD) of signal \(y\) from the PSD of \(d\) and the norm of \(G_d(s)\): +
+\begin{equation} + S_{y}(\omega) = \left|G_d(j\omega)\right|^2 S_{d}(\omega) \label{eq:psd_transfer_function} +\end{equation} + ++If we now consider multiple disturbances \(d_1, \dots, d_n\) as shown in Figure 14, we have that: +
+\begin{equation} + S_{y}(\omega) = \left|G_{d_1}(j\omega)\right|^2 S_{d_1}(\omega) + \dots + \left|G_{d_n}(j\omega)\right|^2 S_{d_n}(\omega) \label{eq:sum_psd} +\end{equation} + ++Sometimes, we prefer to compute the Amplitude Spectral Density (ASD) which is related to the PSD by: +\[ \Gamma_y(\omega) = \sqrt{S_y(\omega)} \] +
+ + ++
+Figure 14: Figure caption
++The Cumulative Power Spectrum (CPS) is here defined as: +
+\begin{equation} + \Phi_y(\omega) = \int_\omega^\infty S_y(\nu) d\nu +\end{equation} + ++And the Cumulative Amplitude Spectrum (CAS): +
+\begin{equation} + \Psi(\omega) = \sqrt{\Phi(\omega)} = \sqrt{\int_\omega^\infty S_y(\nu) d\nu} +\end{equation} + ++The CAS evaluation for all frequency corresponds to the rms value of the considered quantity: +\[ y_{\text{rms}} = \Psi(\omega = 0) = \sqrt{\int_0^\infty S_y(\nu) d\nu} \] +
++We compute the effect of perturbations on the motion error thanks to Eq. \eqref{eq:psd_transfer_function}. +
+ ++The result is shown in: +
++
+Figure 15: Amplitude Spectral Density of the Sample vertical position error due to Ground motion for multiple nano-hexapod stiffnesses (png, pdf)
++
+Figure 16: Amplitude Spectral Density of the Sample vertical position error due to Vertical vibration of the Spindle for multiple nano-hexapod stiffnesses (png, pdf)
++We compute the effect of all perturbations on the vertical position error using Eq. \eqref{eq:sum_psd} and the resulting PSD is shown in Figure 17. +
+ +-Effect of all disturbances +Similarly, the Cumulative Amplitude Spectrum of the sample vibrations are shown: +
++The black dashed line corresponds to the performance objective of a sample vibration equal to \(10\ nm [rms]\).
freqs = dist_f.f; - -figure; -hold on; -for i = 1:length(Ks) - plot(freqs, sqrt(flip(-cumtrapz(flip(freqs), flip(dist_f.psd_ty.*abs(squeeze(freqresp(Gd{i}('Ez', 'Fty_z'), freqs, 'Hz'))).^2)))), '-', ... + plot(freqs, sqrt(flip(-cumtrapz(flip(freqs), flip(dist_f.psd_gm.*abs(squeeze(freqresp(Gd{i}('Ez', 'Dwz'), freqs, 'Hz'))).^2)))), '-', ... 'DisplayName', sprintf('$k = %.0g$ [N/m]', Ks(i))); end plot([freqs(1) freqs(end)], [10e-9 10e-9], 'k--', 'HandleVisibility', 'off'); hold off; set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); -xlabel('Frequency [Hz]'); ylabel('CAS $[m]$') -legend('Location', 'southwest'); -xlim([2, 500]); ylim([1e-10 1e-6]); +xlabel('Frequency [Hz]'); ylabel('CAS $E_y$ $[m]$') +legend('Location', 'northeast'); +xlim([1, 500]); ylim([1e-10 1e-6]);
+
+Figure 18: Cumulative Amplitude Spectrum of the Sample vertical position error due to Ground motion for multiple nano-hexapod stiffnesses (png, pdf)
+freqs = dist_f.f; @@ -772,79 +862,15 @@ hold off; set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); xlabel('Frequency [Hz]'); ylabel('CAS $[m]$') legend('Location', 'southwest'); -xlim([2, 500]); ylim([1e-10 1e-6]); +xlim([1, 500]); ylim([1e-10 1e-6]);
-Ground motion + +
-
freqs = dist_f.f; - -figure; -hold on; -for i = 1:length(Ks) - plot(freqs, sqrt(flip(-cumtrapz(flip(freqs), flip(dist_f.psd_gm.*abs(squeeze(freqresp(Gd{i}('Ez', 'Dwz'), freqs, 'Hz'))).^2)))), '-', ... - 'DisplayName', sprintf('$k = %.0g$ [N/m]', Ks(i))); -end -plot([freqs(1) freqs(end)], [10e-9 10e-9], 'k--', 'HandleVisibility', 'off'); -hold off; -set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); -xlabel('Frequency [Hz]'); ylabel('CAS $E_y$ $[m]$') -legend('Location', 'northeast'); -xlim([2, 500]); ylim([1e-10 1e-6]); --
freqs = dist_f.f; - -figure; -hold on; -for i = 1:length(Ks) - plot(freqs, sqrt(flip(-cumtrapz(flip(freqs), flip(dist_f.psd_gm.*abs(squeeze(freqresp(Gd{i}('Ex', 'Dwx'), freqs, 'Hz'))).^2)))), '-', ... - 'DisplayName', sprintf('$k = %.0g$ [N/m]', Ks(i))); -end -plot([freqs(1) freqs(end)], [10e-9 10e-9], 'k--', 'HandleVisibility', 'off'); -hold off; -set(gca, 'xscale', 'log'); set(gca, 'yscale', 'lin'); -xlabel('Frequency [Hz]'); ylabel('CAS $E_y$ $[m]$') -legend('Location', 'northeast'); -xlim([2, 500]); --
freqs = dist_f.f; - -figure; -hold on; -for i = 1:length(Ks) - plot(freqs, sqrt(flip(-cumtrapz(flip(freqs), flip(dist_f.psd_gm.*abs(squeeze(freqresp(Gd{i}('Ey', 'Dwy'), freqs, 'Hz'))).^2)))), '-', ... - 'DisplayName', sprintf('$k = %.0g$ [N/m]', Ks(i))); -end -plot([freqs(1) freqs(end)], [10e-9 10e-9], 'k--', 'HandleVisibility', 'off'); -hold off; -set(gca, 'xscale', 'log'); set(gca, 'yscale', 'lin'); -xlabel('Frequency [Hz]'); ylabel('CAS $E_y$ $[m]$') -legend('Location', 'northeast'); -xlim([2, 500]); --
-Sum of all perturbations -
-psd_tot = zeros(length(freqs), length(Ks)); - -for i = 1:length(Ks) - psd_tot(:,i) = dist_f.psd_gm.*abs(squeeze(freqresp(Gd{i}('Ez', 'Dwz' ), freqs, 'Hz'))).^2 + ... - dist_f.psd_ty.*abs(squeeze(freqresp(Gd{i}('Ez', 'Fty_z'), freqs, 'Hz'))).^2 + ... - dist_f.psd_rz.*abs(squeeze(freqresp(Gd{i}('Ez', 'Frz_z'), freqs, 'Hz'))).^2; -end -+
Figure 19: Cumulative Amplitude Spectrum of the Sample vertical position error due to Vertical vibration of the Spindle for multiple nano-hexapod stiffnesses (png, pdf)
+From Figure 20, we can see that a soft nano-hexapod \(k<10^6\ [N/m]\) significantly reduces the effect of perturbations from 20Hz to 300Hz. +
+ ++Let’s consider Figure 21 where a controller \(K\) is used to reduce the effect of the disturbance \(d\) on the position error \(y\). +
+ + ++
+Figure 21: Feedback System
++The reduction of the impact of \(d\) on \(y\) thanks to feedback is described by the following equation: +
+\begin{equation} + \frac{y}{d} = \frac{G_d}{1 + KG} +\end{equation} + + ++As a first approximation, we can consider that the controller is designed in such a way that the loop gain \(KG\) is a pure integrator: +\[ L_1(s) = K_1(s) G(s) = \frac{\omega_c}{s} \] +where \(\omega_c\) is the crossover frequency. +
+ + ++We may then consider another controller in such a way that the loop gain corresponds to a double integrator with a lead centered with the crossover frequency \(\omega_c\): +\[ L_2(s) = K_2(s) G(s) = \left( \frac{\omega_c}{s} \right)^2 \cdot \frac{1 + \frac{s}{\omega_c/2}}{1 + \frac{s}{2\omega_c}} \] +
+wc = 1*2*pi; % [rad/s] xic = 0.5; @@ -966,13 +1047,13 @@ xlim([1, 500]);
Created: 2020-04-07 mar. 17:10
+Created: 2020-04-07 mar. 19:33