diff --git a/figs/psd_effect_dist_verif.png b/figs/psd_effect_dist_verif.png new file mode 100644 index 0000000..0716c31 Binary files /dev/null and b/figs/psd_effect_dist_verif.png differ diff --git a/figs/sensitivity_dist_frz.png b/figs/sensitivity_dist_frz.png new file mode 100644 index 0000000..787a40f Binary files /dev/null and b/figs/sensitivity_dist_frz.png differ diff --git a/figs/sensitivity_dist_fty.png b/figs/sensitivity_dist_fty.png new file mode 100644 index 0000000..6fc9d04 Binary files /dev/null and b/figs/sensitivity_dist_fty.png differ diff --git a/figs/sensitivity_dist_gm.png b/figs/sensitivity_dist_gm.png new file mode 100644 index 0000000..03bcf1c Binary files /dev/null and b/figs/sensitivity_dist_gm.png differ diff --git a/figs/uniaxial-cas-dist.png b/figs/uniaxial-cas-dist.png new file mode 100644 index 0000000..04bfcd0 Binary files /dev/null and b/figs/uniaxial-cas-dist.png differ diff --git a/figs/uniaxial-comp-cas-dist.png b/figs/uniaxial-comp-cas-dist.png new file mode 100644 index 0000000..b026165 Binary files /dev/null and b/figs/uniaxial-comp-cas-dist.png differ diff --git a/figs/uniaxial-iff-cas-dist.png b/figs/uniaxial-iff-cas-dist.png new file mode 100644 index 0000000..0def38e Binary files /dev/null and b/figs/uniaxial-iff-cas-dist.png differ diff --git a/figs/uniaxial-iff-psd-dist.png b/figs/uniaxial-iff-psd-dist.png new file mode 100644 index 0000000..d3714b1 Binary files /dev/null and b/figs/uniaxial-iff-psd-dist.png differ diff --git a/figs/uniaxial-psd-dist.png b/figs/uniaxial-psd-dist.png new file mode 100644 index 0000000..235ca94 Binary files /dev/null and b/figs/uniaxial-psd-dist.png differ diff --git a/figs/uniaxial-sensitivity-force-dist.png b/figs/uniaxial-sensitivity-force-dist.png index d8a6ff9..c981655 100644 Binary files a/figs/uniaxial-sensitivity-force-dist.png and b/figs/uniaxial-sensitivity-force-dist.png differ diff --git a/uniaxial/index.html b/uniaxial/index.html index 3038ed7..71a43a3 100644 --- a/uniaxial/index.html +++ b/uniaxial/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Simscape Uniaxial Model @@ -280,58 +280,60 @@ for the JavaScript code in this tag.

Table of Contents

@@ -346,11 +348,11 @@ The idea is to use the same model as the full Simscape Model but to restrict the This is done in order to more easily study the system and evaluate control techniques.

-
-

1 Simscape Model

+
+

1 Simscape Model

-A schematic of the uniaxial model used for simulations is represented in figure 1. +A schematic of the uniaxial model used for simulations is represented in figure 1.

@@ -394,7 +396,7 @@ The control signal \(u\) is: -

+

uniaxial-model-nass-flexible.png

Figure 1: Schematic of the uniaxial model used

@@ -403,11 +405,11 @@ The control signal \(u\) is:

Few active damping techniques will be compared in order to decide which sensor is to be included in the system. -Schematics of the active damping techniques are displayed in figure 2. +Schematics of the active damping techniques are displayed in figure 2.

-
+

uniaxial-model-nass-flexible-active-damping.png

Figure 2: Comparison of used active damping techniques

@@ -415,16 +417,16 @@ Schematics of the active damping techniques are displayed in figure -

2 Undamped System

+
+

2 Undamped System

Let's start by study the undamped system.

-
-

2.1 Init

+
+

2.1 Init

We initialize all the stages with the default parameters. @@ -436,8 +438,8 @@ All the controllers are set to 0 (Open Loop).

-
-

2.2 Identification

+
+

2.2 Identification

We identify the dynamics of the system. @@ -500,19 +502,19 @@ Finally, we save the identified system dynamics for further analysis.

-
-

2.3 Sensitivity to Disturbances

+
+

2.3 Sensitivity to Disturbances

We show several plots representing the sensitivity to disturbances:

