First rework of the report

This commit is contained in:
Thomas Dehaeze 2024-04-05 16:24:17 +02:00
parent 75bd3e1585
commit 36c15418c9
26 changed files with 708 additions and 3223 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 332 KiB

After

Width:  |  Height:  |  Size: 329 KiB

View File

@ -3,8 +3,8 @@
version="1.1" version="1.1"
id="svg1681" id="svg1681"
width="255.17622" width="255.17622"
height="573.24438" height="510.30273"
viewBox="0 0 255.17623 573.24438" viewBox="0 0 255.17623 510.30273"
sodipodi:docname="test_joints_bench_side.svg" sodipodi:docname="test_joints_bench_side.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)" inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
@ -48,11 +48,11 @@
id="clipPath1"> id="clipPath1">
<rect <rect
style="fill:#c9a831;fill-opacity:0.264546;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3, 3;paint-order:markers fill stroke;stop-color:#000000" style="fill:#c9a831;fill-opacity:0.264546;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3, 3;paint-order:markers fill stroke;stop-color:#000000"
id="rect1" id="rect2"
width="255.17622" width="255.17622"
height="573.24438" height="510.30273"
x="1048.0632" x="1048.0632"
y="1.0349121e-06" /> y="62.941654" />
</clipPath> </clipPath>
</defs> </defs>
<sodipodi:namedview <sodipodi:namedview
@ -68,9 +68,9 @@
inkscape:window-height="1440" inkscape:window-height="1440"
id="namedview1683" id="namedview1683"
showgrid="false" showgrid="false"
inkscape:zoom="1.0921915" inkscape:zoom="2.184383"
inkscape:cx="104.3773" inkscape:cx="75.078409"
inkscape:cy="436.7366" inkscape:cy="123.6047"
inkscape:window-x="0" inkscape:window-x="0"
inkscape:window-y="0" inkscape:window-y="0"
inkscape:window-maximized="0" inkscape:window-maximized="0"
@ -88,7 +88,7 @@
inkscape:groupmode="layer" inkscape:groupmode="layer"
inkscape:label="Image" inkscape:label="Image"
id="g1689" id="g1689"
transform="translate(-702.42463,-53.326992)"> transform="translate(-702.42463,-116.26865)">
<image <image
width="1581" width="1581"
height="847" height="847"

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 41 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 233 KiB

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 KiB

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 KiB

View File

