Start to rework/rearange the report
2
.gitignore
vendored
@ -1,5 +1,3 @@
|
|||||||
mat/
|
|
||||||
figures/
|
|
||||||
ltximg/
|
ltximg/
|
||||||
slprj/
|
slprj/
|
||||||
matlab/slprj/
|
matlab/slprj/
|
||||||
|
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 332 KiB |
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 59 KiB |
BIN
figs/test_joints_iso.pdf
Normal file
BIN
figs/test_joints_iso.png
Normal file
After Width: | Height: | Size: 180 KiB |
BIN
figs/test_joints_iso.svg
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
figs/test_joints_profilometer_image.jpg
Normal file
After Width: | Height: | Size: 703 KiB |
BIN
figs/test_joints_profilometer_setup.jpg
Normal file
After Width: | Height: | Size: 926 KiB |
BIN
figs/test_joints_profilometer_setup.pdf
Normal file
BIN
figs/test_joints_profilometer_setup.png
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
figs/test_joints_profilometer_setup.svg
Normal file
After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 1.5 MiB |
BIN
figs/test_joints_xz_plane.pdf
Normal file
BIN
figs/test_joints_xz_plane.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
figs/test_joints_xz_plane.svg
Normal file
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 2.8 MiB |
Before Width: | Height: | Size: 630 KiB |
BIN
figs/test_joints_yz_plane.pdf
Normal file
BIN
figs/test_joints_yz_plane.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
figs/test_joints_yz_plane.svg
Normal file
After Width: | Height: | Size: 22 KiB |
@ -114,8 +114,8 @@ Compilation of the following reports:
|
|||||||
- [ ] Also check start of this report: [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/nano_hexapod.org][nano_hexapod]]
|
- [ ] Also check start of this report: [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/nano_hexapod.org][nano_hexapod]]
|
||||||
Model of the flexible joints
|
Model of the flexible joints
|
||||||
Maybe add a section for the model of the flexible joints (of maybe this was done in the "detailed design" section?)
|
Maybe add a section for the model of the flexible joints (of maybe this was done in the "detailed design" section?)
|
||||||
- [ ] Maybe say that some flexible joints where not machined properly (show picture with deformed machining and one with "chips" stuck inside)
|
- [X] Maybe say that some flexible joints where not machined properly (show picture with deformed machining and one with "chips" stuck inside)
|
||||||
- [ ] Explain why the encoder is here: in line with the measurement, no "abbe errors"
|
- [X] Explain why the encoder is here: in line with the measurement, no "abbe errors"
|
||||||
|
|
||||||
Goal:
|
Goal:
|
||||||
- Characterization of flexible joints:
|
- Characterization of flexible joints:
|
||||||
@ -128,17 +128,22 @@ Goal:
|
|||||||
- Section 6 is most important: measurement results
|
- Section 6 is most important: measurement results
|
||||||
- Conclusion
|
- Conclusion
|
||||||
|
|
||||||
|
** TODO [#B] Add symbols for the different characteristics
|
||||||
|
|
||||||
|
- Axial Stiffness: $k_z$
|
||||||
|
- Shear Stiffness: $k_x$, $k_y$
|
||||||
|
- Bending Stiffness: $k_{R_x}$, $k_{R_y}$
|
||||||
|
- Torsion Stiffness: $k_{R_z}$
|
||||||
|
- Bending Stroke: $\theta_{R_x\text{max}}$, $\theta_{R_y\text{max}}$
|
||||||
|
- Torsion Stroke: $\theta_{R_z\text{max}}$
|
||||||
|
|
||||||
* Introduction :ignore:
|
* Introduction :ignore:
|
||||||
|
|
||||||
Ideally, these flexible joints would behave as perfect ball joints, that is to say:
|
At both ends of the nano-hexapod struts, a flexible spherical joint is used.
|
||||||
- no bending and torsional stiffnesses
|
Ideally, these flexible joints would behave as perfect spherical joints, that is to say no bending and torsional stiffnesses, infinite shear and axial stiffnesses, unlimited bending and torsional stroke, no friction and no backlash.
|
||||||
- infinite shear and axial stiffnesses
|
|
||||||
- un-limited bending and torsional stroke
|
|
||||||
- no friction, no backlash
|
|
||||||
|
|
||||||
The real characteristics of the flexible joints will influence the dynamics of the Nano-Hexapod.
|
Deviations from this ideal properties will impact the dynamics of the Nano-Hexapod and could limit the attainable performances.
|
||||||
Using a multi-body dynamical model of the nano-hexapod, the specifications in term of stiffness and stroke of the flexible joints have been determined and summarized in Table ref:tab:test_joints_specs.
|
During the detailed design phase, specifications in term of stiffness and stroke have been determined and are summarized in Table ref:tab:test_joints_specs.
|
||||||
|
|
||||||
#+name: tab:test_joints_specs
|
#+name: tab:test_joints_specs
|
||||||
#+caption: Specifications for the flexible joints and estimated characteristics from the Finite Element Model
|
#+caption: Specifications for the flexible joints and estimated characteristics from the Finite Element Model
|
||||||
@ -153,76 +158,97 @@ Using a multi-body dynamical model of the nano-hexapod, the specifications in te
|
|||||||
| Bending Stroke | $> 1\,\text{mrad}$ | 24.5 |
|
| Bending Stroke | $> 1\,\text{mrad}$ | 24.5 |
|
||||||
| Torsion Stroke | $> 5\,\mu\text{rad}$ | |
|
| Torsion Stroke | $> 5\,\mu\text{rad}$ | |
|
||||||
|
|
||||||
Then, the classical geometry of a flexible ball joint shown in Figure ref:fig:test_joints_fem_geometry has been optimized in order to meet the requirements.
|
After optimization using a finite element model, the geometry shown in Figure ref:fig:test_joints_schematic has been obtained and the corresponding flexible joints characteristics are summarized in Table ref:tab:test_joints_specs.
|
||||||
This has been done using a Finite Element Software and the obtained joint's characteristics are summarized in Table ref:tab:test_joints_specs.
|
This flexible joint is a monolithic piece of stainless steel[fn:1] manufactured using wire electrical discharge machining.
|
||||||
|
It serves several functions as shown in Figure ref:fig:test_joints_iso, such as:
|
||||||
|
- Rigid interfacing with the nano-hexapod plates (yellow surfaces)
|
||||||
|
- Rigid interfacing with the amplified piezoelectric actuator (blue surface)
|
||||||
|
- Allow two rotations between the "yellow" and the "blue" interfaces.
|
||||||
|
The rotation axes are represented by the dashed lines which are intersecting
|
||||||
|
|
||||||
#+name: fig:test_joints_fem_geometry
|
#+name: fig:test_joints_schematic
|
||||||
#+caption: Flexible part of the Joint used for FEM - CAD view
|
#+caption: Geometry of the optimized flexible joints
|
||||||
#+attr_latex: :width 0.5\linewidth
|
#+attr_latex: :options [htbp]
|
||||||
[[file:figs/test_joints_fem_geometry.png]]
|
#+begin_figure
|
||||||
|
#+attr_latex: :caption \subcaption{\label{fig:test_joints_iso}ISO view}
|
||||||
|
#+attr_latex: :options {0.39\textwidth}
|
||||||
|
#+begin_subfigure
|
||||||
|
#+attr_latex: :scale 1
|
||||||
|
[[file:figs/test_joints_iso.png]]
|
||||||
|
#+end_subfigure
|
||||||
|
#+attr_latex: :caption \subcaption{\label{fig:test_joints_yz_plane}YZ plane}
|
||||||
|
#+attr_latex: :options {0.3\textwidth}
|
||||||
|
#+begin_subfigure
|
||||||
|
#+attr_latex: :scale 1
|
||||||
|
[[file:figs/test_joints_yz_plane.png]]
|
||||||
|
#+end_subfigure
|
||||||
|
#+attr_latex: :caption \subcaption{\label{fig:test_joints_xz_plane}XZ plane}
|
||||||
|
#+attr_latex: :options {0.3\textwidth}
|
||||||
|
#+begin_subfigure
|
||||||
|
#+attr_latex: :scale 1
|
||||||
|
[[file:figs/test_joints_xz_plane.png]]
|
||||||
|
#+end_subfigure
|
||||||
|
#+end_figure
|
||||||
|
|
||||||
The obtained geometry are defined in the [[file:doc/flex_joints.pdf][drawings of the flexible joints]].
|
16 flexible joints have been ordered (shown in Figure ref:fig:test_joints_received) such some selection can be made for the 12 that will be used on the nano-hexapod.
|
||||||
The material is a special kind of stainless steel called "F16PH".
|
|
||||||
|
|
||||||
The flexible joints can be seen on Figure ref:fig:test_joints_received.
|
|
||||||
|
|
||||||
#+name: fig:test_joints_received
|
#+name: fig:test_joints_received
|
||||||
#+caption: 15 of the 16 flexible joints
|
#+caption: 15 of the 16 flexible joints
|
||||||
#+attr_latex: :width \linewidth
|
#+attr_latex: :width 0.8\linewidth
|
||||||
[[file:figs/test_joints_received.jpg]]
|
[[file:figs/test_joints_received.jpg]]
|
||||||
|
|
||||||
In this document, we present a test-bench that has been developed in order to measure the bending stiffness of flexible joints.
|
In this document, the received flexible joints are characterize to make sure they are fulfilling the requirements and such that they can well be modelled.
|
||||||
|
|
||||||
It is structured as follow:
|
|
||||||
- Section ref:sec:test_joints_flex_dim_meas: each flexible joint is measured using a profile projector
|
|
||||||
- Section ref:sec:test_joints_test_bench_desc: the stiffness measurement bench is presented
|
|
||||||
- Section ref:sec:test_joints_error_budget: an error budget is performed in order to estimate the accuracy of the measured stiffness
|
|
||||||
- Section ref:sec:test_joints_first_measurements: first measurements are performed
|
|
||||||
- Section ref:sec:test_joints_bending_stiffness_meas: the bending stiffness of the flexible joints are measured
|
|
||||||
|
|
||||||
|
First, the flexible joints are visually inspected, and the minimum gaps (responsible for most of the joint compliance) are measured (Section ref:sec:test_joints_flex_dim_meas).
|
||||||
|
Then, a test bench is developed to measure the bending stiffness of the flexible joints.
|
||||||
|
The development of this test bench is presented in Section ref:sec:test_joints_test_bench_desc, including a noise budget and some requirements in terms of instrumentation.
|
||||||
|
Finally, the test bench is manufacturer and used to measure the bending stiffnesses of all the flexible joints.
|
||||||
|
Results are shown in Section ref:sec:test_joints_bending_stiffness_meas
|
||||||
|
|
||||||
#+name: tab:test_joints_section_matlab_code
|
#+name: tab:test_joints_section_matlab_code
|
||||||
#+caption: Report sections and corresponding Matlab files
|
#+caption: Report sections and corresponding Matlab files
|
||||||
#+attr_latex: :environment tabularx :width 0.6\linewidth :align lX
|
#+attr_latex: :environment tabularx :width 0.6\linewidth :align lX
|
||||||
#+attr_latex: :center t :booktabs t
|
#+attr_latex: :center t :booktabs t
|
||||||
| *Sections* | *Matlab File* |
|
| *Sections* | *Matlab File* |
|
||||||
|-----------------------------+--------------------|
|
|----------------------------------------------------+--------------------------------------|
|
||||||
| Section ref:sec:test_joints | =test_joints_1_.m= |
|
| Section ref:sec:test_joints_flex_dim_meas | =test_joints_1_dim_meas.m= |
|
||||||
| | |
|
| Section ref:sec:test_joints_test_bench_desc | =test_joints_2_bench_dimensioning.m= |
|
||||||
| | |
|
| Section ref:sec:test_joints_bending_stiffness_meas | =test_joints_3_bending_stiff_meas.m= |
|
||||||
|
|
||||||
|
* Flexible Joints Model :noexport:
|
||||||
|
<<sec:test_joints_conf_flexible_joint>>
|
||||||
|
|
||||||
|
The model of the flexible joint is composed of 3 solid bodies as shown in Figure [[fig:simscape_model_flexible_joint]] which are connected by joints representing the flexibility of the joint.
|
||||||
|
|
||||||
|
We can represent:
|
||||||
|
- the bending flexibility $k_{R_x}$, $k_{R_y}$
|
||||||
|
- the torsional flexibility $k_{R_z}$
|
||||||
|
- the axial flexibility $k_z$
|
||||||
|
|
||||||
|
The configurations and the represented flexibilities are summarized in Table [[tab:flex_type_conf]].
|
||||||
|
|
||||||
|
#+name: tab:flex_type_conf
|
||||||
|
#+caption: Flexible joint's configuration and associated represented flexibility
|
||||||
|
#+attr_latex: :environment tabularx :width 0.6\linewidth :align lXXX
|
||||||
|
#+attr_latex: :center t :booktabs t :float t
|
||||||
|
| =flex_type= | Bending | Torsional | Axial |
|
||||||
|
|-------------+---------+-----------+-------|
|
||||||
|
| =2dof= | x | | |
|
||||||
|
| =3dof= | x | x | |
|
||||||
|
| =4dof= | x | x | x |
|
||||||
|
|
||||||
|
Of course, adding more DoF for the flexible joint will induce an addition of many states for the nano-hexapod simscape model.
|
||||||
|
|
||||||
|
#+name: fig:simscape_model_flexible_joint
|
||||||
|
#+caption: 3D view of the Sismcape model for the Flexible joint (4DoF configuration)
|
||||||
|
#+attr_latex: :width 0.8\linewidth
|
||||||
|
[[file:figs/simscape_model_flexible_joint.png]]
|
||||||
|
|
||||||
* Dimensional Measurements
|
* Dimensional Measurements
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args:matlab+: :tangle matlab/test_joints_1_dim_meas.m
|
:header-args:matlab+: :tangle matlab/test_joints_1_dim_meas.m
|
||||||
:END:
|
:END:
|
||||||
<<sec:test_joints_flex_dim_meas>>
|
<<sec:test_joints_flex_dim_meas>>
|
||||||
** Measurement Bench
|
|
||||||
|
|
||||||
The axis corresponding to the flexible joints are defined in Figure ref:fig:test_joints_axis.
|
|
||||||
|
|
||||||
#+name: fig:test_joints_axis
|
|
||||||
#+caption: Define axis for the flexible joints
|
|
||||||
#+attr_latex: :width 0.3\linewidth
|
|
||||||
[[file:figs/test_joints_axis.png]]
|
|
||||||
|
|
||||||
The dimensions of the flexible part in the Y-Z plane will contribute to the X-bending stiffness.
|
|
||||||
Similarly, the dimensions of the flexible part in the X-Z plane will contribute to the Y-bending stiffness.
|
|
||||||
|
|
||||||
The setup to measure the dimension of the "X" flexible beam is shown in Figure ref:fig:test_joints_y_flex_meas_setup.
|
|
||||||
|
|
||||||
#+name: fig:test_joints_y_flex_meas_setup
|
|
||||||
#+caption: Setup to measure the dimension of the flexible beam corresponding to the X-bending stiffness
|
|
||||||
#+attr_latex: :width 1.0\linewidth
|
|
||||||
[[file:figs/test_joints_y_flex_meas_setup.png]]
|
|
||||||
|
|
||||||
What we typically observe is shown in Figure ref:fig:test_joints_soft_measure_size.
|
|
||||||
It is then possible to estimate to dimension of the flexible beam with an accuracy of $\approx 5\,\mu m$,
|
|
||||||
|
|
||||||
#+name: fig:test_joints_soft_measure_size
|
|
||||||
#+attr_latex: :width 1.0\linewidth
|
|
||||||
#+caption: Image used to measure the flexible joint's dimensions
|
|
||||||
[[file:figs/test_joints_soft_measure_size.jpg]]
|
|
||||||
|
|
||||||
** 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)
|
||||||
<<matlab-dir>>
|
<<matlab-dir>>
|
||||||
@ -244,17 +270,46 @@ It is then possible to estimate to dimension of the flexible beam with an accura
|
|||||||
<<m-init-other>>
|
<<m-init-other>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Measurement Bench
|
||||||
|
|
||||||
|
The dimensions of the flexible part in the Y-Z plane will contribute to the X-bending stiffness.
|
||||||
|
Similarly, the dimensions of the flexible part in the X-Z plane will contribute to the Y-bending stiffness.
|
||||||
|
|
||||||
|
The setup to measure the dimension of the "X" flexible beam is shown in Figure ref:fig:test_joints_profilometer_setup.
|
||||||
|
|
||||||
|
What we typically observe is shown in Figure ref:fig:test_joints_profilometer_image.
|
||||||
|
It is then possible to estimate to dimension of the flexible beam with an accuracy of $\approx 5\,\mu m$,
|
||||||
|
|
||||||
|
#+name: fig:test_joints_profilometer
|
||||||
|
#+caption: Setup to measure the dimension of the flexible beam corresponding to the X-bending stiffness. The flexible joint is fixed to the profilometer (\subref{fig:test_joints_profilometer_image}) and a image is obtained with which the gap can be estimated (\subref{fig:test_joints_profilometer_setup})
|
||||||
|
#+attr_latex: :options [htbp]
|
||||||
|
#+begin_figure
|
||||||
|
#+attr_latex: :caption \subcaption{\label{fig:test_joints_profilometer_image}Flexible joint fixed on the profilometer}
|
||||||
|
#+attr_latex: :options {0.49\textwidth}
|
||||||
|
#+begin_subfigure
|
||||||
|
#+attr_latex: :width 0.95\linewidth
|
||||||
|
[[file:figs/test_joints_profilometer_image.jpg]]
|
||||||
|
#+end_subfigure
|
||||||
|
#+attr_latex: :caption \subcaption{\label{fig:test_joints_profilometer_setup}Obtain image to estimate the gap}
|
||||||
|
#+attr_latex: :options {0.49\textwidth}
|
||||||
|
#+begin_subfigure
|
||||||
|
#+attr_latex: :width 0.95\linewidth
|
||||||
|
[[file:figs/test_joints_profilometer_setup.png]]
|
||||||
|
#+end_subfigure
|
||||||
|
#+end_figure
|
||||||
|
|
||||||
** Measurement Results
|
** Measurement Results
|
||||||
# - Strange shape: 5
|
The specified flexible beam thickness (gap) is $250\,\mu m$.
|
||||||
|
Four gaps are measured for each flexible joints (2 in the $x$ direction and 2 in the $y$ direction).
|
||||||
|
The "beam thickness" is then estimated to be the mean between the gaps measured on opposite sides.
|
||||||
|
|
||||||
The expected flexible beam thickness is $250\,\mu m$.
|
An histogram of the measured beam thicknesses is shown in Figure ref:fig:test_joints_size_hist.
|
||||||
However, it is more important that the thickness of all beams are close to each other.
|
The measured thickness is less thant the specified value of $250\,\mu m$, but this optical method may not be very accurate as the estimated gap can depend on the lighting of the part and of its proper alignment.
|
||||||
|
|
||||||
The dimension of the beams are been measured at each end to be able to estimate the mean of the beam thickness.
|
However, what is more important than the true value of the thickness is the consistency between all the flexible joints.
|
||||||
|
|
||||||
All the measured dimensions are summarized in Table ref:tab:test_joints_flex_dim.
|
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Measured gap for the 16 flexible joints
|
||||||
meas_flex = [[223, 226, 224, 214];
|
meas_flex = [[223, 226, 224, 214];
|
||||||
[229, 231, 237, 224];
|
[229, 231, 237, 224];
|
||||||
[234, 230, 239, 231];
|
[234, 230, 239, 231];
|
||||||
@ -273,40 +328,13 @@ meas_flex = [[223, 226, 224, 214];
|
|||||||
[213, 210, 230, 229]];
|
[213, 210, 230, 229]];
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
|
|
||||||
data2orgtable(meas_flex, {'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16'}, {'Y1', 'Y2', 'X1', 'X2'}, ' %.0f ');
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+name: tab:test_joints_flex_dim
|
|
||||||
#+caption: Measured Dimensions of the flexible beams in $\mu m$
|
|
||||||
#+attr_latex: :environment tabularx :width 0.4\linewidth :align Xcccc
|
|
||||||
#+attr_latex: :center t :booktabs t :float t
|
|
||||||
#+RESULTS:
|
|
||||||
| | Y1 | Y2 | X1 | X2 |
|
|
||||||
|----+-----+-----+-----+-----|
|
|
||||||
| 1 | 223 | 226 | 224 | 214 |
|
|
||||||
| 2 | 229 | 231 | 237 | 224 |
|
|
||||||
| 3 | 234 | 230 | 239 | 231 |
|
|
||||||
| 4 | 233 | 227 | 229 | 232 |
|
|
||||||
| 5 | 225 | 212 | 228 | 228 |
|
|
||||||
| 6 | 220 | 221 | 224 | 220 |
|
|
||||||
| 7 | 206 | 207 | 228 | 226 |
|
|
||||||
| 8 | 230 | 224 | 224 | 223 |
|
|
||||||
| 9 | 223 | 231 | 228 | 233 |
|
|
||||||
| 10 | 228 | 230 | 235 | 231 |
|
|
||||||
| 11 | 197 | 207 | 211 | 204 |
|
|
||||||
| 12 | 227 | 226 | 225 | 226 |
|
|
||||||
| 13 | 215 | 228 | 231 | 220 |
|
|
||||||
| 14 | 216 | 224 | 224 | 221 |
|
|
||||||
| 15 | 209 | 214 | 220 | 221 |
|
|
||||||
| 16 | 213 | 210 | 230 | 229 |
|
|
||||||
|
|
||||||
An histogram of these measured dimensions is shown in Figure ref:fig:test_joints_size_hist.
|
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Histogram of the measured gap
|
||||||
figure;
|
figure;
|
||||||
histogram([(meas_flex(:,1)+meas_flex(:,2))/2,(meas_flex(:,3)+meas_flex(:,4))/2], 7)
|
histogram([(meas_flex(:,1)+meas_flex(:,2))/2,(meas_flex(:,3)+meas_flex(:,4))/2], 7)
|
||||||
xlabel("Beam's Thickness [$\mu m$]");
|
xlabel("Measured beam thickness [$\mu m$]");
|
||||||
|
xticks([200, 205, 210, 215, 220, 225, 230, 235])
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src matlab :tangle no :exports results :results file replace
|
#+begin_src matlab :tangle no :exports results :results file replace
|
||||||
@ -330,8 +358,11 @@ save('./mat/flex_meas_dim.mat', 'meas_flex');
|
|||||||
|
|
||||||
** Bad flexible joints
|
** Bad flexible joints
|
||||||
|
|
||||||
|
Using this profilometer allowed to detect flexible joints with manufacturing defects such as non-symmetrical shape (see Figure ref:fig:test_joints_bad_shape) or flexible joints with machining chips stuck in the gap (see Figure ref:fig:test_joints_bad_chips).
|
||||||
|
|
||||||
#+name: fig:test_joints_bad
|
#+name: fig:test_joints_bad
|
||||||
#+caption: Example of two flexible joints that were considered unsatisfactory after visual inspection
|
#+caption: Example of two flexible joints that were considered unsatisfactory after visual inspection
|
||||||
|
#+attr_latex: :options [htbp]
|
||||||
#+begin_figure
|
#+begin_figure
|
||||||
#+attr_latex: :caption \subcaption{\label{fig:test_joints_bad_shape}Non-Symmetrical shape}
|
#+attr_latex: :caption \subcaption{\label{fig:test_joints_bad_shape}Non-Symmetrical shape}
|
||||||
#+attr_latex: :options {0.49\textwidth}
|
#+attr_latex: :options {0.49\textwidth}
|
||||||
@ -347,35 +378,21 @@ save('./mat/flex_meas_dim.mat', 'meas_flex');
|
|||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
* Measurement Test Bench - Bending Stiffness
|
* Development of the Measurement Test Bench
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args:matlab+: :tangle matlab/test_joints_2_bench_dimensioning.m
|
:header-args:matlab+: :tangle matlab/test_joints_2_bench_dimensioning.m
|
||||||
:END:
|
:END:
|
||||||
<<sec:test_joints_test_bench_desc>>
|
<<sec:test_joints_test_bench_desc>>
|
||||||
** Introduction :ignore:
|
** Introduction :ignore:
|
||||||
The most important characteristic of the flexible joint that we want to measure is its bending stiffness $k_{R_x} \approx k_{R_y}$.
|
The most important characteristic of the flexible joint to be measured is its bending stiffness $k_{R_x} \approx k_{R_y}$.
|
||||||
|
|
||||||
To do so, we have to apply a torque $T_x$ on the flexible joint and measure its angular deflection $\theta_x$.
|
To estimate the bending stiffness, the basic idea is to apply a torque $T_{x}$ to the flexible joints and to measure its angular deflection $\theta_{x}$.
|
||||||
The stiffness is then
|
Then, the bending stiffness can be computed from equation eqref:eq:test_joints_bending_stiffness.
|
||||||
\begin{equation}
|
|
||||||
|
\begin{equation}\label{eq:test_joints_bending_stiffness}
|
||||||
k_{R_x} = \frac{T_x}{\theta_x}
|
k_{R_x} = \frac{T_x}{\theta_x}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
As it is quite difficult to apply a pure torque, a force will be applied instead.
|
|
||||||
The application point of the force should far enough from the flexible part such that the obtained bending is much larger than the displacement in shear.
|
|
||||||
|
|
||||||
The working principle of the bench is schematically shown in Figure ref:fig:test_joints_bench_working_principle.
|
|
||||||
One part of the flexible joint is fixed. On the mobile part, a force $F_x$ is applied which is equivalent to a torque applied on the flexible joint center.
|
|
||||||
The induced rotation is measured with a displacement sensor $d_x$.
|
|
||||||
|
|
||||||
#+name: fig:test_joints_bench_working_principle
|
|
||||||
#+caption: Test Bench - working principle
|
|
||||||
[[file:figs/test_joints_bench_working_principle.png]]
|
|
||||||
|
|
||||||
|
|
||||||
This test-bench will be used to have a first approximation of the bending stiffnesss and stroke of the flexible joints.
|
|
||||||
Another test-bench, better engineered will be used to measure the flexible joint's characteristics with better accuracy.
|
|
||||||
|
|
||||||
** 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)
|
||||||
<<matlab-dir>>
|
<<matlab-dir>>
|
||||||
@ -397,14 +414,28 @@ Another test-bench, better engineered will be used to measure the flexible joint
|
|||||||
<<m-init-other>>
|
<<m-init-other>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Flexible joint Geometry
|
** Measurement principle
|
||||||
The flexible joint used for the Nano-Hexapod is shown in Figure ref:fig:test_joints_bend_geometry.
|
As it is difficult to apply a pure torque, a "linear" force can be applied instead.
|
||||||
Its bending stiffness is foreseen to be $k_{R_y}\approx 5\,\frac{Nm}{rad}$ and its stroke $\theta_{y,\text{max}}\approx 25\,mrad$.
|
The application point of the force should be far enough from the rotation axis such that the resulting bending motion is much larger than the displacement due to shear.
|
||||||
|
|
||||||
|
The working principle of the measurement bench is schematically shown in Figure ref:fig:test_joints_bench_working_principle.
|
||||||
|
One part of the flexible joint is fixed.
|
||||||
|
On the mobile part, a force $F_x$ is applied which is equivalent to a torque applied on the flexible joint center.
|
||||||
|
The induced rotation is measured with a displacement sensor $d_x$.
|
||||||
|
|
||||||
|
#+name: fig:test_joints_bench_working_principle
|
||||||
|
#+caption: Test Bench - working principle
|
||||||
|
[[file:figs/test_joints_bench_working_principle.png]]
|
||||||
|
|
||||||
#+name: fig:test_joints_bend_geometry
|
#+name: fig:test_joints_bend_geometry
|
||||||
#+caption: Geometry of the flexible joint
|
#+caption: Geometry of the flexible joint
|
||||||
[[file:figs/test_joints_bend_geometry.png]]
|
[[file:figs/test_joints_bend_geometry.png]]
|
||||||
|
|
||||||
|
This test-bench will be used to have a first approximation of the bending stiffnesss and stroke of the flexible joints.
|
||||||
|
|
||||||
|
The flexible joint used for the Nano-Hexapod is shown in Figure ref:fig:test_joints_bend_geometry.
|
||||||
|
Its bending stiffness is foreseen to be $k_{R_y}\approx 5\,\frac{Nm}{rad}$ and its stroke $\theta_{y,\text{max}}\approx 25\,mrad$.
|
||||||
|
|
||||||
The height between the flexible point (center of the joint) and the point where external forces are applied is $h = 20\,mm$.
|
The height between the flexible point (center of the joint) and the point where external forces are applied is $h = 20\,mm$.
|
||||||
|
|
||||||
Let's define the parameters on Matlab.
|
Let's define the parameters on Matlab.
|
||||||
@ -414,7 +445,7 @@ Rxmax = 25e-3; % Bending Stroke [rad]
|
|||||||
h = 20e-3; % Height [m]
|
h = 20e-3; % Height [m]
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Required external applied force
|
**** Required external applied force
|
||||||
|
|
||||||
The bending $\theta_y$ of the flexible joint due to the force $F_x$ is:
|
The bending $\theta_y$ of the flexible joint due to the force $F_x$ is:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
@ -440,7 +471,7 @@ sprintf('\\begin{equation} F_{x,max} = %.1f\\, [N] \\end{equation}', Fxmax)
|
|||||||
|
|
||||||
The measurement range of the force sensor should then be higher than $6.2\,N$.
|
The measurement range of the force sensor should then be higher than $6.2\,N$.
|
||||||
|
|
||||||
** Required actuator stroke and sensors range
|
**** Required actuator stroke and sensors range
|
||||||
|
|
||||||
The flexible joint is designed to allow a bending motion of $\pm 25\,mrad$.
|
The flexible joint is designed to allow a bending motion of $\pm 25\,mrad$.
|
||||||
The corresponding stroke at the location of the force sensor is:
|
The corresponding stroke at the location of the force sensor is:
|
||||||
@ -460,7 +491,7 @@ sprintf('\\begin{equation} d_{max} = %.1f\\, [mm] \\end{equation}', 1e3*dxmax)
|
|||||||
In order to test the full range of the flexible joint, the stroke of the translation stage used to move the force sensor should be higher than $0.5\,mm$.
|
In order to test the full range of the flexible joint, the stroke of the translation stage used to move the force sensor should be higher than $0.5\,mm$.
|
||||||
Similarly, the measurement range of the displacement sensor should also be higher than $0.5\,mm$.
|
Similarly, the measurement range of the displacement sensor should also be higher than $0.5\,mm$.
|
||||||
|
|
||||||
** Test Bench
|
** Developped test bench
|
||||||
|
|
||||||
A CAD view of the measurement bench is shown in Figure ref:fig:test_joints_bench_overview.
|
A CAD view of the measurement bench is shown in Figure ref:fig:test_joints_bench_overview.
|
||||||
|
|
||||||
@ -472,27 +503,31 @@ Here are the different elements used in this bench:
|
|||||||
#+end_note
|
#+end_note
|
||||||
|
|
||||||
Both the measured force and displacement are acquired at the same time using a Speedgoat machine.
|
Both the measured force and displacement are acquired at the same time using a Speedgoat machine.
|
||||||
|
Explain why the encoder is here: in line with the measurement, no "abbe errors"
|
||||||
#+name: fig:test_joints_bench_overview
|
|
||||||
#+caption: Schematic of the test bench to measure the bending stiffness of the flexible joints
|
|
||||||
#+attr_latex: :width 0.8\linewidth
|
|
||||||
[[file:figs/test_joints_bench_overview.png]]
|
|
||||||
|
|
||||||
A side view of the bench with the important quantities are shown in Figure ref:fig:test_joints_bench_side.
|
A side view of the bench with the important quantities are shown in Figure ref:fig:test_joints_bench_side.
|
||||||
|
|
||||||
#+name: fig:test_joints_bench_side
|
#+name: fig:test_joints_bench
|
||||||
#+caption: Schematic of the test bench to measure the bending stiffness of the flexible joints
|
#+caption: Caption with reference to sub figure (\subref{fig:fig_label_a})
|
||||||
#+attr_latex: :width 0.25\linewidth
|
#+attr_latex: :options [htbp]
|
||||||
#+attr_html: :width 300px
|
#+begin_figure
|
||||||
|
#+attr_latex: :caption \subcaption{\label{fig:test_joints_bench_overview}Schematic of the test bench to measure the bending stiffness of the flexible joints}
|
||||||
|
#+attr_latex: :options {0.78\textwidth}
|
||||||
|
#+begin_subfigure
|
||||||
|
#+attr_latex: :width 0.95\linewidth
|
||||||
|
[[file:figs/test_joints_bench_overview.png]]
|
||||||
|
#+end_subfigure
|
||||||
|
#+attr_latex: :caption \subcaption{\label{fig:test_joints_bench_side}Zoom}
|
||||||
|
#+attr_latex: :options {0.21\textwidth}
|
||||||
|
#+begin_subfigure
|
||||||
|
#+attr_latex: :width 0.95\linewidth
|
||||||
[[file:figs/test_joints_bench_side.png]]
|
[[file:figs/test_joints_bench_side.png]]
|
||||||
|
#+end_subfigure
|
||||||
|
#+end_figure
|
||||||
|
|
||||||
* Error budget
|
** Error budget
|
||||||
:PROPERTIES:
|
<<ssec:test_joints_error_budget>>
|
||||||
:header-args:matlab+: :tangle matlab/test_joints_3_error_budget.m
|
**** Introduction :ignore:
|
||||||
:END:
|
|
||||||
<<sec:test_joints_error_budget>>
|
|
||||||
** Introduction :ignore:
|
|
||||||
|
|
||||||
Many things can impact the accuracy of the measured bending stiffness such as:
|
Many things can impact the accuracy of the measured bending stiffness such as:
|
||||||
- Errors in the force and displacement measurement
|
- Errors in the force and displacement measurement
|
||||||
- Shear effects
|
- Shear effects
|
||||||
@ -502,28 +537,7 @@ Many things can impact the accuracy of the measured bending stiffness such as:
|
|||||||
In this section, we wish to estimate the attainable accuracy with the current bench, and identified the limiting factors.
|
In this section, we wish to estimate the attainable accuracy with the current bench, and identified the limiting factors.
|
||||||
|
|
||||||
|
|
||||||
** Matlab Init :noexport:ignore:
|
**** Finite Element Model
|
||||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
||||||
<<matlab-dir>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes
|
|
||||||
<<matlab-init>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :tangle no :noweb yes
|
|
||||||
<<m-init-path>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :eval no :noweb yes
|
|
||||||
<<m-init-path-tangle>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :noweb yes
|
|
||||||
<<m-init-other>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Finite Element Model
|
|
||||||
From the Finite Element Model, the stiffness and stroke of the flexible joint have been computed and summarized in Tables ref:tab:test_joints_axial_shear_prop and ref:tab:test_joints_bending_torsion_prop.
|
From the Finite Element Model, the stiffness and stroke of the flexible joint have been computed and summarized in Tables ref:tab:test_joints_axial_shear_prop and ref:tab:test_joints_bending_torsion_prop.
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
@ -574,7 +588,7 @@ data2orgtable([kb, 1e3*Fb, 1e3*Xb; kt, 1e3*Ft, 1e3*Xt], {'Bending', 'Torsional'}
|
|||||||
| Bending | 5 | 118 | 24 |
|
| Bending | 5 | 118 | 24 |
|
||||||
| Torsional | 260 | 1508 | 6 |
|
| Torsional | 260 | 1508 | 6 |
|
||||||
|
|
||||||
** Setup
|
**** Setup
|
||||||
|
|
||||||
The setup is schematically represented in Figure ref:fig:test_joints_bench_side_bis.
|
The setup is schematically represented in Figure ref:fig:test_joints_bench_side_bis.
|
||||||
|
|
||||||
@ -586,7 +600,7 @@ The height between the joint's center and the force application point is:
|
|||||||
h = 25e-3; % Height [m]
|
h = 25e-3; % Height [m]
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Effect of Bending
|
**** Effect of Bending
|
||||||
The torque applied is:
|
The torque applied is:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
M_y = F_x \cdot h
|
M_y = F_x \cdot h
|
||||||
@ -603,7 +617,7 @@ The measured displacement is:
|
|||||||
D_b = h \tan(\theta_y) = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) \label{eq:bending_stiffness_formula}
|
D_b = h \tan(\theta_y) = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) \label{eq:bending_stiffness_formula}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
** Computation of the bending stiffness
|
**** Computation of the bending stiffness
|
||||||
From equation eqref:eq:bending_stiffness_formula, we can compute the bending stiffness:
|
From equation eqref:eq:bending_stiffness_formula, we can compute the bending stiffness:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
k_{R_y} = \frac{F_x \cdot h}{\tan^{-1}\left( \frac{D_b}{h} \right)}
|
k_{R_y} = \frac{F_x \cdot h}{\tan^{-1}\left( \frac{D_b}{h} \right)}
|
||||||
@ -619,13 +633,13 @@ And therefore, to precisely measure $k_{R_y}$, we need to:
|
|||||||
- precisely measure the applied force $F_x$
|
- precisely measure the applied force $F_x$
|
||||||
- precisely now the height of the force application point $h$
|
- precisely now the height of the force application point $h$
|
||||||
|
|
||||||
** Estimation error due to force and displacement sensors accuracy
|
**** Estimation error due to force and displacement sensors accuracy
|
||||||
The maximum error on the measured displacement with the encoder is 40 nm.
|
The maximum error on the measured displacement with the encoder is 40 nm.
|
||||||
This quite negligible compared to the measurement range of 0.5 mm.
|
This quite negligible compared to the measurement range of 0.5 mm.
|
||||||
|
|
||||||
The accuracy of the force sensor is around 1% and therefore, we should expect to have an accuracy on the measured stiffness of at most 1%.
|
The accuracy of the force sensor is around 1% and therefore, we should expect to have an accuracy on the measured stiffness of at most 1%.
|
||||||
|
|
||||||
** Estimation error due to Shear
|
**** Estimation error due to Shear
|
||||||
The effect of Shear on the measured displacement is simply:
|
The effect of Shear on the measured displacement is simply:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
D_s = \frac{F_x}{k_s}
|
D_s = \frac{F_x}{k_s}
|
||||||
@ -648,7 +662,7 @@ sprintf('The measurement error due to Shear is %.1f %%', 100*abs(1-1/(1 + kb/(ks
|
|||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
: The measurement error due to Shear is 0.1 %
|
: The measurement error due to Shear is 0.1 %
|
||||||
|
|
||||||
** Estimation error due to force sensor compression
|
**** Estimation error due to force sensor compression
|
||||||
The measured displacement is not done directly at the joint's location.
|
The measured displacement is not done directly at the joint's location.
|
||||||
The force sensor compression will then induce an error on the joint's stiffness.
|
The force sensor compression will then induce an error on the joint's stiffness.
|
||||||
|
|
||||||
@ -681,7 +695,7 @@ sprintf('The measurement error due to height estimation errors is %.1f %%', 100*
|
|||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
: The measurement error due to height estimation errors is 0.8 %
|
: The measurement error due to height estimation errors is 0.8 %
|
||||||
|
|
||||||
** Estimation error due to height estimation error
|
**** Estimation error due to height estimation error
|
||||||
Let's consider an error in the estimation of the height from the application of the force to the joint's center:
|
Let's consider an error in the estimation of the height from the application of the force to the joint's center:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
h_{\text{est}} = h (1 + \epsilon)
|
h_{\text{est}} = h (1 + \epsilon)
|
||||||
@ -708,20 +722,41 @@ sprintf('The measurement error due to height estimation errors of %.1f [mm] is %
|
|||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
: The measurement error due to height estimation errors of 0.2 [mm] is 1.6 %
|
: The measurement error due to height estimation errors of 0.2 [mm] is 1.6 %
|
||||||
|
|
||||||
** Conclusion
|
**** Conclusion
|
||||||
|
:PROPERTIES:
|
||||||
|
:UNNUMBERED: t
|
||||||
|
:END:
|
||||||
|
|
||||||
Based on the above analysis, we should expect no better than few percent of accuracy using the current test-bench.
|
Based on the above analysis, we should expect no better than few percent of accuracy using the current test-bench.
|
||||||
This is well enough for a first estimation of the bending stiffness of the flexible joints.
|
This is well enough for a first estimation of the bending stiffness of the flexible joints.
|
||||||
|
|
||||||
Another measurement bench allowing better accuracy will be developed.
|
* Bending Stiffness Measurement
|
||||||
|
|
||||||
* First Measurements
|
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args:matlab+: :tangle matlab/test_joints_4_first_meas.m
|
:header-args:matlab+: :tangle ./matlab/test_joints_3_bending_stiff_meas.m
|
||||||
:END:
|
:END:
|
||||||
<<sec:test_joints_first_measurements>>
|
<<sec:test_joints_bending_stiffness_meas>>
|
||||||
** Introduction :ignore:
|
** Introduction
|
||||||
|
|
||||||
- *Encoder*: [[file:doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf][Renishaw Resolute 1nm]]
|
A picture of the bench used to measure the X-bending stiffness of the flexible joints is shown in Figure ref:fig:test_joints_picture_bench_overview.
|
||||||
|
A closer view on flexible joint is shown in Figure ref:fig:test_joints_picture_bench_close and a zoom on the force sensor tip is shown in Figure ref:fig:test_joints_picture_bench_zoom.
|
||||||
|
|
||||||
|
#+name: fig:test_joints_picture_bench_overview
|
||||||
|
#+caption: Side view of the flexible joint stiffness bench. X-Bending stiffness is measured.
|
||||||
|
#+attr_latex: :width \linewidth
|
||||||
|
[[file:figs/test_joints_picture_bench_overview.jpg]]
|
||||||
|
|
||||||
|
#+name: fig:test_joints_picture_bench_close
|
||||||
|
#+caption: Zoom on the flexible joint - Side view
|
||||||
|
#+attr_latex: :width \linewidth
|
||||||
|
[[file:figs/test_joints_picture_bench_close.jpg]]
|
||||||
|
|
||||||
|
|
||||||
|
#+name: fig:test_joints_picture_bench_zoom
|
||||||
|
#+caption: Zoom on the tip of the force sensor
|
||||||
|
#+attr_latex: :width 0.4\linewidth
|
||||||
|
[[file:figs/test_joints_picture_bench_zoom.jpg]]
|
||||||
|
|
||||||
|
The same bench used to measure the Y-bending stiffness of the flexible joint by pivoting the flexible joint by 90 degrees.
|
||||||
|
|
||||||
** 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)
|
||||||
@ -927,55 +962,6 @@ sprintf('k = %.2f [N/um]', 1e-6*1/fit_k(1));
|
|||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
: k = 0.76 [N/um]
|
: k = 0.76 [N/um]
|
||||||
|
|
||||||
* Bending Stiffness Measurement
|
|
||||||
:PROPERTIES:
|
|
||||||
:header-args:matlab+: :tangle ./matlab/test_joints_5_bending_stiff_meas.m
|
|
||||||
:END:
|
|
||||||
<<sec:test_joints_bending_stiffness_meas>>
|
|
||||||
** Introduction
|
|
||||||
|
|
||||||
A picture of the bench used to measure the X-bending stiffness of the flexible joints is shown in Figure ref:fig:test_joints_picture_bench_overview.
|
|
||||||
A closer view on flexible joint is shown in Figure ref:fig:test_joints_picture_bench_close and a zoom on the force sensor tip is shown in Figure ref:fig:test_joints_picture_bench_zoom.
|
|
||||||
|
|
||||||
#+name: fig:test_joints_picture_bench_overview
|
|
||||||
#+caption: Side view of the flexible joint stiffness bench. X-Bending stiffness is measured.
|
|
||||||
#+attr_latex: :width \linewidth
|
|
||||||
[[file:figs/test_joints_picture_bench_overview.jpg]]
|
|
||||||
|
|
||||||
#+name: fig:test_joints_picture_bench_close
|
|
||||||
#+caption: Zoom on the flexible joint - Side view
|
|
||||||
#+attr_latex: :width \linewidth
|
|
||||||
[[file:figs/test_joints_picture_bench_close.jpg]]
|
|
||||||
|
|
||||||
|
|
||||||
#+name: fig:test_joints_picture_bench_zoom
|
|
||||||
#+caption: Zoom on the tip of the force sensor
|
|
||||||
#+attr_latex: :width 0.4\linewidth
|
|
||||||
[[file:figs/test_joints_picture_bench_zoom.jpg]]
|
|
||||||
|
|
||||||
The same bench used to measure the Y-bending stiffness of the flexible joint by pivoting the flexible joint by 90 degrees.
|
|
||||||
|
|
||||||
** Matlab Init :noexport:ignore:
|
|
||||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
||||||
<<matlab-dir>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes
|
|
||||||
<<matlab-init>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :tangle no :noweb yes
|
|
||||||
<<m-init-path>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :eval no :noweb yes
|
|
||||||
<<m-init-path-tangle>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :noweb yes
|
|
||||||
<<m-init-other>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Analysis of one measurement
|
** Analysis of one measurement
|
||||||
|
|
||||||
In this section is shown how the data are analysis in order to measured:
|
In this section is shown how the data are analysis in order to measured:
|
||||||
@ -1345,6 +1331,10 @@ exportFig('figs/test_joints_thickness_stiffness.pdf', 'width', 'wide', 'height',
|
|||||||
[[file:figs/test_joints_thickness_stiffness.png]]
|
[[file:figs/test_joints_thickness_stiffness.png]]
|
||||||
|
|
||||||
** Conclusion
|
** Conclusion
|
||||||
|
:PROPERTIES:
|
||||||
|
:UNNUMBERED: t
|
||||||
|
:END:
|
||||||
|
|
||||||
#+begin_important
|
#+begin_important
|
||||||
The measured bending stiffness and bending stroke of the flexible joints are very close to the estimated one using a Finite Element Model.
|
The measured bending stiffness and bending stroke of the flexible joints are very close to the estimated one using a Finite Element Model.
|
||||||
|
|
||||||
@ -1379,3 +1369,7 @@ addpath('./mat/'); % Path for data
|
|||||||
%% Colors for the figures
|
%% Colors for the figures
|
||||||
colors = colororder;
|
colors = colororder;
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
* Footnotes
|
||||||
|
|
||||||
|
[fn:1]The alloy used is called /F16PH/, also refereed as "1.4542"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
% Created 2024-03-25 Mon 16:49
|
% Created 2024-04-04 Thu 17:36
|
||||||
% Intended LaTeX compiler: pdflatex
|
% Intended LaTeX compiler: pdflatex
|
||||||
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
|
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
|
||||||
|
|
||||||
@ -12,7 +12,7 @@
|
|||||||
pdftitle={Flexible Joints - Test Bench},
|
pdftitle={Flexible Joints - Test Bench},
|
||||||
pdfkeywords={},
|
pdfkeywords={},
|
||||||
pdfsubject={},
|
pdfsubject={},
|
||||||
pdfcreator={Emacs 29.2 (Org mode 9.7)},
|
pdfcreator={Emacs 29.3 (Org mode 9.7)},
|
||||||
pdflang={English}}
|
pdflang={English}}
|
||||||
\usepackage{biblatex}
|
\usepackage{biblatex}
|
||||||
|
|
||||||
@ -22,19 +22,13 @@
|
|||||||
\tableofcontents
|
\tableofcontents
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
Ideally, these flexible joints would behave as perfect ball joints, that is to say:
|
At both ends of the nano-hexapod struts, a flexible spherical joint is used.
|
||||||
\begin{itemize}
|
Ideally, these flexible joints would behave as perfect spherical joints, that is to say no bending and torsional stiffnesses, infinite shear and axial stiffnesses, unlimited bending and torsional stroke, no friction and no backlash.
|
||||||
\item no bending and torsional stiffnesses
|
|
||||||
\item infinite shear and axial stiffnesses
|
|
||||||
\item un-limited bending and torsional stroke
|
|
||||||
\item no friction, no backlash
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
The real characteristics of the flexible joints will influence the dynamics of the Nano-Hexapod.
|
Deviations from this ideal properties will impact the dynamics of the Nano-Hexapod and could limit the attainable performances.
|
||||||
Using a multi-body dynamical model of the nano-hexapod, the specifications in term of stiffness and stroke of the flexible joints have been determined and summarized in Table \ref{tab:test_joints_specs}.
|
During the detailed design phase, specifications in term of stiffness and stroke have been determined and are summarized in Table \ref{tab:test_joints_specs}.
|
||||||
|
|
||||||
\begin{table}[htbp]
|
\begin{table}[htbp]
|
||||||
\caption{\label{tab:test_joints_specs}Specifications for the flexible joints and estimated characteristics from the Finite Element Model}
|
|
||||||
\centering
|
\centering
|
||||||
\begin{tabularx}{0.5\linewidth}{Xcc}
|
\begin{tabularx}{0.5\linewidth}{Xcc}
|
||||||
\toprule
|
\toprule
|
||||||
@ -48,120 +42,108 @@ Bending Stroke & \(> 1\,\text{mrad}\) & 24.5\\
|
|||||||
Torsion Stroke & \(> 5\,\mu\text{rad}\) & \\
|
Torsion Stroke & \(> 5\,\mu\text{rad}\) & \\
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
|
\caption{\label{tab:test_joints_specs}Specifications for the flexible joints and estimated characteristics from the Finite Element Model}
|
||||||
|
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
Then, the classical geometry of a flexible ball joint shown in Figure \ref{fig:test_joints_fem_geometry} has been optimized in order to meet the requirements.
|
After optimization using a finite element model, the geometry shown in Figure \ref{fig:test_joints_schematic} has been obtained and the corresponding flexible joints characteristics are summarized in Table \ref{tab:test_joints_specs}.
|
||||||
This has been done using a Finite Element Software and the obtained joint's characteristics are summarized in Table \ref{tab:test_joints_specs}.
|
This flexible joint is a monolithic piece of stainless steel\footnote{The alloy used is called \emph{F16PH}, also refereed as ``1.4542''} manufactured using wire electrical discharge machining.
|
||||||
|
It serves several functions as shown in Figure \ref{fig:test_joints_iso}, such as:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Rigid interfacing with the nano-hexapod plates (yellow surfaces)
|
||||||
|
\item Rigid interfacing with the amplified piezoelectric actuator (blue surface)
|
||||||
|
\item Allow two rotations between the ``yellow'' and the ``blue'' interfaces.
|
||||||
|
The rotation axes are represented by the dashed lines which are intersecting
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\begin{subfigure}{0.39\textwidth}
|
||||||
\includegraphics[scale=1,width=0.5\linewidth]{figs/test_joints_fem_geometry.png}
|
\begin{center}
|
||||||
\caption{\label{fig:test_joints_fem_geometry}Flexible part of the Joint used for FEM - CAD view}
|
\includegraphics[scale=1,scale=1]{figs/test_joints_iso.png}
|
||||||
|
\end{center}
|
||||||
|
\subcaption{\label{fig:test_joints_iso}ISO view}
|
||||||
|
\end{subfigure}
|
||||||
|
\begin{subfigure}{0.3\textwidth}
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[scale=1,scale=1]{figs/test_joints_yz_plane.png}
|
||||||
|
\end{center}
|
||||||
|
\subcaption{\label{fig:test_joints_yz_plane}YZ plane}
|
||||||
|
\end{subfigure}
|
||||||
|
\begin{subfigure}{0.3\textwidth}
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[scale=1,scale=1]{figs/test_joints_xz_plane.png}
|
||||||
|
\end{center}
|
||||||
|
\subcaption{\label{fig:test_joints_xz_plane}XZ plane}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{\label{fig:test_joints_schematic}Geometry of the optimized flexible joints}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
The obtained geometry are defined in the \href{doc/flex\_joints.pdf}{drawings of the flexible joints}.
|
16 flexible joints have been ordered (shown in Figure \ref{fig:test_joints_received}) such some selection can be made for the 12 that will be used on the nano-hexapod.
|
||||||
The material is a special kind of stainless steel called ``F16PH''.
|
|
||||||
|
|
||||||
The flexible joints can be seen on Figure \ref{fig:test_joints_received}.
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[scale=1,width=\linewidth]{figs/test_joints_received.jpg}
|
\includegraphics[scale=1,width=0.8\linewidth]{figs/test_joints_received.jpg}
|
||||||
\caption{\label{fig:test_joints_received}15 of the 16 flexible joints}
|
\caption{\label{fig:test_joints_received}15 of the 16 flexible joints}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
In this document, we present a test-bench that has been developed in order to measure the bending stiffness of flexible joints.
|
In this document, the received flexible joints are characterize to make sure they are fulfilling the requirements and such that they can well be modelled.
|
||||||
|
|
||||||
It is structured as follow:
|
|
||||||
\begin{itemize}
|
|
||||||
\item Section \ref{sec:test_joints_flex_dim_meas}: each flexible joint is measured using a profile projector
|
|
||||||
\item Section \ref{sec:test_joints_test_bench_desc}: the stiffness measurement bench is presented
|
|
||||||
\item Section \ref{sec:test_joints_error_budget}: an error budget is performed in order to estimate the accuracy of the measured stiffness
|
|
||||||
\item Section \ref{sec:test_joints_first_measurements}: first measurements are performed
|
|
||||||
\item Section \ref{sec:test_joints_bending_stiffness_meas}: the bending stiffness of the flexible joints are measured
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
|
First, the flexible joints are visually inspected, and the minimum gaps (responsible for most of the joint compliance) are measured (Section \ref{sec:test_joints_flex_dim_meas}).
|
||||||
|
Then, a test bench is developed to measure the bending stiffness of the flexible joints.
|
||||||
|
The development of this test bench is presented in Section \ref{sec:test_joints_test_bench_desc}, including a noise budget and some requirements in terms of instrumentation.
|
||||||
|
Finally, the test bench is manufacturer and used to measure the bending stiffnesses of all the flexible joints.
|
||||||
|
Results are shown in Section \ref{sec:test_joints_bending_stiffness_meas}
|
||||||
|
|
||||||
\begin{table}[htbp]
|
\begin{table}[htbp]
|
||||||
\caption{\label{tab:test_joints_section_matlab_code}Report sections and corresponding Matlab files}
|
|
||||||
\centering
|
\centering
|
||||||
\begin{tabularx}{0.6\linewidth}{lX}
|
\begin{tabularx}{0.6\linewidth}{lX}
|
||||||
\toprule
|
\toprule
|
||||||
\textbf{Sections} & \textbf{Matlab File}\\
|
\textbf{Sections} & \textbf{Matlab File}\\
|
||||||
\midrule
|
\midrule
|
||||||
Section \ref{sec:test_joints} & \texttt{test\_joints\_1\_.m}\\
|
Section \ref{sec:test_joints_flex_dim_meas} & \texttt{test\_joints\_1\_dim\_meas.m}\\
|
||||||
& \\
|
Section \ref{sec:test_joints_test_bench_desc} & \texttt{test\_joints\_2\_bench\_dimensioning.m}\\
|
||||||
& \\
|
Section \ref{sec:test_joints_bending_stiffness_meas} & \texttt{test\_joints\_3\_bending\_stiff\_meas.m}\\
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
|
\caption{\label{tab:test_joints_section_matlab_code}Report sections and corresponding Matlab files}
|
||||||
|
|
||||||
\end{table}
|
\end{table}
|
||||||
\chapter{Dimensional Measurements}
|
\chapter{Dimensional Measurements}
|
||||||
\label{sec:test_joints_flex_dim_meas}
|
\label{sec:test_joints_flex_dim_meas}
|
||||||
\section{Measurement Bench}
|
\section{Measurement Bench}
|
||||||
|
|
||||||
The axis corresponding to the flexible joints are defined in Figure \ref{fig:test_joints_axis}.
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
|
||||||
\centering
|
|
||||||
\includegraphics[scale=1,width=0.3\linewidth]{figs/test_joints_axis.png}
|
|
||||||
\caption{\label{fig:test_joints_axis}Define axis for the flexible joints}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
The dimensions of the flexible part in the Y-Z plane will contribute to the X-bending stiffness.
|
The dimensions of the flexible part in the Y-Z plane will contribute to the X-bending stiffness.
|
||||||
Similarly, the dimensions of the flexible part in the X-Z plane will contribute to the Y-bending stiffness.
|
Similarly, the dimensions of the flexible part in the X-Z plane will contribute to the Y-bending stiffness.
|
||||||
|
|
||||||
The setup to measure the dimension of the ``X'' flexible beam is shown in Figure \ref{fig:test_joints_y_flex_meas_setup}.
|
The setup to measure the dimension of the ``X'' flexible beam is shown in Figure \ref{fig:test_joints_profilometer_setup}.
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
What we typically observe is shown in Figure \ref{fig:test_joints_profilometer_image}.
|
||||||
\centering
|
|
||||||
\includegraphics[scale=1,width=1.0\linewidth]{figs/test_joints_y_flex_meas_setup.png}
|
|
||||||
\caption{\label{fig:test_joints_y_flex_meas_setup}Setup to measure the dimension of the flexible beam corresponding to the X-bending stiffness}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
What we typically observe is shown in Figure \ref{fig:test_joints_soft_measure_size}.
|
|
||||||
It is then possible to estimate to dimension of the flexible beam with an accuracy of \(\approx 5\,\mu m\),
|
It is then possible to estimate to dimension of the flexible beam with an accuracy of \(\approx 5\,\mu m\),
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\begin{subfigure}{0.49\textwidth}
|
||||||
\includegraphics[scale=1,width=1.0\linewidth]{figs/test_joints_soft_measure_size.jpg}
|
\begin{center}
|
||||||
\caption{\label{fig:test_joints_soft_measure_size}Image used to measure the flexible joint's dimensions}
|
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_profilometer_image.jpg}
|
||||||
|
\end{center}
|
||||||
|
\subcaption{\label{fig:test_joints_profilometer_image}Flexible joint fixed on the profilometer}
|
||||||
|
\end{subfigure}
|
||||||
|
\begin{subfigure}{0.49\textwidth}
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_profilometer_setup.png}
|
||||||
|
\end{center}
|
||||||
|
\subcaption{\label{fig:test_joints_profilometer_setup}Obtain image to estimate the gap}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{\label{fig:test_joints_profilometer}Setup to measure the dimension of the flexible beam corresponding to the X-bending stiffness. The flexible joint is fixed to the profilometer (\subref{fig:test_joints_profilometer_image}) and a image is obtained with which the gap can be estimated (\subref{fig:test_joints_profilometer_setup})}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\section{Measurement Results}
|
\section{Measurement Results}
|
||||||
The expected flexible beam thickness is \(250\,\mu m\).
|
The specified flexible beam thickness (gap) is \(250\,\mu m\).
|
||||||
However, it is more important that the thickness of all beams are close to each other.
|
Four gaps are measured for each flexible joints (2 in the \(x\) direction and 2 in the \(y\) direction).
|
||||||
|
The ``beam thickness'' is then estimated to be the mean between the gaps measured on opposite sides.
|
||||||
|
|
||||||
The dimension of the beams are been measured at each end to be able to estimate the mean of the beam thickness.
|
An histogram of the measured beam thicknesses is shown in Figure \ref{fig:test_joints_size_hist}.
|
||||||
|
The measured thickness is less thant the specified value of \(250\,\mu m\), but this optical method may not be very accurate as the estimated gap can depend on the lighting of the part and of its proper alignment.
|
||||||
|
|
||||||
All the measured dimensions are summarized in Table \ref{tab:test_joints_flex_dim}.
|
However, what is more important than the true value of the thickness is the consistency between all the flexible joints.
|
||||||
|
|
||||||
\begin{table}[htbp]
|
|
||||||
\caption{\label{tab:test_joints_flex_dim}Measured Dimensions of the flexible beams in \(\mu m\)}
|
|
||||||
\centering
|
|
||||||
\begin{tabularx}{0.4\linewidth}{Xcccc}
|
|
||||||
\toprule
|
|
||||||
& Y1 & Y2 & X1 & X2\\
|
|
||||||
\midrule
|
|
||||||
1 & 223 & 226 & 224 & 214\\
|
|
||||||
2 & 229 & 231 & 237 & 224\\
|
|
||||||
3 & 234 & 230 & 239 & 231\\
|
|
||||||
4 & 233 & 227 & 229 & 232\\
|
|
||||||
5 & 225 & 212 & 228 & 228\\
|
|
||||||
6 & 220 & 221 & 224 & 220\\
|
|
||||||
7 & 206 & 207 & 228 & 226\\
|
|
||||||
8 & 230 & 224 & 224 & 223\\
|
|
||||||
9 & 223 & 231 & 228 & 233\\
|
|
||||||
10 & 228 & 230 & 235 & 231\\
|
|
||||||
11 & 197 & 207 & 211 & 204\\
|
|
||||||
12 & 227 & 226 & 225 & 226\\
|
|
||||||
13 & 215 & 228 & 231 & 220\\
|
|
||||||
14 & 216 & 224 & 224 & 221\\
|
|
||||||
15 & 209 & 214 & 220 & 221\\
|
|
||||||
16 & 213 & 210 & 230 & 229\\
|
|
||||||
\bottomrule
|
|
||||||
\end{tabularx}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
An histogram of these measured dimensions is shown in Figure \ref{fig:test_joints_size_hist}.
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\centering
|
||||||
@ -170,7 +152,9 @@ An histogram of these measured dimensions is shown in Figure \ref{fig:test_joint
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
\section{Bad flexible joints}
|
\section{Bad flexible joints}
|
||||||
|
|
||||||
\begin{figure}
|
Using this profilometer allowed to detect flexible joints with manufacturing defects such as non-symmetrical shape (see Figure \ref{fig:test_joints_bad_shape}) or flexible joints with machining chips stuck in the gap (see Figure \ref{fig:test_joints_bad_chips}).
|
||||||
|
|
||||||
|
\begin{figure}[htbp]
|
||||||
\begin{subfigure}{0.49\textwidth}
|
\begin{subfigure}{0.49\textwidth}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[scale=1,height=6cm]{figs/test_joints_bad_shape.jpg}
|
\includegraphics[scale=1,height=6cm]{figs/test_joints_bad_shape.jpg}
|
||||||
@ -185,21 +169,23 @@ An histogram of these measured dimensions is shown in Figure \ref{fig:test_joint
|
|||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
\caption{\label{fig:test_joints_bad}Example of two flexible joints that were considered unsatisfactory after visual inspection}
|
\caption{\label{fig:test_joints_bad}Example of two flexible joints that were considered unsatisfactory after visual inspection}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\chapter{Measurement Test Bench - Bending Stiffness}
|
\chapter{Development of the Measurement Test Bench}
|
||||||
\label{sec:test_joints_test_bench_desc}
|
\label{sec:test_joints_test_bench_desc}
|
||||||
The most important characteristic of the flexible joint that we want to measure is its bending stiffness \(k_{R_x} \approx k_{R_y}\).
|
The most important characteristic of the flexible joint to be measured is its bending stiffness \(k_{R_x} \approx k_{R_y}\).
|
||||||
|
|
||||||
To do so, we have to apply a torque \(T_x\) on the flexible joint and measure its angular deflection \(\theta_x\).
|
To estimate the bending stiffness, the basic idea is to apply a torque \(T_{x}\) to the flexible joints and to measure its angular deflection \(\theta_{x}\).
|
||||||
The stiffness is then
|
Then, the bending stiffness can be computed from equation \eqref{eq:test_joints_bending_stiffness}.
|
||||||
\begin{equation}
|
|
||||||
|
\begin{equation}\label{eq:test_joints_bending_stiffness}
|
||||||
k_{R_x} = \frac{T_x}{\theta_x}
|
k_{R_x} = \frac{T_x}{\theta_x}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
\section{Measurement principle}
|
||||||
|
As it is difficult to apply a pure torque, a ``linear'' force can be applied instead.
|
||||||
|
The application point of the force should be far enough from the rotation axis such that the resulting bending motion is much larger than the displacement due to shear.
|
||||||
|
|
||||||
As it is quite difficult to apply a pure torque, a force will be applied instead.
|
The working principle of the measurement bench is schematically shown in Figure \ref{fig:test_joints_bench_working_principle}.
|
||||||
The application point of the force should far enough from the flexible part such that the obtained bending is much larger than the displacement in shear.
|
One part of the flexible joint is fixed.
|
||||||
|
On the mobile part, a force \(F_x\) is applied which is equivalent to a torque applied on the flexible joint center.
|
||||||
The working principle of the bench is schematically shown in Figure \ref{fig:test_joints_bench_working_principle}.
|
|
||||||
One part of the flexible joint is fixed. On the mobile part, a force \(F_x\) is applied which is equivalent to a torque applied on the flexible joint center.
|
|
||||||
The induced rotation is measured with a displacement sensor \(d_x\).
|
The induced rotation is measured with a displacement sensor \(d_x\).
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
@ -208,23 +194,21 @@ The induced rotation is measured with a displacement sensor \(d_x\).
|
|||||||
\caption{\label{fig:test_joints_bench_working_principle}Test Bench - working principle}
|
\caption{\label{fig:test_joints_bench_working_principle}Test Bench - working principle}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
This test-bench will be used to have a first approximation of the bending stiffnesss and stroke of the flexible joints.
|
|
||||||
Another test-bench, better engineered will be used to measure the flexible joint's characteristics with better accuracy.
|
|
||||||
\section{Flexible joint Geometry}
|
|
||||||
The flexible joint used for the Nano-Hexapod is shown in Figure \ref{fig:test_joints_bend_geometry}.
|
|
||||||
Its bending stiffness is foreseen to be \(k_{R_y}\approx 5\,\frac{Nm}{rad}\) and its stroke \(\theta_{y,\text{max}}\approx 25\,mrad\).
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[scale=1]{figs/test_joints_bend_geometry.png}
|
\includegraphics[scale=1]{figs/test_joints_bend_geometry.png}
|
||||||
\caption{\label{fig:test_joints_bend_geometry}Geometry of the flexible joint}
|
\caption{\label{fig:test_joints_bend_geometry}Geometry of the flexible joint}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
This test-bench will be used to have a first approximation of the bending stiffnesss and stroke of the flexible joints.
|
||||||
|
|
||||||
|
The flexible joint used for the Nano-Hexapod is shown in Figure \ref{fig:test_joints_bend_geometry}.
|
||||||
|
Its bending stiffness is foreseen to be \(k_{R_y}\approx 5\,\frac{Nm}{rad}\) and its stroke \(\theta_{y,\text{max}}\approx 25\,mrad\).
|
||||||
|
|
||||||
The height between the flexible point (center of the joint) and the point where external forces are applied is \(h = 20\,mm\).
|
The height between the flexible point (center of the joint) and the point where external forces are applied is \(h = 20\,mm\).
|
||||||
|
|
||||||
Let's define the parameters on Matlab.
|
Let's define the parameters on Matlab.
|
||||||
\section{Required external applied force}
|
\paragraph{Required external applied force}
|
||||||
|
|
||||||
The bending \(\theta_y\) of the flexible joint due to the force \(F_x\) is:
|
The bending \(\theta_y\) of the flexible joint due to the force \(F_x\) is:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
@ -240,7 +224,7 @@ And we obtain:
|
|||||||
\begin{equation} F_{x,max} = 6.2\, [N] \end{equation}
|
\begin{equation} F_{x,max} = 6.2\, [N] \end{equation}
|
||||||
|
|
||||||
The measurement range of the force sensor should then be higher than \(6.2\,N\).
|
The measurement range of the force sensor should then be higher than \(6.2\,N\).
|
||||||
\section{Required actuator stroke and sensors range}
|
\paragraph{Required actuator stroke and sensors range}
|
||||||
|
|
||||||
The flexible joint is designed to allow a bending motion of \(\pm 25\,mrad\).
|
The flexible joint is designed to allow a bending motion of \(\pm 25\,mrad\).
|
||||||
The corresponding stroke at the location of the force sensor is:
|
The corresponding stroke at the location of the force sensor is:
|
||||||
@ -250,7 +234,7 @@ The corresponding stroke at the location of the force sensor is:
|
|||||||
|
|
||||||
In order to test the full range of the flexible joint, the stroke of the translation stage used to move the force sensor should be higher than \(0.5\,mm\).
|
In order to test the full range of the flexible joint, the stroke of the translation stage used to move the force sensor should be higher than \(0.5\,mm\).
|
||||||
Similarly, the measurement range of the displacement sensor should also be higher than \(0.5\,mm\).
|
Similarly, the measurement range of the displacement sensor should also be higher than \(0.5\,mm\).
|
||||||
\section{Test Bench}
|
\section{Developped test bench}
|
||||||
|
|
||||||
A CAD view of the measurement bench is shown in Figure \ref{fig:test_joints_bench_overview}.
|
A CAD view of the measurement bench is shown in Figure \ref{fig:test_joints_bench_overview}.
|
||||||
|
|
||||||
@ -264,22 +248,27 @@ Here are the different elements used in this bench:
|
|||||||
\end{note}
|
\end{note}
|
||||||
|
|
||||||
Both the measured force and displacement are acquired at the same time using a Speedgoat machine.
|
Both the measured force and displacement are acquired at the same time using a Speedgoat machine.
|
||||||
|
Explain why the encoder is here: in line with the measurement, no ``abbe errors''
|
||||||
\begin{figure}[htbp]
|
|
||||||
\centering
|
|
||||||
\includegraphics[scale=1,width=0.8\linewidth]{figs/test_joints_bench_overview.png}
|
|
||||||
\caption{\label{fig:test_joints_bench_overview}Schematic of the test bench to measure the bending stiffness of the flexible joints}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
A side view of the bench with the important quantities are shown in Figure \ref{fig:test_joints_bench_side}.
|
A side view of the bench with the important quantities are shown in Figure \ref{fig:test_joints_bench_side}.
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\begin{subfigure}{0.78\textwidth}
|
||||||
\includegraphics[scale=1,width=0.25\linewidth]{figs/test_joints_bench_side.png}
|
\begin{center}
|
||||||
\caption{\label{fig:test_joints_bench_side}Schematic of the test bench to measure the bending stiffness of the flexible joints}
|
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_bench_overview.png}
|
||||||
|
\end{center}
|
||||||
|
\subcaption{\label{fig:test_joints_bench_overview}Schematic of the test bench to measure the bending stiffness of the flexible joints}
|
||||||
|
\end{subfigure}
|
||||||
|
\begin{subfigure}{0.21\textwidth}
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_bench_side.png}
|
||||||
|
\end{center}
|
||||||
|
\subcaption{\label{fig:test_joints_bench_side}Zoom}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{\label{fig:test_joints_bench}Caption with reference to sub figure (\subref{fig:fig_label_a})}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\chapter{Error budget}
|
\section{Error budget}
|
||||||
\label{sec:test_joints_error_budget}
|
\label{ssec:test_joints_error_budget}
|
||||||
Many things can impact the accuracy of the measured bending stiffness such as:
|
Many things can impact the accuracy of the measured bending stiffness such as:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Errors in the force and displacement measurement
|
\item Errors in the force and displacement measurement
|
||||||
@ -289,11 +278,10 @@ Many things can impact the accuracy of the measured bending stiffness such as:
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
In this section, we wish to estimate the attainable accuracy with the current bench, and identified the limiting factors.
|
In this section, we wish to estimate the attainable accuracy with the current bench, and identified the limiting factors.
|
||||||
\section{Finite Element Model}
|
\paragraph{Finite Element Model}
|
||||||
From the Finite Element Model, the stiffness and stroke of the flexible joint have been computed and summarized in Tables \ref{tab:test_joints_axial_shear_prop} and \ref{tab:test_joints_bending_torsion_prop}.
|
From the Finite Element Model, the stiffness and stroke of the flexible joint have been computed and summarized in Tables \ref{tab:test_joints_axial_shear_prop} and \ref{tab:test_joints_bending_torsion_prop}.
|
||||||
|
|
||||||
\begin{table}[htbp]
|
\begin{table}[htbp]
|
||||||
\caption{\label{tab:test_joints_axial_shear_prop}Axial/Shear characteristics}
|
|
||||||
\centering
|
\centering
|
||||||
\begin{tabularx}{0.6\linewidth}{Xccc}
|
\begin{tabularx}{0.6\linewidth}{Xccc}
|
||||||
\toprule
|
\toprule
|
||||||
@ -303,10 +291,11 @@ Axial & 94 & 469 & 5\\
|
|||||||
Shear & 13 & 242 & 19\\
|
Shear & 13 & 242 & 19\\
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
|
\caption{\label{tab:test_joints_axial_shear_prop}Axial/Shear characteristics}
|
||||||
|
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\begin{table}[htbp]
|
\begin{table}[htbp]
|
||||||
\caption{\label{tab:test_joints_bending_torsion_prop}Bending/Torsion characteristics}
|
|
||||||
\centering
|
\centering
|
||||||
\begin{tabularx}{0.7\linewidth}{Xccc}
|
\begin{tabularx}{0.7\linewidth}{Xccc}
|
||||||
\toprule
|
\toprule
|
||||||
@ -316,8 +305,10 @@ Bending & 5 & 118 & 24\\
|
|||||||
Torsional & 260 & 1508 & 6\\
|
Torsional & 260 & 1508 & 6\\
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
|
\caption{\label{tab:test_joints_bending_torsion_prop}Bending/Torsion characteristics}
|
||||||
|
|
||||||
\end{table}
|
\end{table}
|
||||||
\section{Setup}
|
\paragraph{Setup}
|
||||||
|
|
||||||
The setup is schematically represented in Figure \ref{fig:test_joints_bench_side_bis}.
|
The setup is schematically represented in Figure \ref{fig:test_joints_bench_side_bis}.
|
||||||
|
|
||||||
@ -325,7 +316,7 @@ The force is applied on top of the flexible joint with a distance \(h\) with the
|
|||||||
The displacement of the flexible joint is also measured at the same height.
|
The displacement of the flexible joint is also measured at the same height.
|
||||||
|
|
||||||
The height between the joint's center and the force application point is:
|
The height between the joint's center and the force application point is:
|
||||||
\section{Effect of Bending}
|
\paragraph{Effect of Bending}
|
||||||
The torque applied is:
|
The torque applied is:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
M_y = F_x \cdot h
|
M_y = F_x \cdot h
|
||||||
@ -341,7 +332,7 @@ The measured displacement is:
|
|||||||
\begin{equation}
|
\begin{equation}
|
||||||
D_b = h \tan(\theta_y) = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) \label{eq:bending_stiffness_formula}
|
D_b = h \tan(\theta_y) = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) \label{eq:bending_stiffness_formula}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
\section{Computation of the bending stiffness}
|
\paragraph{Computation of the bending stiffness}
|
||||||
From equation \eqref{eq:bending_stiffness_formula}, we can compute the bending stiffness:
|
From equation \eqref{eq:bending_stiffness_formula}, we can compute the bending stiffness:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
k_{R_y} = \frac{F_x \cdot h}{\tan^{-1}\left( \frac{D_b}{h} \right)}
|
k_{R_y} = \frac{F_x \cdot h}{\tan^{-1}\left( \frac{D_b}{h} \right)}
|
||||||
@ -358,12 +349,12 @@ And therefore, to precisely measure \(k_{R_y}\), we need to:
|
|||||||
\item precisely measure the applied force \(F_x\)
|
\item precisely measure the applied force \(F_x\)
|
||||||
\item precisely now the height of the force application point \(h\)
|
\item precisely now the height of the force application point \(h\)
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\section{Estimation error due to force and displacement sensors accuracy}
|
\paragraph{Estimation error due to force and displacement sensors accuracy}
|
||||||
The maximum error on the measured displacement with the encoder is 40 nm.
|
The maximum error on the measured displacement with the encoder is 40 nm.
|
||||||
This quite negligible compared to the measurement range of 0.5 mm.
|
This quite negligible compared to the measurement range of 0.5 mm.
|
||||||
|
|
||||||
The accuracy of the force sensor is around 1\% and therefore, we should expect to have an accuracy on the measured stiffness of at most 1\%.
|
The accuracy of the force sensor is around 1\% and therefore, we should expect to have an accuracy on the measured stiffness of at most 1\%.
|
||||||
\section{Estimation error due to Shear}
|
\paragraph{Estimation error due to Shear}
|
||||||
The effect of Shear on the measured displacement is simply:
|
The effect of Shear on the measured displacement is simply:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
D_s = \frac{F_x}{k_s}
|
D_s = \frac{F_x}{k_s}
|
||||||
@ -382,7 +373,7 @@ The estimated bending stiffness \(k_{\text{est}}\) will then be:
|
|||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
The measurement error due to Shear is 0.1 %
|
The measurement error due to Shear is 0.1 %
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\section{Estimation error due to force sensor compression}
|
\paragraph{Estimation error due to force sensor compression}
|
||||||
The measured displacement is not done directly at the joint's location.
|
The measured displacement is not done directly at the joint's location.
|
||||||
The force sensor compression will then induce an error on the joint's stiffness.
|
The force sensor compression will then induce an error on the joint's stiffness.
|
||||||
|
|
||||||
@ -405,7 +396,7 @@ The estimated bending stiffness \(k_{\text{est}}\) will then be:
|
|||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
The measurement error due to height estimation errors is 0.8 %
|
The measurement error due to height estimation errors is 0.8 %
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\section{Estimation error due to height estimation error}
|
\paragraph{Estimation error due to height estimation error}
|
||||||
Let's consider an error in the estimation of the height from the application of the force to the joint's center:
|
Let's consider an error in the estimation of the height from the application of the force to the joint's center:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
h_{\text{est}} = h (1 + \epsilon)
|
h_{\text{est}} = h (1 + \epsilon)
|
||||||
@ -424,16 +415,36 @@ And the stiffness estimation error is:
|
|||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
The measurement error due to height estimation errors of 0.2 [mm] is 1.6 %
|
The measurement error due to height estimation errors of 0.2 [mm] is 1.6 %
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\section{Conclusion}
|
\paragraph*{Conclusion}
|
||||||
Based on the above analysis, we should expect no better than few percent of accuracy using the current test-bench.
|
Based on the above analysis, we should expect no better than few percent of accuracy using the current test-bench.
|
||||||
This is well enough for a first estimation of the bending stiffness of the flexible joints.
|
This is well enough for a first estimation of the bending stiffness of the flexible joints.
|
||||||
|
\chapter{Bending Stiffness Measurement}
|
||||||
|
\label{sec:test_joints_bending_stiffness_meas}
|
||||||
|
\section{Introduction}
|
||||||
|
|
||||||
Another measurement bench allowing better accuracy will be developed.
|
A picture of the bench used to measure the X-bending stiffness of the flexible joints is shown in Figure \ref{fig:test_joints_picture_bench_overview}.
|
||||||
\chapter{First Measurements}
|
A closer view on flexible joint is shown in Figure \ref{fig:test_joints_picture_bench_close} and a zoom on the force sensor tip is shown in Figure \ref{fig:test_joints_picture_bench_zoom}.
|
||||||
\label{sec:test_joints_first_measurements}
|
|
||||||
\begin{itemize}
|
\begin{figure}[htbp]
|
||||||
\item \textbf{Encoder}: \href{doc/L-9517-9448-05-B\_Data\_sheet\_RESOLUTE\_BiSS\_en.pdf}{Renishaw Resolute 1nm}
|
\centering
|
||||||
\end{itemize}
|
\includegraphics[scale=1,width=\linewidth]{figs/test_joints_picture_bench_overview.jpg}
|
||||||
|
\caption{\label{fig:test_joints_picture_bench_overview}Side view of the flexible joint stiffness bench. X-Bending stiffness is measured.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=1,width=\linewidth]{figs/test_joints_picture_bench_close.jpg}
|
||||||
|
\caption{\label{fig:test_joints_picture_bench_close}Zoom on the flexible joint - Side view}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=1,width=0.4\linewidth]{figs/test_joints_picture_bench_zoom.jpg}
|
||||||
|
\caption{\label{fig:test_joints_picture_bench_zoom}Zoom on the tip of the force sensor}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
The same bench used to measure the Y-bending stiffness of the flexible joint by pivoting the flexible joint by 90 degrees.
|
||||||
\section{Force Sensor Calibration}
|
\section{Force Sensor Calibration}
|
||||||
|
|
||||||
\begin{note}
|
\begin{note}
|
||||||
@ -518,33 +529,6 @@ And we obtain the following stiffness:
|
|||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
k = 0.76 [N/um]
|
k = 0.76 [N/um]
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\chapter{Bending Stiffness Measurement}
|
|
||||||
\label{sec:test_joints_bending_stiffness_meas}
|
|
||||||
\section{Introduction}
|
|
||||||
|
|
||||||
A picture of the bench used to measure the X-bending stiffness of the flexible joints is shown in Figure \ref{fig:test_joints_picture_bench_overview}.
|
|
||||||
A closer view on flexible joint is shown in Figure \ref{fig:test_joints_picture_bench_close} and a zoom on the force sensor tip is shown in Figure \ref{fig:test_joints_picture_bench_zoom}.
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
|
||||||
\centering
|
|
||||||
\includegraphics[scale=1,width=\linewidth]{figs/test_joints_picture_bench_overview.jpg}
|
|
||||||
\caption{\label{fig:test_joints_picture_bench_overview}Side view of the flexible joint stiffness bench. X-Bending stiffness is measured.}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
|
||||||
\centering
|
|
||||||
\includegraphics[scale=1,width=\linewidth]{figs/test_joints_picture_bench_close.jpg}
|
|
||||||
\caption{\label{fig:test_joints_picture_bench_close}Zoom on the flexible joint - Side view}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
|
||||||
\centering
|
|
||||||
\includegraphics[scale=1,width=0.4\linewidth]{figs/test_joints_picture_bench_zoom.jpg}
|
|
||||||
\caption{\label{fig:test_joints_picture_bench_zoom}Zoom on the tip of the force sensor}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
The same bench used to measure the Y-bending stiffness of the flexible joint by pivoting the flexible joint by 90 degrees.
|
|
||||||
\section{Analysis of one measurement}
|
\section{Analysis of one measurement}
|
||||||
|
|
||||||
In this section is shown how the data are analysis in order to measured:
|
In this section is shown how the data are analysis in order to measured:
|
||||||
@ -597,7 +581,6 @@ Now, let's estimate the bending stiffness and stroke for all the flexible joints
|
|||||||
The results are summarized in Table \ref{tab:test_joints_meas_results_x_dir} for the X direction and in Table \ref{tab:test_joints_meas_results_y_dir} for the Y direction.
|
The results are summarized in Table \ref{tab:test_joints_meas_results_x_dir} for the X direction and in Table \ref{tab:test_joints_meas_results_y_dir} for the Y direction.
|
||||||
|
|
||||||
\begin{table}[htbp]
|
\begin{table}[htbp]
|
||||||
\caption{\label{tab:test_joints_meas_results_x_dir}Measured characteristics of the flexible joints in the X direction}
|
|
||||||
\centering
|
\centering
|
||||||
\begin{tabularx}{0.6\linewidth}{cccc}
|
\begin{tabularx}{0.6\linewidth}{cccc}
|
||||||
\toprule
|
\toprule
|
||||||
@ -621,10 +604,11 @@ The results are summarized in Table \ref{tab:test_joints_meas_results_x_dir} for
|
|||||||
16 & 6.0 & 148.7 & 17.5\\
|
16 & 6.0 & 148.7 & 17.5\\
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
|
\caption{\label{tab:test_joints_meas_results_x_dir}Measured characteristics of the flexible joints in the X direction}
|
||||||
|
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\begin{table}[htbp]
|
\begin{table}[htbp]
|
||||||
\caption{\label{tab:test_joints_meas_results_y_dir}Measured characteristics of the flexible joints in the Y direction}
|
|
||||||
\centering
|
\centering
|
||||||
\begin{tabularx}{0.6\linewidth}{cccc}
|
\begin{tabularx}{0.6\linewidth}{cccc}
|
||||||
\toprule
|
\toprule
|
||||||
@ -648,6 +632,8 @@ The results are summarized in Table \ref{tab:test_joints_meas_results_x_dir} for
|
|||||||
16 & 5.3 & 291.1 & 17.7\\
|
16 & 5.3 & 291.1 & 17.7\\
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
|
\caption{\label{tab:test_joints_meas_results_y_dir}Measured characteristics of the flexible joints in the Y direction}
|
||||||
|
|
||||||
\end{table}
|
\end{table}
|
||||||
\section{Analysis}
|
\section{Analysis}
|
||||||
The dispersion of the measured bending stiffness is shown in Figure \ref{fig:test_joints_bend_stiff_hist} and of the bending stroke in Figure \ref{fig:test_joints_bend_stroke_hist}.
|
The dispersion of the measured bending stiffness is shown in Figure \ref{fig:test_joints_bend_stiff_hist} and of the bending stroke in Figure \ref{fig:test_joints_bend_stroke_hist}.
|
||||||
@ -671,7 +657,7 @@ The relation between the measured beam thickness and the measured bending stiffn
|
|||||||
\includegraphics[scale=1]{figs/test_joints_thickness_stiffness.png}
|
\includegraphics[scale=1]{figs/test_joints_thickness_stiffness.png}
|
||||||
\caption{\label{fig:test_joints_thickness_stiffness}Measured bending stiffness as a function of the estimated flexible beam thickness}
|
\caption{\label{fig:test_joints_thickness_stiffness}Measured bending stiffness as a function of the estimated flexible beam thickness}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\section{Conclusion}
|
\section*{Conclusion}
|
||||||
\begin{important}
|
\begin{important}
|
||||||
The measured bending stiffness and bending stroke of the flexible joints are very close to the estimated one using a Finite Element Model.
|
The measured bending stiffness and bending stroke of the flexible joints are very close to the estimated one using a Finite Element Model.
|
||||||
|
|
||||||
|