test-bench-nass-flexible-jo.../test-bench-flexible-joints.html
2021-02-16 19:32:48 +01:00

435 lines
14 KiB
HTML

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-02-16 mar. 19:15 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Flexible Joint - Test Bench</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
<script>
MathJax = {
svg: {
scale: 1,
fontCache: "global"
},
tex: {
tags: "ams",
multlineWidth: "%MULTLINEWIDTH",
tagSide: "right",
macros: {bm: ["\\boldsymbol{#1}",1],},
tagIndent: ".8em"
}
};
</script>
<script id="MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="../index.html"> UP </a>
|
<a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Flexible Joint - Test Bench</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org108197d">1. Flexible Joints - Requirements</a></li>
<li><a href="#org0e51a3c">2. Test Bench Description</a>
<ul>
<li><a href="#orgd387cac">2.1. Flexible joint Geometry</a></li>
<li><a href="#org8da94ef">2.2. Required external applied force</a></li>
<li><a href="#orgdda06ee">2.3. Required actuator stroke and sensors range</a></li>
<li><a href="#orgb6763c2">2.4. First try with the APA95ML</a></li>
<li><a href="#orge3df316">2.5. Test Bench</a></li>
</ul>
</li>
<li><a href="#orgb94416f">3. Agreement between the probe and the encoder</a>
<ul>
<li><a href="#org57bb37e">3.1. Results</a></li>
</ul>
</li>
<li><a href="#orgaca8c01">4. Measurement of the Millimar 1318 probe stiffness</a>
<ul>
<li><a href="#org837827a">4.1. Results</a></li>
</ul>
</li>
<li><a href="#orgac55925">5. Experimental measurement</a></li>
</ul>
</div>
</div>
<hr>
<p>This report is also available as a <a href="./test-bench-flexible-joints.pdf">pdf</a>.</p>
<hr>
<div id="outline-container-org108197d" class="outline-2">
<h2 id="org108197d"><span class="section-number-2">1</span> Flexible Joints - Requirements</h2>
<div class="outline-text-2" id="text-1">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">&#xa0;</th>
<th scope="col" class="org-left"><b>Specification</b></th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">Axial Stiffness</td>
<td class="org-left">&gt; 200 [N/um]</td>
</tr>
<tr>
<td class="org-left">Shear Stiffness</td>
<td class="org-left">&gt; 1 [N/um]</td>
</tr>
<tr>
<td class="org-left">Bending Stiffness</td>
<td class="org-left">&lt; 100 [Nm/rad]</td>
</tr>
<tr>
<td class="org-left">Torsion Stiffness</td>
<td class="org-left">&lt; 500 [Nm/rad]</td>
</tr>
<tr>
<td class="org-left">Bending Stroke</td>
<td class="org-left">&gt; 1 [mrad]</td>
</tr>
<tr>
<td class="org-left">Torsion Stroke</td>
<td class="org-left">&gt; 5 [urad]</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org0e51a3c" class="outline-2">
<h2 id="org0e51a3c"><span class="section-number-2">2</span> Test Bench Description</h2>
<div class="outline-text-2" id="text-2">
<p>
The main characteristic of the flexible joint that we want to measure is its bending stiffness \(k_{R_x} \approx k_{R_y}\).
</p>
<p>
To do so, a test bench is used.
Specifications of the test bench to precisely measure the bending stiffness are described in this section.
</p>
<p>
The basic idea is to measured the angular deflection of the flexible joint as a function of the applied torque.
</p>
<div id="org43c60ee" class="figure">
<p><img src="figs/test-bench-schematic.png" alt="test-bench-schematic.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Schematic of the test bench to measure the bending stiffness of the flexible joints</p>
</div>
</div>
<div id="outline-container-orgd387cac" class="outline-3">
<h3 id="orgd387cac"><span class="section-number-3">2.1</span> Flexible joint Geometry</h3>
<div class="outline-text-3" id="text-2-1">
<p>
The flexible joint used for the Nano-Hexapod is shown in Figure <a href="#org6500c8a">2</a>.
Its bending stiffness is foreseen to be \(k_{R_y}\approx 20\,\frac{Nm}{rad}\) and its stroke \(\theta_{y,\text{max}}\approx 20\,mrad\).
</p>
<div id="org6500c8a" class="figure">
<p><img src="figs/flexible_joint_geometry.png" alt="flexible_joint_geometry.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Geometry of the flexible joint</p>
</div>
<p>
The height between the flexible point (center of the joint) and the point where external forces are applied is \(h = 20\,mm\).
</p>
<p>
Let&rsquo;s define the parameters on Matlab.
</p>
<div class="org-src-container">
<pre class="src src-matlab"> kRx = 20; <span class="org-comment">% Bending Stiffness [Nm/rad]</span>
Rxmax = 20e<span class="org-type">-</span>3; <span class="org-comment">% Bending Stroke [rad]</span>
h = 20e<span class="org-type">-</span>3; <span class="org-comment">% Height [m]</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org8da94ef" class="outline-3">
<h3 id="org8da94ef"><span class="section-number-3">2.2</span> Required external applied force</h3>
<div class="outline-text-3" id="text-2-2">
<p>
The bending \(\theta_y\) of the flexible joint due to the force \(F_x\) is:
</p>
\begin{equation}
\theta_y = \frac{M_y}{k_{R_y}} = \frac{F_x h}{k_{R_y}}
\end{equation}
<p>
Therefore, the applied force to test the full range of the flexible joint is:
</p>
\begin{equation}
F_{x,\text{max}} = \frac{k_{R_y} \theta_{y,\text{max}}}{h}
\end{equation}
<div class="org-src-container">
<pre class="src src-matlab"> Fxmax = kRx<span class="org-type">*</span>Rxmax<span class="org-type">/</span>h; <span class="org-comment">% Force to induce maximum stroke [N]</span>
</pre>
</div>
<p>
And we obtain:
</p>
\begin{equation} F_{max} = 20.0\, [N] \end{equation}
<p>
The measurement range of the force sensor should then be higher than \(20\,N\).
</p>
</div>
</div>
<div id="outline-container-orgdda06ee" class="outline-3">
<h3 id="orgdda06ee"><span class="section-number-3">2.3</span> Required actuator stroke and sensors range</h3>
<div class="outline-text-3" id="text-2-3">
<p>
The flexible joint is designed to allow a bending motion of \(\pm 20\,mrad\).
The corresponding actuator stroke to impose such motion is:
</p>
<p>
\[ d_{x,\text{max}} = h \tan(R_{x,\text{max}}) \]
</p>
<div class="org-src-container">
<pre class="src src-matlab"> dxmax = h<span class="org-type">*</span>tan(Rxmax);
</pre>
</div>
\begin{equation} d_{max} = 0.4\, [mm] \end{equation}
<p>
In order to test the full range of the flexible joint, the stroke of the actuator should be higher than \(0.4\,mm\).
The measurement range of the displacement sensor should also be higher than \(0.4\,mm\).
</p>
</div>
</div>
<div id="outline-container-orgb6763c2" class="outline-3">
<h3 id="orgb6763c2"><span class="section-number-3">2.4</span> First try with the APA95ML</h3>
<div class="outline-text-3" id="text-2-4">
<p>
The APA95ML as a stroke of \(100\,\mu m\) and the encoder in parallel can easily measure the required stroke.
</p>
<p>
Suppose the full stroke of the APA can be used to bend the flexible joint (ideal case), the measured force will be:
</p>
<div class="org-src-container">
<pre class="src src-matlab"> Fxmax = kRx<span class="org-type">*</span>100e<span class="org-type">-</span>6<span class="org-type">/</span>h<span class="org-type">^</span>2; <span class="org-comment">% Force at maximum stroke [N]</span>
</pre>
</div>
\begin{equation} F_{max} = 5.0\, [N] \end{equation}
<p>
And the tested angular range is:
</p>
<div class="org-src-container">
<pre class="src src-matlab"> Rmax = tan(100e<span class="org-type">-</span>6<span class="org-type">/</span>h);
</pre>
</div>
\begin{equation} \theta_{max} = 5.0\, [mrad] \end{equation}
</div>
</div>
<div id="outline-container-orge3df316" class="outline-3">
<h3 id="orge3df316"><span class="section-number-3">2.5</span> Test Bench</h3>
<div class="outline-text-3" id="text-2-5">
<div id="org2a1f8c7" class="figure">
<p><img src="figs/test-bench-schematic.png" alt="test-bench-schematic.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Schematic of the test bench to measure the bending stiffness of the flexible joints</p>
</div>
<div class="note" id="orgf1de4cf">
<ul class="org-ul">
<li><b>Translation Stage</b>: <a href="doc/V-408-Datasheet.pdf">V-408</a></li>
<li><b>Load Cells</b>: <a href="doc/A700000007147087.pdf">FC2231-0000-0010-L</a> and <a href="doc/FRE_DS_XFL212R_FR_A3.pdf">XFL212R</a></li>
<li><b>Encoder</b>: <a href="doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf">Renishaw Resolute 1nm</a></li>
<li><b>Displacement Probe</b>: <a href="doc/Millimar--3723046--BA--C1208-C1216-C1240--FR--2016-11-08.pdf">Millimar C1216 electronics</a> and <a href="doc/tmp3m0cvmue_7888038c-cdc8-48d8-a837-35de02760685.pdf">Millimar 1318 probe</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="outline-container-orgb94416f" class="outline-2">
<h2 id="orgb94416f"><span class="section-number-2">3</span> Agreement between the probe and the encoder</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-org57bb37e" class="outline-3">
<h3 id="org57bb37e"><span class="section-number-3">3.1</span> Results</h3>
<div class="outline-text-3" id="text-3-1">
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'meas_probe_against_encoder.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'d'</span>, <span class="org-string">'dp'</span>, <span class="org-string">'F'</span>)
</pre>
</div>
<div id="org090f800" class="figure">
<p><img src="figs/comp_encoder_probe_time.png" alt="comp_encoder_probe_time.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Time domain measurement</p>
</div>
<div id="orgeedac3e" class="figure">
<p><img src="figs/comp_encoder_probe_time_zoom.png" alt="comp_encoder_probe_time_zoom.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Time domain measurement (Zoom)</p>
</div>
<div class="org-src-container">
<pre class="src src-matlab">finddelay(d, dp)
</pre>
</div>
<pre class="example">
316
</pre>
<div class="org-src-container">
<pre class="src src-matlab">Ts<span class="org-type">*</span>finddelay(d, dp)
</pre>
</div>
<pre class="example">
0.0158
</pre>
<div id="org196ee5e" class="figure">
<p><img src="figs/comp_encoder_probe_mismatch.png" alt="comp_encoder_probe_mismatch.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Measurement mismatch, with and without delay compensation</p>
</div>
<div id="org4c16552" class="figure">
<p><img src="figs/comp_encoder_probe_linear_fit.png" alt="comp_encoder_probe_linear_fit.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Measured displacement by the probe as a function of the measured displacement by the encoder</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgaca8c01" class="outline-2">
<h2 id="orgaca8c01"><span class="section-number-2">4</span> Measurement of the Millimar 1318 probe stiffness</h2>
<div class="outline-text-2" id="text-4">
<div class="note" id="org2b211f7">
<ul class="org-ul">
<li><b>Translation Stage</b>: <a href="doc/V-408-Datasheet.pdf">V-408</a></li>
<li><b>Load Cell</b>: <a href="doc/A700000007147087.pdf">FC2231-0000-0010-L</a></li>
<li><b>Encoder</b>: <a href="doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf">Renishaw Resolute 1nm</a></li>
<li><b>Displacement Probe</b>: <a href="doc/Millimar--3723046--BA--C1208-C1216-C1240--FR--2016-11-08.pdf">Millimar C1216 electronics</a> and <a href="doc/tmp3m0cvmue_7888038c-cdc8-48d8-a837-35de02760685.pdf">Millimar 1318 probe</a></li>
</ul>
</div>
<div id="org68dec3a" class="figure">
<p><img src="figs/setup_mahr_stiff_meas_side.jpg" alt="setup_mahr_stiff_meas_side.jpg" />
</p>
<p><span class="figure-number">Figure 8: </span>Setup - Side View</p>
</div>
<div id="org28e5fd0" class="figure">
<p><img src="figs/setup_mahr_stiff_meas_top.jpg" alt="setup_mahr_stiff_meas_top.jpg" />
</p>
<p><span class="figure-number">Figure 9: </span>Setup - Top View</p>
</div>
</div>
<div id="outline-container-org837827a" class="outline-3">
<h3 id="org837827a"><span class="section-number-3">4.1</span> Results</h3>
<div class="outline-text-3" id="text-4-1">
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'meas_stiff_probe.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'d'</span>, <span class="org-string">'dp'</span>, <span class="org-string">'F'</span>)
</pre>
</div>
<p>
The time domain measured force and displacement are shown in Figure <a href="#orged81df2">10</a>.
</p>
<div id="orged81df2" class="figure">
<p><img src="figs/mahr_time_domain.png" alt="mahr_time_domain.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Time domain measurements</p>
</div>
<p>
Now we can estimate the stiffness with a linear fit.
</p>
<pre class="example">
Stiffness is 0.039 [N/mm]
</pre>
<p>
This is very close to the 0.04 [N/mm] written in the <a href="doc/tmp3m0cvmue_7888038c-cdc8-48d8-a837-35de02760685.pdf">Millimar 1318 probe datasheet</a>.
</p>
<p>
And compare the linear fit with the raw measurement data (Figure <a href="#orgba688b9">11</a>).
</p>
<div id="orgba688b9" class="figure">
<p><img src="figs/mahr_stiffness_f_d_plot.png" alt="mahr_stiffness_f_d_plot.png" />
</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgac55925" class="outline-2">
<h2 id="orgac55925"><span class="section-number-2">5</span> Experimental measurement</h2>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-02-16 mar. 19:15</p>
</div>
</body>
</html>