Christophe's corrections
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 217 KiB After Width: | Height: | Size: 222 KiB |
BIN
figs/test_joints_force_sensor_calib_picture.png
Normal file
After Width: | Height: | Size: 767 KiB |
BIN
figs/test_joints_force_sensor_calib_picture.svg
Normal file
After Width: | Height: | Size: 313 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
@ -1,6 +1,8 @@
|
||||
\usepackage{float}
|
||||
\usepackage{enumitem}
|
||||
|
||||
\usepackage{layout}
|
||||
|
||||
\usepackage{caption,tabularx,booktabs}
|
||||
\usepackage{bm}
|
||||
|
||||
|
@ -140,10 +140,10 @@ Goal:
|
||||
|
||||
* Introduction :ignore:
|
||||
|
||||
At both ends of the nano-hexapod struts, a flexible spherical joint is used.
|
||||
At both ends of the nano-hexapod struts, a flexible joint is used.
|
||||
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.
|
||||
|
||||
Deviations from this ideal properties will impact the dynamics of the Nano-Hexapod and could limit the attainable performances.
|
||||
Deviations from this ideal properties will impact the dynamics of the Nano-Hexapod and could limit the attainable performance.
|
||||
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
|
||||
@ -190,7 +190,7 @@ It serves several functions as shown in Figure ref:fig:test_joints_iso, such as:
|
||||
#+end_subfigure
|
||||
#+end_figure
|
||||
|
||||
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.
|
||||
16 flexible joints have been ordered (shown in Figure ref:fig:test_joints_received) such that some selection can be made for the 12 that will be used on the nano-hexapod.
|
||||
|
||||
#+name: fig:test_joints_picture
|
||||
#+caption: Pictures of the received 16 flexible joints
|
||||
@ -210,7 +210,7 @@ It serves several functions as shown in Figure ref:fig:test_joints_iso, such as:
|
||||
#+end_subfigure
|
||||
#+end_figure
|
||||
|
||||
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.
|
||||
In this document, the received flexible joints are characterized to make sure they fulfill the requirements and such that they can well be modelled.
|
||||
|
||||
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.
|
||||
@ -218,45 +218,6 @@ The development of this test bench is presented in Section ref:sec:test_joints_t
|
||||
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
|
||||
#+caption: Report sections and corresponding Matlab files
|
||||
#+attr_latex: :environment tabularx :width 0.6\linewidth :align lX
|
||||
#+attr_latex: :center t :booktabs t
|
||||
| *Sections* | *Matlab File* |
|
||||
|----------------------------------------------------+--------------------------------------|
|
||||
| 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
|
||||
:PROPERTIES:
|
||||
:header-args:matlab+: :tangle matlab/test_joints_1_dim_meas.m
|
||||
@ -289,25 +250,24 @@ The dimensions of the flexible part in the Y-Z plane will contribute to the X-be
|
||||
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.
|
||||
What is typically observed 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})
|
||||
#+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_setup}) and a image is obtained with which the gap can be estimated (\subref{fig:test_joints_profilometer_image})
|
||||
#+attr_latex: :options [htbp]
|
||||
#+begin_figure
|
||||
#+attr_latex: :caption \subcaption{\label{fig:test_joints_profilometer_image}Flexible joint fixed on the profilometer}
|
||||
#+attr_latex: :caption \subcaption{\label{fig:test_joints_profilometer_setup}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]]
|
||||
[[file:figs/test_joints_profilometer_setup.jpg]]
|
||||
#+end_subfigure
|
||||
#+attr_latex: :caption \subcaption{\label{fig:test_joints_profilometer_setup}Obtain image to estimate the gap}
|
||||
#+attr_latex: :caption \subcaption{\label{fig:test_joints_profilometer_image}Picture of the gap}
|
||||
#+attr_latex: :options {0.49\textwidth}
|
||||
#+begin_subfigure
|
||||
#+attr_latex: :width 0.95\linewidth
|
||||
[[file:figs/test_joints_profilometer_setup.png]]
|
||||
[[file:figs/test_joints_profilometer_image.png]]
|
||||
#+end_subfigure
|
||||
#+end_figure
|
||||
|
||||
@ -317,7 +277,7 @@ Four gaps are measured for each flexible joints (2 in the $x$ direction and 2 in
|
||||
The "beam thickness" is then estimated to be the mean between the gaps measured on opposite sides.
|
||||
|
||||
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.
|
||||
The measured thickness is less than 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.
|
||||
|
||||
However, what is more important than the true value of the thickness is the consistency between all the flexible joints.
|
||||
|
||||
@ -393,7 +353,7 @@ Using this profilometer allowed to detect flexible joints with manufacturing def
|
||||
#+end_subfigure
|
||||
#+end_figure
|
||||
|
||||
* Development of the Measurement Test Bench
|
||||
* Compliance Measurement Test Bench
|
||||
:PROPERTIES:
|
||||
:header-args:matlab+: :tangle matlab/test_joints_2_bench_dimensioning.m
|
||||
:END:
|
||||
@ -432,7 +392,6 @@ Then, the bending stiffness can be computed from equation eqref:eq:test_joints_b
|
||||
** Measurement principle
|
||||
<<ssec:test_joints_meas_principle>>
|
||||
**** Torque and Rotation measurement
|
||||
|
||||
In order to apply torque $T_{y}$ between the two mobile parts of the flexible joint, a known "linear" force $F_{x}$ can be applied instead at the certain height $h$ with respect to the rotation point.
|
||||
In that case the equivalent applied torque can be estimated from equation eqref:eq:test_joints_force_torque_distance.
|
||||
Note that 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.
|
||||
@ -463,11 +422,10 @@ One part of the flexible joint is fixed to a rigid frame while a (known) force $
|
||||
The deflection of the joint $d_x$ is measured by a displacement sensor.
|
||||
|
||||
#+name: fig:test_joints_bench_working_principle
|
||||
#+caption: Workind principle of the test bench used to estimate the bending stiffness $k_{R_y}$ of the flexible joints by measuring $F_x$, $d_x$ and $h$
|
||||
#+caption: Working principle of the test bench used to estimate the bending stiffness $k_{R_y}$ of the flexible joints by measuring $F_x$, $d_x$ and $h$
|
||||
[[file:figs/test_joints_bench_working_principle.png]]
|
||||
|
||||
**** Required external applied force
|
||||
|
||||
The bending stiffness is foreseen to be $k_{R_y} \approx k_{R_x} \approx 5\,\frac{Nm}{rad}$ and its stroke $\theta_{y,\text{max}}\approx \theta_{x,\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 = 22.5\,mm$ (see Figure ref:fig:test_joints_bench_working_principle).
|
||||
|
||||
@ -495,7 +453,6 @@ The measurement range of the force sensor should then be higher than $5.5\,N$.
|
||||
\end{equation}
|
||||
|
||||
**** Required actuator stroke and sensors range
|
||||
|
||||
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 given by eqref:eq:test_joints_max_stroke.
|
||||
In order to test the full range of the flexible joint, the means of applying a force (explained in the next section) should allow a motion of at least $0.5\,mm$.
|
||||
@ -510,47 +467,16 @@ d_{x,\text{max}} = h \tan(R_{x,\text{max}}) \approx 0.5\,mm
|
||||
dxmax = h*tan(Rxmax);
|
||||
#+end_src
|
||||
|
||||
** Developed test bench
|
||||
<<ssec:test_joints_test_bench>>
|
||||
|
||||
As explained in Section ref:ssec:test_joints_meas_principle, the flexible joint's bending stiffness is estimated by applying a known force to the flexible joint's tip and by measuring its deflection at the same point.
|
||||
|
||||
The force is applied using a load cell[fn:2] such that the applied force to the flexible joint's tip is directly measured.
|
||||
In order to control the height and direction of the applied force, a cylinder cut in half is fixed at the tip of the force sensor (pink element in Figure ref:fig:test_joints_bench_side) that initially had a flat surface.
|
||||
This way, the contact between the flexible joint cylindrical tip and the force sensor is a point (intersection of two cylinders) at a precise height, and the force is applied in a known direction.
|
||||
To translate the load cell at a constant height, it is fixed to a translation stage[fn:3] which is moved by hand.
|
||||
|
||||
Instead of measuring the displacement directly at the tip of the flexible joint (with a probe or an interferometer for instance), the displacement of the load cell itself is measured.
|
||||
To do so, an encoder[fn:4] is used that measures the motion of a ruler.
|
||||
This ruler is fixed to the translation stage in line (i.e. at the same height) with the application point to reduce Abbe errors (see Figure ref:fig:test_joints_bench_overview).
|
||||
Indirectly measuring the deflection of the flexible joint induces some errors due to the limited stiffness between the tip of the force sensor and the ruler.
|
||||
Such error will be estimated in Section ref:ssec:test_joints_error_budget.
|
||||
|
||||
The flexible joint can be rotated by 90 degrees in order to measure the bending stiffness in the two directions.
|
||||
The obtained CAD design of the measurement bench is shown in Figure ref:fig:test_joints_bench_overview while a zoom on the flexible joint with the associated important quantities is shown in Figure ref:fig:test_joints_bench_side.
|
||||
|
||||
#+name: fig:test_joints_bench
|
||||
#+caption: CAD view of the test bench developped to measure the bending stiffness of the flexible joints. Different parts are shown in (\subref{fig:test_joints_bench_overview}) while a zoom on the flexible joint is shown in (\subref{fig:test_joints_bench_side})
|
||||
#+attr_latex: :options [htbp]
|
||||
#+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: :height 6cm
|
||||
[[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: :height 6cm
|
||||
[[file:figs/test_joints_bench_side.png]]
|
||||
#+end_subfigure
|
||||
#+end_figure
|
||||
**** Force and Displacement measurements
|
||||
In order to know the applied force, a load cell will be used in series with the mechanism that applied the force.
|
||||
The measured deflection of the flexible joint will be indirectly estimated by from the displacement of the force sensor itself (see Section ref:ssec:test_joints_test_bench).
|
||||
Indirectly measuring the deflection of the flexible joint induces some errors due to the limited stiffness between the force sensor and the displacement sensor.
|
||||
Such effect will be estimated in the error budget (Section ref:ssec:test_joints_error_budget)
|
||||
|
||||
** Error budget
|
||||
<<ssec:test_joints_error_budget>>
|
||||
**** Introduction :ignore:
|
||||
In order to estimate the accuracy of the measured bending stiffness that can be obtained using this measurement bench, an error budget is performed.
|
||||
In order to estimate the accuracy of the measured bending stiffness that can be obtained using this measurement principle, an error budget is performed.
|
||||
|
||||
Based on equation eqref:eq:test_joints_stiff_displ_force, several errors can impact the accuracy of the measured bending stiffness:
|
||||
- Errors in the measured torque $M_x, M_y$: this is mainly due to inaccuracies of the load cell and of the height estimation $h$
|
||||
@ -562,21 +488,6 @@ Let's first estimate the displacement induced only by the bending stiffness.
|
||||
d_{x,b} = h \tan(\theta_y) = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right)
|
||||
\end{equation}
|
||||
|
||||
# From equation eqref:eq:test_joints_dbx, we can compute the bending stiffness:
|
||||
# \begin{equation}
|
||||
# k_{R_y} = \frac{F_x \cdot h}{\tan^{-1}\left( \frac{D_b}{h} \right)}
|
||||
# \end{equation}
|
||||
|
||||
# For small displacement, we have
|
||||
# \begin{equation}
|
||||
# \boxed{k_{R_y} \approx h^2 \frac{F_x}{d_x}}
|
||||
# \end{equation}
|
||||
|
||||
# And therefore, to precisely measure $k_{R_y}$, we need to:
|
||||
# - precisely measure the motion $d_x$
|
||||
# - precisely measure the applied force $F_x$
|
||||
# - precisely now the height of the force application point $h$
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
%% Stiffness
|
||||
ka = 94e6; % Axial Stiffness [N/m]
|
||||
@ -660,7 +571,7 @@ The computed bending stiffness will be eqref:eq:test_joints_stiffness_height_err
|
||||
The height estimation is foreseen to be accurate to within $|\delta h| < 0.4\,mm$ which corresponds to a stiffness error $\epsilon_h < 3.5\,\%$.
|
||||
|
||||
**** Estimation error due to force and displacement sensors accuracy
|
||||
The maximum error of the measured displacement due the encoder non-linearity is $40\,nm$.
|
||||
An optical encoder is used to measure the displacement (see Section ref:ssec:test_joints_test_bench) whose maximum non-linearity is $40\,nm$.
|
||||
As the measured displacement is foreseen to be $0.5\,mm$, the error $\epsilon_d$ due to the encoder non linearity is very small $\epsilon_d < 0.01\,\%$.
|
||||
|
||||
The accuracy of the load cell is specified at $1\,\%$ and therefore, estimation errors of the bending stiffness due to the limited load cell accuracy should be $\epsilon_F < 1\,\%$
|
||||
@ -683,6 +594,41 @@ An overall accuracy of $\approx 5\,\%$ can be expected with this measurement ben
|
||||
| Displacement sensor | $\epsilon_d < 0.01\,\%$ |
|
||||
| Force sensor | $\epsilon_F < 1\,\%$ |
|
||||
|
||||
** Mechanical Design
|
||||
<<ssec:test_joints_test_bench>>
|
||||
|
||||
As explained in Section ref:ssec:test_joints_meas_principle, the flexible joint's bending stiffness is estimated by applying a known force to the flexible joint's tip and by measuring its deflection at the same point.
|
||||
|
||||
The force is applied using a load cell[fn:2] such that the applied force to the flexible joint's tip is directly measured.
|
||||
In order to control the height and direction of the applied force, a cylinder cut in half is fixed at the tip of the force sensor (pink element in Figure ref:fig:test_joints_bench_side) that initially had a flat surface.
|
||||
This way, the contact between the flexible joint cylindrical tip and the force sensor is a point (intersection of two cylinders) at a precise height, and the force is applied in a known direction.
|
||||
To translate the load cell at a constant height, it is fixed to a translation stage[fn:3] which is moved by hand.
|
||||
|
||||
Instead of measuring the displacement directly at the tip of the flexible joint (with a probe or an interferometer for instance), the displacement of the load cell itself is measured.
|
||||
To do so, an encoder[fn:4] is used that measures the motion of a ruler.
|
||||
This ruler is fixed to the translation stage in line (i.e. at the same height) with the application point to reduce Abbe errors (see Figure ref:fig:test_joints_bench_overview).
|
||||
|
||||
The flexible joint can be rotated by 90 degrees in order to measure the bending stiffness in the two directions.
|
||||
The obtained CAD design of the measurement bench is shown in Figure ref:fig:test_joints_bench_overview while a zoom on the flexible joint with the associated important quantities is shown in Figure ref:fig:test_joints_bench_side.
|
||||
|
||||
#+name: fig:test_joints_bench
|
||||
#+caption: CAD view of the test bench developped to measure the bending stiffness of the flexible joints. Different parts are shown in (\subref{fig:test_joints_bench_overview}) while a zoom on the flexible joint is shown in (\subref{fig:test_joints_bench_side})
|
||||
#+attr_latex: :options [htbp]
|
||||
#+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: :height 6cm
|
||||
[[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: :height 6cm
|
||||
[[file:figs/test_joints_bench_side.png]]
|
||||
#+end_subfigure
|
||||
#+end_figure
|
||||
|
||||
* Bending Stiffness Measurement
|
||||
:PROPERTIES:
|
||||
:header-args:matlab+: :tangle ./matlab/test_joints_3_bending_stiff_meas.m
|
||||
@ -694,7 +640,7 @@ A picture of the bench used to measure the X-bending stiffness of the flexible j
|
||||
A closer view on the force sensor tip is shown in Figure ref:fig:test_joints_picture_bench_zoom.
|
||||
|
||||
#+name: fig:test_joints_picture_bench
|
||||
#+caption: Caption with reference to sub figure (\subref{fig:fig_label_a})
|
||||
#+caption: Manufactured test bench for compliance measurement of the flexible joints
|
||||
#+attr_latex: :options [htbp]
|
||||
#+begin_figure
|
||||
#+attr_latex: :caption \subcaption{\label{fig:test_joints_picture_bench_overview}Picture of the measurement bench}
|
||||
@ -739,7 +685,7 @@ The contact between the two load cells is well defined as one has a spherical in
|
||||
|
||||
The measured forces are compared in Figure ref:fig:test_joints_force_sensor_calib_fit.
|
||||
The gain mismatch between the two load cells is approximately $4\,\%$ which is higher than what was specified in the data-sheets.
|
||||
However, the estimated non-linearity is bellow $1\,\%$ for forces between $0.5\,N$ and $5\,N$.
|
||||
However, the estimated non-linearity is bellow $0.2\,\%$ for forces between $1\,N$ and $5\,N$.
|
||||
|
||||
#+begin_src matlab
|
||||
%% Force Sensor Calibration
|
||||
@ -751,8 +697,9 @@ F = F - mean(F( t > 0.5 & t < 1.0)); % FC2231 [N]
|
||||
Fc = Fc - mean(Fc(t > 0.5 & t < 1.0)); % XFL212R [N]
|
||||
|
||||
% Only get useful stroke
|
||||
F = F( t > 1.55 & t < 2.4);
|
||||
Fc = Fc(t > 1.55 & t < 2.4);
|
||||
F = F( t > 2 & t < 2.2);
|
||||
Fc = Fc(t > 2 & t < 2.2);
|
||||
t = t( t > 2 & t < 2.2);
|
||||
|
||||
% Make a line fit
|
||||
fit_F = polyfit(Fc, F, 1);
|
||||
@ -761,19 +708,29 @@ fit_F = polyfit(Fc, F, 1);
|
||||
F_gain_mismatch = 100*(1 - fit_F(1)); % in %
|
||||
|
||||
% Estimate non-linearity of the sensors
|
||||
F_non_linearity = 100*(F - (Fc*fit_F(1) + fit_F(2)))./F; % in %
|
||||
F_non_linearity = 100*(F - (Fc*fit_F(1) + fit_F(2)))./Fc; % in %
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
%% Measured two forces and linear fit
|
||||
figure;
|
||||
yyaxis left
|
||||
hold on;
|
||||
plot(Fc, F, 'k-', 'DisplayName', 'Raw Data');
|
||||
plot(Fc([1,end]), Fc([1,end])*fit_F(1) + fit_F(2), '--', 'DisplayName', 'Line Fit');
|
||||
plot(Fc, F, '.', 'DisplayName', 'Raw Data');
|
||||
plot([0, 6], [0,6]*fit_F(1) + fit_F(2), '-', 'color', [colors(3,:), 0.5], 'DisplayName', 'Line Fit');
|
||||
hold off;
|
||||
xlabel('XFL212R [N]'); ylabel('FC2231 [N]');
|
||||
xlim([0.5,5.5]); ylim([0.5,5.5]);
|
||||
legend('location', 'southeast', 'FontSize', 8);
|
||||
xlim([0,6]); ylim([0,6]);
|
||||
xticks([0:6])
|
||||
yticks([0:6])
|
||||
|
||||
yyaxis right
|
||||
plot(Fc, movmean(F_non_linearity, 200), '-', 'DisplayName', 'Non linearity');
|
||||
ylim([-0.15, 0.15]);
|
||||
ylabel('Non Linearity [$\%$]')
|
||||
|
||||
leg = legend('location', 'southeast', 'FontSize', 8, 'NumColumns', 1);
|
||||
leg.ItemTokenSize(1) = 15;
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file none
|
||||
@ -781,16 +738,16 @@ exportFig('figs/test_joints_force_sensor_calib_fit.pdf', 'width', 'half', 'heigh
|
||||
#+end_src
|
||||
|
||||
#+name: fig:test_joints_force_sensor_calib
|
||||
#+caption: Estimation of the load cell accuracy. A picture of the measurement bench is shown in (\subref{fig:test_joints_force_sensor_calib_picture}). Comparison of the two measured forces is made in (\subref{fig:test_joints_force_sensor_calib_fit})
|
||||
#+caption: Estimation of the load cell accuracy by comparing the measured force of two load cells. A picture of the measurement bench is shown in (\subref{fig:test_joints_force_sensor_calib_picture}). Comparison of the two measured forces and estimated non-linearity are shown in (\subref{fig:test_joints_force_sensor_calib_fit})
|
||||
#+attr_latex: :options [htbp]
|
||||
#+begin_figure
|
||||
#+attr_latex: :caption \subcaption{\label{fig:test_joints_force_sensor_calib_picture}Zoom on the two force sensors in contact}
|
||||
#+attr_latex: :caption \subcaption{\label{fig:test_joints_force_sensor_calib_picture}Zoom on the two load cells in contact}
|
||||
#+attr_latex: :options {0.49\textwidth}
|
||||
#+begin_subfigure
|
||||
#+attr_latex: :height 5.5cm
|
||||
[[file:figs/test_joints_force_sensor_calib_picture.jpg]]
|
||||
[[file:figs/test_joints_force_sensor_calib_picture.png]]
|
||||
#+end_subfigure
|
||||
#+attr_latex: :caption \subcaption{\label{fig:test_joints_force_sensor_calib_fit}Measured two force and linear fit}
|
||||
#+attr_latex: :caption \subcaption{\label{fig:test_joints_force_sensor_calib_fit}Measured two forces}
|
||||
#+attr_latex: :options {0.49\textwidth}
|
||||
#+begin_subfigure
|
||||
#+attr_latex: :height 5.5cm
|
||||
@ -800,10 +757,10 @@ exportFig('figs/test_joints_force_sensor_calib_fit.pdf', 'width', 'half', 'heigh
|
||||
|
||||
** Load Cell Stiffness
|
||||
The objective of this measurement is to estimate the stiffness $k_F$ of the force sensor.
|
||||
To do so, a stiff element (much stiffer than the estimated $k_F \approx 1\,N/\mu m$) is fixed in front of the force sensor as shown in Figure ref:fig:test_joints_meas_force_sensor_stiffness_picture.
|
||||
To do so, a stiff element (much stiffer than the estimated $k_F \approx 1\,N/\mu m$) is mounted in front of the force sensor as shown in Figure ref:fig:test_joints_meas_force_sensor_stiffness_picture.
|
||||
Then, the force sensor is pushed again this stiff element while the force and the encoder displacement are measured.
|
||||
Measured displacement as a function of the force is shown in Figure ref:fig:test_joints_force_sensor_stiffness_fit.
|
||||
The load cell stiffness can then be estimated by computing a linear fit, and is found to be $k_F \approx 0.75\,N/\mu m$.
|
||||
The load cell stiffness can then be estimated by computing a linear fit, and is found to be $k_F \approx 0.68\,N/\mu m$.
|
||||
|
||||
#+begin_src matlab
|
||||
%% Estimaetd load cell stiffness
|
||||
@ -819,7 +776,7 @@ d = d( t > 4.55 & t < 7.24); d = d - d(1);
|
||||
t = t( t > 4.55 & t < 7.24);
|
||||
|
||||
% Linear fit
|
||||
fit_k = polyfit(F, d, 1);
|
||||
fit_k = polyfit(F(F<10), d(F<10), 1);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
@ -857,7 +814,7 @@ exportFig('figs/test_joints_force_sensor_stiffness_fit.pdf', 'width', 'half', 'h
|
||||
#+end_figure
|
||||
|
||||
** Bending Stiffness estimation
|
||||
The actual stiffness measurement in now performed by manually moving the translation stage from a start position where the force sensor is not yet in contact with the flexible joint to a position where flexible joint is on its mechanical stop.
|
||||
The actual stiffness measurement is now estimated by manually moving the translation stage from a start position where the force sensor is not yet in contact with the flexible joint to a position where flexible joint is on its mechanical stop.
|
||||
|
||||
The measured force and displacement as a function of time are shown in Figure ref:fig:test_joints_meas_bend_time.
|
||||
Three regions can be observed: first the force sensor tip is not in contact with the flexible joint and the measured force is zero, then the flexible joint deforms linearly, finally the flexible joint comes in contact with the mechanical stops.
|
||||
@ -1172,7 +1129,7 @@ exportFig('figs/test_joints_bend_stiff_hist.pdf', 'width', 'half', 'height', 'no
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
|
||||
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 ($k_{R_x} = k_{R_y} = 5\,Nm/\text{rad}$).
|
||||
|
||||
The characteristics of all the flexible joints are also quite close to each other.
|
||||
This should allow us to model them with unique parameters.
|
||||
|
@ -1,4 +1,4 @@
|
||||
% Created 2024-04-06 Sat 00:30
|
||||
% Created 2024-04-11 Thu 16:07
|
||||
% Intended LaTeX compiler: pdflatex
|
||||
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
pdftitle={Flexible Joints - Test Bench},
|
||||
pdfkeywords={},
|
||||
pdfsubject={},
|
||||
pdfcreator={Emacs 29.3 (Org mode 9.7)},
|
||||
pdfcreator={Emacs 29.3 (Org mode 9.6)},
|
||||
pdflang={English}}
|
||||
\usepackage{biblatex}
|
||||
|
||||
@ -22,10 +22,11 @@
|
||||
\tableofcontents
|
||||
|
||||
\clearpage
|
||||
At both ends of the nano-hexapod struts, a flexible spherical joint is used.
|
||||
|
||||
At both ends of the nano-hexapod struts, a flexible joint is used.
|
||||
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.
|
||||
|
||||
Deviations from this ideal properties will impact the dynamics of the Nano-Hexapod and could limit the attainable performances.
|
||||
Deviations from this ideal properties will impact the dynamics of the Nano-Hexapod and could limit the attainable performance.
|
||||
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]
|
||||
@ -76,7 +77,7 @@ The rotation axes are represented by the dashed lines which are intersecting
|
||||
\caption{\label{fig:test_joints_schematic}Geometry of the optimized flexible joints}
|
||||
\end{figure}
|
||||
|
||||
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.
|
||||
16 flexible joints have been ordered (shown in Figure \ref{fig:test_joints_received}) such that some selection can be made for the 12 that will be used on the nano-hexapod.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\begin{subfigure}{0.64\textwidth}
|
||||
@ -94,7 +95,7 @@ The rotation axes are represented by the dashed lines which are intersecting
|
||||
\caption{\label{fig:test_joints_picture}Pictures of the received 16 flexible joints}
|
||||
\end{figure}
|
||||
|
||||
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.
|
||||
In this document, the received flexible joints are characterized to make sure they fulfill the requirements and such that they can well be modelled.
|
||||
|
||||
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.
|
||||
@ -102,19 +103,6 @@ The development of this test bench is presented in Section \ref{sec:test_joints_
|
||||
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]
|
||||
\caption{\label{tab:test_joints_section_matlab_code}Report sections and corresponding Matlab files}
|
||||
\centering
|
||||
\begin{tabularx}{0.6\linewidth}{lX}
|
||||
\toprule
|
||||
\textbf{Sections} & \textbf{Matlab File}\\
|
||||
\midrule
|
||||
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
|
||||
\end{tabularx}
|
||||
\end{table}
|
||||
\chapter{Dimensional Measurements}
|
||||
\label{sec:test_joints_flex_dim_meas}
|
||||
\section{Measurement Bench}
|
||||
@ -123,32 +111,32 @@ The dimensions of the flexible part in the Y-Z plane will contribute to the X-be
|
||||
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}.
|
||||
What is typically observed 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\),
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\begin{subfigure}{0.49\textwidth}
|
||||
\begin{center}
|
||||
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_profilometer_image.jpg}
|
||||
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_profilometer_setup.jpg}
|
||||
\end{center}
|
||||
\subcaption{\label{fig:test_joints_profilometer_image}Flexible joint fixed on the profilometer}
|
||||
\subcaption{\label{fig:test_joints_profilometer_setup}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}
|
||||
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_profilometer_image.png}
|
||||
\end{center}
|
||||
\subcaption{\label{fig:test_joints_profilometer_setup}Obtain image to estimate the gap}
|
||||
\subcaption{\label{fig:test_joints_profilometer_image}Picture of 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})}
|
||||
\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_setup}) and a image is obtained with which the gap can be estimated (\subref{fig:test_joints_profilometer_image})}
|
||||
\end{figure}
|
||||
|
||||
\section{Measurement Results}
|
||||
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.
|
||||
|
||||
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.
|
||||
The measured thickness is less than 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.
|
||||
|
||||
However, what is more important than the true value of the thickness is the consistency between all the flexible joints.
|
||||
|
||||
@ -157,6 +145,7 @@ However, what is more important than the true value of the thickness is the cons
|
||||
\includegraphics[scale=1]{figs/test_joints_size_hist.png}
|
||||
\caption{\label{fig:test_joints_size_hist}Histogram for the (16x2) measured beams' thickness}
|
||||
\end{figure}
|
||||
|
||||
\section{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}).
|
||||
@ -176,7 +165,8 @@ Using this profilometer allowed to detect flexible joints with manufacturing def
|
||||
\end{subfigure}
|
||||
\caption{\label{fig:test_joints_bad}Example of two flexible joints that were considered unsatisfactory after visual inspection}
|
||||
\end{figure}
|
||||
\chapter{Development of the Measurement Test Bench}
|
||||
|
||||
\chapter{Compliance Measurement Test Bench}
|
||||
\label{sec:test_joints_test_bench_desc}
|
||||
The most important characteristic of the flexible joint to be measured is its bending stiffness \(k_{R_x} \approx k_{R_y}\).
|
||||
|
||||
@ -189,7 +179,6 @@ Then, the bending stiffness can be computed from equation \eqref{eq:test_joints_
|
||||
\section{Measurement principle}
|
||||
\label{ssec:test_joints_meas_principle}
|
||||
\paragraph{Torque and Rotation measurement}
|
||||
|
||||
In order to apply torque \(T_{y}\) between the two mobile parts of the flexible joint, a known ``linear'' force \(F_{x}\) can be applied instead at the certain height \(h\) with respect to the rotation point.
|
||||
In that case the equivalent applied torque can be estimated from equation \eqref{eq:test_joints_force_torque_distance}.
|
||||
Note that 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.
|
||||
@ -222,10 +211,10 @@ The deflection of the joint \(d_x\) is measured by a displacement sensor.
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{figs/test_joints_bench_working_principle.png}
|
||||
\caption{\label{fig:test_joints_bench_working_principle}Workind principle of the test bench used to estimate the bending stiffness \(k_{R_y}\) of the flexible joints by measuring \(F_x\), \(d_x\) and \(h\)}
|
||||
\caption{\label{fig:test_joints_bench_working_principle}Working principle of the test bench used to estimate the bending stiffness \(k_{R_y}\) of the flexible joints by measuring \(F_x\), \(d_x\) and \(h\)}
|
||||
\end{figure}
|
||||
\paragraph{Required external applied force}
|
||||
|
||||
\paragraph{Required external applied force}
|
||||
The bending stiffness is foreseen to be \(k_{R_y} \approx k_{R_x} \approx 5\,\frac{Nm}{rad}\) and its stroke \(\theta_{y,\text{max}}\approx \theta_{x,\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 = 22.5\,mm\) (see Figure \ref{fig:test_joints_bench_working_principle}).
|
||||
|
||||
@ -241,8 +230,8 @@ The measurement range of the force sensor should then be higher than \(5.5\,N\).
|
||||
\begin{equation}\label{eq:test_joints_max_force}
|
||||
F_{x,\text{max}} = \frac{k_{R_y} \theta_{y,\text{max}}}{h} \approx 5.5\,N
|
||||
\end{equation}
|
||||
\paragraph{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 corresponding stroke at the location of the force sensor is given by \eqref{eq:test_joints_max_stroke}.
|
||||
In order to test the full range of the flexible joint, the means of applying a force (explained in the next section) should allow a motion of at least \(0.5\,mm\).
|
||||
@ -251,43 +240,16 @@ Similarly, the measurement range of the displacement sensor should also be highe
|
||||
\begin{equation}\label{eq:test_joints_max_stroke}
|
||||
d_{x,\text{max}} = h \tan(R_{x,\text{max}}) \approx 0.5\,mm
|
||||
\end{equation}
|
||||
\section{Developed test bench}
|
||||
\label{ssec:test_joints_test_bench}
|
||||
|
||||
As explained in Section \ref{ssec:test_joints_meas_principle}, the flexible joint's bending stiffness is estimated by applying a known force to the flexible joint's tip and by measuring its deflection at the same point.
|
||||
\paragraph{Force and Displacement measurements}
|
||||
In order to know the applied force, a load cell will be used in series with the mechanism that applied the force.
|
||||
The measured deflection of the flexible joint will be indirectly estimated by from the displacement of the force sensor itself (see Section \ref{ssec:test_joints_test_bench}).
|
||||
Indirectly measuring the deflection of the flexible joint induces some errors due to the limited stiffness between the force sensor and the displacement sensor.
|
||||
Such effect will be estimated in the error budget (Section \ref{ssec:test_joints_error_budget})
|
||||
|
||||
The force is applied using a load cell\footnote{The load cell is FC22 from TE Connectivity. Measurement range is \(50\,N\). Specified accuracy is \(1\,\%\) of the full range} such that the applied force to the flexible joint's tip is directly measured.
|
||||
In order to control the height and direction of the applied force, a cylinder cut in half is fixed at the tip of the force sensor (pink element in Figure \ref{fig:test_joints_bench_side}) that initially had a flat surface.
|
||||
This way, the contact between the flexible joint cylindrical tip and the force sensor is a point (intersection of two cylinders) at a precise height, and the force is applied in a known direction.
|
||||
To translate the load cell at a constant height, it is fixed to a translation stage\footnote{V-408 PIMag\textsuperscript{\textregistered} linear stage is used. Crossed roller are used to guide the motion.} which is moved by hand.
|
||||
|
||||
Instead of measuring the displacement directly at the tip of the flexible joint (with a probe or an interferometer for instance), the displacement of the load cell itself is measured.
|
||||
To do so, an encoder\footnote{Resolute\texttrademark{} encoder with \(1\,nm\) resolution and \(\pm 40\,nm\) maximum non-linearity} is used that measures the motion of a ruler.
|
||||
This ruler is fixed to the translation stage in line (i.e. at the same height) with the application point to reduce Abbe errors (see Figure \ref{fig:test_joints_bench_overview}).
|
||||
Indirectly measuring the deflection of the flexible joint induces some errors due to the limited stiffness between the tip of the force sensor and the ruler.
|
||||
Such error will be estimated in Section \ref{ssec:test_joints_error_budget}.
|
||||
|
||||
The flexible joint can be rotated by 90 degrees in order to measure the bending stiffness in the two directions.
|
||||
The obtained CAD design of the measurement bench is shown in Figure \ref{fig:test_joints_bench_overview} while a zoom on the flexible joint with the associated important quantities is shown in Figure \ref{fig:test_joints_bench_side}.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\begin{subfigure}{0.78\textwidth}
|
||||
\begin{center}
|
||||
\includegraphics[scale=1,height=6cm]{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,height=6cm]{figs/test_joints_bench_side.png}
|
||||
\end{center}
|
||||
\subcaption{\label{fig:test_joints_bench_side} Zoom}
|
||||
\end{subfigure}
|
||||
\caption{\label{fig:test_joints_bench}CAD view of the test bench developped to measure the bending stiffness of the flexible joints. Different parts are shown in (\subref{fig:test_joints_bench_overview}) while a zoom on the flexible joint is shown in (\subref{fig:test_joints_bench_side})}
|
||||
\end{figure}
|
||||
\section{Error budget}
|
||||
\label{ssec:test_joints_error_budget}
|
||||
In order to estimate the accuracy of the measured bending stiffness that can be obtained using this measurement bench, an error budget is performed.
|
||||
In order to estimate the accuracy of the measured bending stiffness that can be obtained using this measurement principle, an error budget is performed.
|
||||
|
||||
Based on equation \eqref{eq:test_joints_stiff_displ_force}, several errors can impact the accuracy of the measured bending stiffness:
|
||||
\begin{itemize}
|
||||
@ -320,6 +282,7 @@ The estimated bending stiffness \(k_{\text{est}}\) then depends on the shear sti
|
||||
\end{equation}
|
||||
|
||||
With an estimated shear stiffness \(k_s = 13\,N/\mu m\) from the finite element model and an height \(h=25\,mm\), the estimation errors of the bending stiffness due to shear is \(\epsilon_s < 0.1\,\%\)
|
||||
|
||||
\paragraph{Effect of load cell limited stiffness}
|
||||
As explained in the previous section, because the measurement of the flexible joint deflection is indirectly made with the encoder, errors will be made if the load cell experiences some compression.
|
||||
|
||||
@ -331,6 +294,7 @@ The estimation error of the bending stiffness due to the limited stiffness of th
|
||||
\end{equation}
|
||||
|
||||
With an estimated load cell stiffness of \(k_f \approx 1\,N/\mu m\) (from the documentation), the errors due to the load cell limited stiffness is around \(\epsilon_f = 1\,\%\).
|
||||
|
||||
\paragraph{Estimation error due to height estimation error}
|
||||
Let's consider an error \(\delta h\) in the estimation of the height \(h\) as described by \eqref{eq:test_joints_est_h_error}.
|
||||
|
||||
@ -345,11 +309,13 @@ The computed bending stiffness will be \eqref{eq:test_joints_stiffness_height_er
|
||||
\end{equation}
|
||||
|
||||
The height estimation is foreseen to be accurate to within \(|\delta h| < 0.4\,mm\) which corresponds to a stiffness error \(\epsilon_h < 3.5\,\%\).
|
||||
|
||||
\paragraph{Estimation error due to force and displacement sensors accuracy}
|
||||
The maximum error of the measured displacement due the encoder non-linearity is \(40\,nm\).
|
||||
An optical encoder is used to measure the displacement (see Section \ref{ssec:test_joints_test_bench}) whose maximum non-linearity is \(40\,nm\).
|
||||
As the measured displacement is foreseen to be \(0.5\,mm\), the error \(\epsilon_d\) due to the encoder non linearity is very small \(\epsilon_d < 0.01\,\%\).
|
||||
|
||||
The accuracy of the load cell is specified at \(1\,\%\) and therefore, estimation errors of the bending stiffness due to the limited load cell accuracy should be \(\epsilon_F < 1\,\%\)
|
||||
|
||||
\paragraph{Conclusion}
|
||||
|
||||
The different sources of errors are summarized in Table \ref{tab:test_joints_error_budget}.
|
||||
@ -371,6 +337,40 @@ Force sensor & \(\epsilon_F < 1\,\%\)\\
|
||||
\bottomrule
|
||||
\end{tabularx}
|
||||
\end{table}
|
||||
|
||||
\section{Mechanical Design}
|
||||
\label{ssec:test_joints_test_bench}
|
||||
|
||||
As explained in Section \ref{ssec:test_joints_meas_principle}, the flexible joint's bending stiffness is estimated by applying a known force to the flexible joint's tip and by measuring its deflection at the same point.
|
||||
|
||||
The force is applied using a load cell\footnote{The load cell is FC22 from TE Connectivity. Measurement range is \(50\,N\). Specified accuracy is \(1\,\%\) of the full range} such that the applied force to the flexible joint's tip is directly measured.
|
||||
In order to control the height and direction of the applied force, a cylinder cut in half is fixed at the tip of the force sensor (pink element in Figure \ref{fig:test_joints_bench_side}) that initially had a flat surface.
|
||||
This way, the contact between the flexible joint cylindrical tip and the force sensor is a point (intersection of two cylinders) at a precise height, and the force is applied in a known direction.
|
||||
To translate the load cell at a constant height, it is fixed to a translation stage\footnote{V-408 PIMag\textsuperscript{\textregistered} linear stage is used. Crossed roller are used to guide the motion.} which is moved by hand.
|
||||
|
||||
Instead of measuring the displacement directly at the tip of the flexible joint (with a probe or an interferometer for instance), the displacement of the load cell itself is measured.
|
||||
To do so, an encoder\footnote{Resolute\texttrademark{} encoder with \(1\,nm\) resolution and \(\pm 40\,nm\) maximum non-linearity} is used that measures the motion of a ruler.
|
||||
This ruler is fixed to the translation stage in line (i.e. at the same height) with the application point to reduce Abbe errors (see Figure \ref{fig:test_joints_bench_overview}).
|
||||
|
||||
The flexible joint can be rotated by 90 degrees in order to measure the bending stiffness in the two directions.
|
||||
The obtained CAD design of the measurement bench is shown in Figure \ref{fig:test_joints_bench_overview} while a zoom on the flexible joint with the associated important quantities is shown in Figure \ref{fig:test_joints_bench_side}.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\begin{subfigure}{0.78\textwidth}
|
||||
\begin{center}
|
||||
\includegraphics[scale=1,height=6cm]{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,height=6cm]{figs/test_joints_bench_side.png}
|
||||
\end{center}
|
||||
\subcaption{\label{fig:test_joints_bench_side} Zoom}
|
||||
\end{subfigure}
|
||||
\caption{\label{fig:test_joints_bench}CAD view of the test bench developped to measure the bending stiffness of the flexible joints. Different parts are shown in (\subref{fig:test_joints_bench_overview}) while a zoom on the flexible joint is shown in (\subref{fig:test_joints_bench_side})}
|
||||
\end{figure}
|
||||
|
||||
\chapter{Bending Stiffness Measurement}
|
||||
\label{sec:test_joints_bending_stiffness_meas}
|
||||
\section{Introduction}
|
||||
@ -391,8 +391,9 @@ A closer view on the force sensor tip is shown in Figure \ref{fig:test_joints_pi
|
||||
\end{center}
|
||||
\subcaption{\label{fig:test_joints_picture_bench_zoom}Zoom on the tip}
|
||||
\end{subfigure}
|
||||
\caption{\label{fig:test_joints_picture_bench}Caption with reference to sub figure (\subref{fig:fig_label_a})}
|
||||
\caption{\label{fig:test_joints_picture_bench}Manufactured test bench for compliance measurement of the flexible joints}
|
||||
\end{figure}
|
||||
|
||||
\section{Load Cell Calibration}
|
||||
In order to estimate the measured errors of the load cell ``FC2231'', it is compared against another load cell\footnote{XFL212R-50N from TE Connectivity. Measurement range is \(50\,N\). Specified accuracy is \(1\,\%\) of the full range}.
|
||||
The two load cells are measured simultaneously while they are pushed against each other (see Figure \ref{fig:test_joints_force_sensor_calib_picture}).
|
||||
@ -400,29 +401,30 @@ The contact between the two load cells is well defined as one has a spherical in
|
||||
|
||||
The measured forces are compared in Figure \ref{fig:test_joints_force_sensor_calib_fit}.
|
||||
The gain mismatch between the two load cells is approximately \(4\,\%\) which is higher than what was specified in the data-sheets.
|
||||
However, the estimated non-linearity is bellow \(1\,\%\) for forces between \(0.5\,N\) and \(5\,N\).
|
||||
However, the estimated non-linearity is bellow \(0.2\,\%\) for forces between \(1\,N\) and \(5\,N\).
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\begin{subfigure}{0.49\textwidth}
|
||||
\begin{center}
|
||||
\includegraphics[scale=1,height=5.5cm]{figs/test_joints_force_sensor_calib_picture.jpg}
|
||||
\includegraphics[scale=1,height=5.5cm]{figs/test_joints_force_sensor_calib_picture.png}
|
||||
\end{center}
|
||||
\subcaption{\label{fig:test_joints_force_sensor_calib_picture}Zoom on the two force sensors in contact}
|
||||
\subcaption{\label{fig:test_joints_force_sensor_calib_picture}Zoom on the two load cells in contact}
|
||||
\end{subfigure}
|
||||
\begin{subfigure}{0.49\textwidth}
|
||||
\begin{center}
|
||||
\includegraphics[scale=1,height=5.5cm]{figs/test_joints_force_sensor_calib_fit.png}
|
||||
\end{center}
|
||||
\subcaption{\label{fig:test_joints_force_sensor_calib_fit}Measured two force and linear fit}
|
||||
\subcaption{\label{fig:test_joints_force_sensor_calib_fit}Measured two forces}
|
||||
\end{subfigure}
|
||||
\caption{\label{fig:test_joints_force_sensor_calib}Estimation of the load cell accuracy. A picture of the measurement bench is shown in (\subref{fig:test_joints_force_sensor_calib_picture}). Comparison of the two measured forces is made in (\subref{fig:test_joints_force_sensor_calib_fit})}
|
||||
\caption{\label{fig:test_joints_force_sensor_calib}Estimation of the load cell accuracy by comparing the measured force of two load cells. A picture of the measurement bench is shown in (\subref{fig:test_joints_force_sensor_calib_picture}). Comparison of the two measured forces and estimated non-linearity are shown in (\subref{fig:test_joints_force_sensor_calib_fit})}
|
||||
\end{figure}
|
||||
|
||||
\section{Load Cell Stiffness}
|
||||
The objective of this measurement is to estimate the stiffness \(k_F\) of the force sensor.
|
||||
To do so, a stiff element (much stiffer than the estimated \(k_F \approx 1\,N/\mu m\)) is fixed in front of the force sensor as shown in Figure \ref{fig:test_joints_meas_force_sensor_stiffness_picture}.
|
||||
To do so, a stiff element (much stiffer than the estimated \(k_F \approx 1\,N/\mu m\)) is mounted in front of the force sensor as shown in Figure \ref{fig:test_joints_meas_force_sensor_stiffness_picture}.
|
||||
Then, the force sensor is pushed again this stiff element while the force and the encoder displacement are measured.
|
||||
Measured displacement as a function of the force is shown in Figure \ref{fig:test_joints_force_sensor_stiffness_fit}.
|
||||
The load cell stiffness can then be estimated by computing a linear fit, and is found to be \(k_F \approx 0.75\,N/\mu m\).
|
||||
The load cell stiffness can then be estimated by computing a linear fit, and is found to be \(k_F \approx 0.68\,N/\mu m\).
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\begin{subfigure}{0.49\textwidth}
|
||||
@ -439,8 +441,9 @@ The load cell stiffness can then be estimated by computing a linear fit, and is
|
||||
\end{subfigure}
|
||||
\caption{\label{fig:test_joints_meas_force_sensor_stiffness}Estimation of the load cell stiffness. Measurement setup is shown in (\subref{fig:test_joints_meas_force_sensor_stiffness_picture}). Measurement results is shown in (\subref{fig:test_joints_force_sensor_stiffness_fit}).}
|
||||
\end{figure}
|
||||
|
||||
\section{Bending Stiffness estimation}
|
||||
The actual stiffness measurement in now performed by manually moving the translation stage from a start position where the force sensor is not yet in contact with the flexible joint to a position where flexible joint is on its mechanical stop.
|
||||
The actual stiffness measurement is now estimated by manually moving the translation stage from a start position where the force sensor is not yet in contact with the flexible joint to a position where flexible joint is on its mechanical stop.
|
||||
|
||||
The measured force and displacement as a function of time are shown in Figure \ref{fig:test_joints_meas_bend_time}.
|
||||
Three regions can be observed: first the force sensor tip is not in contact with the flexible joint and the measured force is zero, then the flexible joint deforms linearly, finally the flexible joint comes in contact with the mechanical stops.
|
||||
@ -464,6 +467,7 @@ The bending stroke can also be estimated as shown in Figure \ref{fig:test_joints
|
||||
\end{subfigure}
|
||||
\caption{\label{fig:test_joints_meas_example}Results obtained on the first flexible joint. Measured force and displacement are shown in (\subref{fig:test_joints_meas_bend_time}). The estimated angular displacement \(\theta_x\) as a function of the estimated applied torque \(T_{x}\) is shown in (\subref{fig:test_joints_meas_F_d_lin_fit}). The bending stiffness \(k_{R_x}\) of the flexible joint can be estimated by computing a best linear fit (red dashed line).}
|
||||
\end{figure}
|
||||
|
||||
\section{Measured flexible joint stiffnesses}
|
||||
The same measurement is performed for all the 16 flexible joints, both in the \(x\) and \(y\) directions.
|
||||
The measured angular motion as a function of the applied torque are shown in Figure \ref{fig:test_joints_meas_bending_all_raw_data} for all the 16 flexible joints.
|
||||
@ -487,12 +491,15 @@ Most of the bending stiffnesses are between \(4.6\,Nm/rad\) and \(5.0\,Nm/rad\).
|
||||
\end{subfigure}
|
||||
\caption{\label{fig:test_joints_meas_bending_results}Result of measured \(k_{R_x}\) and \(k_{R_y}\) stiffnesses for all the 16 flexible joints. Raw data are shown in (\subref{fig:test_joints_meas_bending_all_raw_data}). An histogram of the measured stiffnesses is shown in (\subref{fig:test_joints_bend_stiff_hist})}
|
||||
\end{figure}
|
||||
|
||||
\section*{Conclusion}
|
||||
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 (\(k_{R_x} = k_{R_y} = 5\,Nm/\text{rad}\)).
|
||||
|
||||
The characteristics of all the flexible joints are also quite close to each other.
|
||||
This should allow us to model them with unique parameters.
|
||||
|
||||
\chapter{Conclusion}
|
||||
\label{sec:test_joints_conclusion}
|
||||
|
||||
\printbibliography[heading=bibintoc,title={Bibliography}]
|
||||
\end{document}
|
||||
|