Continuing report

This commit is contained in:
Thomas Dehaeze 2024-04-05 17:53:53 +02:00
parent 5498c5b8a3
commit f7510ef5c4
20 changed files with 111 additions and 202 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 217 KiB

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 360 KiB

View File

Before

Width:  |  Height:  |  Size: 176 KiB

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 926 KiB

View File

@ -730,167 +730,103 @@ A closer view on the force sensor tip is shown in Figure ref:fig:test_joints_pic
<<m-init-other>> <<m-init-other>>
#+end_src #+end_src
** Force Sensor Calibration ** Load Cell Calibration
In order to estimate the measured errors of the load cell "FC2231", it is compared against another load cell[fn:5]. In order to estimate the measured errors of the load cell "FC2231", it is compared against another load cell[fn:5].
The two load cells are measured simultaneously while they are pushed against each other (see Figure ref:fig:test_joints_force_sensor_calib_picture).
The contact between the two load cells is well defined as one has a spherical interface while the other has a flat surface.
There are both specified to have $\pm 1 \%$ of non-linearity over the full range. 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.
The XFL212R has a spherical interface while the FC2231 has a flat surface. However, the estimated non-linearity is bellow $1\,\%$ for forces between $0.5\,N$ and $5\,N$.
Therefore, we should have a nice point contact when using the two force sensors as shown in Figure ref:fig:test_joints_force_sensor_calib.
#+name: fig:test_joints_force_sensor_calib
#+caption: Zoom on the two force sensors in contact
#+attr_latex: :width 0.5\linewidth
[[file:figs/test_joints_force_sensor_calib.jpg]]
The two force sensors are therefore measuring the exact same force, and we can compare the two measurements.
#+begin_src matlab #+begin_src matlab
%% Load measurement data %% Force Sensor Calibration
% Load measurement data
load('calibration_force_sensor.mat', 't', 'F', 'Fc') load('calibration_force_sensor.mat', 't', 'F', 'Fc')
%% We remove any offset such that they are both measuring no force when not in contact. % Remove any offset such that they are both measuring no force when not in contact.
F = F - mean(F( t > 0.5 & t < 1.0)); F = F - mean(F( t > 0.5 & t < 1.0)); % FC2231 [N]
Fc = Fc - mean(Fc(t > 0.5 & t < 1.0)); Fc = Fc - mean(Fc(t > 0.5 & t < 1.0)); % XFL212R [N]
#+end_src
#+begin_src matlab :exports none % Only get useful stroke
%% Measured force using both sensors as a function of time F = F( t > 1.55 & t < 2.4);
figure; Fc = Fc(t > 1.55 & t < 2.4);
hold on;
plot(t, F, 'DisplayName', 'FC2231');
plot(t, Fc, 'DisplayName', 'XFL212R');
hold off;
xlabel('Time [s]'); ylabel('Measured Force [N]');
xlim([0,15]); ylim([0,55]);
legend('location', 'southeast', 'FontSize', 8);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace % Make a line fit
exportFig('figs/test_joints_force_sensor_calib_time.pdf', 'width', 'wide', 'height', 'normal');
#+end_src
#+name: fig:test_joints_force_sensor_calib_time
#+caption: Measured force using both sensors as a function of time
#+RESULTS:
[[file:figs/test_joints_force_sensor_calib_time.png]]
Let's select only the first part from the moment they are in contact until the maximum force is reached.
#+begin_src matlab
%% Only get the first part until maximum force
F = F( t > 1.55 & t < 4.65);
Fc = Fc(t > 1.55 & t < 4.65);
#+end_src
Then, let's make a linear fit between the two measured forces.
#+begin_src matlab
%% Make a line fit
fit_F = polyfit(Fc, F, 1); fit_F = polyfit(Fc, F, 1);
% Estimate the gain mismatch
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 %
#+end_src #+end_src
The two forces are plotted against each other as well as the linear fit in Figure ref:fig:test_joints_force_sensor_calib_fit.
#+begin_src matlab :exports none #+begin_src matlab :exports none
%% Measured two forces and linear fit
figure; figure;
hold on; hold on;
plot(Fc, F, '-', 'DisplayName', 'Raw Data'); 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([1,end]), Fc([1,end])*fit_F(1) + fit_F(2), '--', 'DisplayName', 'Line Fit');
hold off; hold off;
xlabel('XFL212R [N]'); ylabel('FC2231 [N]'); xlabel('XFL212R [N]'); ylabel('FC2231 [N]');
xlim([0,50]); ylim([0,50]); xlim([0.5,5.5]); ylim([0.5,5.5]);
legend('location', 'southeast', 'FontSize', 8); legend('location', 'southeast', 'FontSize', 8);
#+end_src #+end_src
#+begin_src matlab :tangle no :exports results :results file replace #+begin_src matlab :tangle no :exports results :results file none
exportFig('figs/test_joints_force_sensor_calib_fit.pdf', 'width', 'wide', 'height', 'normal'); exportFig('figs/test_joints_force_sensor_calib_fit.pdf', 'width', 'half', 'height', 'normal');
#+end_src #+end_src
#+name: fig:test_joints_force_sensor_calib_fit #+name: fig:test_joints_force_sensor_calib
#+caption: Measured two forces and linear fit #+caption: Caption with reference to sub figure (\subref{fig:test_joints_force_sensor_calib_picture}), (\subref{fig:test_joints_force_sensor_calib_fit})
#+RESULTS:
[[file:figs/test_joints_force_sensor_calib_fit.png]]
The measurement error between the two sensors is shown in Figure ref:fig:test_joints_force_sensor_calib_error.
It is below 0.1N for the full measurement range.
#+begin_src matlab :exports none
figure;
hold on;
plot(Fc, movmean(100*(F - (Fc*fit_F(1) + fit_F(2)))./F, 100), 'k-');
hold off;
xlim([5,50]);
xlabel('Measured Force [N]');
ylabel('Error [N]')
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/test_joints_force_sensor_calib_error.pdf', 'width', 'wide', 'height', 'normal');
#+end_src
#+name: fig:test_joints_force_sensor_calib_error
#+caption: Error in Newtons
#+RESULTS:
[[file:figs/test_joints_force_sensor_calib_error.png]]
** Force Sensor Stiffness
The objective of this measurement is to estimate the stiffness of the force sensor.
To do so, a very stiff element is fixed in front of the force sensor as shown in Figure ref:fig:test_joints_meas_force_sensor_stiffness.
Then, we apply a force on the stiff element through the force sensor.
We measure the deflection of the force sensor using an encoder.
Then, having the force and the deflection, we should be able to estimate the stiffness of the force sensor supposing the stiffness of the other elements are much larger.
#+name: fig:fig_label
#+caption: Caption with reference to sub figure (\subref{fig:fig_label_a})
#+attr_latex: :options [htbp] #+attr_latex: :options [htbp]
#+begin_figure #+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:test_joints_meas_force_sensor_stiffness}sub caption a} #+attr_latex: :caption \subcaption{\label{fig:test_joints_force_sensor_calib_picture}Zoom on the two force sensors in contact}
#+attr_latex: :options {0.49\textwidth} #+attr_latex: :options {0.49\textwidth}
#+begin_subfigure #+begin_subfigure
#+attr_latex: :width 0.95\linewidth #+attr_latex: :height 5.5cm
[[file:figs/test_joints_meas_force_sensor_stiffness-crop.jpg]] [[file:figs/test_joints_force_sensor_calib_picture.jpg]]
#+end_subfigure #+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:test_joints_force_sensor_stiffness_fit}sub caption b} #+attr_latex: :caption \subcaption{\label{fig:test_joints_force_sensor_calib_fit}Measured two force and linear fit}
#+attr_latex: :options {0.49\textwidth} #+attr_latex: :options {0.49\textwidth}
#+begin_subfigure #+begin_subfigure
#+attr_latex: :width 0.95\linewidth #+attr_latex: :height 5.5cm
[[file:figs/test_joints_force_sensor_stiffness_fit.png]] [[file:figs/test_joints_force_sensor_calib_fit.png]]
#+end_subfigure #+end_subfigure
#+end_figure #+end_figure
From the documentation, the deflection of the sensor at the maximum load (50N) is 0.05mm, the stiffness is therefore foreseen to be around $1\,N/\mu m$. ** 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.
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$.
#+begin_src matlab #+begin_src matlab
%% Load measurement data %% Estimaetd load cell stiffness
% Load measurement data
load('force_sensor_stiffness_meas.mat', 't', 'F', 'd') load('force_sensor_stiffness_meas.mat', 't', 'F', 'd')
%% Remove offset % Remove offset
F = F - mean(F(t > 0.5 & t < 1.0)); F = F - mean(F(t > 0.5 & t < 1.0));
%% Select important part of data % Select important part of data
F = F( t > 4.55 & t < 7.24); F = F( t > 4.55 & t < 7.24);
d = d( t > 4.55 & t < 7.24); d = d - d(1); d = d( t > 4.55 & t < 7.24); d = d - d(1);
t = t( t > 4.55 & t < 7.24); t = t( t > 4.55 & t < 7.24);
%% Linear fit % Linear fit
fit_k = polyfit(F, d, 1); fit_k = polyfit(F, d, 1);
#+end_src #+end_src
The displacement as a function of the force as well as the linear fit are shown in Figure ref:fig:test_joints_force_sensor_stiffness_fit.
$k_F \approx 0.75\,N/\mu m$
#+begin_src matlab :exports none #+begin_src matlab :exports none
%% Displacement as a function of the measured force %% Displacement as a function of the measured force
figure; figure;
hold on; hold on;
plot(F, 1e6*d, '-', 'color', colors(2,:), 'DisplayName', 'Raw Data'); plot(F, 1e6*d, 'k-', 'DisplayName', 'Raw Data');
plot(F([1,end]), 1e6*(F([1,end])*fit_k(1) + fit_k(2)), 'k--', 'DisplayName', 'Linear Fit'); plot(F([1,end]), 1e6*(F([1,end])*fit_k(1) + fit_k(2)), '--', 'DisplayName', sprintf('Fit, $k_F \\approx %.2f N/\\mu m$', 1e-6/fit_k(1)));
hold off; hold off;
xlabel('Force [$N$]'); ylabel('Displacement [$\mu m$]'); xlabel('Force [$N$]'); ylabel('Displacement [$\mu m$]');
xlim([0,45]); ylim([0,60]); xlim([0,45]); ylim([0,60]);
@ -901,19 +837,33 @@ legend('location', 'southeast', 'FontSize', 8);
exportFig('figs/test_joints_force_sensor_stiffness_fit.pdf', 'width', 'half', 'height', 'normal'); exportFig('figs/test_joints_force_sensor_stiffness_fit.pdf', 'width', 'half', 'height', 'normal');
#+end_src #+end_src
** Analysis of one measurement #+name: fig:test_joints_meas_force_sensor_stiffness
#+caption: 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_meas_force_sensor_stiffness_fit}).
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:test_joints_meas_force_sensor_stiffness_picture}Picture of the test}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :height 5.5cm
[[file:figs/test_joints_meas_force_sensor_stiffness_picture.jpg]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:test_joints_force_sensor_stiffness_fit}Measured displacement as a function of the force}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :height 5.5cm
[[file:figs/test_joints_force_sensor_stiffness_fit.png]]
#+end_subfigure
#+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 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 measured force and displacement as a function of time are shown in Figure ref:fig:test_joints_meas_bend_time. 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.
The angular motion $\theta_{y}$ computed from the displacement $d_x$ is displacement as function of the measured torque $T_{y}$ in Figure ref:fig:test_joints_meas_F_d_lin_fit. The angular motion $\theta_{y}$ computed from the displacement $d_x$ is displacement as function of the measured torque $T_{y}$ in displayed in Figure ref:fig:test_joints_meas_F_d_lin_fit.
The bending stiffness can be estimated by computing the slope of the curve The bending stiffness of the flexible joint can be estimated by computing the slope of the curve in the linear regime (red dashed line) and is found to be $k_{R_y} = 4.4\,Nm/\text{rad}$.
The bending stroke can also be estimated as shown in Figure ref:fig:test_joints_meas_F_d_lin_fit and is found to be $\theta_{y,\text{max}} = 20.9\,\text{mrad}$.
The obtained characteristics are:
- Bending Stiffness: $4.4\,Nm/\text{rad}$
- Bending Stiffness at stop: 144Nm/rad
- Bending Stroke: $20.9\,\text{mrad}$
#+begin_src matlab #+begin_src matlab
%% Load Measured Data for first flexible joint %% Load Measured Data for first flexible joint
@ -1033,7 +983,7 @@ exportFig('figs/test_joints_meas_F_d_lin_fit.pdf', 'width', 'half', 'height', 'n
#+end_src #+end_src
#+name: fig:test_joints_meas_example #+name: fig:test_joints_meas_example
#+caption: Caption with reference to sub figure (\subref{fig:fig_label_a}) #+caption: 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_y$ as a function of the estimated applied torque $T_{y}$ is shown in (\subref{fig:test_joints_meas_F_d_lin_fit}). The bending stiffness $k_{R_y}$ of the flexible joint can be estimated by computing a best linear fit (red dashed line).
#+attr_latex: :options [htbp] #+attr_latex: :options [htbp]
#+begin_figure #+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:test_joints_meas_bend_time}Force and displacement measured as a function of time} #+attr_latex: :caption \subcaption{\label{fig:test_joints_meas_bend_time}Force and displacement measured as a function of time}
@ -1050,8 +1000,7 @@ exportFig('figs/test_joints_meas_F_d_lin_fit.pdf', 'width', 'half', 'height', 'n
#+end_subfigure #+end_subfigure
#+end_figure #+end_figure
** Bending stiffness and bending stroke of all the flexible joints ** TODO Comparison of the measured Stiffnesses
Now, let's estimate the bending stiffness and stroke for all the flexible joints. Now, let's estimate the bending stiffness and stroke for all the flexible joints.
#+begin_src matlab :exports none #+begin_src matlab :exports none
@ -1214,7 +1163,6 @@ data2orgtable([kRy; kSy; 1e3*Rmy]', {'1','2','3','4','5','6','7','8','9','10','1
| 15 | 5.4 | 241.5 | 17.8 | | 15 | 5.4 | 241.5 | 17.8 |
| 16 | 5.3 | 291.1 | 17.7 | | 16 | 5.3 | 291.1 | 17.7 |
** 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.
#+begin_src matlab :exports none #+begin_src matlab :exports none

Binary file not shown.

View File

@ -1,4 +1,4 @@
% Created 2024-04-05 Fri 16:22 % Created 2024-04-05 Fri 17:52
% 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}
@ -346,14 +346,7 @@ The computed bending stiffness will be \eqref{eq:test_joints_stiffness_height_er
k_{R_y, \text{est}} \approx h_{\text{est}}^2 \frac{F_x}{d_x} \approx k_{R_y} \Bigl( 1 + \underbrace{2 \frac{\delta h}{h} + \frac{\delta h ^2}{h^2}}_{\epsilon_h} \Bigl) k_{R_y, \text{est}} \approx h_{\text{est}}^2 \frac{F_x}{d_x} \approx k_{R_y} \Bigl( 1 + \underbrace{2 \frac{\delta h}{h} + \frac{\delta h ^2}{h^2}}_{\epsilon_h} \Bigl)
\end{equation} \end{equation}
The bending stiffness error \(\epsilon_h\) due to the height estimation error \(\delta h\) is shown in Figure \ref{fig:test_joints_effect_height_error}. 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\,\%\).
The height estimation is foreseen to be reasonably accurate to within \(\pm 0.4\,mm\) which should make the bending stiffness error \(\epsilon_h < 3.5\,\%\).
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_joints_effect_height_error.png}
\caption{\label{fig:test_joints_effect_height_error}Measured stiffness error due to height estimation error}
\end{figure}
\paragraph{Estimation error due to force and displacement sensors accuracy} \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\). The maximum error of the measured displacement due the encoder 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\,\%\). 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\,\%\).
@ -403,85 +396,63 @@ A closer view on the force sensor tip is shown in Figure \ref{fig:test_joints_pi
\end{subfigure} \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}Caption with reference to sub figure (\subref{fig:fig_label_a})}
\end{figure} \end{figure}
\section{Force Sensor Calibration} \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}. 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}).
The contact between the two load cells is well defined as one has a spherical interface while the other has a flat surface.
There are both specified to have \(\pm 1 \%\) of non-linearity over the full range. 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.
The XFL212R has a spherical interface while the FC2231 has a flat surface. However, the estimated non-linearity is bellow \(1\,\%\) for forces between \(0.5\,N\) and \(5\,N\).
Therefore, we should have a nice point contact when using the two force sensors as shown in Figure \ref{fig:test_joints_force_sensor_calib}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=0.5\linewidth]{figs/test_joints_force_sensor_calib.jpg}
\caption{\label{fig:test_joints_force_sensor_calib}Zoom on the two force sensors in contact}
\end{figure}
The two force sensors are therefore measuring the exact same force, and we can compare the two measurements.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_joints_force_sensor_calib_time.png}
\caption{\label{fig:test_joints_force_sensor_calib_time}Measured force using both sensors as a function of time}
\end{figure}
Let's select only the first part from the moment they are in contact until the maximum force is reached.
Then, let's make a linear fit between the two measured forces.
The two forces are plotted against each other as well as the linear fit in Figure \ref{fig:test_joints_force_sensor_calib_fit}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_joints_force_sensor_calib_fit.png}
\caption{\label{fig:test_joints_force_sensor_calib_fit}Measured two forces and linear fit}
\end{figure}
The measurement error between the two sensors is shown in Figure \ref{fig:test_joints_force_sensor_calib_error}.
It is below 0.1N for the full measurement range.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_joints_force_sensor_calib_error.png}
\caption{\label{fig:test_joints_force_sensor_calib_error}Error in Newtons}
\end{figure}
\section{Force Sensor Stiffness}
The objective of this measurement is to estimate the stiffness of the force sensor.
To do so, a very stiff element is fixed in front of the force sensor as shown in Figure \ref{fig:test_joints_meas_force_sensor_stiffness}.
Then, we apply a force on the stiff element through the force sensor.
We measure the deflection of the force sensor using an encoder.
Then, having the force and the deflection, we should be able to estimate the stiffness of the force sensor supposing the stiffness of the other elements are much larger.
\begin{figure}[htbp] \begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth} \begin{subfigure}{0.49\textwidth}
\begin{center} \begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_meas_force_sensor_stiffness-crop.jpg} \includegraphics[scale=1,height=5.5cm]{figs/test_joints_force_sensor_calib_picture.jpg}
\end{center} \end{center}
\subcaption{\label{fig:test_joints_meas_force_sensor_stiffness}sub caption a} \subcaption{\label{fig:test_joints_force_sensor_calib_picture}Zoom on the two force sensors in contact}
\end{subfigure} \end{subfigure}
\begin{subfigure}{0.49\textwidth} \begin{subfigure}{0.49\textwidth}
\begin{center} \begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_force_sensor_stiffness_fit.png} \includegraphics[scale=1,height=5.5cm]{figs/test_joints_force_sensor_calib_fit.png}
\end{center} \end{center}
\subcaption{\label{fig:test_joints_force_sensor_stiffness_fit}sub caption b} \subcaption{\label{fig:test_joints_force_sensor_calib_fit}Measured two force and linear fit}
\end{subfigure} \end{subfigure}
\caption{\label{fig:fig_label}Caption with reference to sub figure (\subref{fig:fig_label_a})} \caption{\label{fig:test_joints_force_sensor_calib}Caption with reference to sub figure (\subref{fig:test_joints_force_sensor_calib_picture}), (\subref{fig:test_joints_force_sensor_calib_fit})}
\end{figure} \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}.
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\).
From the documentation, the deflection of the sensor at the maximum load (50N) is 0.05mm, the stiffness is therefore foreseen to be around \(1\,N/\mu m\). \begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
The displacement as a function of the force as well as the linear fit are shown in Figure \ref{fig:test_joints_force_sensor_stiffness_fit}. \begin{center}
\(k_F \approx 0.75\,N/\mu m\) \includegraphics[scale=1,height=5.5cm]{figs/test_joints_meas_force_sensor_stiffness_picture.jpg}
\end{center}
\subcaption{\label{fig:test_joints_meas_force_sensor_stiffness_picture}Picture of the test}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,height=5.5cm]{figs/test_joints_force_sensor_stiffness_fit.png}
\end{center}
\subcaption{\label{fig:test_joints_force_sensor_stiffness_fit}Measured displacement as a function of the force}
\end{subfigure}
\caption{\label{fig:test_joints_meas_force_sensor_stiffness}Estimation of the load cell stiffness. (\subref{fig:test_joints_meas_force_sensor_stiffness_picture}) (\subref{fig:test_joints_meas_force_sensor_stiffness_fit})}
\end{figure}
\section{Analysis of one measurement} \section{Analysis of one measurement}
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 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 measured force and displacement as a function of time are shown in Figure \ref{fig:test_joints_meas_bend_time}. 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.
The angular motion \(\theta_{y}\) computed from the displacement \(d_x\) is displacement as function of the measured torque \(T_{y}\) in displayed in Figure \ref{fig:test_joints_meas_F_d_lin_fit}.
The bending stiffness of the flexible joint can be estimated by computing the slope of the curve in the linear regime (red dashed line) and is found to be \(k_{R_y} = 4.4\,Nm/\text{rad}\).
The bending stroke can also be estimated as shown in Figure \ref{fig:test_joints_meas_F_d_lin_fit} and is found to be \(\theta_{y,\text{max}} = 20.9\,\text{mrad}\).
\begin{figure}[htbp] \begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth} \begin{subfigure}{0.49\textwidth}
@ -496,18 +467,8 @@ The measured force and displacement as a function of time are shown in Figure \r
\end{center} \end{center}
\subcaption{\label{fig:test_joints_meas_F_d_lin_fit}Angular displacement measured as a function of the applied torque} \subcaption{\label{fig:test_joints_meas_F_d_lin_fit}Angular displacement measured as a function of the applied torque}
\end{subfigure} \end{subfigure}
\caption{\label{fig:fig_label}Caption with reference to sub figure (\subref{fig:fig_label_a})} \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_y\) as a function of the estimated applied torque \(T_{y}\) is shown in (\subref{fig:test_joints_meas_F_d_lin_fit}). The bending stiffness \(k_{R_y}\) of the flexible joint can be estimated by computing a best linear fit (red dashed line).}
\end{figure} \end{figure}
The angular motion \(\theta_{y}\) computed from the displacement \(d_x\) is displacement as function of the measured torque \(T_{y}\) in Figure \ref{fig:test_joints_meas_F_d_lin_fit}.
The bending stiffness can be estimated by computing the slope of the curve
The obtained characteristics are:
\begin{itemize}
\item Bending Stiffness: \(4.4\,Nm/\text{rad}\)
\item Bending Stiffness at stop: 144Nm/rad
\item Bending Stroke: \(20.9\,\text{mrad}\)
\end{itemize}
\section{Bending stiffness and bending stroke of all the flexible joints} \section{Bending stiffness and bending stroke of all the flexible joints}
Now, let's estimate the bending stiffness and stroke for all the flexible joints. Now, let's estimate the bending stiffness and stroke for all the flexible joints.