Add simpler model for the flexible joint

This commit is contained in:
Thomas Dehaeze 2020-08-04 12:14:06 +02:00
parent 9b9b52c25f
commit a6dfc9fd70
8 changed files with 2526 additions and 206 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 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>
<!-- 2020-08-04 mar. 11:53 -->
<!-- 2020-08-04 mar. 12:14 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Finite Element Model with Simscape</title>
<meta name="generator" content="Org mode" />
@ -34,61 +34,62 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org4f0b86a">1. Amplified Piezoelectric Actuator - 3D elements</a>
<li><a href="#org11711e7">1. Amplified Piezoelectric Actuator - 3D elements</a>
<ul>
<li><a href="#org15fc227">1.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#orgd262dde">1.2. Output parameters</a></li>
<li><a href="#org6aafed9">1.3. Piezoelectric parameters</a></li>
<li><a href="#orge996914">1.4. Identification of the Dynamics</a></li>
<li><a href="#orgff6331a">1.5. Comparison with Ansys</a></li>
<li><a href="#org9bf2a27">1.6. Force Sensor</a></li>
<li><a href="#org06d3501">1.7. Distributed Actuator</a></li>
<li><a href="#org324bb60">1.8. Distributed Actuator and Force Sensor</a></li>
<li><a href="#org5840571">1.9. Dynamics from input voltage to displacement</a></li>
<li><a href="#org7061a42">1.10. Dynamics from input voltage to output voltage</a></li>
<li><a href="#org605569c">1.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#org3cecb96">1.2. Output parameters</a></li>
<li><a href="#org8320da0">1.3. Piezoelectric parameters</a></li>
<li><a href="#org143c785">1.4. Identification of the Dynamics</a></li>
<li><a href="#orgf5d3703">1.5. Comparison with Ansys</a></li>
<li><a href="#org3631f01">1.6. Force Sensor</a></li>
<li><a href="#orge78d6e7">1.7. Distributed Actuator</a></li>
<li><a href="#orgeb1fcd5">1.8. Distributed Actuator and Force Sensor</a></li>
<li><a href="#org8b3ceb4">1.9. Dynamics from input voltage to displacement</a></li>
<li><a href="#orgc70429c">1.10. Dynamics from input voltage to output voltage</a></li>
</ul>
</li>
<li><a href="#org4785733">2. APA300ML</a>
<li><a href="#orgb41a9c6">2. APA300ML</a>
<ul>
<li><a href="#orgc8b6c2f">2.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#org4f8843c">2.2. Output parameters</a></li>
<li><a href="#org7dc97c1">2.3. Piezoelectric parameters</a></li>
<li><a href="#orgf91f943">2.4. Identification of the APA Characteristics</a>
<li><a href="#org30af002">2.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#org85fa434">2.2. Output parameters</a></li>
<li><a href="#org5cdf888">2.3. Piezoelectric parameters</a></li>
<li><a href="#orgee1c2b0">2.4. Identification of the APA Characteristics</a>
<ul>
<li><a href="#orgcb12518">2.4.1. Stiffness</a></li>
<li><a href="#org43f261c">2.4.2. Resonance Frequency</a></li>
<li><a href="#org38ca11e">2.4.3. Amplification factor</a></li>
<li><a href="#org227839d">2.4.4. Stroke</a></li>
<li><a href="#org14fc9b3">2.4.1. Stiffness</a></li>
<li><a href="#org8015f10">2.4.2. Resonance Frequency</a></li>
<li><a href="#org944a6aa">2.4.3. Amplification factor</a></li>
<li><a href="#orgafa7bfa">2.4.4. Stroke</a></li>
</ul>
</li>
<li><a href="#orgfeabffd">2.5. Identification of the Dynamics</a></li>
<li><a href="#orga13ac6b">2.6. IFF</a></li>
<li><a href="#org5ed7231">2.7. DVF</a></li>
<li><a href="#org7e2be0e">2.8. Identification for a simpler model</a></li>
<li><a href="#org556c829">2.5. Identification of the Dynamics</a></li>
<li><a href="#orgf7bedc8">2.6. IFF</a></li>
<li><a href="#org0ec6d6d">2.7. DVF</a></li>
<li><a href="#org389e503">2.8. Identification for a simpler model</a></li>
</ul>
</li>
<li><a href="#org0fc361f">3. Flexible Joint</a>
<li><a href="#org302c208">3. Flexible Joint</a>
<ul>
<li><a href="#orgf82cf1b">3.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#orgc3419f4">3.2. Output parameters</a></li>
<li><a href="#org60de458">3.3. Flexible Joint Characteristics</a></li>
<li><a href="#orgcd8bc89">3.4. Identification</a></li>
<li><a href="#org0d5de26">3.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#orgdf345b2">3.2. Output parameters</a></li>
<li><a href="#orgdaac86c">3.3. Flexible Joint Characteristics</a></li>
<li><a href="#org6162023">3.4. Identification of the parameters using Simscape</a></li>
<li><a href="#org8dd435e">3.5. Simpler Model</a></li>
</ul>
</li>
<li><a href="#org258adf3">4. Integral Force Feedback with Amplified Piezo</a>
<li><a href="#org91af791">4. Integral Force Feedback with Amplified Piezo</a>
<ul>
<li><a href="#org3e49415">4.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#org690b14e">4.2. IFF Plant</a></li>
<li><a href="#orga83d461">4.3. IFF controller</a></li>
<li><a href="#org1fd0639">4.4. Closed Loop System</a></li>
<li><a href="#orga880b08">4.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#org4520a0d">4.2. IFF Plant</a></li>
<li><a href="#orge7a688b">4.3. IFF controller</a></li>
<li><a href="#org0515ee4">4.4. Closed Loop System</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org4f0b86a" class="outline-2">
<h2 id="org4f0b86a"><span class="section-number-2">1</span> Amplified Piezoelectric Actuator - 3D elements</h2>
<div id="outline-container-org11711e7" class="outline-2">
<h2 id="org11711e7"><span class="section-number-2">1</span> Amplified Piezoelectric Actuator - 3D elements</h2>
<div class="outline-text-2" id="text-1">
<p>
The idea here is to:
@ -102,8 +103,8 @@ The idea here is to:
</ul>
</div>
<div id="outline-container-org15fc227" class="outline-3">
<h3 id="org15fc227"><span class="section-number-3">1.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div id="outline-container-org605569c" class="outline-3">
<h3 id="org605569c"><span class="section-number-3">1.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div class="outline-text-3" id="text-1-1">
<p>
We first extract the stiffness and mass matrices.
@ -129,8 +130,8 @@ Then, we extract the coordinates of the interface nodes.
</div>
</div>
<div id="outline-container-orgd262dde" class="outline-3">
<h3 id="orgd262dde"><span class="section-number-3">1.2</span> Output parameters</h3>
<div id="outline-container-org3cecb96" class="outline-3">
<h3 id="org3cecb96"><span class="section-number-3">1.2</span> Output parameters</h3>
<div class="outline-text-3" id="text-1-2">
<div class="org-src-container">
<pre class="src src-matlab">load('./mat/piezo_amplified_3d.mat', 'int_xyz', 'int_i', 'n_xyz', 'n_i', 'nodes', 'M', 'K');
@ -169,7 +170,7 @@ Then, we extract the coordinates of the interface nodes.
</table>
<div id="org5e22c17" class="figure">
<div id="org19ef33f" class="figure">
<p><img src="figs/amplified_piezo_interface_nodes.png" alt="amplified_piezo_interface_nodes.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Interface Nodes for the Amplified Piezo Actuator</p>
@ -627,8 +628,8 @@ Using <code>K</code>, <code>M</code> and <code>int_xyz</code>, we can use the <c
</div>
<div id="outline-container-org6aafed9" class="outline-3">
<h3 id="org6aafed9"><span class="section-number-3">1.3</span> Piezoelectric parameters</h3>
<div id="outline-container-org8320da0" class="outline-3">
<h3 id="org8320da0"><span class="section-number-3">1.3</span> Piezoelectric parameters</h3>
<div class="outline-text-3" id="text-1-3">
<p>
Parameters for the APA95ML:
@ -689,8 +690,8 @@ where:
</div>
</div>
<div id="outline-container-orge996914" class="outline-3">
<h3 id="orge996914"><span class="section-number-3">1.4</span> Identification of the Dynamics</h3>
<div id="outline-container-org143c785" class="outline-3">
<h3 id="org143c785"><span class="section-number-3">1.4</span> Identification of the Dynamics</h3>
<div class="outline-text-3" id="text-1-4">
<p>
The flexible element is imported using the <code>Reduced Order Flexible Solid</code> simscape block.
@ -742,7 +743,7 @@ And the dynamics is identified.
</p>
<p>
The two identified dynamics are compared in Figure <a href="#org9bccbed">2</a>.
The two identified dynamics are compared in Figure <a href="#orga651bf2">2</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">%% Name of the Simulink File
@ -758,7 +759,7 @@ Ghm = -linearize(mdl, io);
</div>
<div id="org9bccbed" class="figure">
<div id="orga651bf2" class="figure">
<p><img src="figs/dynamics_act_disp_comp_mass.png" alt="dynamics_act_disp_comp_mass.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Dynamics from \(F\) to \(d\) without a payload and with a 10kg payload</p>
@ -766,8 +767,8 @@ Ghm = -linearize(mdl, io);
</div>
</div>
<div id="outline-container-orgff6331a" class="outline-3">
<h3 id="orgff6331a"><span class="section-number-3">1.5</span> Comparison with Ansys</h3>
<div id="outline-container-orgf5d3703" class="outline-3">
<h3 id="orgf5d3703"><span class="section-number-3">1.5</span> Comparison with Ansys</h3>
<div class="outline-text-3" id="text-1-5">
<p>
Let&rsquo;s import the results from an Harmonic response analysis in Ansys.
@ -779,11 +780,11 @@ Gresp10 = readtable('FEA_HarmResponse_10kg.txt');
</div>
<p>
The obtained dynamics from the Simscape model and from the Ansys analysis are compare in Figure <a href="#orgbddd59a">3</a>.
The obtained dynamics from the Simscape model and from the Ansys analysis are compare in Figure <a href="#orgf1820ec">3</a>.
</p>
<div id="orgbddd59a" class="figure">
<div id="orgf1820ec" class="figure">
<p><img src="figs/dynamics_force_disp_comp_anasys.png" alt="dynamics_force_disp_comp_anasys.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Comparison of the obtained dynamics using Simscape with the harmonic response analysis using Ansys</p>
@ -791,15 +792,15 @@ The obtained dynamics from the Simscape model and from the Ansys analysis are co
</div>
</div>
<div id="outline-container-org9bf2a27" class="outline-3">
<h3 id="org9bf2a27"><span class="section-number-3">1.6</span> Force Sensor</h3>
<div id="outline-container-org3631f01" class="outline-3">
<h3 id="org3631f01"><span class="section-number-3">1.6</span> Force Sensor</h3>
<div class="outline-text-3" id="text-1-6">
<p>
The dynamics is identified from internal forces applied between nodes 3 and 11 to the relative displacement of nodes 11 and 13.
</p>
<p>
The obtained dynamics is shown in Figure <a href="#org32d2842">4</a>.
The obtained dynamics is shown in Figure <a href="#org4257ce1">4</a>.
</p>
<div class="org-src-container">
@ -839,7 +840,7 @@ Gfm = linearize(mdl, io);
</div>
<div id="org32d2842" class="figure">
<div id="org4257ce1" class="figure">
<p><img src="figs/dynamics_force_force_sensor_comp_mass.png" alt="dynamics_force_force_sensor_comp_mass.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Dynamics from \(F\) to \(F_m\) for \(m=0\) and \(m = 10kg\)</p>
@ -847,8 +848,8 @@ Gfm = linearize(mdl, io);
</div>
</div>
<div id="outline-container-org06d3501" class="outline-3">
<h3 id="org06d3501"><span class="section-number-3">1.7</span> Distributed Actuator</h3>
<div id="outline-container-orge78d6e7" class="outline-3">
<h3 id="orge78d6e7"><span class="section-number-3">1.7</span> Distributed Actuator</h3>
<div class="outline-text-3" id="text-1-7">
<div class="org-src-container">
<pre class="src src-matlab">m = 0;
@ -897,8 +898,8 @@ Gdm = linearize(mdl, io);
</div>
</div>
<div id="outline-container-org324bb60" class="outline-3">
<h3 id="org324bb60"><span class="section-number-3">1.8</span> Distributed Actuator and Force Sensor</h3>
<div id="outline-container-orgeb1fcd5" class="outline-3">
<h3 id="orgeb1fcd5"><span class="section-number-3">1.8</span> Distributed Actuator and Force Sensor</h3>
<div class="outline-text-3" id="text-1-8">
<div class="org-src-container">
<pre class="src src-matlab">m = 0;
@ -938,8 +939,8 @@ Gfdm = linearize(mdl, io);
</div>
</div>
<div id="outline-container-org5840571" class="outline-3">
<h3 id="org5840571"><span class="section-number-3">1.9</span> Dynamics from input voltage to displacement</h3>
<div id="outline-container-org8b3ceb4" class="outline-3">
<h3 id="org8b3ceb4"><span class="section-number-3">1.9</span> Dynamics from input voltage to displacement</h3>
<div class="outline-text-3" id="text-1-9">
<div class="org-src-container">
<pre class="src src-matlab">m = 5;
@ -951,7 +952,7 @@ And the dynamics is identified.
</p>
<p>
The two identified dynamics are compared in Figure <a href="#org9bccbed">2</a>.
The two identified dynamics are compared in Figure <a href="#orga651bf2">2</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">%% Name of the Simulink File
@ -973,8 +974,8 @@ G = -linearize(mdl, io);
</div>
</div>
<div id="outline-container-org7061a42" class="outline-3">
<h3 id="org7061a42"><span class="section-number-3">1.10</span> Dynamics from input voltage to output voltage</h3>
<div id="outline-container-orgc70429c" class="outline-3">
<h3 id="orgc70429c"><span class="section-number-3">1.10</span> Dynamics from input voltage to output voltage</h3>
<div class="outline-text-3" id="text-1-10">
<div class="org-src-container">
<pre class="src src-matlab">m = 5;
@ -997,19 +998,19 @@ G = -linearize(mdl, io);
</div>
</div>
<div id="outline-container-org4785733" class="outline-2">
<h2 id="org4785733"><span class="section-number-2">2</span> APA300ML</h2>
<div id="outline-container-orgb41a9c6" class="outline-2">
<h2 id="orgb41a9c6"><span class="section-number-2">2</span> APA300ML</h2>
<div class="outline-text-2" id="text-2">
<div id="orgbae0d7b" class="figure">
<div id="orgaa4b384" class="figure">
<p><img src="figs/apa300ml_ansys.jpg" alt="apa300ml_ansys.jpg" />
</p>
<p><span class="figure-number">Figure 5: </span>Ansys FEM of the APA300ML</p>
</div>
</div>
<div id="outline-container-orgc8b6c2f" class="outline-3">
<h3 id="orgc8b6c2f"><span class="section-number-3">2.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div id="outline-container-org30af002" class="outline-3">
<h3 id="org30af002"><span class="section-number-3">2.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div class="outline-text-3" id="text-2-1">
<p>
We first extract the stiffness and mass matrices.
@ -1041,8 +1042,8 @@ Then, we extract the coordinates of the interface nodes.
</div>
</div>
<div id="outline-container-org4f8843c" class="outline-3">
<h3 id="org4f8843c"><span class="section-number-3">2.2</span> Output parameters</h3>
<div id="outline-container-org85fa434" class="outline-3">
<h3 id="org85fa434"><span class="section-number-3">2.2</span> Output parameters</h3>
<div class="outline-text-3" id="text-2-2">
<div class="org-src-container">
<pre class="src src-matlab">load('./mat/APA300ML.mat', 'int_xyz', 'int_i', 'n_xyz', 'n_i', 'nodes', 'M', 'K');
@ -1483,8 +1484,8 @@ Using <code>K</code>, <code>M</code> and <code>int_xyz</code>, we can use the <c
</div>
</div>
<div id="outline-container-org7dc97c1" class="outline-3">
<h3 id="org7dc97c1"><span class="section-number-3">2.3</span> Piezoelectric parameters</h3>
<div id="outline-container-org5cdf888" class="outline-3">
<h3 id="org5cdf888"><span class="section-number-3">2.3</span> Piezoelectric parameters</h3>
<div class="outline-text-3" id="text-2-3">
<p>
Parameters for the APA300ML:
@ -1545,12 +1546,12 @@ where:
</div>
</div>
<div id="outline-container-orgf91f943" class="outline-3">
<h3 id="orgf91f943"><span class="section-number-3">2.4</span> Identification of the APA Characteristics</h3>
<div id="outline-container-orgee1c2b0" class="outline-3">
<h3 id="orgee1c2b0"><span class="section-number-3">2.4</span> Identification of the APA Characteristics</h3>
<div class="outline-text-3" id="text-2-4">
</div>
<div id="outline-container-orgcb12518" class="outline-4">
<h4 id="orgcb12518"><span class="section-number-4">2.4.1</span> Stiffness</h4>
<div id="outline-container-org14fc9b3" class="outline-4">
<h4 id="org14fc9b3"><span class="section-number-4">2.4.1</span> Stiffness</h4>
<div class="outline-text-4" id="text-2-4-1">
<p>
The transfer function from vertical external force to the relative vertical displacement is identified.
@ -1575,16 +1576,16 @@ The specified stiffness in the datasheet is \(k = 1.8\, [N/\mu m]\).
</div>
</div>
<div id="outline-container-org43f261c" class="outline-4">
<h4 id="org43f261c"><span class="section-number-4">2.4.2</span> Resonance Frequency</h4>
<div id="outline-container-org8015f10" class="outline-4">
<h4 id="org8015f10"><span class="section-number-4">2.4.2</span> Resonance Frequency</h4>
<div class="outline-text-4" id="text-2-4-2">
<p>
The resonance frequency is specified to be between 650Hz and 840Hz.
This is also the case for the FEM model (Figure <a href="#org51e1766">6</a>).
This is also the case for the FEM model (Figure <a href="#org56f7212">6</a>).
</p>
<div id="org51e1766" class="figure">
<div id="org56f7212" class="figure">
<p><img src="figs/apa300ml_resonance.png" alt="apa300ml_resonance.png" />
</p>
<p><span class="figure-number">Figure 6: </span>First resonance is around 800Hz</p>
@ -1592,8 +1593,8 @@ This is also the case for the FEM model (Figure <a href="#org51e1766">6</a>).
</div>
</div>
<div id="outline-container-org38ca11e" class="outline-4">
<h4 id="org38ca11e"><span class="section-number-4">2.4.3</span> Amplification factor</h4>
<div id="outline-container-org944a6aa" class="outline-4">
<h4 id="org944a6aa"><span class="section-number-4">2.4.3</span> Amplification factor</h4>
<div class="outline-text-4" id="text-2-4-3">
<p>
The amplification factor is the ratio of the axial displacement to the stack displacement.
@ -1626,8 +1627,8 @@ If we take the ratio of the piezo height and length (approximation of the amplif
</div>
</div>
<div id="outline-container-org227839d" class="outline-4">
<h4 id="org227839d"><span class="section-number-4">2.4.4</span> Stroke</h4>
<div id="outline-container-orgafa7bfa" class="outline-4">
<h4 id="orgafa7bfa"><span class="section-number-4">2.4.4</span> Stroke</h4>
<div class="outline-text-4" id="text-2-4-4">
<p>
Estimation of the actuator stroke:
@ -1658,8 +1659,8 @@ This is exactly the specified stroke in the data-sheet.
</div>
</div>
<div id="outline-container-orgfeabffd" class="outline-3">
<h3 id="orgfeabffd"><span class="section-number-3">2.5</span> Identification of the Dynamics</h3>
<div id="outline-container-org556c829" class="outline-3">
<h3 id="org556c829"><span class="section-number-3">2.5</span> Identification of the Dynamics</h3>
<div class="outline-text-3" id="text-2-5">
<p>
The flexible element is imported using the <code>Reduced Order Flexible Solid</code> simscape block.
@ -1685,7 +1686,7 @@ The same dynamics is identified for a payload mass of 10Kg.
</div>
<div id="orgb3bcc13" class="figure">
<div id="orgf1438fa" class="figure">
<p><img src="figs/apa300ml_plant_dynamics.png" alt="apa300ml_plant_dynamics.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Transfer function from forces applied by the stack to the axial displacement of the APA</p>
@ -1693,29 +1694,29 @@ The same dynamics is identified for a payload mass of 10Kg.
</div>
</div>
<div id="outline-container-orga13ac6b" class="outline-3">
<h3 id="orga13ac6b"><span class="section-number-3">2.6</span> IFF</h3>
<div id="outline-container-orgf7bedc8" class="outline-3">
<h3 id="orgf7bedc8"><span class="section-number-3">2.6</span> IFF</h3>
<div class="outline-text-3" id="text-2-6">
<p>
Let&rsquo;s use 2 stacks as actuators and 1 stack as force sensor.
</p>
<p>
The transfer function from actuator to sensors is identified and shown in Figure <a href="#org3cf9aa1">8</a>.
The transfer function from actuator to sensors is identified and shown in Figure <a href="#orgf24b637">8</a>.
</p>
<div id="org3cf9aa1" class="figure">
<div id="orgf24b637" class="figure">
<p><img src="figs/apa300ml_iff_plant.png" alt="apa300ml_iff_plant.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Transfer function from actuator to force sensor</p>
</div>
<p>
For root locus corresponding to IFF is shown in Figure <a href="#org876e0f8">9</a>.
For root locus corresponding to IFF is shown in Figure <a href="#org9ea7c48">9</a>.
</p>
<div id="org876e0f8" class="figure">
<div id="org9ea7c48" class="figure">
<p><img src="figs/apa300ml_iff_root_locus.png" alt="apa300ml_iff_root_locus.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Root Locus for IFF</p>
@ -1723,25 +1724,25 @@ For root locus corresponding to IFF is shown in Figure <a href="#org876e0f8">9</
</div>
</div>
<div id="outline-container-org5ed7231" class="outline-3">
<h3 id="org5ed7231"><span class="section-number-3">2.7</span> DVF</h3>
<div id="outline-container-org0ec6d6d" class="outline-3">
<h3 id="org0ec6d6d"><span class="section-number-3">2.7</span> DVF</h3>
<div class="outline-text-3" id="text-2-7">
<p>
Now the dynamics from the stack actuator to the relative motion sensor is identified and shown in Figure <a href="#org6126c83">10</a>.
Now the dynamics from the stack actuator to the relative motion sensor is identified and shown in Figure <a href="#org65217e1">10</a>.
</p>
<div id="org6126c83" class="figure">
<div id="org65217e1" class="figure">
<p><img src="figs/apa300ml_dvf_plant.png" alt="apa300ml_dvf_plant.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Transfer function from stack actuator to relative motion sensor</p>
</div>
<p>
The root locus for DVF is shown in Figure <a href="#org01f9702">11</a>.
The root locus for DVF is shown in Figure <a href="#org19d561b">11</a>.
</p>
<div id="org01f9702" class="figure">
<div id="org19d561b" class="figure">
<p><img src="figs/apa300ml_dvf_root_locus.png" alt="apa300ml_dvf_root_locus.png" />
</p>
<p><span class="figure-number">Figure 11: </span>Root Locus for Direct Velocity Feedback</p>
@ -1749,8 +1750,8 @@ The root locus for DVF is shown in Figure <a href="#org01f9702">11</a>.
</div>
</div>
<div id="outline-container-org7e2be0e" class="outline-3">
<h3 id="org7e2be0e"><span class="section-number-3">2.8</span> Identification for a simpler model</h3>
<div id="outline-container-org389e503" class="outline-3">
<h3 id="org389e503"><span class="section-number-3">2.8</span> Identification for a simpler model</h3>
<div class="outline-text-3" id="text-2-8">
<p>
The goal in this section is to identify the parameters of a simple APA model from the FEM.
@ -1762,12 +1763,12 @@ The presented model is based on (<a href="#citeproc_bib_item_2">Souleille et al.
</p>
<p>
The model represents the Amplified Piezo Actuator (APA) from Cedrat-Technologies (Figure <a href="#org60372a9">12</a>).
The model represents the Amplified Piezo Actuator (APA) from Cedrat-Technologies (Figure <a href="#org98dd59a">12</a>).
The parameters are shown in the table below.
</p>
<div id="org60372a9" class="figure">
<div id="org98dd59a" class="figure">
<p><img src="./figs/souleille18_model_piezo.png" alt="souleille18_model_piezo.png" />
</p>
<p><span class="figure-number">Figure 12: </span>Picture of an APA100M from Cedrat Technologies. Simplified model of a one DoF payload mounted on such isolator</p>
@ -1916,7 +1917,7 @@ Adjust the DC gain for the force sensor:
</div>
<div id="org67c5104" class="figure">
<div id="orgf2c0742" class="figure">
<p><img src="figs/apa300ml_comp_simpler_model.png" alt="apa300ml_comp_simpler_model.png" />
</p>
<p><span class="figure-number">Figure 13: </span>Comparison of the Dynamics between the FEM model and the simplified one</p>
@ -1925,19 +1926,23 @@ Adjust the DC gain for the force sensor:
</div>
</div>
<div id="outline-container-org0fc361f" class="outline-2">
<h2 id="org0fc361f"><span class="section-number-2">3</span> Flexible Joint</h2>
<div id="outline-container-org302c208" class="outline-2">
<h2 id="org302c208"><span class="section-number-2">3</span> Flexible Joint</h2>
<div class="outline-text-2" id="text-3">
<p>
The flexor in Figure <a href="#orgad78691">14</a> is studied with a FEM.
</p>
<div id="orgd9dc946" class="figure">
<div id="orgad78691" class="figure">
<p><img src="figs/flexor_id16_screenshot.png" alt="flexor_id16_screenshot.png" />
</p>
<p><span class="figure-number">Figure 14: </span>Flexor studied</p>
</div>
</div>
<div id="outline-container-orgf82cf1b" class="outline-3">
<h3 id="orgf82cf1b"><span class="section-number-3">3.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div id="outline-container-org0d5de26" class="outline-3">
<h3 id="org0d5de26"><span class="section-number-3">3.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div class="outline-text-3" id="text-3-1">
<p>
We first extract the stiffness and mass matrices.
@ -1963,8 +1968,8 @@ Then, we extract the coordinates of the interface nodes.
</div>
</div>
<div id="outline-container-orgc3419f4" class="outline-3">
<h3 id="orgc3419f4"><span class="section-number-3">3.2</span> Output parameters</h3>
<div id="outline-container-orgdf345b2" class="outline-3">
<h3 id="orgdf345b2"><span class="section-number-3">3.2</span> Output parameters</h3>
<div class="outline-text-3" id="text-3-2">
<div class="org-src-container">
<pre class="src src-matlab">load('./mat/flexor_ID16.mat', 'int_xyz', 'int_i', 'n_xyz', 'n_i', 'nodes', 'M', 'K');
@ -2365,9 +2370,13 @@ Using <code>K</code>, <code>M</code> and <code>int_xyz</code>, we can use the <c
</div>
</div>
<div id="outline-container-org60de458" class="outline-3">
<h3 id="org60de458"><span class="section-number-3">3.3</span> Flexible Joint Characteristics</h3>
<div id="outline-container-orgdaac86c" class="outline-3">
<h3 id="orgdaac86c"><span class="section-number-3">3.3</span> Flexible Joint Characteristics</h3>
<div class="outline-text-3" id="text-3-3">
<p>
The most important parameters of the flexible joint can be directly estimated from the stiffness matrix.
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -2414,29 +2423,17 @@ Using <code>K</code>, <code>M</code> and <code>int_xyz</code>, we can use the <c
</div>
</div>
<div id="outline-container-orgcd8bc89" class="outline-3">
<h3 id="orgcd8bc89"><span class="section-number-3">3.4</span> Identification</h3>
<div id="outline-container-org6162023" class="outline-3">
<h3 id="org6162023"><span class="section-number-3">3.4</span> Identification of the parameters using Simscape</h3>
<div class="outline-text-3" id="text-3-4">
<div class="org-src-container">
<pre class="src src-matlab">m = 10;
</pre>
</div>
<p>
The flexor is now imported into Simscape and its parameters are estimated using an identification.
</p>
<p>
The dynamics is identified from the applied force to the measured relative displacement.
The dynamics is identified from the applied force/torque to the measured displacement/rotation of the flexor.
And we find the same parameters as the one estimated from the Stiffness matrix.
</p>
<div class="org-src-container">
<pre class="src src-matlab">%% Name of the Simulink File
mdl = 'flexor_ID16';
%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/T'], 1, 'openinput'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/D'], 1, 'openoutput'); io_i = io_i + 1;
G = linearize(mdl, io);
</pre>
</div>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -2465,36 +2462,77 @@ G = linearize(mdl, io);
<tr>
<td class="org-left">Bending Stiffness Rx [Nm/rad]</td>
<td class="org-right">33</td>
<td class="org-right">34</td>
<td class="org-right">33</td>
</tr>
<tr>
<td class="org-left">Bending Stiffness Ry [Nm/rad]</td>
<td class="org-right">33</td>
<td class="org-right">126</td>
<td class="org-right">33</td>
</tr>
<tr>
<td class="org-left">Torsion Stiffness Rz [Nm/rad]</td>
<td class="org-right">236</td>
<td class="org-right">238</td>
<td class="org-right">236</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org8dd435e" class="outline-3">
<h3 id="org8dd435e"><span class="section-number-3">3.5</span> Simpler Model</h3>
<div class="outline-text-3" id="text-3-5">
<p>
Let&rsquo;s now model the flexible joint with a &ldquo;perfect&rdquo; Bushing joint as shown in Figure <a href="#orgfcd1afb">15</a>.
</p>
<div id="orgfcd1afb" class="figure">
<p><img src="figs/flexible_joint_simscape.png" alt="flexible_joint_simscape.png" />
</p>
<p><span class="figure-number">Figure 15: </span>Bushing Joint used to model the flexible joint</p>
</div>
<div id="outline-container-org258adf3" class="outline-2">
<h2 id="org258adf3"><span class="section-number-2">4</span> Integral Force Feedback with Amplified Piezo</h2>
<p>
The parameters of the Bushing joint (stiffnesses) are estimated from the Stiffness matrix that was computed from the FEM.
</p>
<div class="org-src-container">
<pre class="src src-matlab">Kx = K(1,1); % [N/m]
Ky = K(2,2); % [N/m]
Kz = K(3,3); % [N/m]
Krx = K(4,4); % [Nm/rad]
Kry = K(5,5); % [Nm/rad]
Krz = K(6,6); % [Nm/rad]
</pre>
</div>
<p>
The dynamics from the applied force/torque to the measured displacement/rotation of the flexor is identified again for this simpler model.
The two obtained dynamics are compared in Figure
</p>
<div id="orgec63a7e" class="figure">
<p><img src="figs/flexor_ID16_compare_bushing_joint.png" alt="flexor_ID16_compare_bushing_joint.png" />
</p>
<p><span class="figure-number">Figure 16: </span>Comparison of the Joint compliance between the FEM model and the simpler model</p>
</div>
</div>
</div>
</div>
<div id="outline-container-org91af791" class="outline-2">
<h2 id="org91af791"><span class="section-number-2">4</span> Integral Force Feedback with Amplified Piezo</h2>
<div class="outline-text-2" id="text-4">
<p>
In this section, we try to replicate the results obtained in (<a href="#citeproc_bib_item_2">Souleille et al. 2018</a>).
</p>
</div>
<div id="outline-container-org3e49415" class="outline-3">
<h3 id="org3e49415"><span class="section-number-3">4.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div id="outline-container-orga880b08" class="outline-3">
<h3 id="orga880b08"><span class="section-number-3">4.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div class="outline-text-3" id="text-4-1">
<p>
We first extract the stiffness and mass matrices.
@ -2515,11 +2553,11 @@ Then, we extract the coordinates of the interface nodes.
</div>
</div>
<div id="outline-container-org690b14e" class="outline-3">
<h3 id="org690b14e"><span class="section-number-3">4.2</span> IFF Plant</h3>
<div id="outline-container-org4520a0d" class="outline-3">
<h3 id="org4520a0d"><span class="section-number-3">4.2</span> IFF Plant</h3>
<div class="outline-text-3" id="text-4-2">
<p>
The transfer function from the force actuator to the force sensor is identified and shown in Figure <a href="#org1ed2b1f">15</a>.
The transfer function from the force actuator to the force sensor is identified and shown in Figure <a href="#orgc710f0f">17</a>.
</p>
<div class="org-src-container">
@ -2556,19 +2594,19 @@ Gf = linearize(mdl, io);
</div>
<div id="org1ed2b1f" class="figure">
<div id="orgc710f0f" class="figure">
<p><img src="figs/piezo_amplified_iff_plant.png" alt="piezo_amplified_iff_plant.png" />
</p>
<p><span class="figure-number">Figure 15: </span>IFF Plant</p>
<p><span class="figure-number">Figure 17: </span>IFF Plant</p>
</div>
</div>
</div>
<div id="outline-container-orga83d461" class="outline-3">
<h3 id="orga83d461"><span class="section-number-3">4.3</span> IFF controller</h3>
<div id="outline-container-orge7a688b" class="outline-3">
<h3 id="orge7a688b"><span class="section-number-3">4.3</span> IFF controller</h3>
<div class="outline-text-3" id="text-4-3">
<p>
The controller is defined and the loop gain is shown in Figure <a href="#org6eddfbc">16</a>.
The controller is defined and the loop gain is shown in Figure <a href="#org69cf7eb">18</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">Kiff = -1e12/s;
@ -2576,16 +2614,16 @@ The controller is defined and the loop gain is shown in Figure <a href="#org6edd
</div>
<div id="org6eddfbc" class="figure">
<div id="org69cf7eb" class="figure">
<p><img src="figs/piezo_amplified_iff_loop_gain.png" alt="piezo_amplified_iff_loop_gain.png" />
</p>
<p><span class="figure-number">Figure 16: </span>IFF Loop Gain</p>
<p><span class="figure-number">Figure 18: </span>IFF Loop Gain</p>
</div>
</div>
</div>
<div id="outline-container-org1fd0639" class="outline-3">
<h3 id="org1fd0639"><span class="section-number-3">4.4</span> Closed Loop System</h3>
<div id="outline-container-org0515ee4" class="outline-3">
<h3 id="org0515ee4"><span class="section-number-3">4.4</span> Closed Loop System</h3>
<div class="outline-text-3" id="text-4-4">
<div class="org-src-container">
<pre class="src src-matlab">m = 10;
@ -2628,18 +2666,18 @@ G.OutputName = {'x1', 'Fs'};
</div>
<div id="org136372a" class="figure">
<div id="org24fd69b" class="figure">
<p><img src="figs/piezo_amplified_iff_comp.png" alt="piezo_amplified_iff_comp.png" />
</p>
<p><span class="figure-number">Figure 17: </span>OL and CL transfer functions</p>
<p><span class="figure-number">Figure 19: </span>OL and CL transfer functions</p>
</div>
<div id="orgccbb8ba" class="figure">
<div id="org58e1871" class="figure">
<p><img src="figs/souleille18_results.png" alt="souleille18_results.png" />
</p>
<p><span class="figure-number">Figure 18: </span>Results obtained in <a class='org-ref-reference' href="#souleille18_concep_activ_mount_space_applic">souleille18_concep_activ_mount_space_applic</a></p>
<p><span class="figure-number">Figure 20: </span>Results obtained in <a class='org-ref-reference' href="#souleille18_concep_activ_mount_space_applic">souleille18_concep_activ_mount_space_applic</a></p>
</div>
</div>
</div>
@ -2657,7 +2695,7 @@ G.OutputName = {'x1', 'Fs'};
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-08-04 mar. 11:53</p>
<p class="date">Created: 2020-08-04 mar. 12:14</p>
</div>
</body>
</html>