-
+

uniaxial-sensitivity-disturbances.png

Figure 3: Sensitivity to disturbances (png, pdf)

@@ -520,7 +522,7 @@ We show several plots representing the sensitivity to disturbances: -
+

uniaxial-sensitivity-force-dist.png

Figure 4: Sensitivity to disturbances (png, pdf)

@@ -528,39 +530,81 @@ We show several plots representing the sensitivity to disturbances:
-
-

2.4 Plant

+
+

2.4 Noise Budget

-The transfer function from the force \(F\) applied by the nano-hexapod to the position of the sample \(D\) is shown in figure 5. +We first load the measured PSD of the disturbance. +

+
+
load('./disturbances/mat/dist_psd.mat', 'dist_f');
+
+
+ +

+The effect of these disturbances on the distance \(D\) is computed below. +The PSD of the obtain distance \(D\) due to each of the perturbation is shown in figure 5 and the Cumulative Amplitude Spectrum is shown in figure 6. +

+ + +

+The Root Mean Square value of the obtained displacement \(D\) is computed below and can be determined from the figure 6. +

+
+3.3793e-06
+
+ + + +
+

uniaxial-psd-dist.png +

+

Figure 5: caption (png, pdf)

+
+ + + +
+

uniaxial-cas-dist.png +

+

Figure 6: caption (png, pdf)

+
+
+
+ +
+

2.5 Plant

+
+

+The transfer function from the force \(F\) applied by the nano-hexapod to the position of the sample \(D\) is shown in figure 7. It corresponds to the plant to control.

-
+

uniaxial-plant.png

-

Figure 5: Bode plot of the Plant (png, pdf)

+

Figure 7: Bode plot of the Plant (png, pdf)

-
-

3 Integral Force Feedback

+
+

3 Integral Force Feedback

- +

-
+

uniaxial-model-nass-flexible-iff.png

-

Figure 6: Uniaxial IFF Control Schematic

+

Figure 8: Uniaxial IFF Control Schematic

-
-

3.1 Control Design

+
+

3.1 Control Design

load('./uniaxial/mat/plants.mat', 'G');
@@ -572,10 +616,10 @@ Let's look at the transfer function from actuator forces in the nano-hexapod to
 

-
+

uniaxial_iff_plant.png

-

Figure 7: Transfer function from forces applied in the legs to force sensor (png, pdf)

+

Figure 9: Transfer function from forces applied in the legs to force sensor (png, pdf)

@@ -587,16 +631,16 @@ The controller for each pair of actuator/sensor is:

-
+

uniaxial_iff_open_loop.png

-

Figure 8: Loop Gain for the Integral Force Feedback (png, pdf)

+

Figure 10: Loop Gain for the Integral Force Feedback (png, pdf)

-
-

3.2 Identification

+
+

3.2 Identification

Let's initialize the system prior to identification. @@ -679,39 +723,39 @@ G_iff.OutputName = {

-
-

3.3 Sensitivity to Disturbance

+
+

3.3 Sensitivity to Disturbance

-
+

uniaxial_sensitivity_dist_iff.png

-

Figure 9: Sensitivity to disturbance once the IFF controller is applied to the system (png, pdf)

+

Figure 11: Sensitivity to disturbance once the IFF controller is applied to the system (png, pdf)

-
+

uniaxial_sensitivity_dist_stages_iff.png

-

Figure 10: Sensitivity to force disturbances in various stages when IFF is applied (png, pdf)

+

Figure 12: Sensitivity to force disturbances in various stages when IFF is applied (png, pdf)

-
-

3.4 Damped Plant

+
+

3.4 Damped Plant

-
+

uniaxial_plant_iff_damped.png

-

Figure 11: Damped Plant after IFF is applied (png, pdf)

+

Figure 13: Damped Plant after IFF is applied (png, pdf)

-
-

3.5 Conclusion

+
+

3.5 Conclusion

@@ -723,25 +767,25 @@ Integral Force Feedback:

-
-

4 Relative Motion Control

+
+

4 Relative Motion Control

- +

In the Relative Motion Control (RMC), a derivative feedback is applied between the measured actuator displacement to the actuator force input.

-
+

uniaxial-model-nass-flexible-rmc.png

-

Figure 12: Uniaxial RMC Control Schematic

