Analyze data

This commit is contained in:
Thomas Dehaeze 2021-02-16 19:32:48 +01:00
parent dee3acdce7
commit a45916ca7e
17 changed files with 446 additions and 34 deletions

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
figs/mahr_time_domain.pdf Normal file

Binary file not shown.

BIN
figs/mahr_time_domain.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

View File

@ -3,7 +3,7 @@
"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-02 mar. 19:12 -->
<!-- 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" />
@ -39,17 +39,27 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org0ce044b">1. Flexible Joints - Requirements</a></li>
<li><a href="#orgdb39e09">2. Test Bench Description</a>
<li><a href="#org108197d">1. Flexible Joints - Requirements</a></li>
<li><a href="#org0e51a3c">2. Test Bench Description</a>
<ul>
<li><a href="#org5eb807b">2.1. Flexible joint Geometry</a></li>
<li><a href="#org48c52dd">2.2. Required external applied force</a></li>
<li><a href="#org1d2ec69">2.3. Required actuator stroke and sensors range</a></li>
<li><a href="#orge2c3db5">2.4. First try with the APA95ML</a></li>
<li><a href="#orge4c6045">2.5. Test Bench</a></li>
<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="#orgfa48374">3. Experimental measurement</a></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>
@ -57,8 +67,8 @@
<p>This report is also available as a <a href="./test-bench-flexible-joints.pdf">pdf</a>.</p>
<hr>
<div id="outline-container-org0ce044b" class="outline-2">
<h2 id="org0ce044b"><span class="section-number-2">1</span> Flexible Joints - Requirements</h2>
<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">
@ -109,8 +119,8 @@
</div>
</div>
<div id="outline-container-orgdb39e09" class="outline-2">
<h2 id="orgdb39e09"><span class="section-number-2">2</span> Test Bench Description</h2>
<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}\).
@ -126,23 +136,23 @@ The basic idea is to measured the angular deflection of the flexible joint as a
</p>
<div id="org73fb3d5" class="figure">
<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-org5eb807b" class="outline-3">
<h3 id="org5eb807b"><span class="section-number-3">2.1</span> Flexible joint Geometry</h3>
<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="#orge14f21a">2</a>.
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="orge14f21a" class="figure">
<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>
@ -164,8 +174,8 @@ Let&rsquo;s define the parameters on Matlab.
</div>
</div>
<div id="outline-container-org48c52dd" class="outline-3">
<h3 id="org48c52dd"><span class="section-number-3">2.2</span> Required external applied force</h3>
<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:
@ -197,8 +207,8 @@ The measurement range of the force sensor should then be higher than \(20\,N\).
</div>
</div>
<div id="outline-container-org1d2ec69" class="outline-3">
<h3 id="org1d2ec69"><span class="section-number-3">2.3</span> Required actuator stroke and sensors range</h3>
<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\).
@ -223,8 +233,8 @@ The measurement range of the displacement sensor should also be higher than \(0.
</div>
</div>
<div id="outline-container-orge2c3db5" class="outline-3">
<h3 id="orge2c3db5"><span class="section-number-3">2.4</span> First try with the APA95ML</h3>
<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.
@ -252,21 +262,22 @@ And the tested angular range is:
</div>
</div>
<div id="outline-container-orge4c6045" class="outline-3">
<h3 id="orge4c6045"><span class="section-number-3">2.5</span> Test Bench</h3>
<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="org8101cfa" class="figure">
<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="orgfde2443">
<div class="note" id="orgf1de4cf">
<ul class="org-ul">
<li>Manual Translation Stage</li>
<li>Load Cell TE Connectivity <a href="doc/A700000007147087.pdf">FC2231-0000-0010-L</a></li>
<li>Encoder: Renishaw <a href="doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf">Resolute 1nm</a></li>
<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>
@ -274,13 +285,150 @@ And the tested angular range is:
</div>
</div>
<div id="outline-container-orgfa48374" class="outline-2">
<h2 id="orgfa48374"><span class="section-number-2">3</span> Experimental measurement</h2>
<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-02 mar. 19:12</p>
<p class="date">Created: 2021-02-16 mar. 19:15</p>
</div>
</body>
</html>

View File

@ -185,4 +185,268 @@ And the tested angular range is:
- *Displacement Probe*: [[file:doc/Millimar--3723046--BA--C1208-C1216-C1240--FR--2016-11-08.pdf][Millimar C1216 electronics]] and [[file:doc/tmp3m0cvmue_7888038c-cdc8-48d8-a837-35de02760685.pdf][Millimar 1318 probe]]
#+end_note
* Agreement between the probe and the encoder
** Introduction :ignore:
** Setup
The measurement setup is made such that the probe measured the translation table displacement.
It should then measure the same displacement as the encoder.
Using this setup, we should be able to compare the probe and the encoder.
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
<<matlab-dir>>
#+end_src
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+end_src
#+begin_src matlab :tangle no
addpath('./matlab/mat/');
addpath('./matlab/');
#+end_src
#+begin_src matlab :eval no
addpath('./mat/');
#+end_src
** Results
Let's load the measurements.
#+begin_src matlab
load('meas_probe_against_encoder.mat', 't', 'd', 'dp', 'F')
#+end_src
#+begin_src matlab :exports none
%% Sampling time [s]
Ts = (t(end) - t(1))/(length(t)-1);
%% Remove first second
t = t(ceil(1/Ts):end);
d = -d(ceil(1/Ts):end);
dp = -dp(ceil(1/Ts):end);
F = F(ceil(1/Ts):end);
#+end_src
The time domain measured displacement by the probe and by the encoder is shown in Figure [[fig:comp_encoder_probe_time]].
#+begin_src matlab :exports none
%% Time Domain plots
figure;
hold on;
plot(t, d, 'DisplayName', 'Encoder');
plot(t, dp, 'DisplayName', 'Probe');
hold off;
xlabel('Time [s]'); ylabel('Displacement [m]');
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/comp_encoder_probe_time.pdf', 'width', 'wide', 'height', 'normal');
#+end_src
#+name: fig:comp_encoder_probe_time
#+caption: Time domain measurement
#+RESULTS:
[[file:figs/comp_encoder_probe_time.png]]
If we zoom, we see that there is some delay between the encoder and the probe (Figure [[fig:comp_encoder_probe_time_zoom]]).
#+begin_src matlab :exports none
%% Zoom
figure;
hold on;
plot(t, d, 'DisplayName', 'Encoder');
plot(t, dp, 'DisplayName', 'Probe');
hold off;
xlabel('Time [s]'); ylabel('Displacement [m]');
xlim([7.7, 7.9])
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/comp_encoder_probe_time_zoom.pdf', 'width', 'wide', 'height', 'normal');
#+end_src
#+name: fig:comp_encoder_probe_time_zoom
#+caption: Time domain measurement (Zoom)
#+RESULTS:
[[file:figs/comp_encoder_probe_time_zoom.png]]
This delay is estimated using the =finddelay= command.
#+begin_src matlab :results value replace :exports results :tangle no
sprintf('The time delay is approximately %.1f [ms]', 1e3*Ts*finddelay(d, dp))
#+end_src
#+RESULTS:
: The time delay is approximately 15.8 [ms]
The measured mismatch between the encoder and the probe with and without compensating for the time delay are shown in Figure [[fig:comp_encoder_probe_mismatch]].
#+begin_src matlab :exports none
figure;
hold on;
plot(t, d-dp, 'DisplayName', 'Raw Mismatch');
plot(t(1:end-finddelay(d, dp)), d(1:end-finddelay(d, dp))-dp(finddelay(d, dp)+1:end), 'DisplayName', 'Removed Delay');
hold off;
xlabel('Time [s]'); ylabel('Measurement Missmatch [m]');
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/comp_encoder_probe_mismatch.pdf', 'width', 'wide', 'height', 'normal');
#+end_src
#+name: fig:comp_encoder_probe_mismatch
#+caption: Measurement mismatch, with and without delay compensation
#+RESULTS:
[[file:figs/comp_encoder_probe_mismatch.png]]
Finally, the displacement of the probe is shown as a function of the displacement of the encoder and a linear fit is made (Figure [[fig:comp_encoder_probe_linear_fit]]).
#+begin_src matlab :exports none
figure;
hold on;
plot(1e3*d, 1e3*dp, 'DisplayName', 'Raw data');
plot(1e3*d, 1e3*d*(d\dp), 'DisplayName', sprintf('Linear fit: $\\alpha = %.5f$', (d\dp)));
hold on;
xlabel('Encoder [mm]'); ylabel('Probe [mm]');
legend('location', 'southeast')
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/comp_encoder_probe_linear_fit.pdf', 'width', 'normal', 'height', 'normal');
#+end_src
#+name: fig:comp_encoder_probe_linear_fit
#+caption: Measured displacement by the probe as a function of the measured displacement by the encoder
#+RESULTS:
[[file:figs/comp_encoder_probe_linear_fit.png]]
#+begin_important
From the measurement, it is shown that the probe is well calibrated.
However, there is some time delay of tens of milliseconds that could induce some measurement errors.
#+end_important
* Measurement of the Millimar 1318 probe stiffness
** Introduction :ignore:
#+begin_note
- *Translation Stage*: [[file:doc/V-408-Datasheet.pdf][V-408]]
- *Load Cell*: [[file:doc/A700000007147087.pdf][FC2231-0000-0010-L]]
- *Encoder*: [[file:doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf][Renishaw Resolute 1nm]]
- *Displacement Probe*: [[file:doc/Millimar--3723046--BA--C1208-C1216-C1240--FR--2016-11-08.pdf][Millimar C1216 electronics]] and [[file:doc/tmp3m0cvmue_7888038c-cdc8-48d8-a837-35de02760685.pdf][Millimar 1318 probe]]
#+end_note
#+name: fig:setup_mahr_stiff_meas_side
#+caption: Setup - Side View
#+attr_latex: :width \linewidth
[[file:figs/setup_mahr_stiff_meas_side.jpg]]
#+name: fig:setup_mahr_stiff_meas_top
#+caption: Setup - Top View
#+attr_latex: :width \linewidth
[[file:figs/setup_mahr_stiff_meas_top.jpg]]
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
<<matlab-dir>>
#+end_src
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+end_src
#+begin_src matlab :tangle no
addpath('./matlab/mat/');
addpath('./matlab/');
#+end_src
#+begin_src matlab :eval no
addpath('./mat/');
#+end_src
** Results
Let's load the measurement results.
#+begin_src matlab
load('meas_stiff_probe.mat', 't', 'd', 'dp', 'F')
#+end_src
#+begin_src matlab :exports none
%% Sampling time [s]
Ts = (t(end) - t(1))/(length(t)-1);
%% Remove first second
t = t(ceil(1/Ts):end);
d = d(ceil(1/Ts):end);
dp = dp(ceil(1/Ts):end);
F = F(ceil(1/Ts):end);
%% Remove Offset
t = t - t(1);
F = F - mean(F(1:ceil(1/Ts)));
#+end_src
The time domain measured force and displacement are shown in Figure [[fig:mahr_time_domain]].
#+begin_src matlab :exports none
%% Time Domain plots
figure;
tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
ax1 = nexttile;
plot(t, F);
ylabel('Force [N]'); set(gca, 'XTickLabel',[]);
ax2 = nexttile;
plot(t, d);
xlabel('Time [s]'); ylabel('Displacement [m]');
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/mahr_time_domain.pdf', 'width', 'wide', 'height', 'tall');
#+end_src
#+name: fig:mahr_time_domain
#+caption: Time domain measurements
#+RESULTS:
[[file:figs/mahr_time_domain.png]]
Now we can estimate the stiffness with a linear fit.
#+begin_src matlab :results value replace :exports results :tangle no
sprintf('Stiffness is %.3f [N/mm]', abs(1e-3*(d\F)))
#+end_src
#+RESULTS:
: Stiffness is 0.039 [N/mm]
This is very close to the 0.04 [N/mm] written in the [[file:doc/tmp3m0cvmue_7888038c-cdc8-48d8-a837-35de02760685.pdf][Millimar 1318 probe datasheet]].
And compare the linear fit with the raw measurement data (Figure [[fig:mahr_stiffness_f_d_plot]]).
#+begin_src matlab :exports none
figure;
hold on;
plot(F, d, 'DisplayName', 'Raw data');
plot(F, F/(d\F), 'DisplayName', 'Linear fit');
hold off;
xlabel('Measured Force [N]');
ylabel('Measured Displacement [m]');
legend('location', 'southeast');
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/mahr_stiffness_f_d_plot.pdf', 'width', 'wide', 'height', 'normal');
#+end_src
#+name: fig:mahr_stiffness_f_d_plot
#+caption: Measured displacement as a function of the measured force. Raw data and linear fit
#+RESULTS:
[[file:figs/mahr_stiffness_f_d_plot.png]]
#+begin_summary
The Millimar 1318 probe has a stiffness of $\approx 0.04\,[N/mm]$.
#+end_summary
* Experimental measurement

Binary file not shown.