136
index.org
View File

@ -1533,6 +1533,8 @@ Adjust the DC gain for the force sensor:
* Flexible Joint
** Introduction :ignore:
The flexor in Figure [[fig:flexor_id16_screenshot]] is studied with a FEM.
#+name: fig:flexor_id16_screenshot
#+caption: Flexor studied
[[file:figs/flexor_id16_screenshot.png]]
@ -1635,6 +1637,8 @@ Then, we extract the coordinates of the interface nodes.
Using =K=, =M= and =int_xyz=, we can use the =Reduced Order Flexible Solid= simscape block.
** Flexible Joint Characteristics
The most important parameters of the flexible joint can be directly estimated from the stiffness matrix.
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
data2orgtable([1e-6*K(3,3), K(4,4), K(5,5), K(6,6); 60, 15, 15, 20]', {'Axial Stiffness [N/um]', 'Bending Stiffness [Nm/rad]', 'Bending Stiffness [Nm/rad]', 'Torsion Stiffness [Nm/rad]'}, {'*Caracteristic*', '*Value*', '*Estimation by Francois*'}, ' %0.f ');
#+end_src
@ -1647,13 +1651,15 @@ Using =K=, =M= and =int_xyz=, we can use the =Reduced Order Flexible Solid= sims
| Bending Stiffness [Nm/rad] | 33 | 15 |
| Torsion Stiffness [Nm/rad] | 236 | 20 |
** Identification
#+begin_src matlab
m = 10;
** Identification of the parameters using Simscape
The flexor is now imported into Simscape and its parameters are estimated using an identification.
#+begin_src matlab :exports none
m = 1;
#+end_src
The dynamics is identified from the applied force to the measured relative displacement.
#+begin_src matlab
The dynamics is identified from the applied force/torque to the measured displacement/rotation of the flexor.
#+begin_src matlab :exports none
%% Name of the Simulink File
mdl = 'flexor_ID16';
@ -1665,6 +1671,8 @@ The dynamics is identified from the applied force to the measured relative displ
G = linearize(mdl, io);
#+end_src
And we find the same parameters as the one estimated from the Stiffness matrix.
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
data2orgtable([1e-6*K(3,3), K(4,4), K(5,5), K(6,6) ; 1e-6./dcgain(G(3,3)), 1./dcgain(G(4,4)), 1./dcgain(G(5,5)), 1./dcgain(G(6,6))]', {'Axial Stiffness Dz [N/um]', 'Bending Stiffness Rx [Nm/rad]', 'Bending Stiffness Ry [Nm/rad]', 'Torsion Stiffness Rz [Nm/rad]'}, {'*Caracteristic*', '*Value*', '*Identification*'}, ' %0.f ');
#+end_src
@ -1673,66 +1681,98 @@ The dynamics is identified from the applied force to the measured relative displ
| *Caracteristic* | *Value* | *Identification* |
|-------------------------------+---------+------------------|
| Axial Stiffness Dz [N/um] | 119 | 119 |
| Bending Stiffness Rx [Nm/rad] | 33 | 34 |
| Bending Stiffness Ry [Nm/rad] | 33 | 126 |
| Torsion Stiffness Rz [Nm/rad] | 236 | 238 |
| Bending Stiffness Rx [Nm/rad] | 33 | 33 |
| Bending Stiffness Ry [Nm/rad] | 33 | 33 |
| Torsion Stiffness Rz [Nm/rad] | 236 | 236 |
** Simpler Model
Let's now model the flexible joint with a "perfect" Bushing joint as shown in Figure [[fig:flexible_joint_simscape]].
#+name: fig:flexible_joint_simscape
#+caption: Bushing Joint used to model the flexible joint
[[file:figs/flexible_joint_simscape.png]]
The parameters of the Bushing joint (stiffnesses) are estimated from the Stiffness matrix that was computed from the FEM.
#+begin_src matlab
Kx = K(1,1); % [N/m]
Ky = K(2,2); % [N/m]
Kz = K(3,3); % [N/m]
Krx = K(4,4); % [Nm/rad]
Kry = K(5,5); % [Nm/rad]
Krz = K(6,6); % [Nm/rad]
#+end_src
The dynamics from the applied force/torque to the measured displacement/rotation of the flexor is identified again for this simpler model.
#+begin_src matlab :exports none
%% Name of the Simulink File
mdl = 'flexor_ID16_simplified';
%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/T'], 1, 'openinput'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/D'], 1, 'openoutput'); io_i = io_i + 1;
Gs = linearize(mdl, io);
#+end_src
The two obtained dynamics are compared in Figure
#+begin_src matlab :exports none
freqs = logspace(0, 5, 1000);
figure;
ax1 = subplot(2,1,1);
ax1 = subplot(1,2,1);
hold on;
plot(freqs, abs(squeeze(freqresp(G(1,1), freqs, 'Hz'))), '-');
plot(freqs, abs(squeeze(freqresp(G(2,2), freqs, 'Hz'))), '-');
plot(freqs, abs(squeeze(freqresp(G(3,3), freqs, 'Hz'))), '-');
set(gca,'ColorOrderIndex',1)
plot(freqs, abs(squeeze(freqresp(G(1,1), freqs, 'Hz'))), '-', 'DisplayName', '$D_x/F_x$');
set(gca,'ColorOrderIndex',1)
plot(freqs, abs(squeeze(freqresp(Gs(1,1), freqs, 'Hz'))), '--', 'HandleVisibility', 'off');
set(gca,'ColorOrderIndex',2)
plot(freqs, abs(squeeze(freqresp(G(2,2), freqs, 'Hz'))), '-', 'DisplayName', '$D_y/F_y$');
set(gca,'ColorOrderIndex',2)
plot(freqs, abs(squeeze(freqresp(Gs(2,2), freqs, 'Hz'))), '--', 'HandleVisibility', 'off');
set(gca,'ColorOrderIndex',3)
plot(freqs, abs(squeeze(freqresp(G(3,3), freqs, 'Hz'))), '-', 'DisplayName', '$D_z/F_z$');
set(gca,'ColorOrderIndex',3)
plot(freqs, abs(squeeze(freqresp(Gs(3,3), freqs, 'Hz'))), '--', 'HandleVisibility', 'off');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude'); set(gca, 'XTickLabel',[]);
xlabel('Frequency [Hz]'); ylabel('Amplitude [m/N]');
hold off;
legend('location', 'northeast');
ax2 = subplot(2,1,2);
hold on
plot(freqs, 180/pi*(angle(squeeze(freqresp(G(1,1), freqs, 'Hz')))), '-');
plot(freqs, 180/pi*(angle(squeeze(freqresp(G(2,2), freqs, 'Hz')))), '-');
plot(freqs, 180/pi*(angle(squeeze(freqresp(G(3,3), freqs, 'Hz')))), '-');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
yticks(-360:90:360);
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);
#+end_src
#+begin_src matlab :exports none
freqs = logspace(0, 5, 1000);
figure;
ax1 = subplot(2,1,1);
ax2 = subplot(1,2,2);
hold on;
plot(freqs, abs(squeeze(freqresp(G(4,4), freqs, 'Hz'))), '-');
plot(freqs, abs(squeeze(freqresp(G(5,5), freqs, 'Hz'))), '-');
plot(freqs, abs(squeeze(freqresp(G(6,6), freqs, 'Hz'))), '-');
set(gca,'ColorOrderIndex',1)
plot(freqs, abs(squeeze(freqresp(G(4,4), freqs, 'Hz'))), '-', 'DisplayName', '$R_x/M_x$');
set(gca,'ColorOrderIndex',1)
plot(freqs, abs(squeeze(freqresp(Gs(4,4), freqs, 'Hz'))), '--', 'HandleVisibility', 'off');
set(gca,'ColorOrderIndex',2)
plot(freqs, abs(squeeze(freqresp(G(5,5), freqs, 'Hz'))), '-', 'DisplayName', '$R_y/M_y$');
set(gca,'ColorOrderIndex',2)
plot(freqs, abs(squeeze(freqresp(Gs(5,5), freqs, 'Hz'))), '--', 'HandleVisibility', 'off');
set(gca,'ColorOrderIndex',3)
plot(freqs, abs(squeeze(freqresp(G(6,6), freqs, 'Hz'))), '-', 'DisplayName', '$R_z/M_z$');
set(gca,'ColorOrderIndex',3)
plot(freqs, abs(squeeze(freqresp(Gs(6,6), freqs, 'Hz'))), '--', 'HandleVisibility', 'off');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude'); set(gca, 'XTickLabel',[]);
xlabel('Frequency [Hz]'); ylabel('Amplitude [rad/Nm]');
hold off;
ax2 = subplot(2,1,2);
hold on
plot(freqs, 180/pi*(angle(squeeze(freqresp(G(4,4), freqs, 'Hz')))), '-');
plot(freqs, 180/pi*(angle(squeeze(freqresp(G(5,5), freqs, 'Hz')))), '-');
plot(freqs, 180/pi*(angle(squeeze(freqresp(G(6,6), freqs, 'Hz')))), '-');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
yticks(-360:90:360);
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);
legend('location', 'northeast');
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/flexor_ID16_compare_bushing_joint.pdf', 'width', 'full', 'height', 'tall');
#+end_src
#+name: fig:flexor_ID16_compare_bushing_joint
#+caption: Comparison of the Joint compliance between the FEM model and the simpler model
#+RESULTS:
[[file:figs/flexor_ID16_compare_bushing_joint.png]]
* Integral Force Feedback with Amplified Piezo
** Introduction :ignore:
In this section, we try to replicate the results obtained in cite:souleille18_concep_activ_mount_space_applic.

Binary file not shown.