Reword pictures and make subfigure

This commit is contained in:
Thomas Dehaeze 2024-03-25 16:33:38 +01:00
parent 22049068c1
commit e7e63e77de
38 changed files with 930 additions and 1012 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 383 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 443 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 333 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 1.1 MiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.1 MiB

After

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 KiB

After

Width:  |  Height:  |  Size: 1.0 MiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 4.5 MiB

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 KiB

After

Width:  |  Height:  |  Size: 943 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 4.2 MiB

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

After

Width:  |  Height:  |  Size: 1.2 MiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.1 MiB

After

Width:  |  Height:  |  Size: 5.3 MiB

Binary file not shown.

View File

@ -104,13 +104,23 @@ To integrate:
- [X] [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-apa300ml/test-bench-apa300ml.org][test-bench-apa300ml]] - [X] [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-apa300ml/test-bench-apa300ml.org][test-bench-apa300ml]]
- [X] Dynamical measurements (Section 5) - [X] Dynamical measurements (Section 5)
- [X] Simscape model (Section 6) - [X] Simscape model (Section 6)
- [ ] Check what are the used Matlab functions - [X] Check what are the used Matlab functions
- [X] check [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-apa300ml/test-bench-apa300ml.org::*Compare with the FEM/Simscape Model][Compare with the FEM/Simscape Model]] - [X] check [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-apa300ml/test-bench-apa300ml.org::*Compare with the FEM/Simscape Model][Compare with the FEM/Simscape Model]]
*no, it is only for the APA and not the strut* *no, it is only for the APA and not the strut*
- [X] Check [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-apa300ml/test-bench-apa300ml.org::*New Measurements - IFF Root Locus][New Measurements - IFF Root Locus]] - [X] Check [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-apa300ml/test-bench-apa300ml.org::*New Measurements - IFF Root Locus][New Measurements - IFF Root Locus]]
*no, it is only for the APA and not the strut* *no, it is only for the APA and not the strut*
** TODO [#B] Make the simscape model work ** TODO [#A] Rework mounting procedure section
- [X] Use smaller images, maybe one subfigure for all the steps
- [ ] Explain clearly the mounting goals (coaxiality, etc.)
** TODO [#B] Rework flexible mode measurements
- [ ] Use smaller images, one subfigure for all measurements
** DONE [#B] Make the simscape model work
CLOSED: [2024-03-25 Mon 15:09]
* Introduction :ignore: * Introduction :ignore:
@ -146,7 +156,7 @@ The final goal of the work presented in this document is to have an accurate Sim
|--------------------------------------------+----------------------------------| |--------------------------------------------+----------------------------------|
| Section ref:sec:test_struts_flexible_modes | =test_struts_1_flexible_modes.m= | | Section ref:sec:test_struts_flexible_modes | =test_struts_1_flexible_modes.m= |
| Section ref:sec:test_struts_dynamical_meas | =test_struts_2_dynamical_meas.m= | | Section ref:sec:test_struts_dynamical_meas | =test_struts_2_dynamical_meas.m= |
| Section ref:sec:test_struts_mounting | =test_struts_3_simscape_model.m= | | Section ref:sec:test_struts_simscape | =test_struts_3_simscape_model.m= |
* Mounting Procedure * Mounting Procedure
<<sec:test_struts_mounting>> <<sec:test_struts_mounting>>
@ -158,76 +168,104 @@ This is very important in order to not loose any stroke when the struts will be
A CAD view of the mounting bench is shown in Figure ref:fig:test_struts_mounting_bench_first_concept. A CAD view of the mounting bench is shown in Figure ref:fig:test_struts_mounting_bench_first_concept.
- [ ] Add some notes to the figure
#+name: fig:test_struts_mounting_bench_first_concept #+name: fig:test_struts_mounting_bench_first_concept
#+caption: CAD view of the mounting bench #+caption: CAD view of the mounting bench
#+attr_latex: :width \linewidth #+attr_latex: :width 0.6\linewidth
[[file:figs/test_struts_mounting_bench_first_concept.png]] [[file:figs/test_struts_mounting_bench_first_concept.png]]
The main part of the bench is here to ensure both the correct strut length and strut coaxiality as shown in Figure ref:fig:test_struts_mounting_step_0. The main part of the bench is here to ensure both the correct strut length and strut coaxiality as shown in Figure ref:fig:test_struts_mounting_step_0.
#+name: fig:test_struts_mounting_step_0 #+name: fig:test_struts_mounting_base_part
#+caption: Useful features of the main mounting element #+caption: Caption..., add foot note with Faro arm
#+attr_latex: :width \linewidth #+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_step_0}Useful features of the main mounting element}
#+attr_latex: :options {0.56\textwidth}
#+begin_subfigure
#+attr_latex: :height 4.5cm
[[file:figs/test_struts_mounting_step_0.jpg]] [[file:figs/test_struts_mounting_step_0.jpg]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:test_struts_check_dimensions_bench}Dimensional check}
#+attr_latex: :options {0.43\textwidth}
#+begin_subfigure
#+attr_latex: :height 4.5cm
[[file:figs/test_struts_check_dimensions_bench.jpg]]
#+end_subfigure
#+end_figure
The tight tolerances of this element has been verified as shown in Figure ref:fig:test_struts_mounting_bench_first_concept and were found to comply with the requirements. The tight tolerances of this element has been verified as shown in Figure ref:fig:test_struts_check_dimensions_bench and were found to comply with the requirements.
#+name: fig:test_struts_mounting_bench_first_concept The flexible joints are rigidly fixed to cylindrical tools shown in Figures ref:fig:test_struts_cylindrical_mounting_part_top and ref:fig:test_struts_cylindrical_mounting_part_bot which are then mounted on the mounting tool shown in Figure ref:fig:test_struts_mounting_step_0.
#+caption: Dimensional verifications of the mounting bench tolerances
#+attr_latex: :width \linewidth
[[file:figs/check_dimensions_bench.jpg]]
The flexible joints are rigidly fixed to cylindrical tools shown in Figure ref:fig:cylindrical_mounting_part which are then mounted on the mounting tool shown in Figure ref:fig:test_struts_mounting_step_0.
This cylindrical tool is here to protect the flexible joints when tightening the screws and therefore applying large torque. This cylindrical tool is here to protect the flexible joints when tightening the screws and therefore applying large torque.
#+name: fig:cylindrical_mounting_part
#+caption: Cylindrical mounting elements
#+attr_latex: :width \linewidth
[[file:figs/cylindrical_mounting_part.jpg]]
** Mounting Procedure ** Mounting Procedure
The mounting procedure is as follows: The mounting procedure is as follows:
1. Screw flexible joints inside the cylindrical interface element shown in Figure ref:fig:cylindrical_mounting_part (Figure ref:fig:test_struts_mounting_step_1) 1. Screw flexible joints inside the cylindrical interface element shown in Figure ref:fig:test_struts_cylindrical_mounting
2. Fix the two interface elements. One of the two should be clamped, the other one should have its axial rotation free. 2. Fix the two interface elements. One of the two should be clamped, the other one should have its axial rotation free.
Visually align the clamped one horizontally. (Figure ref:fig:test_struts_mounting_step_2) Visually align the clamped one horizontally. (Figure ref:fig:test_struts_mounting_step_1)
3. Put cylindrical washers, APA and interface pieces on top of the flexible joints (Figure ref:fig:test_struts_mounting_step_3) 3. Put cylindrical washers, APA and interface pieces on top of the flexible joints (Figure ref:fig:test_struts_mounting_step_2)
4. Put the 4 screws just in contact such that everything is correctly positioned and such that the "free" flexible joint is correctly oriented 4. Put the 4 screws just in contact such that everything is correctly positioned and such that the "free" flexible joint is correctly oriented
5. Put the 8 lateral screws in contact 5. Put the 8 lateral screws in contact
6. Tighten the 4 screws to fix the APA on the two flexible joints (using a torque screwdriver) 6. Tighten the 4 screws to fix the APA on the two flexible joints (using a torque screwdriver)
7. Remove the 4 laterals screws 7. Remove the 4 laterals screws
8. (optional) Put the APA horizontally and fix the encoder and align it to maximize the contrast (Figure ref:fig:test_struts_mounting_step_4) 8. (optional) Put the APA horizontally and fix the encoder and align it to maximize the contrast (Figure ref:fig:test_struts_mounting_step_3)
9. Disassemble to have an properly mounted strut (Figure ref:fig:test_struts_mounting_step_4) for which the coaxiality between the two flexible joint's interfaces is good
#+name: fig:test_struts_mounting_step_1 #+name: fig:test_struts_cylindrical_mounting
#+caption: Step 1 - Flexible joints fixed on the cylindrical interface elements #+caption: Preparation of the flexible joints by fixing them in their cylindrical interface
#+attr_latex: :width 0.5\linewidth #+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:test_struts_cylindrical_mounting_part_top}Cylindral Interface (Top)}
#+attr_latex: :options {0.33\textwidth}
#+begin_subfigure
#+attr_latex: :height 4.5cm
[[file:figs/test_struts_cylindrical_mounting_part_top.jpg]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:test_struts_cylindrical_mounting_part_bot}Cylindrlcal Interface (Bottom)}
#+attr_latex: :options {0.33\textwidth}
#+begin_subfigure
#+attr_latex: :height 4.5cm
[[file:figs/test_struts_cylindrical_mounting_part_bot.jpg]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_joints}Mounted flexible joints}
#+attr_latex: :options {0.33\textwidth}
#+begin_subfigure
#+attr_latex: :height 4.5cm
[[file:figs/test_struts_mounting_joints.jpg]]
#+end_subfigure
#+end_figure
#+name: fig:test_struts_mounting_steps
#+caption: Steps for mounting the struts.
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_step_1}Step 1}
#+attr_latex: :options {0.5\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.99\linewidth
[[file:figs/test_struts_mounting_step_1.jpg]] [[file:figs/test_struts_mounting_step_1.jpg]]
#+end_subfigure
#+name: fig:test_struts_mounting_step_2 #+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_step_2}Step 2}
#+caption: Step 2 - Cylindrical elements fixed on the bench #+attr_latex: :options {0.5\textwidth}
#+attr_latex: :width \linewidth #+begin_subfigure
#+attr_latex: :width 0.99\linewidth
[[file:figs/test_struts_mounting_step_2.jpg]] [[file:figs/test_struts_mounting_step_2.jpg]]
#+end_subfigure
#+name: fig:test_struts_mounting_step_3 #+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_step_3}Step 3}
#+caption: Step 3 - Mount the nuts, washers and APA #+attr_latex: :options {0.5\textwidth}
#+attr_latex: :width \linewidth #+begin_subfigure
#+attr_latex: :width 0.99\linewidth
[[file:figs/test_struts_mounting_step_3.jpg]] [[file:figs/test_struts_mounting_step_3.jpg]]
#+end_subfigure
#+name: fig:test_struts_mounting_step_4 #+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_step_4}Step 4}
#+caption: Last step - Align the encoder on the strut #+attr_latex: :options {0.5\textwidth}
#+attr_latex: :width \linewidth #+begin_subfigure
#+attr_latex: :width 0.99\linewidth
[[file:figs/test_struts_mounting_step_4.jpg]] [[file:figs/test_struts_mounting_step_4.jpg]]
#+end_subfigure
#+end_figure
** Mounted Struts * Measurement of flexible modes
After removing the strut from the mounting bench, we obtain a strut with ensured coaxiality between the two flexible joint's interfaces (Figure ref:fig:test_struts_mounted_strut).
#+name: fig:test_struts_mounted_strut
#+caption: Mounted Strut with ensured coaxiality
#+attr_latex: :width \linewidth
[[file:figs/test_struts_mounted_strut.jpg]]
* Spurious resonances
:PROPERTIES: :PROPERTIES:
:header-args:matlab+: :tangle matlab/test_struts_1_flexible_modes.m :header-args:matlab+: :tangle matlab/test_struts_1_flexible_modes.m
:END: :END:
@ -244,9 +282,27 @@ From a Finite Element Model of the struts, it have been found that three main re
- Mode in Z-torsion at 400Hz - Mode in Z-torsion at 400Hz
#+name: fig:test_struts_mode_shapes #+name: fig:test_struts_mode_shapes
#+caption: Spurious resonances of the struts estimated from a Finite Element Model. a) X-bending mode at 189Hz. b) Y-bending mode at 285Hz. c) Z-torsion mode at 400Hz #+caption: Spurious resonances of the struts estimated from a Finite Element Model
#+attr_latex: :width \linewidth #+begin_figure
[[file:figs/test_struts_mode_shapes.png]] #+attr_latex: :caption \subcaption{\label{fig:test_struts_mode_shapes_3}X-bending mode (189Hz)}
#+attr_latex: :options {0.33\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.9\linewidth
[[file:figs/test_struts_mode_shapes_1.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:test_struts_mode_shapes_3}Y-bending mode (285Hz)}
#+attr_latex: :options {0.33\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.9\linewidth
[[file:figs/test_struts_mode_shapes_2.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:test_struts_mode_shapes_3}Z-torsion mode (400Hz)}
#+attr_latex: :options {0.33\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.9\linewidth
[[file:figs/test_struts_mode_shapes_3.png]]
#+end_subfigure
#+end_figure
** Matlab Init :noexport:ignore: ** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) #+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
@ -271,38 +327,37 @@ From a Finite Element Model of the struts, it have been found that three main re
** Measurement Setup ** Measurement Setup
A Laser vibrometer is measuring the difference of motion between two points (Figure ref:fig:test_struts_meas_spur_res_struts_1_enc). A Laser vibrometer is measuring the difference of motion between two beam path (red points in Figure ref:fig:test_struts_meas_modes).
The APA is excited with an instrumented hammer and the transfer function from the hammer to the measured rotation is computed. The strut is excited with an instrumented hammer and the transfer function from the hammer to the measured rotation is computed.
#+begin_note The "X-bending" mode is measured as shown in Figure ref:fig:test_struts_meas_x_bending.
The instrumentation used are: The "Y-bending" mode is measured as shown in Figure ref:fig:test_struts_meas_y_bending.
- Laser Doppler Vibrometer Polytec OFV512 Finally, the "Z-torsion" is measured as shown in Figure ref:fig:test_struts_meas_z_torsion.
- Instrumented hammer
#+end_note
The "X-bending" mode is measured as shown in Figure ref:fig:test_struts_meas_spur_res_struts_1_enc. This is done with and without the encoder fixed to the strut.
The "Y-bending" mode is measured as shown in Figure ref:fig:test_struts_meas_spur_res_struts_2 with the encoder and in Figure ref:fig:test_struts_meas_spur_res_struts_2_encoder with the encoder.
Finally, the "Z-torsion" is measured as shown in Figure ref:fig:test_struts_meas_spur_res_struts_3.
#+name: fig:test_struts_meas_spur_res_struts_1_enc #+name: fig:test_struts_meas_modes
#+caption: Measurement setup for the X-Bending measurement (with the encoder) #+caption: Measurement of strut flexible modes
#+attr_latex: :width \linewidth #+begin_figure
[[file:figs/test_struts_meas_spur_res_struts_1_enc.jpg]] #+attr_latex: :caption \subcaption{\label{fig:test_struts_meas_x_bending}X-bending mode}
#+attr_latex: :options {0.33\textwidth}
#+name: fig:test_struts_meas_spur_res_struts_2 #+begin_subfigure
#+caption: Measurement setup for the Y-Bending measurement #+attr_latex: :width 0.9\linewidth
#+attr_latex: :width \linewidth [[file:figs/test_struts_meas_x_bending.jpg]]
[[file:figs/test_struts_meas_spur_res_struts_2.jpg]] #+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:test_struts_meas_y_bending}Y-bending mode}
#+name: fig:test_struts_meas_spur_res_struts_2_encoder #+attr_latex: :options {0.33\textwidth}
#+caption: Measurement setup for the Y-Bending measurement (with the encoder) #+begin_subfigure
#+attr_latex: :width \linewidth #+attr_latex: :width 0.9\linewidth
[[file:figs/test_struts_meas_spur_res_struts_2_encoder.jpg]] [[file:figs/test_struts_meas_y_bending.jpg]]
#+end_subfigure
#+name: fig:test_struts_meas_spur_res_struts_3 #+attr_latex: :caption \subcaption{\label{fig:test_struts_meas_z_torsion}Z-torsion mode}
#+caption: Measurement setup for the Z-Torsion measurement #+attr_latex: :options {0.33\textwidth}
#+attr_latex: :width 0.8\linewidth #+begin_subfigure
[[file:figs/test_struts_meas_spur_res_struts_3.jpg]] #+attr_latex: :width 0.9\linewidth
[[file:figs/test_struts_meas_z_torsion.jpg]]
#+end_subfigure
#+end_figure
** Without Encoder ** Without Encoder
When the encoder is not fixed to the strut, the obtained FRF are shown in Figure ref:fig:test_struts_spur_res_frf. When the encoder is not fixed to the strut, the obtained FRF are shown in Figure ref:fig:test_struts_spur_res_frf.
@ -381,7 +436,7 @@ exportFig('figs/test_struts_spur_res_frf_enc.pdf', 'width', 'wide', 'height', 'n
#+RESULTS: #+RESULTS:
[[file:figs/test_struts_spur_res_frf_enc.png]] [[file:figs/test_struts_spur_res_frf_enc.png]]
** Conclusion ** Conclusion :ignore:
Table ref:tab:test_struts_spur_mode_freqs summarizes the measured resonance frequencies as well as the computed ones using the Finite Element Model. Table ref:tab:test_struts_spur_mode_freqs summarizes the measured resonance frequencies as well as the computed ones using the Finite Element Model.
@ -393,7 +448,7 @@ From the values in Table ref:tab:test_struts_spur_mode_freqs, it is shown that:
#+name: tab:test_struts_spur_mode_freqs #+name: tab:test_struts_spur_mode_freqs
#+caption: Measured frequency of the strut spurious modes #+caption: Measured frequency of the strut spurious modes
#+attr_latex: :environment tabularx :width 0.45\linewidth :align cccc #+attr_latex: :environment tabularx :width 0.7\linewidth :align Xccc
#+attr_latex: :center t :booktabs t :float t #+attr_latex: :center t :booktabs t :float t
| *Mode* | *Struts (FEM)* | *Struts (exp)* | *Plates (exp)* | | *Mode* | *Struts (FEM)* | *Struts (exp)* | *Plates (exp)* |
|-----------+----------------+----------------+----------------| |-----------+----------------+----------------+----------------|
@ -459,16 +514,13 @@ First, only one strut is measured in details (Section ref:ssec:test_struts_meas_
** Measurement on Strut 1 ** Measurement on Strut 1
<<ssec:test_struts_meas_strut_1>> <<ssec:test_struts_meas_strut_1>>
*** Introduction :ignore: *** Introduction :ignore:
Measurements are first performed on one of the strut that contains: Measurements are first performed on one of the strut.
- the Amplified Piezoelectric Actuator (APA) number 1
- flexible joints 1 and 2
In Section ref:sec:meas_strut_1_no_encoder, the dynamics of the strut is measured without the encoder attached to it. In Section ref:sec:meas_strut_1_no_encoder, the dynamics of the strut is measured without the encoder attached to it.
Then in Section ref:sec:meas_strut_1_encoder, the encoder is attached to the struts, and the dynamic is identified. Then in Section ref:sec:meas_strut_1_encoder, the encoder is attached to the struts, and the dynamic is identified.
*** Without Encoder *** Without Encoder
<<sec:meas_strut_1_no_encoder>> <<sec:meas_strut_1_no_encoder>>
**** FRF Identification - Setup
Similarly to what was done for the identification of the APA, the identification is performed in three steps: Similarly to what was done for the identification of the APA, the identification is performed in three steps:
1. White noise excitation with small amplitude. 1. White noise excitation with small amplitude.
This is used to determine the main resonance of the system. This is used to determine the main resonance of the system.
@ -480,11 +532,11 @@ Similarly to what was done for the identification of the APA, the identification
Then, the result of the second identification is used between 10Hz and 350Hz and the result of the third identification if used between 350Hz and 2kHz. Then, the result of the second identification is used between 10Hz and 350Hz and the result of the third identification if used between 350Hz and 2kHz.
#+begin_src matlab #+begin_src matlab
%% Sampling frequency/time %% Parameters for Frequency Analysis
Ts = 1e-4; % Sampling Time [s] Ts = 1e-4; % Sampling Time [s]
Nfft = floor(1/Ts); Nfft = floor(1/Ts); % Number of points for the FFT computation
win = hanning(Nfft); win = hanning(Nfft); % Hanning window
Noverlap = floor(Nfft/2); Noverlap = floor(Nfft/2); % Overlap between frequency analysis
#+end_src #+end_src
#+begin_src matlab #+begin_src matlab
@ -497,10 +549,9 @@ leg_noise_hf = load('frf_data_leg_1_noise_hf.mat', 'u', 'Vs', 'de', 'da');
%% We get the frequency vector that will be the same for all the frequency domain analysis. %% We get the frequency vector that will be the same for all the frequency domain analysis.
[~, f] = tfestimate(leg_sweep.u, leg_sweep.de, win, Noverlap, Nfft, 1/Ts); [~, f] = tfestimate(leg_sweep.u, leg_sweep.de, win, Noverlap, Nfft, 1/Ts);
i_lf = f <= 350; % Indices used for the low frequency i_lf = f <= 350; % Indices used for the low frequency
i_hf = f > 350; % Indices used for the low frequency i_hf = f > 350; % Indices used for the high frequency
#+end_src #+end_src
**** FRF Identification - Interferometer
In this section, the dynamics from the excitation voltage $u$ to the interferometer $d_a$ is identified. In this section, the dynamics from the excitation voltage $u$ to the interferometer $d_a$ is identified.
The transfer function from $u$ to the interferometer measured displacement $d_a$ is estimated and shown in Figure ref:fig:strut_1_frf_dvf_plant_tf. The transfer function from $u$ to the interferometer measured displacement $d_a$ is estimated and shown in Figure ref:fig:strut_1_frf_dvf_plant_tf.
#+begin_src matlab #+begin_src matlab
@ -548,7 +599,6 @@ exportFig('figs/strut_1_frf_dvf_plant_tf.pdf', 'width', 'wide', 'height', 'tall'
#+RESULTS: #+RESULTS:
[[file:figs/strut_1_frf_dvf_plant_tf.png]] [[file:figs/strut_1_frf_dvf_plant_tf.png]]
**** FRF Identification - IFF
In this section, the dynamics from $u$ to $V_s$ is identified. In this section, the dynamics from $u$ to $V_s$ is identified.
Then the FRF are estimated and shown in Figure ref:fig:strut_1_frf_iff_plant_tf Then the FRF are estimated and shown in Figure ref:fig:strut_1_frf_iff_plant_tf
#+begin_src matlab #+begin_src matlab
@ -598,19 +648,15 @@ exportFig('figs/strut_1_frf_iff_plant_tf.pdf', 'width', 'wide', 'height', 'tall'
*** With Encoder *** With Encoder
<<sec:meas_strut_1_encoder>> <<sec:meas_strut_1_encoder>>
**** Introduction :ignore:
Now the encoder is fixed to the strut and the identification is performed. Now the encoder is fixed to the strut and the identification is performed.
**** Measurement Data
The measurements are loaded.
#+begin_src matlab #+begin_src matlab
%% Load data %% Load data
leg_enc_sweep = load('frf_data_leg_coder_1_noise.mat', 'u', 'Vs', 'de', 'da'); leg_enc_sweep = load('frf_data_leg_coder_1_noise.mat', 'u', 'Vs', 'de', 'da');
leg_enc_noise_hf = load('frf_data_leg_coder_1_noise_hf.mat', 'u', 'Vs', 'de', 'da'); leg_enc_noise_hf = load('frf_data_leg_coder_1_noise_hf.mat', 'u', 'Vs', 'de', 'da');
#+end_src #+end_src
**** FRF Identification - Interferometer The dynamics from $u$ to $d_a$ is identified.
In this section, the dynamics from $u$ to $d_a$ is identified.
#+begin_src matlab #+begin_src matlab
%% Compute FRF function from u to da %% Compute FRF function from u to da
[frf_sweep, ~] = tfestimate(leg_enc_sweep.u, leg_enc_sweep.da, win, Noverlap, Nfft, 1/Ts); [frf_sweep, ~] = tfestimate(leg_enc_sweep.u, leg_enc_sweep.da, win, Noverlap, Nfft, 1/Ts);
@ -660,9 +706,6 @@ exportFig('figs/strut_leg_compare_int_frf.pdf', 'width', 'wide', 'height', 'tall
#+RESULTS: #+RESULTS:
[[file:figs/strut_leg_compare_int_frf.png]] [[file:figs/strut_leg_compare_int_frf.png]]
**** FRF Identification - Encoder
In this section, the dynamics from $u$ to $d_e$ (encoder) is identified.
The FRF from $u$ to the encoder measured displacement $d_e$ is computed and shown in Figure ref:fig:strut_1_enc_frf_dvf_plant_tf. The FRF from $u$ to the encoder measured displacement $d_e$ is computed and shown in Figure ref:fig:strut_1_enc_frf_dvf_plant_tf.
#+begin_src matlab #+begin_src matlab
%% Compute FRF function from u to da %% Compute FRF function from u to da
@ -710,7 +753,6 @@ exportFig('figs/strut_1_enc_frf_dvf_plant_tf.pdf', 'width', 'wide', 'height', 't
[[file:figs/strut_1_enc_frf_dvf_plant_tf.png]] [[file:figs/strut_1_enc_frf_dvf_plant_tf.png]]
The transfer functions from $u$ to $d_e$ (encoder) and to $d_a$ (interferometer) are compared in Figure ref:fig:strut_1_comp_enc_int. The transfer functions from $u$ to $d_e$ (encoder) and to $d_a$ (interferometer) are compared in Figure ref:fig:strut_1_comp_enc_int.
#+begin_src matlab :exports none #+begin_src matlab :exports none
figure; figure;
tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None'); tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
@ -754,7 +796,6 @@ The dynamics from the excitation voltage $u$ to the measured displacement by the
It will be further investigated why the two dynamics as so different and what are causing all these resonances. It will be further investigated why the two dynamics as so different and what are causing all these resonances.
#+end_important #+end_important
**** APA Resonances Frequency
As shown in Figure ref:fig:strut_1_spurious_resonances, we can clearly see three spurious resonances at 197Hz, 290Hz and 376Hz. As shown in Figure ref:fig:strut_1_spurious_resonances, we can clearly see three spurious resonances at 197Hz, 290Hz and 376Hz.
#+begin_src matlab :exports none #+begin_src matlab :exports none
@ -794,8 +835,7 @@ They are very close to what was estimated using a finite element model of the st
The resonances seen by the encoder in Figure ref:fig:strut_1_spurious_resonances are indeed corresponding to the modes of the strut as shown in Figure ref:fig:test_struts_mode_shapes. The resonances seen by the encoder in Figure ref:fig:strut_1_spurious_resonances are indeed corresponding to the modes of the strut as shown in Figure ref:fig:test_struts_mode_shapes.
#+end_important #+end_important
**** FRF Identification - Force Sensor Let's now compare the IFF plants (dynamics from $u$ to $V_s$) whether the encoders are fixed to the APA or not (Figure ref:fig:strut_1_frf_iff_comp_enc).
In this section, the dynamics from $u$ to $V_s$ is identified.
#+begin_src matlab #+begin_src matlab
%% Compute FRF function from u to da %% Compute FRF function from u to da
@ -806,7 +846,6 @@ In this section, the dynamics from $u$ to $V_s$ is identified.
iff_with_enc_frf = [frf_sweep(i_lf); frf_noise_hf(i_hf)]; iff_with_enc_frf = [frf_sweep(i_lf); frf_noise_hf(i_hf)];
#+end_src #+end_src
Let's now compare the IFF plants whether the encoders are fixed to the APA or not (Figure ref:fig:strut_1_frf_iff_comp_enc).
#+begin_src matlab :exports none #+begin_src matlab :exports none
%% Compare the IFF plant with and without the encoders %% Compare the IFF plant with and without the encoders
figure; figure;
@ -851,8 +890,6 @@ The transfer function from the excitation voltage $u$ to the generated voltage $
This means that the IFF control strategy should be as effective whether or not the encoders are fixed to the struts. This means that the IFF control strategy should be as effective whether or not the encoders are fixed to the struts.
#+end_important #+end_important
**** Non-Minimum phase zero?
In order to determine if the complex conjugate zero of Figure ref:fig:strut_1_enc_frf_iff_plant_tf is minimum phase or non-minimum phase, longer measurements are performed. In order to determine if the complex conjugate zero of Figure ref:fig:strut_1_enc_frf_iff_plant_tf is minimum phase or non-minimum phase, longer measurements are performed.
#+begin_src matlab #+begin_src matlab
@ -902,7 +939,7 @@ xlim([38, 45]);
*** Introduction :ignore: *** Introduction :ignore:
Now all struts are measured using the same procedure and test bench as in Section ref:sec:meas_strut_1. Now all struts are measured using the same procedure and test bench as in Section ref:sec:meas_strut_1.
*** FRF Identification - Setup *** FRF Identification
The identification of the struts dynamics is performed in two steps: The identification of the struts dynamics is performed in two steps:
1. The excitation signal is a white noise with small amplitude. 1. The excitation signal is a white noise with small amplitude.
This is used to estimate the low frequency dynamics. This is used to estimate the low frequency dynamics.
@ -916,7 +953,6 @@ Here are the leg numbers that have been measured.
strut_nums = [1 2 3 4 5]; strut_nums = [1 2 3 4 5];
#+end_src #+end_src
The data are loaded for both the first and second identification:
#+begin_src matlab #+begin_src matlab
%% First identification (low frequency noise) %% First identification (low frequency noise)
leg_noise = {}; leg_noise = {};
@ -938,7 +974,6 @@ win = hanning(Nfft);
Noverlap = floor(Nfft/2); Noverlap = floor(Nfft/2);
#+end_src #+end_src
We get the frequency vector that will be the same for all the frequency domain analysis.
#+begin_src matlab #+begin_src matlab
% Only used to have the frequency vector "f" % Only used to have the frequency vector "f"
[~, f] = tfestimate(leg_noise{1}.u, leg_noise{1}.de, win, Noverlap, Nfft, 1/Ts); [~, f] = tfestimate(leg_noise{1}.u, leg_noise{1}.de, win, Noverlap, Nfft, 1/Ts);
@ -946,10 +981,9 @@ i_lf = f <= 350;
i_hf = f > 350; i_hf = f > 350;
#+end_src #+end_src
*** FRF Identification - Encoder The transfer function from the DAC output voltage $u$ to the measured displacement by the encoder $d_e$ is computed.
In this section, the dynamics from $u$ to $d_e$ (encoder) is identified. The obtained transfer functions are shown in Figure ref:fig:struts_frf_dvf_plant_tf.
Then, the transfer function from the DAC output voltage $u$ to the measured displacement by the encoder $d_e$ is computed:
#+begin_src matlab #+begin_src matlab
%% Transfer function estimation %% Transfer function estimation
enc_frf = zeros(length(f), length(strut_nums)); enc_frf = zeros(length(f), length(strut_nums));
@ -961,7 +995,6 @@ for i = 1:length(strut_nums)
end end
#+end_src #+end_src
The obtained transfer functions are shown in Figure ref:fig:struts_frf_dvf_plant_tf.
#+begin_src matlab :exports none #+begin_src matlab :exports none
%% Bode plot of the FRF from u to de %% Bode plot of the FRF from u to de
figure; figure;
@ -1012,11 +1045,9 @@ Moreover, the location or even the presence of complex conjugate zeros is changi
All of this will be explained in Section ref:sec:simscape_bench_struts thanks to the Simscape model. All of this will be explained in Section ref:sec:simscape_bench_struts thanks to the Simscape model.
#+end_important #+end_important
*** FRF Identification - Interferometer
In this section, the dynamics from $u$ to $d_a$ (interferometer) is identified.
Then, the transfer function from the DAC output voltage $u$ to the measured displacement by the Attocube is computed for all the struts and shown in Figure ref:fig:struts_frf_int_plant_tf. Then, the transfer function from the DAC output voltage $u$ to the measured displacement by the Attocube is computed for all the struts and shown in Figure ref:fig:struts_frf_int_plant_tf.
All the struts are giving very similar FRF. All the struts are giving very similar FRF.
#+begin_src matlab #+begin_src matlab
%% Transfer function estimation %% Transfer function estimation
int_frf = zeros(length(f), length(strut_nums)); int_frf = zeros(length(f), length(strut_nums));
@ -1069,7 +1100,6 @@ exportFig('figs/struts_frf_int_plant_tf.pdf', 'width', 'wide', 'height', 'tall')
#+RESULTS: #+RESULTS:
[[file:figs/struts_frf_int_plant_tf.png]] [[file:figs/struts_frf_int_plant_tf.png]]
*** FRF Identification - Force Sensor
In this section, the dynamics from $u$ to $V_s$ is identified. In this section, the dynamics from $u$ to $V_s$ is identified.
Then the FRF are estimated and shown in Figure ref:fig:struts_frf_iff_plant_tf. Then the FRF are estimated and shown in Figure ref:fig:struts_frf_iff_plant_tf.
They are also shown all to be very similar. They are also shown all to be very similar.
@ -1227,6 +1257,8 @@ save('./mat/meas_struts_frf.mat', 'f', 'enc_frf', 'int_frf', 'iff_frf', 'strut_n
** TODO Comparison of all the (re-aligned) Struts ** TODO Comparison of all the (re-aligned) Struts
<<sec:test_struts_meas_all_aligned_struts>> <<sec:test_struts_meas_all_aligned_struts>>
- [ ] Should this be included here?
*** Introduction :ignore: *** Introduction :ignore:
The struts are re-aligned and measured using the same test bench. The struts are re-aligned and measured using the same test bench.
@ -1415,6 +1447,8 @@ Having the struts well aligned does not change significantly the obtained dynami
The measured FRF are now saved for further use. The measured FRF are now saved for further use.
** TODO Noise measurement :noexport: ** TODO Noise measurement :noexport:
- [ ] Is it interesting and should this be included here?
#+begin_src matlab #+begin_src matlab
%% Nothing connected to the actuator stacks %% Nothing connected to the actuator stacks
open_circuit = load('frf_struts_align_3_huddle_open_circuit.mat', 't', 'Vs', 'de'); open_circuit = load('frf_struts_align_3_huddle_open_circuit.mat', 't', 'Vs', 'de');
@ -1478,6 +1512,7 @@ legend('location', 'northeast');
xlim([1, 5e3]) xlim([1, 5e3])
#+end_src #+end_src
** Conclusion :ignore:
* Simscape Model * Simscape Model
:PROPERTIES: :PROPERTIES:
:header-args:matlab+: :tangle matlab/test_struts_3_simscape_model.m :header-args:matlab+: :tangle matlab/test_struts_3_simscape_model.m
@ -1489,7 +1524,7 @@ However, now the full strut is put instead of only the APA (see Figure ref:fig:t
#+name: fig:test_struts_simscape_model #+name: fig:test_struts_simscape_model
#+caption: Screenshot of the Simscape model of the strut fixed to the bench #+caption: Screenshot of the Simscape model of the strut fixed to the bench
#+attr_latex: :width \linewidth #+attr_latex: :width 0.7\linewidth
[[file:figs/test_struts_simscape_model.png]] [[file:figs/test_struts_simscape_model.png]]
This Simscape model is used to: This Simscape model is used to:
@ -2637,16 +2672,7 @@ exportFig('figs/effect_enc_bending_damp.pdf', 'width', 'wide', 'height', 'tall')
#+RESULTS: #+RESULTS:
[[file:figs/effect_enc_bending_damp.png]] [[file:figs/effect_enc_bending_damp.png]]
#+begin_important ** Conclusion :ignore:
Adding damping in bending for the flexible joints could be a nice way to reduce the effects of the spurious resonances of the struts.
#+end_important
#+begin_question
How to effectively add damping to the flexible joints?
One idea would be to introduce a sheet of damping material inside the flexible joint.
Not sure is would be effect though.
#+end_question
* Conclusion * Conclusion
<<sec:test_struts_conclusion>> <<sec:test_struts_conclusion>>

Binary file not shown.

View File

@ -1,4 +1,4 @@
% Created 2024-03-25 Mon 10:54 % Created 2024-03-25 Mon 16:32
% Intended LaTeX compiler: pdflatex % Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt} \documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
@ -62,7 +62,7 @@ The final goal of the work presented in this document is to have an accurate Sim
\midrule \midrule
Section \ref{sec:test_struts_flexible_modes} & \texttt{test\_struts\_1\_flexible\_modes.m}\\ Section \ref{sec:test_struts_flexible_modes} & \texttt{test\_struts\_1\_flexible\_modes.m}\\
Section \ref{sec:test_struts_dynamical_meas} & \texttt{test\_struts\_2\_dynamical\_meas.m}\\ Section \ref{sec:test_struts_dynamical_meas} & \texttt{test\_struts\_2\_dynamical\_meas.m}\\
Section \ref{sec:test_struts_mounting} & \texttt{test\_struts\_3\_simscape\_model.m}\\ Section \ref{sec:test_struts_simscape} & \texttt{test\_struts\_3\_simscape\_model.m}\\
\bottomrule \bottomrule
\end{tabularx} \end{tabularx}
\end{table} \end{table}
@ -75,84 +75,104 @@ This is very important in order to not loose any stroke when the struts will be
A CAD view of the mounting bench is shown in Figure \ref{fig:test_struts_mounting_bench_first_concept}. A CAD view of the mounting bench is shown in Figure \ref{fig:test_struts_mounting_bench_first_concept}.
\begin{itemize}
\item[{$\square$}] Add some notes to the figure
\end{itemize}
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1,width=\linewidth]{figs/test_struts_mounting_bench_first_concept.png} \includegraphics[scale=1,width=0.6\linewidth]{figs/test_struts_mounting_bench_first_concept.png}
\caption{\label{fig:test_struts_mounting_bench_first_concept}CAD view of the mounting bench} \caption{\label{fig:test_struts_mounting_bench_first_concept}CAD view of the mounting bench}
\end{figure} \end{figure}
The main part of the bench is here to ensure both the correct strut length and strut coaxiality as shown in Figure \ref{fig:test_struts_mounting_step_0}. The main part of the bench is here to ensure both the correct strut length and strut coaxiality as shown in Figure \ref{fig:test_struts_mounting_step_0}.
\begin{figure}[htbp] \begin{figure}
\centering \begin{subfigure}{0.56\textwidth}
\includegraphics[scale=1,width=\linewidth]{figs/test_struts_mounting_step_0.jpg} \begin{center}
\caption{\label{fig:test_struts_mounting_step_0}Useful features of the main mounting element} \includegraphics[scale=1,height=4.5cm]{figs/test_struts_mounting_step_0.jpg}
\end{center}
\subcaption{\label{fig:test_struts_mounting_step_0}Useful features of the main mounting element}
\end{subfigure}
\begin{subfigure}{0.43\textwidth}
\begin{center}
\includegraphics[scale=1,height=4.5cm]{figs/test_struts_check_dimensions_bench.jpg}
\end{center}
\subcaption{\label{fig:test_struts_check_dimensions_bench}Dimensional check}
\end{subfigure}
\caption{\label{fig:test_struts_mounting_base_part}Caption\ldots{}, add foot note with Faro arm}
\end{figure} \end{figure}
The tight tolerances of this element has been verified as shown in Figure \ref{fig:test_struts_mounting_bench_first_concept} and were found to comply with the requirements. The tight tolerances of this element has been verified as shown in Figure \ref{fig:test_struts_check_dimensions_bench} and were found to comply with the requirements.
\begin{figure}[htbp] The flexible joints are rigidly fixed to cylindrical tools shown in Figures \ref{fig:test_struts_cylindrical_mounting_part_top} and \ref{fig:test_struts_cylindrical_mounting_part_bot} which are then mounted on the mounting tool shown in Figure \ref{fig:test_struts_mounting_step_0}.
\centering
\includegraphics[scale=1,width=\linewidth]{figs/check_dimensions_bench.jpg}
\caption{\label{fig:test_struts_mounting_bench_first_concept}Dimensional verifications of the mounting bench tolerances}
\end{figure}
The flexible joints are rigidly fixed to cylindrical tools shown in Figure \ref{fig:cylindrical_mounting_part} which are then mounted on the mounting tool shown in Figure \ref{fig:test_struts_mounting_step_0}.
This cylindrical tool is here to protect the flexible joints when tightening the screws and therefore applying large torque. This cylindrical tool is here to protect the flexible joints when tightening the screws and therefore applying large torque.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=\linewidth]{figs/cylindrical_mounting_part.jpg}
\caption{\label{fig:cylindrical_mounting_part}Cylindrical mounting elements}
\end{figure}
\section{Mounting Procedure} \section{Mounting Procedure}
The mounting procedure is as follows: The mounting procedure is as follows:
\begin{enumerate} \begin{enumerate}
\item Screw flexible joints inside the cylindrical interface element shown in Figure \ref{fig:cylindrical_mounting_part} (Figure \ref{fig:test_struts_mounting_step_1}) \item Screw flexible joints inside the cylindrical interface element shown in Figure \ref{fig:test_struts_cylindrical_mounting}
\item Fix the two interface elements. One of the two should be clamped, the other one should have its axial rotation free. \item Fix the two interface elements. One of the two should be clamped, the other one should have its axial rotation free.
Visually align the clamped one horizontally. (Figure \ref{fig:test_struts_mounting_step_2}) Visually align the clamped one horizontally. (Figure \ref{fig:test_struts_mounting_step_1})
\item Put cylindrical washers, APA and interface pieces on top of the flexible joints (Figure \ref{fig:test_struts_mounting_step_3}) \item Put cylindrical washers, APA and interface pieces on top of the flexible joints (Figure \ref{fig:test_struts_mounting_step_2})
\item Put the 4 screws just in contact such that everything is correctly positioned and such that the ``free'' flexible joint is correctly oriented \item Put the 4 screws just in contact such that everything is correctly positioned and such that the ``free'' flexible joint is correctly oriented
\item Put the 8 lateral screws in contact \item Put the 8 lateral screws in contact
\item Tighten the 4 screws to fix the APA on the two flexible joints (using a torque screwdriver) \item Tighten the 4 screws to fix the APA on the two flexible joints (using a torque screwdriver)
\item Remove the 4 laterals screws \item Remove the 4 laterals screws
\item (optional) Put the APA horizontally and fix the encoder and align it to maximize the contrast (Figure \ref{fig:test_struts_mounting_step_4}) \item (optional) Put the APA horizontally and fix the encoder and align it to maximize the contrast (Figure \ref{fig:test_struts_mounting_step_3})
\item Disassemble to have an properly mounted strut (Figure \ref{fig:test_struts_mounting_step_4}) for which the coaxiality between the two flexible joint's interfaces is good
\end{enumerate} \end{enumerate}
\begin{figure}[htbp] \begin{figure}
\centering \begin{subfigure}{0.33\textwidth}
\includegraphics[scale=1,width=0.5\linewidth]{figs/test_struts_mounting_step_1.jpg} \begin{center}
\caption{\label{fig:test_struts_mounting_step_1}Step 1 - Flexible joints fixed on the cylindrical interface elements} \includegraphics[scale=1,height=4.5cm]{figs/test_struts_cylindrical_mounting_part_top.jpg}
\end{center}
\subcaption{\label{fig:test_struts_cylindrical_mounting_part_top}Cylindral Interface (Top)}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,height=4.5cm]{figs/test_struts_cylindrical_mounting_part_bot.jpg}
\end{center}
\subcaption{\label{fig:test_struts_cylindrical_mounting_part_bot}Cylindrlcal Interface (Bottom)}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,height=4.5cm]{figs/test_struts_mounting_joints.jpg}
\end{center}
\subcaption{\label{fig:test_struts_mounting_joints}Mounted flexible joints}
\end{subfigure}
\caption{\label{fig:test_struts_cylindrical_mounting}Preparation of the flexible joints by fixing them in their cylindrical interface}
\end{figure} \end{figure}
\begin{figure}[htbp] \begin{figure}
\centering \begin{subfigure}{0.5\textwidth}
\includegraphics[scale=1,width=\linewidth]{figs/test_struts_mounting_step_2.jpg} \begin{center}
\caption{\label{fig:test_struts_mounting_step_2}Step 2 - Cylindrical elements fixed on the bench} \includegraphics[scale=1,width=0.99\linewidth]{figs/test_struts_mounting_step_1.jpg}
\end{center}
\subcaption{\label{fig:test_struts_mounting_step_1}Step 1}
\end{subfigure}
\begin{subfigure}{0.5\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.99\linewidth]{figs/test_struts_mounting_step_2.jpg}
\end{center}
\subcaption{\label{fig:test_struts_mounting_step_2}Step 2}
\end{subfigure}
\begin{subfigure}{0.5\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.99\linewidth]{figs/test_struts_mounting_step_3.jpg}
\end{center}
\subcaption{\label{fig:test_struts_mounting_step_3}Step 3}
\end{subfigure}
\begin{subfigure}{0.5\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.99\linewidth]{figs/test_struts_mounting_step_4.jpg}
\end{center}
\subcaption{\label{fig:test_struts_mounting_step_4}Step 4}
\end{subfigure}
\caption{\label{fig:test_struts_mounting_steps}Steps for mounting the struts.}
\end{figure} \end{figure}
\chapter{Measurement of flexible modes}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=\linewidth]{figs/test_struts_mounting_step_3.jpg}
\caption{\label{fig:test_struts_mounting_step_3}Step 3 - Mount the nuts, washers and APA}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=\linewidth]{figs/test_struts_mounting_step_4.jpg}
\caption{\label{fig:test_struts_mounting_step_4}Last step - Align the encoder on the strut}
\end{figure}
\section{Mounted Struts}
After removing the strut from the mounting bench, we obtain a strut with ensured coaxiality between the two flexible joint's interfaces (Figure \ref{fig:test_struts_mounted_strut}).
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=\linewidth]{figs/test_struts_mounted_strut.jpg}
\caption{\label{fig:test_struts_mounted_strut}Mounted Strut with ensured coaxiality}
\end{figure}
\chapter{Spurious resonances}
\label{sec:test_struts_flexible_modes} \label{sec:test_struts_flexible_modes}
\section{Introduction} \section{Introduction}
@ -167,50 +187,58 @@ From a Finite Element Model of the struts, it have been found that three main re
\item Mode in Z-torsion at 400Hz \item Mode in Z-torsion at 400Hz
\end{itemize} \end{itemize}
\begin{figure}[htbp] \begin{figure}
\centering \begin{subfigure}{0.33\textwidth}
\includegraphics[scale=1,width=\linewidth]{figs/test_struts_mode_shapes.png} \begin{center}
\caption{\label{fig:test_struts_mode_shapes}Spurious resonances of the struts estimated from a Finite Element Model. a) X-bending mode at 189Hz. b) Y-bending mode at 285Hz. c) Z-torsion mode at 400Hz} \includegraphics[scale=1,width=0.9\linewidth]{figs/test_struts_mode_shapes_1.png}
\end{center}
\subcaption{\label{fig:test_struts_mode_shapes_3}X-bending mode (189Hz)}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.9\linewidth]{figs/test_struts_mode_shapes_2.png}
\end{center}
\subcaption{\label{fig:test_struts_mode_shapes_3}Y-bending mode (285Hz)}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.9\linewidth]{figs/test_struts_mode_shapes_3.png}
\end{center}
\subcaption{\label{fig:test_struts_mode_shapes_3}Z-torsion mode (400Hz)}
\end{subfigure}
\caption{\label{fig:test_struts_mode_shapes}Spurious resonances of the struts estimated from a Finite Element Model}
\end{figure} \end{figure}
\section{Measurement Setup} \section{Measurement Setup}
A Laser vibrometer is measuring the difference of motion between two points (Figure \ref{fig:test_struts_meas_spur_res_struts_1_enc}). A Laser vibrometer is measuring the difference of motion between two beam path (red points in Figure \ref{fig:test_struts_meas_modes}).
The APA is excited with an instrumented hammer and the transfer function from the hammer to the measured rotation is computed. The strut is excited with an instrumented hammer and the transfer function from the hammer to the measured rotation is computed.
\begin{note} The ``X-bending'' mode is measured as shown in Figure \ref{fig:test_struts_meas_x_bending}.
The instrumentation used are: The ``Y-bending'' mode is measured as shown in Figure \ref{fig:test_struts_meas_y_bending}.
\begin{itemize} Finally, the ``Z-torsion'' is measured as shown in Figure \ref{fig:test_struts_meas_z_torsion}.
\item Laser Doppler Vibrometer Polytec OFV512
\item Instrumented hammer
\end{itemize}
\end{note}
The ``X-bending'' mode is measured as shown in Figure \ref{fig:test_struts_meas_spur_res_struts_1_enc}. This is done with and without the encoder fixed to the strut.
The ``Y-bending'' mode is measured as shown in Figure \ref{fig:test_struts_meas_spur_res_struts_2} with the encoder and in Figure \ref{fig:test_struts_meas_spur_res_struts_2_encoder} with the encoder.
Finally, the ``Z-torsion'' is measured as shown in Figure \ref{fig:test_struts_meas_spur_res_struts_3}.
\begin{figure}[htbp] \begin{figure}
\centering \begin{subfigure}{0.33\textwidth}
\includegraphics[scale=1,width=\linewidth]{figs/test_struts_meas_spur_res_struts_1_enc.jpg} \begin{center}
\caption{\label{fig:test_struts_meas_spur_res_struts_1_enc}Measurement setup for the X-Bending measurement (with the encoder)} \includegraphics[scale=1,width=0.9\linewidth]{figs/test_struts_meas_x_bending.jpg}
\end{figure} \end{center}
\subcaption{\label{fig:test_struts_meas_x_bending}X-bending mode}
\begin{figure}[htbp] \end{subfigure}
\centering \begin{subfigure}{0.33\textwidth}
\includegraphics[scale=1,width=\linewidth]{figs/test_struts_meas_spur_res_struts_2.jpg} \begin{center}
\caption{\label{fig:test_struts_meas_spur_res_struts_2}Measurement setup for the Y-Bending measurement} \includegraphics[scale=1,width=0.9\linewidth]{figs/test_struts_meas_y_bending.jpg}
\end{figure} \end{center}
\subcaption{\label{fig:test_struts_meas_y_bending}Y-bending mode}
\begin{figure}[htbp] \end{subfigure}
\centering \begin{subfigure}{0.33\textwidth}
\includegraphics[scale=1,width=\linewidth]{figs/test_struts_meas_spur_res_struts_2_encoder.jpg} \begin{center}
\caption{\label{fig:test_struts_meas_spur_res_struts_2_encoder}Measurement setup for the Y-Bending measurement (with the encoder)} \includegraphics[scale=1,width=0.9\linewidth]{figs/test_struts_meas_z_torsion.jpg}
\end{figure} \end{center}
\subcaption{\label{fig:test_struts_meas_z_torsion}Z-torsion mode}
\begin{figure}[htbp] \end{subfigure}
\centering \caption{\label{fig:test_struts_meas_modes}Measurement of strut flexible modes}
\includegraphics[scale=1,width=0.8\linewidth]{figs/test_struts_meas_spur_res_struts_3.jpg}
\caption{\label{fig:test_struts_meas_spur_res_struts_3}Measurement setup for the Z-Torsion measurement}
\end{figure} \end{figure}
\section{Without Encoder} \section{Without Encoder}
When the encoder is not fixed to the strut, the obtained FRF are shown in Figure \ref{fig:test_struts_spur_res_frf}. When the encoder is not fixed to the strut, the obtained FRF are shown in Figure \ref{fig:test_struts_spur_res_frf}.
@ -242,7 +270,7 @@ From the values in Table \ref{tab:test_struts_spur_mode_freqs}, it is shown that
\begin{table}[htbp] \begin{table}[htbp]
\caption{\label{tab:test_struts_spur_mode_freqs}Measured frequency of the strut spurious modes} \caption{\label{tab:test_struts_spur_mode_freqs}Measured frequency of the strut spurious modes}
\centering \centering
\begin{tabularx}{0.45\linewidth}{cccc} \begin{tabularx}{0.7\linewidth}{Xccc}
\toprule \toprule
\textbf{Mode} & \textbf{Struts (FEM)} & \textbf{Struts (exp)} & \textbf{Plates (exp)}\\ \textbf{Mode} & \textbf{Struts (FEM)} & \textbf{Struts (exp)} & \textbf{Plates (exp)}\\
\midrule \midrule
@ -282,17 +310,12 @@ Measurements are performed either when no encoder is fixed to the strut (Figure
First, only one strut is measured in details (Section \ref{ssec:test_struts_meas_strut_1}), and then all the struts are measured and compared (Section \ref{ssec:test_struts_meas_all_struts}). First, only one strut is measured in details (Section \ref{ssec:test_struts_meas_strut_1}), and then all the struts are measured and compared (Section \ref{ssec:test_struts_meas_all_struts}).
\section{Measurement on Strut 1} \section{Measurement on Strut 1}
\label{ssec:test_struts_meas_strut_1} \label{ssec:test_struts_meas_strut_1}
Measurements are first performed on one of the strut that contains: Measurements are first performed on one of the strut.
\begin{itemize}
\item the Amplified Piezoelectric Actuator (APA) number 1
\item flexible joints 1 and 2
\end{itemize}
In Section \ref{sec:meas_strut_1_no_encoder}, the dynamics of the strut is measured without the encoder attached to it. In Section \ref{sec:meas_strut_1_no_encoder}, the dynamics of the strut is measured without the encoder attached to it.
Then in Section \ref{sec:meas_strut_1_encoder}, the encoder is attached to the struts, and the dynamic is identified. Then in Section \ref{sec:meas_strut_1_encoder}, the encoder is attached to the struts, and the dynamic is identified.
\subsection{Without Encoder} \subsection{Without Encoder}
\label{sec:meas_strut_1_no_encoder} \label{sec:meas_strut_1_no_encoder}
\paragraph{FRF Identification - Setup}
Similarly to what was done for the identification of the APA, the identification is performed in three steps: Similarly to what was done for the identification of the APA, the identification is performed in three steps:
\begin{enumerate} \begin{enumerate}
\item White noise excitation with small amplitude. \item White noise excitation with small amplitude.
@ -305,39 +328,15 @@ The noise is band-passed between 300Hz and 2kHz.
Then, the result of the second identification is used between 10Hz and 350Hz and the result of the third identification if used between 350Hz and 2kHz. Then, the result of the second identification is used between 10Hz and 350Hz and the result of the third identification if used between 350Hz and 2kHz.
The time is the same for all measurements. In this section, the dynamics from the excitation voltage \(u\) to the interferometer \(d_a\) is identified.
We get the frequency vector that will be the same for all the frequency domain analysis. The transfer function from \(u\) to the interferometer measured displacement \(d_a\) is estimated and shown in Figure \ref{fig:strut_1_frf_dvf_plant_tf}.
\paragraph{FRF Identification - Interferometer}
In this section, the dynamics from the excitation voltage \(V_a\) to the interferometer \(d_a\) is identified.
We compute the coherence for 2nd and 3rd identification and combine them.
The combined coherence is shown in Figure \ref{fig:strut_1_frf_dvf_plant_coh}, and is found to be very good up to at least 1kHz.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/strut_1_frf_dvf_plant_coh.png}
\caption{\label{fig:strut_1_frf_dvf_plant_coh}Obtained coherence for the plant from \(V_a\) to \(d_a\)}
\end{figure}
The transfer function from \(V_a\) to the interferometer measured displacement \(d_a\) is estimated and shown in Figure \ref{fig:strut_1_frf_dvf_plant_tf}.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/strut_1_frf_dvf_plant_tf.png} \includegraphics[scale=1]{figs/strut_1_frf_dvf_plant_tf.png}
\caption{\label{fig:strut_1_frf_dvf_plant_tf}Estimated FRF for the DVF plant (transfer function from \(V_a\) to the interferometer \(d_a\))} \caption{\label{fig:strut_1_frf_dvf_plant_tf}Estimated FRF for the DVF plant (transfer function from \(u\) to the interferometer \(d_a\))}
\end{figure}
\paragraph{FRF Identification - IFF}
In this section, the dynamics from \(V_a\) to \(V_s\) is identified.
First the coherence is computed and shown in Figure \ref{fig:strut_1_frf_iff_plant_coh}.
The coherence is very nice from 10Hz to 2kHz.
It is only dropping near a zeros at 40Hz, and near the resonance at 95Hz (the excitation amplitude being lowered).
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/strut_1_frf_iff_plant_coh.png}
\caption{\label{fig:strut_1_frf_iff_plant_coh}Obtained coherence for the IFF plant}
\end{figure} \end{figure}
In this section, the dynamics from \(u\) to \(V_s\) is identified.
Then the FRF are estimated and shown in Figure \ref{fig:strut_1_frf_iff_plant_tf} Then the FRF are estimated and shown in Figure \ref{fig:strut_1_frf_iff_plant_tf}
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
@ -347,68 +346,40 @@ Then the FRF are estimated and shown in Figure \ref{fig:strut_1_frf_iff_plant_tf
\subsection{With Encoder} \subsection{With Encoder}
\label{sec:meas_strut_1_encoder} \label{sec:meas_strut_1_encoder}
Now the encoder is fixed to the strut and the identification is performed. Now the encoder is fixed to the strut and the identification is performed.
\paragraph{Measurement Data}
The measurements are loaded.
\paragraph{FRF Identification - Interferometer}
In this section, the dynamics from \(V_a\) to \(d_a\) is identified.
First, the coherence is computed and shown in Figure \ref{fig:strut_1_int_with_enc_frf_dvf_plant_coh}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/strut_1_int_with_enc_frf_dvf_plant_coh.png}
\caption{\label{fig:strut_1_int_with_enc_frf_dvf_plant_coh}Obtained coherence for the plant from \(V_a\) to \(d_a\)}
\end{figure}
Then the FRF are computed and shown in Figure \ref{fig:strut_1_int_with_enc_frf_dvf_plant_tf}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/strut_1_int_with_enc_frf_dvf_plant_tf.png}
\caption{\label{fig:strut_1_int_with_enc_frf_dvf_plant_tf}Estimated FRF for the DVF plant (transfer function from \(V_a\) to the encoder \(d_e\))}
\end{figure}
The dynamics from \(u\) to \(d_a\) is identified.
The obtained FRF is very close to the one that was obtained when no encoder was fixed to the struts as shown in Figure \ref{fig:strut_leg_compare_int_frf}. The obtained FRF is very close to the one that was obtained when no encoder was fixed to the struts as shown in Figure \ref{fig:strut_leg_compare_int_frf}.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/strut_leg_compare_int_frf.png} \includegraphics[scale=1]{figs/strut_leg_compare_int_frf.png}
\caption{\label{fig:strut_leg_compare_int_frf}Comparison of the measured FRF from \(V_a\) to \(d_a\) with and without the encoders fixed to the struts} \caption{\label{fig:strut_leg_compare_int_frf}Comparison of the measured FRF from \(u\) to \(d_a\) with and without the encoders fixed to the struts}
\end{figure}
\paragraph{FRF Identification - Encoder}
In this section, the dynamics from \(V_a\) to \(d_e\) (encoder) is identified.
The coherence is computed and shown in Figure \ref{fig:strut_1_enc_frf_dvf_plant_coh}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/strut_1_enc_frf_dvf_plant_coh.png}
\caption{\label{fig:strut_1_enc_frf_dvf_plant_coh}Obtained coherence for the plant from \(V_a\) to \(d_e\) and from \(V_a\) to \(d_a\)}
\end{figure} \end{figure}
The FRF from \(V_a\) to the encoder measured displacement \(d_e\) is computed and shown in Figure \ref{fig:strut_1_enc_frf_dvf_plant_tf}. The FRF from \(u\) to the encoder measured displacement \(d_e\) is computed and shown in Figure \ref{fig:strut_1_enc_frf_dvf_plant_tf}.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/strut_1_enc_frf_dvf_plant_tf.png} \includegraphics[scale=1]{figs/strut_1_enc_frf_dvf_plant_tf.png}
\caption{\label{fig:strut_1_enc_frf_dvf_plant_tf}Estimated FRF for the DVF plant (transfer function from \(V_a\) to the encoder \(d_e\))} \caption{\label{fig:strut_1_enc_frf_dvf_plant_tf}Estimated FRF for the DVF plant (transfer function from \(u\) to the encoder \(d_e\))}
\end{figure} \end{figure}
The transfer functions from \(V_a\) to \(d_e\) (encoder) and to \(d_a\) (interferometer) are compared in Figure \ref{fig:strut_1_comp_enc_int}. The transfer functions from \(u\) to \(d_e\) (encoder) and to \(d_a\) (interferometer) are compared in Figure \ref{fig:strut_1_comp_enc_int}.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/strut_1_comp_enc_int.png} \includegraphics[scale=1]{figs/strut_1_comp_enc_int.png}
\caption{\label{fig:strut_1_comp_enc_int}Comparison of the transfer functions from excitation voltage \(V_a\) to either the encoder \(d_e\) or the interferometer \(d_a\)} \caption{\label{fig:strut_1_comp_enc_int}Comparison of the transfer functions from excitation voltage \(u\) to either the encoder \(d_e\) or the interferometer \(d_a\)}
\end{figure} \end{figure}
\begin{important} \begin{important}
The dynamics from the excitation voltage \(V_a\) to the measured displacement by the encoder \(d_e\) presents much more complicated behavior than the transfer function to the displacement as measured by the Interferometer (compared in Figure \ref{fig:strut_1_comp_enc_int}). The dynamics from the excitation voltage \(u\) to the measured displacement by the encoder \(d_e\) presents much more complicated behavior than the transfer function to the displacement as measured by the Interferometer (compared in Figure \ref{fig:strut_1_comp_enc_int}).
It will be further investigated why the two dynamics as so different and what are causing all these resonances. It will be further investigated why the two dynamics as so different and what are causing all these resonances.
\end{important} \end{important}
\paragraph{APA Resonances Frequency}
As shown in Figure \ref{fig:strut_1_spurious_resonances}, we can clearly see three spurious resonances at 197Hz, 290Hz and 376Hz. As shown in Figure \ref{fig:strut_1_spurious_resonances}, we can clearly see three spurious resonances at 197Hz, 290Hz and 376Hz.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/strut_1_spurious_resonances.png} \includegraphics[scale=1]{figs/strut_1_spurious_resonances.png}
\caption{\label{fig:strut_1_spurious_resonances}Magnitude of the transfer function from excitation voltage \(V_a\) to encoder measurement \(d_e\). The frequency of the resonances are noted.} \caption{\label{fig:strut_1_spurious_resonances}Magnitude of the transfer function from excitation voltage \(u\) to encoder measurement \(d_e\). The frequency of the resonances are noted.}
\end{figure} \end{figure}
@ -424,27 +395,9 @@ They are very close to what was estimated using a finite element model of the st
\begin{important} \begin{important}
The resonances seen by the encoder in Figure \ref{fig:strut_1_spurious_resonances} are indeed corresponding to the modes of the strut as shown in Figure \ref{fig:test_struts_mode_shapes}. The resonances seen by the encoder in Figure \ref{fig:strut_1_spurious_resonances} are indeed corresponding to the modes of the strut as shown in Figure \ref{fig:test_struts_mode_shapes}.
\end{important} \end{important}
\paragraph{FRF Identification - Force Sensor}
In this section, the dynamics from \(V_a\) to \(V_s\) is identified.
First the coherence is computed and shown in Figure \ref{fig:strut_1_frf_iff_with_enc_plant_coh}. Let's now compare the IFF plants (dynamics from \(u\) to \(V_s\)) whether the encoders are fixed to the APA or not (Figure \ref{fig:strut_1_frf_iff_comp_enc}).
The coherence is very nice from 10Hz to 2kHz.
It is only dropping near a zeros at 40Hz, and near the resonance at 95Hz (the excitation amplitude being lowered).
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/strut_1_frf_iff_with_enc_plant_coh.png}
\caption{\label{fig:strut_1_frf_iff_with_enc_plant_coh}Obtained coherence for the IFF plant}
\end{figure}
Then the FRF are estimated and shown in Figure \ref{fig:strut_1_enc_frf_iff_plant_tf}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/strut_1_enc_frf_iff_plant_tf.png}
\caption{\label{fig:strut_1_enc_frf_iff_plant_tf}Identified IFF Plant}
\end{figure}
Let's now compare the IFF plants whether the encoders are fixed to the APA or not (Figure \ref{fig:strut_1_frf_iff_comp_enc}).
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/strut_1_frf_iff_effect_enc.png} \includegraphics[scale=1]{figs/strut_1_frf_iff_effect_enc.png}
@ -452,18 +405,15 @@ Let's now compare the IFF plants whether the encoders are fixed to the APA or no
\end{figure} \end{figure}
\begin{important} \begin{important}
The transfer function from the excitation voltage \(V_a\) to the generated voltage \(V_s\) by the sensor stack is not influence by the fixation of the encoder. The transfer function from the excitation voltage \(u\) to the generated voltage \(V_s\) by the sensor stack is not influence by the fixation of the encoder.
This means that the IFF control strategy should be as effective whether or not the encoders are fixed to the struts. This means that the IFF control strategy should be as effective whether or not the encoders are fixed to the struts.
\end{important} \end{important}
\paragraph{Non-Minimum phase zero?}
In order to determine if the complex conjugate zero of Figure \ref{fig:strut_1_enc_frf_iff_plant_tf} is minimum phase or non-minimum phase, longer measurements are performed. In order to determine if the complex conjugate zero of Figure \ref{fig:strut_1_enc_frf_iff_plant_tf} is minimum phase or non-minimum phase, longer measurements are performed.
Remove time delay
\section{Comparison of all the Struts} \section{Comparison of all the Struts}
\label{ssec:test_struts_meas_all_struts} \label{ssec:test_struts_meas_all_struts}
Now all struts are measured using the same procedure and test bench as in Section \ref{sec:meas_strut_1}. Now all struts are measured using the same procedure and test bench as in Section \ref{sec:meas_strut_1}.
\subsection{FRF Identification - Setup} \subsection{FRF Identification}
The identification of the struts dynamics is performed in two steps: The identification of the struts dynamics is performed in two steps:
\begin{enumerate} \begin{enumerate}
\item The excitation signal is a white noise with small amplitude. \item The excitation signal is a white noise with small amplitude.
@ -474,27 +424,13 @@ This is used to estimate the low frequency dynamics.
Then, the result of the first identification is used between 10Hz and 350Hz and the result of the second identification if used between 350Hz and 2kHz. Then, the result of the first identification is used between 10Hz and 350Hz and the result of the second identification if used between 350Hz and 2kHz.
Here are the leg numbers that have been measured. Here are the leg numbers that have been measured.
The data are loaded for both the first and second identification: The transfer function from the DAC output voltage \(u\) to the measured displacement by the encoder \(d_e\) is computed.
The time is the same for all measurements.
Then we defined a ``Hanning'' windows that will be used for the spectral analysis:
We get the frequency vector that will be the same for all the frequency domain analysis.
\subsection{FRF Identification - Encoder}
In this section, the dynamics from \(V_a\) to \(d_e\) (encoder) is identified.
The coherence is computed and shown in Figure \ref{fig:struts_frf_dvf_plant_coh} for all the measured struts.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/struts_frf_dvf_plant_coh.png}
\caption{\label{fig:struts_frf_dvf_plant_coh}Obtained coherence for the plant from \(V_a\) to \(d_e\)}
\end{figure}
Then, the transfer function from the DAC output voltage \(V_a\) to the measured displacement by the encoder \(d_e\) is computed:
The obtained transfer functions are shown in Figure \ref{fig:struts_frf_dvf_plant_tf}. The obtained transfer functions are shown in Figure \ref{fig:struts_frf_dvf_plant_tf}.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/struts_frf_dvf_plant_tf.png} \includegraphics[scale=1]{figs/struts_frf_dvf_plant_tf.png}
\caption{\label{fig:struts_frf_dvf_plant_tf}Estimated FRF for the DVF plant (transfer function from \(V_a\) to the encoder \(d_e\))} \caption{\label{fig:struts_frf_dvf_plant_tf}Estimated FRF for the DVF plant (transfer function from \(u\) to the encoder \(d_e\))}
\end{figure} \end{figure}
\begin{important} \begin{important}
@ -504,33 +440,17 @@ Moreover, the location or even the presence of complex conjugate zeros is changi
All of this will be explained in Section \ref{sec:simscape_bench_struts} thanks to the Simscape model. All of this will be explained in Section \ref{sec:simscape_bench_struts} thanks to the Simscape model.
\end{important} \end{important}
\subsection{FRF Identification - Interferometer}
In this section, the dynamics from \(V_a\) to \(d_a\) (interferometer) is identified.
The coherence is computed and shown in Figure \ref{fig:struts_frf_int_plant_coh}. Then, the transfer function from the DAC output voltage \(u\) to the measured displacement by the Attocube is computed for all the struts and shown in Figure \ref{fig:struts_frf_int_plant_tf}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/struts_frf_int_plant_coh.png}
\caption{\label{fig:struts_frf_int_plant_coh}Obtained coherence for the plant from \(V_a\) to \(d_e\)}
\end{figure}
Then, the transfer function from the DAC output voltage \(V_a\) to the measured displacement by the Attocube is computed for all the struts and shown in Figure \ref{fig:struts_frf_int_plant_tf}.
All the struts are giving very similar FRF. All the struts are giving very similar FRF.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/struts_frf_int_plant_tf.png} \includegraphics[scale=1]{figs/struts_frf_int_plant_tf.png}
\caption{\label{fig:struts_frf_int_plant_tf}Estimated FRF for the DVF plant (transfer function from \(V_a\) to the encoder \(d_e\))} \caption{\label{fig:struts_frf_int_plant_tf}Estimated FRF for the DVF plant (transfer function from \(u\) to the encoder \(d_e\))}
\end{figure}
\subsection{FRF Identification - Force Sensor}
In this section, the dynamics from \(V_a\) to \(V_s\) is identified.
First the coherence is computed and shown in Figure \ref{fig:struts_frf_iff_plant_coh}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/struts_frf_iff_plant_coh.png}
\caption{\label{fig:struts_frf_iff_plant_coh}Obtained coherence for the IFF plant}
\end{figure} \end{figure}
In this section, the dynamics from \(u\) to \(V_s\) is identified.
Then the FRF are estimated and shown in Figure \ref{fig:struts_frf_iff_plant_tf}. Then the FRF are estimated and shown in Figure \ref{fig:struts_frf_iff_plant_tf}.
They are also shown all to be very similar. They are also shown all to be very similar.
\begin{figure}[htbp] \begin{figure}[htbp]
@ -610,13 +530,17 @@ The misalignment of the APA and flexible joints is quite large and variable from
\subsection{Conclusion} \subsection{Conclusion}
\begin{important} \begin{important}
All the struts are giving very consistent behavior from the excitation voltage \(V_a\) to the force sensor generated voltage \(V_s\) and to the interferometer measured displacement \(d_a\). All the struts are giving very consistent behavior from the excitation voltage \(u\) to the force sensor generated voltage \(V_s\) and to the interferometer measured displacement \(d_a\).
However, the dynamics from \(V_a\) to the encoder measurement \(d_e\) is much more complex and variable from one strut to the other most likely due to poor alignment of the APA with respect to the flexible joints. However, the dynamics from \(u\) to the encoder measurement \(d_e\) is much more complex and variable from one strut to the other most likely due to poor alignment of the APA with respect to the flexible joints.
\end{important} \end{important}
The measured FRF are now saved for further use. The measured FRF are now saved for further use.
\section{Comparison of all the (re-aligned) Struts} \section{Comparison of all the (re-aligned) Struts}
\label{sec:test_struts_meas_all_aligned_struts} \label{sec:test_struts_meas_all_aligned_struts}
\begin{itemize}
\item[{$\square$}] Should this be included here?
\end{itemize}
The struts are re-aligned and measured using the same test bench. The struts are re-aligned and measured using the same test bench.
\subsection{Measured misalignment of the APA and flexible joints} \subsection{Measured misalignment of the APA and flexible joints}
The misalignment between the APA and the flexible joints are measured. The misalignment between the APA and the flexible joints are measured.
@ -687,48 +611,21 @@ The excitation signal is a low pass filtered white noise.
Both the encoder and the force sensor voltage are measured. Both the encoder and the force sensor voltage are measured.
Here are the leg numbers that have been measured. Here are the leg numbers that have been measured.
The time is the same for all measurements.
Then we defined a ``Hanning'' windows that will be used for the spectral analysis:
We get the frequency vector that will be the same for all the frequency domain analysis. We get the frequency vector that will be the same for all the frequency domain analysis.
\subsection{FRF Identification - Encoder} \subsection{FRF Identification - Encoder}
In this section, the dynamics from \(V_a\) to \(d_e\) (encoder) is identified. In this section, the dynamics from \(u\) to \(d_e\) (encoder) is identified.
The coherence is computed and shown in Figure \ref{fig:struts_align_frf_dvf_plant_coh} for all the measured struts. Then, the transfer function from the DAC output voltage \(u\) to the measured displacement by the encoder \(d_e\) is computed:
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/struts_align_frf_dvf_plant_coh.png}
\caption{\label{fig:struts_align_frf_dvf_plant_coh}Obtained coherence for the plant from \(V_a\) to \(d_e\)}
\end{figure}
Then, the transfer function from the DAC output voltage \(V_a\) to the measured displacement by the encoder \(d_e\) is computed:
The obtained transfer functions are shown in Figure \ref{fig:struts_align_frf_dvf_plant_tf}. The obtained transfer functions are shown in Figure \ref{fig:struts_align_frf_dvf_plant_tf}.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/struts_align_frf_dvf_plant_tf.png} \includegraphics[scale=1]{figs/struts_align_frf_dvf_plant_tf.png}
\caption{\label{fig:struts_align_frf_dvf_plant_tf}Estimated FRF for the DVF plant (transfer function from \(V_a\) to the encoder \(d_e\))} \caption{\label{fig:struts_align_frf_dvf_plant_tf}Estimated FRF for the DVF plant (transfer function from \(u\) to the encoder \(d_e\))}
\end{figure} \end{figure}
\begin{important} \begin{important}
Even though the struts are much better aligned, we still observe high variability between the struts for the transfer function from \(V_a\) to \(d_e\). Even though the struts are much better aligned, we still observe high variability between the struts for the transfer function from \(u\) to \(d_e\).
\end{important} \end{important}
\subsection{FRF Identification - Force Sensor}
In this section, the dynamics from \(V_a\) to \(V_s\) is identified.
First the coherence is computed and shown in Figure \ref{fig:struts_frf_iff_plant_coh}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/struts_align_frf_iff_plant_coh.png}
\caption{\label{fig:struts_align_frf_iff_plant_coh}Obtained coherence for the IFF plant}
\end{figure}
Then the FRF are estimated and shown in Figure \ref{fig:struts_frf_iff_plant_tf}.
They are also shown all to be very similar.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/struts_align_frf_iff_plant_tf.png}
\caption{\label{fig:struts_align_frf_iff_plant_tf}Identified IFF Plant}
\end{figure}
\subsection{Conclusion} \subsection{Conclusion}
\begin{important} \begin{important}
@ -742,7 +639,7 @@ However, now the full strut is put instead of only the APA (see Figure \ref{fig:
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1,width=\linewidth]{figs/test_struts_simscape_model.png} \includegraphics[scale=1,width=0.7\linewidth]{figs/test_struts_simscape_model.png}
\caption{\label{fig:test_struts_simscape_model}Screenshot of the Simscape model of the strut fixed to the bench} \caption{\label{fig:test_struts_simscape_model}Screenshot of the Simscape model of the strut fixed to the bench}
\end{figure} \end{figure}
@ -755,27 +652,25 @@ This Simscape model is used to:
This study is structured as follow: This study is structured as follow:
\begin{itemize} \begin{itemize}
\item Section \ref{sec:struts_comp_2dof}: the measured FRF are compared with the 2DoF APA model. \item Section \ref{ssec:test_struts_comp_model}: the measured FRF are compared with the Simscape model.
\item Section \ref{sec:struts_effect_misalignment}: the flexible APA model is used, and the effect of a misalignment of the APA and flexible joints is studied. \item Section \ref{ssec:test_struts_effect_misalignment}: the flexible APA model is used, and the effect of a misalignment of the APA and flexible joints is studied.
It is found that the misalignment has a large impact on the dynamics from \(V_a\) to \(d_e\). It is found that the misalignment has a large impact on the dynamics from \(u\) to \(d_e\).
\item Section \ref{sec:struts_effect_joint_stiffness}: the effect of the flexible joint's stiffness on the dynamics is studied. \item Section \ref{ssec:test_struts_effect_joint_stiffness}: the effect of the flexible joint's stiffness on the dynamics is studied.
It is found that the axial stiffness of the joints has a large impact on the location of the zeros on the transfer function from \(V_s\) to \(d_e\). It is found that the axial stiffness of the joints has a large impact on the location of the zeros on the transfer function from \(V_s\) to \(d_e\).
\end{itemize} \end{itemize}
\section{Comparison with the 2-DoF Model} \section{Comparison with the Model}
\label{sec:struts_comp_2dof} \label{ssec:test_struts_comp_model}
\subsection{First Identification} \subsection{2Dof model}
The strut is initialized with default parameters (optimized parameters identified from previous experiments). The strut is initialized with default parameters (optimized parameters identified from previous experiments).
The inputs and outputs of the model are defined.
The dynamics is identified and shown in Figure \ref{fig:strut_bench_model_bode}. The dynamics is identified and shown in Figure \ref{fig:strut_bench_model_bode}.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/strut_bench_model_bode.png} \includegraphics[scale=1]{figs/strut_bench_model_bode.png}
\caption{\label{fig:strut_bench_model_bode}Identified transfer function from \(V_a\) to \(V_s\) and from \(V_a\) to \(d_e,d_a\) using the simple 2DoF model for the APA} \caption{\label{fig:strut_bench_model_bode}Identified transfer function from \(u\) to \(V_s\) and from \(u\) to \(d_e,d_a\) using the simple 2DoF model for the APA}
\end{figure} \end{figure}
\subsection{Comparison with the experimental Data}
The experimentally measured FRF are loaded. The experimentally measured FRF are loaded.
The FRF from \(V_a\) to \(d_a\) as well as from \(V_a\) to \(V_s\) are shown in Figure \ref{fig:comp_strut_plant_after_opt} and compared with the model. The FRF from \(u\) to \(d_a\) as well as from \(u\) to \(V_s\) are shown in Figure \ref{fig:comp_strut_plant_after_opt} and compared with the model.
They are both found to match quite well with the model. They are both found to match quite well with the model.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
@ -783,7 +678,7 @@ They are both found to match quite well with the model.
\caption{\label{fig:comp_strut_plant_after_opt}Comparison of the measured FRF and the optimized model} \caption{\label{fig:comp_strut_plant_after_opt}Comparison of the measured FRF and the optimized model}
\end{figure} \end{figure}
The measured FRF from \(V_a\) to \(d_e\) (encoder) is compared with the model in Figure \ref{fig:comp_strut_plant_iff_after_opt}. The measured FRF from \(u\) to \(d_e\) (encoder) is compared with the model in Figure \ref{fig:comp_strut_plant_iff_after_opt}.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/comp_strut_plant_iff_after_opt.png} \includegraphics[scale=1]{figs/comp_strut_plant_iff_after_opt.png}
@ -796,16 +691,15 @@ But it is not effective in modeling the transfer function from actuator to encod
This is due to the fact that resonances greatly affecting the encoder reading are not modelled. This is due to the fact that resonances greatly affecting the encoder reading are not modelled.
In the next section, flexible model of the APA will be used to model such resonances. In the next section, flexible model of the APA will be used to model such resonances.
\end{important} \end{important}
\section{Comparison with the Flexible Model} \subsection{Comparison with the Flexible Model}
\label{sec:struts_comp_flexible}
\subsection{First Identification}
The strut is initialized with default parameters (optimized parameters identified from previous experiments). The strut is initialized with default parameters (optimized parameters identified from previous experiments).
The inputs and outputs of the model are defined.
The dynamics is identified and shown in Figure \ref{fig:strut_bench_model_bode}. The dynamics is identified and shown in Figure \ref{fig:strut_bench_model_bode}.
\subsection{Comparison with the experimental Data} \begin{itemize}
The experimentally measured FRF are loaded. \item[{$\square$}] Add encoder plot
The FRF from \(V_a\) to \(d_a\) as well as from \(V_a\) to \(V_s\) are shown in Figure \ref{fig:comp_strut_plant_after_opt} and compared with the model. \end{itemize}
The FRF from \(u\) to \(d_a\) as well as from \(u\) to \(V_s\) are shown in Figure \ref{fig:comp_strut_plant_after_opt} and compared with the model.
They are both found to match quite well with the model. They are both found to match quite well with the model.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
@ -813,27 +707,25 @@ They are both found to match quite well with the model.
\label{fig:strut_meas_frf_model_int_force} \label{fig:strut_meas_frf_model_int_force}
\end{figure} \end{figure}
\section{Effect of a misalignment of the APA and flexible joints on the transfer function from actuator to encoder} \section{Effect of a misalignment of the APA and flexible joints on the transfer function from actuator to encoder}
\label{sec:struts_effect_misalignment} \label{ssec:test_struts_effect_misalignment}
As shown in Figure \ref{fig:struts_frf_dvf_plant_tf}, the dynamics from actuator to encoder for all the struts is very different. As shown in Figure \ref{fig:struts_frf_dvf_plant_tf}, the dynamics from actuator to encoder for all the struts is very different.
This could be explained by a large variability in the alignment of the flexible joints and the APA (at the time, the alignment pins were not used). This could be explained by a large variability in the alignment of the flexible joints and the APA (at the time, the alignment pins were not used).
Depending on the alignment, the spurious resonances of the struts (Figure \ref{fig:test_struts_mode_shapes}) can be excited differently. Depending on the alignment, the spurious resonances of the struts (Figure \ref{fig:test_struts_mode_shapes}) can be excited differently.
For instance, consider Figure \ref{fig:strut_misalign_schematic} where there is a misalignment in the \(y\) direction. For instance, consider Figure \ref{fig:test_struts_misalign_schematic} where there is a misalignment in the \(y\) direction.
In such case, the mode at 200Hz is foreseen to be more excited as the misalignment \(d_y\) increases and therefore the dynamics from the actuator to the encoder should also change around 200Hz. In such case, the mode at 200Hz is foreseen to be more excited as the misalignment \(d_y\) increases and therefore the dynamics from the actuator to the encoder should also change around 200Hz.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1,width=0.8\linewidth]{figs/strut_misalign_schematic.png} \includegraphics[scale=1,width=0.8\linewidth]{figs/test_struts_misalign_schematic.png}
\caption{\label{fig:strut_misalign_schematic}Mis-alignement between the joints and the APA} \caption{\label{fig:test_struts_misalign_schematic}Mis-alignement between the joints and the APA}
\end{figure} \end{figure}
If the misalignment is in the \(x\) direction, the mode at 285Hz should be more affected whereas a misalignment in the \(z\) direction should not affect these resonances. If the misalignment is in the \(x\) direction, the mode at 285Hz should be more affected whereas a misalignment in the \(z\) direction should not affect these resonances.
Such statement is studied in this section. Such statement is studied in this section.
But first, the measured FRF of the struts are loaded.
\subsection{Perfectly aligned APA} \subsection{Perfectly aligned APA}
Let's first consider that the strut is perfectly mounted such that the two flexible joints and the APA are aligned. Let's first consider that the strut is perfectly mounted such that the two flexible joints and the APA are aligned.
And define the inputs and outputs of the models: And define the inputs and outputs of the models:
@ -841,6 +733,7 @@ And define the inputs and outputs of the models:
\item Input: voltage generated by the DAC \item Input: voltage generated by the DAC
\item Output: measured displacement by the encoder \item Output: measured displacement by the encoder
\end{itemize} \end{itemize}
The transfer function is identified and shown in Figure \ref{fig:comp_enc_frf_align_perfect}. The transfer function is identified and shown in Figure \ref{fig:comp_enc_frf_align_perfect}.
From Figure \ref{fig:comp_enc_frf_align_perfect}, it is clear that: From Figure \ref{fig:comp_enc_frf_align_perfect}, it is clear that:
\begin{enumerate} \begin{enumerate}
@ -871,7 +764,6 @@ The obtained dynamics are shown in Figure \ref{fig:effect_misalignment_y}.
\caption{\label{fig:effect_misalignment_y}Effect of a misalignement in the \(y\) direction} \caption{\label{fig:effect_misalignment_y}Effect of a misalignement in the \(y\) direction}
\end{figure} \end{figure}
\begin{important} \begin{important}
The alignment of the APA with the flexible joints as a \textbf{huge} influence on the dynamics from actuator voltage to measured displacement by the encoder. The alignment of the APA with the flexible joints as a \textbf{huge} influence on the dynamics from actuator voltage to measured displacement by the encoder.
The misalignment in the \(y\) direction mostly influences: The misalignment in the \(y\) direction mostly influences:
@ -897,6 +789,7 @@ The obtained dynamics are shown in Figure \ref{fig:effect_misalignment_x}.
\begin{important} \begin{important}
The misalignment in the \(x\) direction mostly influences the presence of the flexible mode at 300Hz. The misalignment in the \(x\) direction mostly influences the presence of the flexible mode at 300Hz.
\end{important} \end{important}
\subsection{Comparison with identified misalignment}
\subsection{Find the misalignment of each strut} \subsection{Find the misalignment of each strut}
From the previous analysis on the effect of a \(x\) and \(y\) misalignment, it is possible to estimate the \(x,y\) misalignment of the measured struts. From the previous analysis on the effect of a \(x\) and \(y\) misalignment, it is possible to estimate the \(x,y\) misalignment of the measured struts.
@ -918,7 +811,7 @@ In the future, a ``pin'' will be used to better align the APA with the flexible
We can expect the amplitude of the spurious resonances to decrease. We can expect the amplitude of the spurious resonances to decrease.
\end{important} \end{important}
\section{Effect of flexible joint's characteristics} \section{Effect of flexible joint's characteristics}
\label{sec:struts_effect_joint_stiffness} \label{ssec:test_struts_effect_joint_stiffness}
As the struts are composed of one APA and two flexible joints, it is obvious that the flexible joint characteristics will change the dynamic behavior of the struts. As the struts are composed of one APA and two flexible joints, it is obvious that the flexible joint characteristics will change the dynamic behavior of the struts.
Using the Simscape model, the effect of the flexible joint's characteristics on the dynamics as measured on the test bench are studied: Using the Simscape model, the effect of the flexible joint's characteristics on the dynamics as measured on the test bench are studied:
@ -928,7 +821,7 @@ Using the Simscape model, the effect of the flexible joint's characteristics on
\item Section \ref{sec:struts_effect_bending_damping_joints}: the effects of a change of bending damping is studied \item Section \ref{sec:struts_effect_bending_damping_joints}: the effects of a change of bending damping is studied
\end{itemize} \end{itemize}
The studied dynamics is between \(V_a\) and the encoder displacement \(d_e\). The studied dynamics is between \(u\) and the encoder displacement \(d_e\).
\subsection{Effect of bending stiffness of the flexible joints} \subsection{Effect of bending stiffness of the flexible joints}
\label{sec:struts_effect_bending_stiff_joints} \label{sec:struts_effect_bending_stiff_joints}
@ -943,7 +836,7 @@ The obtained dynamics from DAC voltage to encoder measurements are compared in F
\end{figure} \end{figure}
\begin{important} \begin{important}
The bending stiffness of the joints has little impact on the transfer function from \(V_a\) to \(d_e\). The bending stiffness of the joints has little impact on the transfer function from \(u\) to \(d_e\).
\end{important} \end{important}
\subsection{Effect of axial stiffness of the flexible joints} \subsection{Effect of axial stiffness of the flexible joints}
\label{sec:struts_effect_axial_stiff_joints} \label{sec:struts_effect_axial_stiff_joints}
@ -977,18 +870,6 @@ The results are shown in Figure \ref{fig:effect_enc_bending_damp}.
\includegraphics[scale=1]{figs/effect_enc_bending_damp.png} \includegraphics[scale=1]{figs/effect_enc_bending_damp.png}
\caption{\label{fig:effect_enc_bending_damp}Dynamics from DAC output to encoder for several bending damping} \caption{\label{fig:effect_enc_bending_damp}Dynamics from DAC output to encoder for several bending damping}
\end{figure} \end{figure}
\begin{important}
Adding damping in bending for the flexible joints could be a nice way to reduce the effects of the spurious resonances of the struts.
\end{important}
\begin{question}
How to effectively add damping to the flexible joints?
One idea would be to introduce a sheet of damping material inside the flexible joint.
Not sure is would be effect though.
\end{question}
\section{Comparison with identified misalignment}
\chapter{Conclusion} \chapter{Conclusion}
\label{sec:test_struts_conclusion} \label{sec:test_struts_conclusion}
\printbibliography[heading=bibintoc,title={Bibliography}] \printbibliography[heading=bibintoc,title={Bibliography}]