Implemented amplified actuators

This commit is contained in:
2020-05-20 16:41:34 +02:00
parent 945741a795
commit 1466105c77
24 changed files with 1370 additions and 727 deletions

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-05-20 mer. 15:49 -->
<!-- 2020-05-20 mer. 16:41 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Amplified Piezoelectric Stack Actuator</title>
<meta name="generator" content="Org mode" />
@@ -36,19 +36,27 @@
<ul>
<li><a href="#org996fd7c">1. Simplified Model</a>
<ul>
<li><a href="#org47cc3c4">1.1. Parameters</a></li>
<li><a href="#org3b3c7ac">1.2. Identification</a></li>
<li><a href="#org97f356d">1.3. Root Locus</a></li>
<li><a href="#org0dc544d">1.1. Parameters</a></li>
<li><a href="#org08e3567">1.2. Identification</a></li>
<li><a href="#orgbba342e">1.3. Root Locus</a></li>
</ul>
</li>
<li><a href="#orgf1a765f">2. Rotating X-Y platform</a>
<ul>
<li><a href="#org0dc544d">2.1. Parameters</a></li>
<li><a href="#org08e3567">2.2. Identification</a></li>
<li><a href="#orgbba342e">2.3. Root Locus</a></li>
<li><a href="#org1e2b26f">2.1. Parameters</a></li>
<li><a href="#orgb0841c5">2.2. Identification</a></li>
<li><a href="#orgd6c324c">2.3. Root Locus</a></li>
<li><a href="#org069f401">2.4. Analysis</a></li>
</ul>
</li>
<li><a href="#org3c74f7f">3. Stewart Platform with Amplified Actuators</a>
<ul>
<li><a href="#org5a7c6dc">3.1. Initialization</a></li>
<li><a href="#orgac18acf">3.2. Identification</a></li>
<li><a href="#org14c7063">3.3. Controller Design</a></li>
<li><a href="#org043ce40">3.4. Effect of the Low Authority Control on the Primary Plant</a></li>
</ul>
</li>
</ul>
</div>
</div>
@@ -123,8 +131,8 @@ The parameters are shown in the table below.
<h2 id="org996fd7c"><span class="section-number-2">1</span> Simplified Model</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-org47cc3c4" class="outline-3">
<h3 id="org47cc3c4"><span class="section-number-3">1.1</span> Parameters</h3>
<div id="outline-container-org0dc544d" class="outline-3">
<h3 id="org0dc544d"><span class="section-number-3">1.1</span> Parameters</h3>
<div class="outline-text-3" id="text-1-1">
<div class="org-src-container">
<pre class="src src-matlab">m = 1; % [kg]
@@ -154,8 +162,8 @@ IFF Controller:
</div>
</div>
<div id="outline-container-org3b3c7ac" class="outline-3">
<h3 id="org3b3c7ac"><span class="section-number-3">1.2</span> Identification</h3>
<div id="outline-container-org08e3567" class="outline-3">
<h3 id="org08e3567"><span class="section-number-3">1.2</span> Identification</h3>
<div class="outline-text-3" id="text-1-2">
<p>
Identification in open-loop.
@@ -210,8 +218,8 @@ Giff.OutputName = {'Fs', 'x1'};
</div>
</div>
<div id="outline-container-org97f356d" class="outline-3">
<h3 id="org97f356d"><span class="section-number-3">1.3</span> Root Locus</h3>
<div id="outline-container-orgbba342e" class="outline-3">
<h3 id="orgbba342e"><span class="section-number-3">1.3</span> Root Locus</h3>
<div class="outline-text-3" id="text-1-3">
<div id="org85cd6e5" class="figure">
@@ -227,8 +235,8 @@ Giff.OutputName = {'Fs', 'x1'};
<h2 id="orgf1a765f"><span class="section-number-2">2</span> Rotating X-Y platform</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-org0dc544d" class="outline-3">
<h3 id="org0dc544d"><span class="section-number-3">2.1</span> Parameters</h3>
<div id="outline-container-org1e2b26f" class="outline-3">
<h3 id="org1e2b26f"><span class="section-number-3">2.1</span> Parameters</h3>
<div class="outline-text-3" id="text-2-1">
<div class="org-src-container">
<pre class="src src-matlab">m = 1; % [kg]
@@ -255,8 +263,8 @@ h = 0.2; % [m]
</div>
</div>
<div id="outline-container-org08e3567" class="outline-3">
<h3 id="org08e3567"><span class="section-number-3">2.2</span> Identification</h3>
<div id="outline-container-orgb0841c5" class="outline-3">
<h3 id="orgb0841c5"><span class="section-number-3">2.2</span> Identification</h3>
<div class="outline-text-3" id="text-2-2">
<p>
Rotating speed in rad/s:
@@ -305,8 +313,8 @@ end
</div>
</div>
<div id="outline-container-orgbba342e" class="outline-3">
<h3 id="orgbba342e"><span class="section-number-3">2.3</span> Root Locus</h3>
<div id="outline-container-orgd6c324c" class="outline-3">
<h3 id="orgd6c324c"><span class="section-number-3">2.3</span> Root Locus</h3>
<div class="outline-text-3" id="text-2-3">
<div id="orgccd3396" class="figure">
@@ -368,10 +376,115 @@ end
</div>
</div>
</div>
<div id="outline-container-org3c74f7f" class="outline-2">
<h2 id="org3c74f7f"><span class="section-number-2">3</span> Stewart Platform with Amplified Actuators</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-org5a7c6dc" class="outline-3">
<h3 id="org5a7c6dc"><span class="section-number-3">3.1</span> Initialization</h3>
<div class="outline-text-3" id="text-3-1">
<div class="org-src-container">
<pre class="src src-matlab">initializeGround();
initializeGranite();
initializeTy();
initializeRy();
initializeRz();
initializeMicroHexapod();
initializeAxisc();
initializeMirror();
initializeSimscapeConfiguration();
initializeDisturbances('enable', false);
initializeLoggingConfiguration('log', 'none');
initializeController('type', 'hac-iff');
</pre>
</div>
<p>
We set the stiffness of the payload fixation:
</p>
<div class="org-src-container">
<pre class="src src-matlab">Kp = 1e8; % [N/m]
</pre>
</div>
</div>
</div>
<div id="outline-container-orgac18acf" class="outline-3">
<h3 id="orgac18acf"><span class="section-number-3">3.2</span> Identification</h3>
<div class="outline-text-3" id="text-3-2">
<div class="org-src-container">
<pre class="src src-matlab">K = tf(zeros(6));
Kiff = tf(zeros(6));
</pre>
</div>
<p>
We identify the system for the following payload masses:
</p>
<div class="org-src-container">
<pre class="src src-matlab">Ms = [1, 10, 50];
</pre>
</div>
<p>
The nano-hexapod has the following leg&rsquo;s stiffness and damping.
</p>
<div class="org-src-container">
<pre class="src src-matlab">initializeNanoHexapod('actuator', 'amplified');
</pre>
</div>
</div>
</div>
<div id="outline-container-org14c7063" class="outline-3">
<h3 id="org14c7063"><span class="section-number-3">3.3</span> Controller Design</h3>
<div class="outline-text-3" id="text-3-3">
<div id="org0e2911a" class="figure">
<p><img src="figs/amplified_piezo_iff_loop_gain.png" alt="amplified_piezo_iff_loop_gain.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Dynamics for the Integral Force Feedback for three payload masses</p>
</div>
<div id="org5d7f6d3" class="figure">
<p><img src="figs/amplified_piezo_iff_root_locus.png" alt="amplified_piezo_iff_root_locus.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Root Locus for the IFF control for three payload masses</p>
</div>
<p>
Damping as function of the gain
</p>
<div id="org4743c83" class="figure">
<p><img src="figs/amplified_piezo_iff_damping_gain.png" alt="amplified_piezo_iff_damping_gain.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Damping ratio of the poles as a function of the IFF gain</p>
</div>
<p>
Finally, we use the following controller for the Decentralized Direct Velocity Feedback:
</p>
<div class="org-src-container">
<pre class="src src-matlab">Kiff = -1e4/s*eye(6);
</pre>
</div>
</div>
</div>
<div id="outline-container-org043ce40" class="outline-3">
<h3 id="org043ce40"><span class="section-number-3">3.4</span> Effect of the Low Authority Control on the Primary Plant</h3>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-05-20 mer. 15:49</p>
<p class="date">Created: 2020-05-20 mer. 16:41</p>
</div>
</body>
</html>