+

Figure 14: Uniaxial RMC Control Schematic

-
-

4.1 Control Design

+
+

4.1 Control Design

load('./uniaxial/mat/plants.mat', 'G');
@@ -753,10 +797,10 @@ Let's look at the transfer function from actuator forces in the nano-hexapod to
 

-
+

uniaxial_rmc_plant.png

-

Figure 13: Transfer function from forces applied in the legs to leg displacement sensor (png, pdf)

+

Figure 15: Transfer function from forces applied in the legs to leg displacement sensor (png, pdf)

@@ -769,16 +813,16 @@ A Low pass Filter is added to make the controller transfer function proper.

-
+

uniaxial_rmc_open_loop.png

-

Figure 14: Loop Gain for the Integral Force Feedback (png, pdf)

+

Figure 16: Loop Gain for the Integral Force Feedback (png, pdf)

-
-

4.2 Identification

+
+

4.2 Identification

Let's initialize the system prior to identification. @@ -862,39 +906,39 @@ G_rmc.OutputName = { -

-

4.3 Sensitivity to Disturbance

+
+

4.3 Sensitivity to Disturbance

-
+

uniaxial_sensitivity_dist_rmc.png

-

Figure 15: Sensitivity to disturbance once the RMC controller is applied to the system (png, pdf)

+

Figure 17: Sensitivity to disturbance once the RMC controller is applied to the system (png, pdf)

-
+

uniaxial_sensitivity_dist_stages_rmc.png

-

Figure 16: Sensitivity to force disturbances in various stages when RMC is applied (png, pdf)

+

Figure 18: Sensitivity to force disturbances in various stages when RMC is applied (png, pdf)

-
-

4.4 Damped Plant

+
+

4.4 Damped Plant

-
+

uniaxial_plant_rmc_damped.png

-

Figure 17: Damped Plant after RMC is applied (png, pdf)

+

Figure 19: Damped Plant after RMC is applied (png, pdf)

-
-

4.5 Conclusion

+
+

4.5 Conclusion

@@ -906,25 +950,25 @@ Relative Motion Control:

-
-

5 Direct Velocity Feedback

+
+

5 Direct Velocity Feedback

- +

In the Relative Motion Control (RMC), a feedback is applied between the measured velocity of the platform to the actuator force input.

-
+

uniaxial-model-nass-flexible-dvf.png

-

Figure 18: Uniaxial DVF Control Schematic

+

Figure 20: Uniaxial DVF Control Schematic

-
-

5.1 Control Design

+
+

5.1 Control Design

load('./uniaxial/mat/plants.mat', 'G');
@@ -932,10 +976,10 @@ In the Relative Motion Control (RMC), a feedback is applied between the measured
 
-
+

uniaxial_dvf_plant.png

-

Figure 19: Transfer function from forces applied in the legs to leg velocity sensor (png, pdf)

+

Figure 21: Transfer function from forces applied in the legs to leg velocity sensor (png, pdf)

@@ -944,16 +988,16 @@ In the Relative Motion Control (RMC), a feedback is applied between the measured
-
+

uniaxial_dvf_loop_gain.png

-

Figure 20: Transfer function from forces applied in the legs to leg velocity sensor (png, pdf)

+

Figure 22: Transfer function from forces applied in the legs to leg velocity sensor (png, pdf)

-
-

5.2 Identification

+
+

5.2 Identification

Let's initialize the system prior to identification. @@ -1036,39 +1080,39 @@ G_dvf.OutputName = {

-
-

5.3 Sensitivity to Disturbance

+
+

5.3 Sensitivity to Disturbance

-
+

uniaxial_sensitivity_dist_dvf.png

-

Figure 21: Sensitivity to disturbance once the DVF controller is applied to the system (png, pdf)

+

Figure 23: Sensitivity to disturbance once the DVF controller is applied to the system (png, pdf)

-
+

uniaxial_sensitivity_dist_stages_dvf.png

-

Figure 22: Sensitivity to force disturbances in various stages when DVF is applied (png, pdf)

+

Figure 24: Sensitivity to force disturbances in various stages when DVF is applied (png, pdf)

-
-

5.4 Damped Plant

+
+

5.4 Damped Plant

-
+

uniaxial_plant_dvf_damped.png

-