@ -1,4 +1,5 @@
\usepackage{float} \usepackage{float}
\usepackage{enumitem}
\usepackage{caption,tabularx,booktabs} \usepackage{caption,tabularx,booktabs}
\usepackage{bm} \usepackage{bm}
@ -7,6 +8,7 @@
\usepackage[ % use biblatex for bibliography \usepackage[ % use biblatex for bibliography
backend=biber, % use biber backend (bibtex replacement) or bibtex backend=biber, % use biber backend (bibtex replacement) or bibtex
style=ieee, % bib style style=ieee, % bib style
citestyle=numeric-comp, % bib style
hyperref=true, % activate hyperref support hyperref=true, % activate hyperref support
backref=true, % activate backrefs backref=true, % activate backrefs
isbn=false, % don't show isbn tags isbn=false, % don't show isbn tags

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,4 +1,4 @@
% Created 2024-04-04 Thu 17:36 % Created 2024-04-05 Fri 16:22
% 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}
@ -39,7 +39,6 @@ Shear Stiffness & \(> 1\,N/\mu m\) & 13\\
Bending Stiffness & \(< 100\,Nm/\text{rad}\) & 5\\ Bending Stiffness & \(< 100\,Nm/\text{rad}\) & 5\\
Torsion Stiffness & \(< 500\,Nm/\text{rad}\) & 260\\ Torsion Stiffness & \(< 500\,Nm/\text{rad}\) & 260\\
Bending Stroke & \(> 1\,\text{mrad}\) & 24.5\\ Bending Stroke & \(> 1\,\text{mrad}\) & 24.5\\
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} \caption{\label{tab:test_joints_specs}Specifications for the flexible joints and estimated characteristics from the Finite Element Model}
@ -81,9 +80,19 @@ The rotation axes are represented by the dashed lines which are intersecting
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 some selection can be made for the 12 that will be used on the nano-hexapod.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \begin{subfigure}{0.64\textwidth}
\includegraphics[scale=1,width=0.8\linewidth]{figs/test_joints_received.jpg} \begin{center}
\caption{\label{fig:test_joints_received}15 of the 16 flexible joints} \includegraphics[scale=1,height=5.5cm]{figs/test_joints_received.jpg}
\end{center}
\subcaption{\label{fig:test_joints_received}15 of the 16 received flexible joints}
\end{subfigure}
\begin{subfigure}{0.35\textwidth}
\begin{center}
\includegraphics[scale=1,height=5.5cm]{figs/test_joints_received_zoom.jpg}
\end{center}
\subcaption{\label{fig:test_joints_received_zoom}Zoom on one flexible joint}
\end{subfigure}
\caption{\label{fig:test_joints_picture}Pictures of the received 16 flexible joints}
\end{figure} \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 characterize to make sure they are fulfilling the requirements and such that they can well be modelled.
@ -177,283 +186,226 @@ To estimate the bending stiffness, the basic idea is to apply a torque \(T_{x}\)
Then, the bending stiffness can be computed from equation \eqref{eq:test_joints_bending_stiffness}. Then, the bending stiffness can be computed from equation \eqref{eq:test_joints_bending_stiffness}.
\begin{equation}\label{eq:test_joints_bending_stiffness} \begin{equation}\label{eq:test_joints_bending_stiffness}
k_{R_x} = \frac{T_x}{\theta_x} \boxed{k_{R_x} = \frac{T_x}{\theta_x}, \quad k_{R_y} = \frac{T_y}{\theta_y}}
\end{equation} \end{equation}
\section{Measurement principle} \section{Measurement principle}
As it is difficult to apply a pure torque, a ``linear'' force can be applied instead. \label{ssec:test_joints_meas_principle}
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. \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.
Such effect is studied in Section \ref{ssec:test_joints_error_budget}.
\begin{equation}\label{eq:test_joints_force_torque_distance}
T_y = h F_x, \quad T_x = h F_y
\end{equation}
Similarly, instead of directly measuring the bending motion \(\theta_y\) of the flexible joint, its linear motion \(d_x\) at a certain height \(h\) from the rotation points is measured.
The equivalent rotation is estimated from \eqref{eq:test_joints_rot_displ}.
\begin{equation}\label{eq:test_joints_rot_displ}
\theta_y = \tan^{-1}\left(\frac{d_x}{h}\right) \approx \frac{d_x}{h}, \quad \theta_x = \tan^{-1} \left( \frac{d_y}{h} \right) \approx \frac{d_y}{h}
\end{equation}
Then, the bending stiffness can be estimated from \eqref{eq:test_joints_stiff_displ_force}.
\begin{subequations}\label{eq:test_joints_stiff_displ_force}
\begin{align}
k_{R_x} &= \frac{T_x}{\theta_x} = \frac{h F_y}{\tan^{-1}\left( \frac{d_y}{h} \right)} \approx h^2 \frac{F_y}{d_y} \\
k_{R_y} &= \frac{T_y}{\theta_y} = \frac{h F_x}{\tan^{-1}\left( \frac{d_x}{h} \right)} \approx h^2 \frac{F_x}{d_x}
\end{align}
\end{subequations}
The working principle of the measurement bench is schematically shown in Figure \ref{fig:test_joints_bench_working_principle}. 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. One part of the flexible joint is fixed to a rigid frame while a (known) force \(F_x\) is applied to the other side of the flexible joint.
On the mobile part, a force \(F_x\) is applied which is equivalent to a torque applied on the flexible joint center. The deflection of the joint \(d_x\) is measured by a displacement sensor.
The induced rotation is measured with a displacement sensor \(d_x\).
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/test_joints_bench_working_principle.png} \includegraphics[scale=1]{figs/test_joints_bench_working_principle.png}
\caption{\label{fig:test_joints_bench_working_principle}Test Bench - working principle} \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\)}
\end{figure} \end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_joints_bend_geometry.png}
\caption{\label{fig:test_joints_bend_geometry}Geometry of the flexible joint}
\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\).
Let's define the parameters on Matlab.
\paragraph{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 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\).
\begin{equation} 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}).
\theta_y = \frac{M_y}{k_{R_y}} = \frac{F_x h}{k_{R_y}}
The bending \(\theta_y\) of the flexible joint due to the force \(F_x\) is given by equation \eqref{eq:test_joints_deflection_force}.
\begin{equation}\label{eq:test_joints_deflection_force}
\theta_y = \frac{T_y}{k_{R_y}} = \frac{F_x h}{k_{R_y}}
\end{equation} \end{equation}
Therefore, the applied force to test the full range of the flexible joint is: Therefore, the force that has to be applied to test the full range of the flexible joint is given by equation \eqref{eq:test_joints_max_force}.
\begin{equation} The measurement range of the force sensor should then be higher than \(5.5\,N\).
F_{x,\text{max}} = \frac{k_{R_y} \theta_{y,\text{max}}}{h}
\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} \end{equation}
And we obtain:
\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\).
\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 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 given by \eqref{eq:test_joints_max_stroke}.
\[ d_{x,\text{max}} = h \tan(R_{x,\text{max}}) \] 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\).
\begin{equation} d_{max} = 0.5\, [mm] \end{equation}
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{Developped test bench}
A CAD view of the measurement bench is shown in Figure \ref{fig:test_joints_bench_overview}. \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}
\begin{note} 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.
Here are the different elements used in this bench:
\begin{itemize}
\item \textbf{Translation Stage}: \href{doc/V-408-Datasheet.pdf}{V-408}
\item \textbf{Load Cells}: \href{doc/A700000007147087.pdf}{FC2231-0000-0010-L}
\item \textbf{Encoder}: \href{doc/L-9517-9448-05-B\_Data\_sheet\_RESOLUTE\_BiSS\_en.pdf}{Renishaw Resolute 1nm}
\end{itemize}
\end{note}
Both the measured force and displacement are acquired at the same time using a Speedgoat machine. 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.
Explain why the encoder is here: in line with the measurement, no ``abbe errors'' 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.
A side view of the bench with the important quantities are shown in Figure \ref{fig:test_joints_bench_side}. 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{figure}[htbp]
\begin{subfigure}{0.78\textwidth} \begin{subfigure}{0.78\textwidth}
\begin{center} \begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_bench_overview.png} \includegraphics[scale=1,height=6cm]{figs/test_joints_bench_overview.png}
\end{center} \end{center}
\subcaption{\label{fig:test_joints_bench_overview}Schematic of the test bench to measure the bending stiffness of the flexible joints} \subcaption{\label{fig:test_joints_bench_overview} Schematic of the test bench to measure the bending stiffness of the flexible joints}
\end{subfigure} \end{subfigure}
\begin{subfigure}{0.21\textwidth} \begin{subfigure}{0.21\textwidth}
\begin{center} \begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_bench_side.png} \includegraphics[scale=1,height=6cm]{figs/test_joints_bench_side.png}
\end{center} \end{center}
\subcaption{\label{fig:test_joints_bench_side}Zoom} \subcaption{\label{fig:test_joints_bench_side} Zoom}
\end{subfigure} \end{subfigure}
\caption{\label{fig:test_joints_bench}Caption with reference to sub figure (\subref{fig:fig_label_a})} \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} \end{figure}
\section{Error budget} \section{Error budget}
\label{ssec:test_joints_error_budget} \label{ssec:test_joints_error_budget}
Many things can impact the accuracy of the measured bending stiffness such as: In order to estimate the accuracy of the measured bending stiffness that can be obtained using this measurement bench, 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} \begin{itemize}
\item Errors in the force and displacement measurement \item 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\)
\item Shear effects \item Errors in the measured bending motion of the flexible joints \(\theta_x, \theta_y\): errors from limited shear stiffness, from the deflection of the load cell itself, and from inaccuracy of the height estimation \(h\)
\item Deflection of the Force sensor
\item Errors in the geometry of the bench
\end{itemize} \end{itemize}
In this section, we wish to estimate the attainable accuracy with the current bench, and identified the limiting factors. Let's first estimate the displacement induced only by the bending stiffness.
\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}.
\begin{table}[htbp] \begin{equation}\label{eq:test_joints_dbx}
\centering d_{x,b} = h \tan(\theta_y) = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right)
\begin{tabularx}{0.6\linewidth}{Xccc} \end{equation}
\toprule \paragraph{Effect of Shear}
& Stiffness [N/um] & Max Force [N] & Stroke [um]\\ The applied force \(F_x\) will induce some shear \(d_{x,s}\) which is described by \eqref{eq:test_joints_shear_displ} with \(k_s\) the shear stiffness of the flexible joint.
\midrule
Axial & 94 & 469 & 5\\
Shear & 13 & 242 & 19\\
\bottomrule
\end{tabularx}
\caption{\label{tab:test_joints_axial_shear_prop}Axial/Shear characteristics}
\end{table} \begin{equation}\label{eq:test_joints_shear_displ}
d_{x,s} = \frac{F_x}{k_s}
\begin{table}[htbp]
\centering
\begin{tabularx}{0.7\linewidth}{Xccc}
\toprule
& Stiffness [Nm/rad] & Max Torque [Nmm] & Stroke [mrad]\\
\midrule
Bending & 5 & 118 & 24\\
Torsional & 260 & 1508 & 6\\
\bottomrule
\end{tabularx}
\caption{\label{tab:test_joints_bending_torsion_prop}Bending/Torsion characteristics}
\end{table}
\paragraph{Setup}
The setup is schematically represented in Figure \ref{fig:test_joints_bench_side_bis}.
The force is applied on top of the flexible joint with a distance \(h\) with the joint's center.
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:
\paragraph{Effect of Bending}
The torque applied is:
\begin{equation}
M_y = F_x \cdot h
\end{equation} \end{equation}
The flexible joint is experiencing a rotation \(\theta_y\) due to the torque \(M_y\): The measured displacement \(d_x\) is affected by the shear as shown in equation \eqref{eq:test_joints_displ_shear}.
\begin{equation}
\theta_y = \frac{M_y}{k_{R_y}} = \frac{F_x \cdot h}{k_{R_y}} \begin{equation}\label{eq:test_joints_displ_shear}
d_x = d_{x,b} + d_{x,s} = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) + \frac{F_x}{k_s} \approx F_x \left( \frac{h^2}{k_{R_y}} + \frac{1}{k_s} \right)
\end{equation} \end{equation}
This rotation is then measured by the displacement sensor. The estimated bending stiffness \(k_{\text{est}}\) then depends on the shear stiffness \eqref{eq:test_joints_error_shear}.
The measured displacement is:
\begin{equation} \begin{equation}\label{eq:test_joints_error_shear}
D_b = h \tan(\theta_y) = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) \label{eq:bending_stiffness_formula} k_{R_y,\text{est}} = h^2 \frac{F_x}{d_x} \approx k_{R_y} \frac{1}{1 + \frac{k_{R_y}}{k_s h^2}} \approx k_{R_y} \Bigl( 1 - \underbrace{\frac{k_{R_y}}{k_s h^2}}_{\epsilon_{s}} \Bigl)
\end{equation}
\paragraph{Computation of the bending stiffness}
From equation \eqref{eq:bending_stiffness_formula}, 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} \end{equation}
For small displacement, we have 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\,\%\)
\begin{equation} \paragraph{Effect of load cell limited stiffness}
\boxed{k_{R_y} \approx h^2 \frac{F_x}{d_x}} 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.
Suppose the load cell has an internal stiffness \(k_f\), the same reasoning that was made for the effect of shear can be applied here.
The estimation error of the bending stiffness due to the limited stiffness of the load cell is then described by \eqref{eq:test_joints_error_load_cell_stiffness}.
\begin{equation}\label{eq:test_joints_error_load_cell_stiffness}
k_{R_y,\text{est}} = h^2 \frac{F_x}{d_x} \approx k_{R_y} \frac{1}{1 + \frac{k_{R_y}}{k_F h^2}} \approx k_{R_y} \Bigl( 1 - \underbrace{\frac{k_{R_y}}{k_F h^2}}_{\epsilon_f} \Bigl)
\end{equation} \end{equation}
And therefore, to precisely measure \(k_{R_y}\), we need to: 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\,\%\).
\begin{itemize}
\item precisely measure the motion \(d_x\)
\item precisely measure the applied force \(F_x\)
\item precisely now the height of the force application point \(h\)
\end{itemize}
\paragraph{Estimation error due to force and displacement sensors accuracy}
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.
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\%.
\paragraph{Estimation error due to Shear}
The effect of Shear on the measured displacement is simply:
\begin{equation}
D_s = \frac{F_x}{k_s}
\end{equation}
The measured displacement will be the effect of shear + effect of bending
\begin{equation}
d_x = D_b + D_s = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) + \frac{F_x}{k_s} \approx F_x \left( \frac{h^2}{k_{R_y}} + \frac{1}{k_s} \right)
\end{equation}
The estimated bending stiffness \(k_{\text{est}}\) will then be:
\begin{equation}
k_{\text{est}} = h^2 \frac{F_x}{d_x} \approx k_{R_y} \frac{1}{1 + \frac{k_{R_y}}{k_s h^2}}
\end{equation}
\begin{verbatim}
The measurement error due to Shear is 0.1 %
\end{verbatim}
\paragraph{Estimation error due to force sensor compression}
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 stiffness \(k_F\) is estimated to be around:
\begin{verbatim}
k_F = 1.0e+06 [N/m]
\end{verbatim}
The measured displacement will be the sum of the displacement induced by the bending and by the compression of the force sensor:
\begin{equation}
d_x = D_b + \frac{F_x}{k_F} = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) + \frac{F_x}{k_F} \approx F_x \left( \frac{h^2}{k_{R_y}} + \frac{1}{k_F} \right)
\end{equation}
The estimated bending stiffness \(k_{\text{est}}\) will then be:
\begin{equation}
k_{\text{est}} = h^2 \frac{F_x}{d_x} \approx k_{R_y} \frac{1}{1 + \frac{k_{R_y}}{k_F h^2}}
\end{equation}
\begin{verbatim}
The measurement error due to height estimation errors is 0.8 %
\end{verbatim}
\paragraph{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 \(\delta h\) in the estimation of the height \(h\) as described by \eqref{eq:test_joints_est_h_error}.
\begin{equation}
h_{\text{est}} = h (1 + \epsilon) \begin{equation}\label{eq:test_joints_est_h_error}
h_{\text{est}} = h + \delta h
\end{equation} \end{equation}
The computed bending stiffness will be: The computed bending stiffness will be \eqref{eq:test_joints_stiffness_height_error}.
\begin{equation}
k_\text{est} \approx h_{\text{est}}^2 \frac{F_x}{d_x} \begin{equation}\label{eq:test_joints_stiffness_height_error}
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}
And the stiffness estimation error is: 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}.
\begin{equation} 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\,\%\).
\frac{k_{\text{est}}}{k_{R_y}} = (1 + \epsilon)^2
\end{equation}
\begin{verbatim} \begin{figure}[htbp]
The measurement error due to height estimation errors of 0.2 [mm] is 1.6 % \centering
\end{verbatim} \includegraphics[scale=1]{figs/test_joints_effect_height_error.png}
\paragraph*{Conclusion} \caption{\label{fig:test_joints_effect_height_error}Measured stiffness error due to height estimation error}
Based on the above analysis, we should expect no better than few percent of accuracy using the current test-bench. \end{figure}
This is well enough for a first estimation of the bending stiffness of the flexible joints. \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\).
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}.
The most important source of error comes from estimation error of the distance between the flexible joint rotation axis and its contact with the force sensor.
An overall accuracy of \(\approx 5\,\%\) can be expected with this measurement bench, which should be enough for a first estimation of the bending stiffness of the flexible joints.
\begin{table}[htbp]
\centering
\begin{tabularx}{0.4\linewidth}{lX}
\toprule
\textbf{Effect} & \textbf{Error}\\
\midrule
Shear effect & \(\epsilon_s < 0.1\,\%\)\\
Load cell compliance & \(\epsilon_f = 1\,\%\)\\
Height error & \(\epsilon_h < 3.5\,\%\)\\
Displacement sensor & \(\epsilon_d < 0.01\,\%\)\\
Force sensor & \(\epsilon_F < 1\,\%\)\\
\bottomrule
\end{tabularx}
\caption{\label{tab:test_joints_error_budget}Summary of the error budget for the estimation of the bending stiffness}
\end{table}
\chapter{Bending Stiffness Measurement} \chapter{Bending Stiffness Measurement}
\label{sec:test_joints_bending_stiffness_meas} \label{sec:test_joints_bending_stiffness_meas}
\section{Introduction} \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 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}. A closer view on the force sensor tip is shown in Figure \ref{fig:test_joints_picture_bench_zoom}.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \begin{subfigure}{0.70\textwidth}
\includegraphics[scale=1,width=\linewidth]{figs/test_joints_picture_bench_overview.jpg} \begin{center}
\caption{\label{fig:test_joints_picture_bench_overview}Side view of the flexible joint stiffness bench. X-Bending stiffness is measured.} \includegraphics[scale=1,height=5cm]{figs/test_joints_picture_bench_overview.jpg}
\end{center}
\subcaption{\label{fig:test_joints_picture_bench_overview}Picture of the measurement bench}
\end{subfigure}
\begin{subfigure}{0.29\textwidth}
\begin{center}
\includegraphics[scale=1,height=5cm]{figs/test_joints_picture_bench_zoom.jpg}
\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})}
\end{figure} \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} 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}.
\textbf{Load Cells}:
\begin{itemize}
\item \href{doc/A700000007147087.pdf}{FC2231-0000-0010-L}
\item \href{doc/FRE\_DS\_XFL212R\_FR\_A3.pdf}{XFL212R}
\end{itemize}
\end{note}
There are both specified to have \(\pm 1 \%\) of non-linearity over the full range. There are both specified to have \(\pm 1 \%\) of non-linearity over the full range.
@ -462,14 +414,12 @@ Therefore, we should have a nice point contact when using the two force sensors
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1,width=0.8\linewidth]{figs/test_joints_force_sensor_calib.jpg} \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} \caption{\label{fig:test_joints_force_sensor_calib}Zoom on the two force sensors in contact}
\end{figure} \end{figure}
The two force sensors are therefore measuring the exact same force, and we can compare the two measurements. The two force sensors are therefore measuring the exact same force, and we can compare the two measurements.
Let's load the measured force of both sensors.
We remove any offset such that they are both measuring no force when not in contact.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1]{figs/test_joints_force_sensor_calib_time.png} \includegraphics[scale=1]{figs/test_joints_force_sensor_calib_time.png}
@ -498,7 +448,7 @@ It is below 0.1N for the full measurement range.
\end{figure} \end{figure}
\section{Force Sensor Stiffness} \section{Force Sensor Stiffness}
The objective of this measurement is to estimate the stiffness of the force sensor \href{doc/A700000007147087.pdf}{FC2231-0000-0010-L}. 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}. 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}.
@ -508,71 +458,55 @@ 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. 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]
\centering \begin{subfigure}{0.49\textwidth}
\includegraphics[scale=1,width=0.6\linewidth]{figs/test_joints_meas_force_sensor_stiffness.jpg} \begin{center}
\caption{\label{fig:test_joints_meas_force_sensor_stiffness}Bench used to measured the stiffness of the force sensor} \includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_meas_force_sensor_stiffness-crop.jpg}
\end{center}
\subcaption{\label{fig:test_joints_meas_force_sensor_stiffness}sub caption a}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_force_sensor_stiffness_fit.png}
\end{center}
\subcaption{\label{fig:test_joints_force_sensor_stiffness_fit}sub caption b}
\end{subfigure}
\caption{\label{fig:fig_label}Caption with reference to sub figure (\subref{fig:fig_label_a})}
\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\). 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\).
Let's load the measured force as well as the measured displacement.
Some pre-processing is applied on the data.
The linear fit is performed.
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}. 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{figure}[htbp] \(k_F \approx 0.75\,N/\mu m\)
\centering
\includegraphics[scale=1]{figs/test_joints_force_sensor_stiffness_fit.png}
\caption{\label{fig:test_joints_force_sensor_stiffness_fit}Displacement as a function of the measured force}
\end{figure}
And we obtain the following stiffness:
\begin{verbatim}
k = 0.76 [N/um]
\end{verbatim}
\section{Analysis of one measurement} \section{Analysis of one measurement}
In this section is shown how the data are analysis in order to measured: 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.
\begin{itemize}
\item the bending stiffness
\item the bending stroke
\item the stiffness once the mechanical stops are in contact
\end{itemize}
The measured force and displacement as a function of time are shown in Figure \ref{fig:test_joints_meas_bend_time}.
The height from the flexible joint's center and the point of application force \(h\) is defined below:
The obtained time domain measurements are shown in Figure \ref{fig:test_joints_meas_bend_time}.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \begin{subfigure}{0.49\textwidth}
\includegraphics[scale=1]{figs/test_joints_meas_bend_time.png} \begin{center}
\caption{\label{fig:test_joints_meas_bend_time}Typical time domain measurements} \includegraphics[scale=1,height=5.3cm]{figs/test_joints_meas_bend_time.png}
\end{center}
\subcaption{\label{fig:test_joints_meas_bend_time}Force and displacement measured as a function of time}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,height=5.3cm]{figs/test_joints_meas_F_d_lin_fit.png}
\end{center}
\subcaption{\label{fig:test_joints_meas_F_d_lin_fit}Angular displacement measured as a function of the applied torque}
\end{subfigure}
\caption{\label{fig:fig_label}Caption with reference to sub figure (\subref{fig:fig_label_a})}
\end{figure} \end{figure}
The displacement as a function of the force is then shown in Figure \ref{fig:test_joints_meas_F_d}. 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
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_joints_meas_F_d.png}
\caption{\label{fig:test_joints_meas_F_d}Typical measurement of the diplacement as a function of the applied force}
\end{figure}
The bending stiffness can be estimated by computing the slope of the curve in Figure \ref{fig:test_joints_meas_F_d}.
The bending stroke and the stiffness when touching the mechanical stop can also be estimated from the same figure.
The raw data as well as the fit corresponding to the two stiffnesses are shown in Figure \ref{fig:test_joints_meas_F_d_lin_fit}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_joints_meas_F_d_lin_fit.png}
\caption{\label{fig:test_joints_meas_F_d_lin_fit}Typical measurement of the diplacement as a function of the applied force with estimated linear fits}
\end{figure}
Then, the bending stroke is estimated as crossing point between the two fitted lines:
The obtained characteristics are: The obtained characteristics are:
\begin{itemize} \begin{itemize}
\item Bending Stiffness: 5.5Nm/rad \item Bending Stiffness: \(4.4\,Nm/\text{rad}\)
\item Bending Stiffness at stop: 173.6Nm/rad \item Bending Stiffness at stop: 144Nm/rad
\item Bending Stroke: 18.9mrad \item Bending Stroke: \(20.9\,\text{mrad}\)
\end{itemize} \end{itemize}
\section{Bending stiffness and bending stroke of all the flexible joints} \section{Bending stiffness and bending stroke of all the flexible joints}