Figure 23: Damped Plant after DVF is applied (png, pdf)

+

Figure 25: Damped Plant after DVF is applied (png, pdf)

-
-

5.5 Conclusion

+
+

5.5 Conclusion

@@ -1079,12 +1123,12 @@ Direct Velocity Feedback:

-
-

6 With Cedrat Piezo-electric Actuators

+
+

6 With Cedrat Piezo-electric Actuators

-
-

6.1 Identification

+
+

6.1 Identification

We identify the dynamics of the system. @@ -1139,18 +1183,18 @@ G.OutputName = {

-
-

6.2 Control Design

+
+

6.2 Control Design

Let's look at the transfer function from actuator forces in the nano-hexapod to the force sensor in the nano-hexapod legs for all 6 pairs of actuator/sensor.

-
+

uniaxial_cedrat_plant.png

-

Figure 24: Transfer function from forces applied in the legs to force sensor (png, pdf)

+

Figure 26: Transfer function from forces applied in the legs to force sensor (png, pdf)

@@ -1162,16 +1206,16 @@ The controller for each pair of actuator/sensor is:

-
+

uniaxial_cedrat_open_loop.png

-

Figure 25: Loop Gain for the Integral Force Feedback (png, pdf)

+

Figure 27: Loop Gain for the Integral Force Feedback (png, pdf)

-
-

6.3 Identification

+
+

6.3 Identification

Let's initialize the system prior to identification. @@ -1254,39 +1298,39 @@ G_cedrat.OutputName = {

-
-

6.4 Sensitivity to Disturbance

+
+

6.4 Sensitivity to Disturbance

-
+

uniaxial_sensitivity_dist_cedrat.png

-

Figure 26: Sensitivity to disturbance once the CEDRAT controller is applied to the system (png, pdf)

+

Figure 28: Sensitivity to disturbance once the CEDRAT controller is applied to the system (png, pdf)

-
+

uniaxial_sensitivity_dist_stages_cedrat.png

-

Figure 27: Sensitivity to force disturbances in various stages when CEDRAT is applied (png, pdf)

+

Figure 29: Sensitivity to force disturbances in various stages when CEDRAT is applied (png, pdf)

-
-

6.5 Damped Plant

+
+

6.5 Damped Plant

-
+

uniaxial_plant_cedrat_damped.png

-

Figure 28: Damped Plant after CEDRAT is applied (png, pdf)

+

Figure 30: Damped Plant after CEDRAT is applied (png, pdf)

-
-

6.6 Conclusion

+
+

6.6 Conclusion

@@ -1298,15 +1342,15 @@ This gives similar results than with a classical force sensor.

-
-

7 Comparison of Active Damping Techniques

+
+

7 Comparison of Active Damping Techniques

- +

-
-

7.1 Load the plants

+
+

7.1 Load the plants

load('./uniaxial/mat/plants.mat', 'G', 'G_iff', 'G_rmc', 'G_dvf');
@@ -1315,60 +1359,125 @@ This gives similar results than with a classical force sensor.
 
-
-

7.2 Sensitivity to Disturbance

+
+

7.2 Sensitivity to Disturbance

-
+

uniaxial_sensitivity_ground_motion.png

-

Figure 29: Sensitivity to Ground Motion - Comparison (png, pdf)

+

Figure 31: Sensitivity to Ground Motion - Comparison (png, pdf)

-
+

uniaxial_sensitivity_direct_force.png

-

Figure 30: Sensitivity to disturbance - Comparison (png, pdf)

+

Figure 32: Sensitivity to disturbance - Comparison (png, pdf)

-
+

uniaxial_sensitivity_fty.png

-

Figure 31: Sensitivity to force disturbances - Comparison (png, pdf)

+

Figure 33: Sensitivity to force disturbances - Comparison (png, pdf)

-
+

uniaxial_sensitivity_frz.png

-

Figure 32: Sensitivity to force disturbances - Comparison (png, pdf)

+

Figure 34: Sensitivity to force disturbances - Comparison (png, pdf)

-
-

7.3 Damped Plant

+
+

7.3 Noise Budget

+

+We first load the measured PSD of the disturbance. +

+
+
load('./disturbances/mat/dist_psd.mat', 'dist_f');
+
+
-
+

+The effect of these disturbances on the distance \(D\) is computed for all active damping techniques. +We then compute the Cumulative Amplitude Spectrum (figure 35). +

+ +
+

uniaxial-comp-cas-dist.png +

+

Figure 35: Comparison of the Cumulative Amplitude Spectrum of \(D\) for different active damping techniques (png, pdf)

+
+ +

+The obtained Root Mean Square Value for each active damping technique is shown below. +

+ + + +++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1: Obtain Root Mean Square value of \(D\) for each Active Damping Technique applied
 D [m rms]
OL3.38e-06
IFF3.40e-06
RMC3.37e-06
DVF3.38e-06
+ +

+It is important to note that the effect of direct forces applied to the sample are not taken into account here. +

+
+
+ +
+

7.4 Damped Plant

+
+ +

uniaxial_plant_damped_comp.png

-

Figure 33: Damped Plant - Comparison (png, pdf)

+

Figure 36: Damped Plant - Comparison (png, pdf)

-
-

7.4 Conclusion

-
-

-#name: tab:activedampingcomparison -

- - +
+

7.5 Conclusion

+
+
Table 1: Comparison of proposed active damping techniques
+@@ -1422,22 +1531,22 @@ This gives similar results than with a classical force sensor. + + + + + + +
Table 2: Comparison of proposed active damping techniques
- +
Overall RMS of \(D\)===
- -
-

-The next step is to take into account the power spectral density of each disturbance. -

- -

Author: Dehaeze Thomas

-

Created: 2019-10-28 lun. 17:34

+

Created: 2019-11-04 lun. 17:33

Validate

diff --git a/uniaxial/index.org b/uniaxial/index.org index 05283b0..67702ad 100644 --- a/uniaxial/index.org +++ b/uniaxial/index.org @@ -765,12 +765,14 @@ We show several plots representing the sensitivity to disturbances: subplot(2, 1, 1); title('$F_{ty}$ to $D$'); + hold on; plot(freqs, abs(squeeze(freqresp(G('D', 'Fty'), freqs, 'Hz'))), 'k-'); set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); ylabel('Amplitude [m/N]'); xlabel('Frequency [Hz]'); subplot(2, 1, 2); title('$F_{rz}$ to $D$'); + hold on; plot(freqs, abs(squeeze(freqresp(G('D', 'Frz'), freqs, 'Hz'))), 'k-'); set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); ylabel('Amplitude [m/N]'); xlabel('Frequency [Hz]'); @@ -785,6 +787,81 @@ We show several plots representing the sensitivity to disturbances: #+CAPTION: Sensitivity to disturbances ([[./figs/uniaxial-sensitivity-force-dist.png][png]], [[./figs/uniaxial-sensitivity-force-dist.pdf][pdf]]) [[file:figs/uniaxial-sensitivity-force-dist.png]] +** Noise Budget +We first load the measured PSD of the disturbance. +#+begin_src matlab + load('./disturbances/mat/dist_psd.mat', 'dist_f'); +#+end_src + +The effect of these disturbances on the distance $D$ is computed below. +#+begin_src matlab :exports none + % Power Spectral Density of the relative Displacement [m^2/Hz] + psd_gm_d = dist_f.psd_gm.*abs(squeeze(freqresp(G('D', 'Dw'), dist_f.f, 'Hz'))).^2; + psd_ty_d = dist_f.psd_ty.*abs(squeeze(freqresp(G('D', 'Fty'), dist_f.f, 'Hz'))).^2; + psd_rz_d = dist_f.psd_rz.*abs(squeeze(freqresp(G('D', 'Frz'), dist_f.f, 'Hz'))).^2; +#+end_src + +The PSD of the obtain distance $D$ due to each of the perturbation is shown in figure [[fig:uniaxial-psd-dist]] and the Cumulative Amplitude Spectrum is shown in figure [[fig:uniaxial-cas-dist]]. + + +The Root Mean Square value of the obtained displacement $D$ is computed below and can be determined from the figure [[fig:uniaxial-cas-dist]]. +#+begin_src matlab :results value replace :exports results + cas_tot_d = sqrt(cumtrapz(dist_f.f, psd_rz_d+psd_ty_d+psd_gm_d)); cas_tot_d(end) +#+end_src + +#+RESULTS: +: 3.3793e-06 + +#+begin_src matlab :exports none + freqs = logspace(0, 3, 1000); + + figure; + hold on; + plot(dist_f.f, psd_gm_d, 'DisplayName', '$D_w$'); + plot(dist_f.f, psd_ty_d, 'DisplayName', '$T_y$'); + plot(dist_f.f, psd_rz_d, 'DisplayName', '$R_z$'); + hold off; + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('CAS of the effect of disturbances on $D$ $\left[\frac{m^2}{Hz}\right]$'); xlabel('Frequency [Hz]'); + legend('location', 'northeast') + xlim([0.5, 500]); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/uniaxial-psd-dist.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:uniaxial-psd-dist +#+CAPTION: caption ([[./figs/uniaxial-psd-dist.png][png]], [[./figs/uniaxial-psd-dist.pdf][pdf]]) +[[file:figs/uniaxial-psd-dist.png]] + + +#+begin_src matlab :exports none + freqs = logspace(0, 3, 1000); + + figure; + hold on; + plot(dist_f.f, flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_gm_d)))), 'DisplayName', '$D_w$'); + plot(dist_f.f, flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_ty_d)))), 'DisplayName', '$T_y$'); + plot(dist_f.f, flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_rz_d)))), 'DisplayName', '$R_z$'); + plot(dist_f.f, flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_gm_d+psd_ty_d+psd_rz_d)))), 'k-', 'DisplayName', 'tot'); + hold off; + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('CAS of the effect of disturbances on $D$ [m]'); xlabel('Frequency [Hz]'); + legend('location', 'northeast') + xlim([0.5, 500]); ylim([1e-12, 1e-6]); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/uniaxial-cas-dist.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:uniaxial-cas-dist +#+CAPTION: caption ([[./figs/uniaxial-cas-dist.png][png]], [[./figs/uniaxial-cas-dist.pdf][pdf]]) +[[file:figs/uniaxial-cas-dist.png]] + ** Plant The transfer function from the force $F$ applied by the nano-hexapod to the position of the sample $D$ is shown in figure [[fig:uniaxial-plant]]. It corresponds to the plant to control. @@ -2543,6 +2620,82 @@ This gives similar results than with a classical force sensor. #+CAPTION: Sensitivity to force disturbances - Comparison ([[./figs/uniaxial_sensitivity_frz.png][png]], [[./figs/uniaxial_sensitivity_frz.pdf][pdf]]) [[file:figs/uniaxial_sensitivity_frz.png]] +** Noise Budget +We first load the measured PSD of the disturbance. +#+begin_src matlab + load('./disturbances/mat/dist_psd.mat', 'dist_f'); +#+end_src + +The effect of these disturbances on the distance $D$ is computed for all active damping techniques. +#+begin_src matlab :exports none + % Power Spectral Density of the relative Displacement [m^2/Hz] + psd_ol_gm_d = dist_f.psd_gm.*abs(squeeze(freqresp(G('D', 'Dw'), dist_f.f, 'Hz'))).^2; + psd_ol_ty_d = dist_f.psd_ty.*abs(squeeze(freqresp(G('D', 'Fty'), dist_f.f, 'Hz'))).^2; + psd_ol_rz_d = dist_f.psd_rz.*abs(squeeze(freqresp(G('D', 'Frz'), dist_f.f, 'Hz'))).^2; + + psd_iff_gm_d = dist_f.psd_gm.*abs(squeeze(freqresp(G_iff('D', 'Dw'), dist_f.f, 'Hz'))).^2; + psd_iff_ty_d = dist_f.psd_ty.*abs(squeeze(freqresp(G_iff('D', 'Fty'), dist_f.f, 'Hz'))).^2; + psd_iff_rz_d = dist_f.psd_rz.*abs(squeeze(freqresp(G_iff('D', 'Frz'), dist_f.f, 'Hz'))).^2; + + psd_rmc_gm_d = dist_f.psd_gm.*abs(squeeze(freqresp(G_rmc('D', 'Dw'), dist_f.f, 'Hz'))).^2; + psd_rmc_ty_d = dist_f.psd_ty.*abs(squeeze(freqresp(G_rmc('D', 'Fty'), dist_f.f, 'Hz'))).^2; + psd_rmc_rz_d = dist_f.psd_rz.*abs(squeeze(freqresp(G_rmc('D', 'Frz'), dist_f.f, 'Hz'))).^2; + + psd_dvf_gm_d = dist_f.psd_gm.*abs(squeeze(freqresp(G_dvf('D', 'Dw'), dist_f.f, 'Hz'))).^2; + psd_dvf_ty_d = dist_f.psd_ty.*abs(squeeze(freqresp(G_dvf('D', 'Fty'), dist_f.f, 'Hz'))).^2; + psd_dvf_rz_d = dist_f.psd_rz.*abs(squeeze(freqresp(G_dvf('D', 'Frz'), dist_f.f, 'Hz'))).^2; +#+end_src + +We then compute the Cumulative Amplitude Spectrum (figure [[fig:uniaxial-comp-cas-dist]]). +#+begin_src matlab :exports none + cas_ol_tot_d = flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_ol_rz_d+psd_ol_ty_d+psd_ol_gm_d)))); + cas_iff_tot_d = flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_iff_rz_d+psd_iff_ty_d+psd_iff_gm_d)))); + cas_rmc_tot_d = flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_rmc_rz_d+psd_rmc_ty_d+psd_rmc_gm_d)))); + cas_dvf_tot_d = flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_dvf_rz_d+psd_dvf_ty_d+psd_dvf_gm_d)))); +#+end_src + +#+begin_src matlab :exports none + freqs = logspace(0, 3, 1000); + + figure; + hold on; + plot(dist_f.f, cas_ol_tot_d, 'DisplayName', 'OL'); + plot(dist_f.f, cas_iff_tot_d, 'DisplayName', 'IFF'); + plot(dist_f.f, cas_rmc_tot_d, 'DisplayName', 'RMC'); + plot(dist_f.f, cas_dvf_tot_d, 'DisplayName', 'DVF'); + hold off; + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('CAS of the effect of disturbances on $D$ [m]'); xlabel('Frequency [Hz]'); + legend('location', 'northeast') + xlim([0.5, 500]); ylim([1e-11, 1e-6]); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/uniaxial-comp-cas-dist.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:uniaxial-comp-cas-dist +#+CAPTION: Comparison of the Cumulative Amplitude Spectrum of $D$ for different active damping techniques ([[./figs/uniaxial-comp-cas-dist.png][png]], [[./figs/uniaxial-comp-cas-dist.pdf][pdf]]) +[[file:figs/uniaxial-comp-cas-dist.png]] + +The obtained Root Mean Square Value for each active damping technique is shown below. +#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*) + data2orgtable([cas_ol_tot_d(1); cas_iff_tot_d(1); cas_rmc_tot_d(1); cas_dvf_tot_d(1)], {'OL', 'IFF', 'RMC', 'DVF'}, {'D [m rms]'}, ' %.2e '); +#+end_src + +#+name: tab:rms_d_comp +#+caption: Obtain Root Mean Square value of $D$ for each Active Damping Technique applied +#+RESULTS: +| | D [m rms] | +|-----+-----------| +| OL | 3.38e-06 | +| IFF | 3.40e-06 | +| RMC | 3.37e-06 | +| DVF | 3.38e-06 | + +It is important to note that the effect of direct forces applied to the sample are not taken into account here. + ** Damped Plant #+begin_src matlab :exports none freqs = logspace(0, 3, 1000); @@ -2586,7 +2739,7 @@ This gives similar results than with a classical force sensor. ** Conclusion -#name: tab:active_damping_comparison +#+name: tab:active_damping_comparison #+caption: Comparison of proposed active damping techniques | | IFF | RMC | DVF | |---------------------------+-----------------+-----------------+----------| @@ -2595,7 +2748,4 @@ This gives similar results than with a classical force sensor. | Sensitivity ($D_w$) | - | + | - | | Sensitivity ($F_s$) | - (at low freq) | + | + | | Sensitivity ($F_{ty,rz}$) | + | - | + | - -#+begin_important -The next step is to take into account the power spectral density of each disturbance. -#+end_important +| Overall RMS of $D$ | = | = | = | diff --git a/uniaxial/mat/plants.mat b/uniaxial/mat/plants.mat index e8d4410..6ac9b2e 100644 Binary files a/uniaxial/mat/plants.mat and b/uniaxial/mat/plants.mat differ