Some notes on design rules for IFF

This commit is contained in:
Thomas Dehaeze 2020-05-25 11:05:52 +02:00
parent c211b1684f
commit efc8698fb1
2 changed files with 116 additions and 69 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-25 lun. 10:45 -->
<!-- 2020-05-25 lun. 11:05 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Amplified Piezoelectric Stack Actuator</title>
<meta name="generator" content="Org mode" />
@ -34,30 +34,31 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org8dcb67f">1. Simplified Model</a>
<li><a href="#orga1734d6">1. Simplified Model</a>
<ul>
<li><a href="#org3b87947">1.1. Parameters</a></li>
<li><a href="#org81d8607">1.2. Identification</a></li>
<li><a href="#orged55dcf">1.3. Root Locus</a></li>
<li><a href="#org02c2e3f">1.4. Analytical Model</a></li>
<li><a href="#org9543c57">1.1. Parameters</a></li>
<li><a href="#org20bf7c7">1.2. Identification</a></li>
<li><a href="#org1f0fec3">1.3. Root Locus</a></li>
<li><a href="#orgc967e9c">1.4. Analytical Model</a></li>
<li><a href="#orgb2d3e3a">1.5. Analytical Analysis</a></li>
</ul>
</li>
<li><a href="#org7b08cc3">2. Rotating X-Y platform</a>
<li><a href="#org51b7142">2. Rotating X-Y platform</a>
<ul>
<li><a href="#org4add324">2.1. Parameters</a></li>
<li><a href="#org8192181">2.2. Identification</a></li>
<li><a href="#org7675381">2.3. Root Locus</a></li>
<li><a href="#org8634d85">2.4. Analysis</a></li>
<li><a href="#orgf847a9d">2.1. Parameters</a></li>
<li><a href="#orga0c7065">2.2. Identification</a></li>
<li><a href="#org0815f8b">2.3. Root Locus</a></li>
<li><a href="#org6964694">2.4. Analysis</a></li>
</ul>
</li>
<li><a href="#orga0a1938">3. Stewart Platform with Amplified Actuators</a>
<li><a href="#org630b8fc">3. Stewart Platform with Amplified Actuators</a>
<ul>
<li><a href="#org1eb7bf5">3.1. Initialization</a></li>
<li><a href="#org31d938a">3.2. Identification</a></li>
<li><a href="#org4dbdefd">3.3. Controller Design</a></li>
<li><a href="#orga2cff39">3.4. Effect of the Low Authority Control on the Primary Plant</a></li>
<li><a href="#orgf448298">3.5. Effect of the Low Authority Control on the Sensibility to Disturbances</a></li>
<li><a href="#org781f74e">3.6. Optimal Stiffnesses</a></li>
<li><a href="#org0b7c221">3.1. Initialization</a></li>
<li><a href="#orgff8fe24">3.2. Identification</a></li>
<li><a href="#org58ae516">3.3. Controller Design</a></li>
<li><a href="#org1c125d1">3.4. Effect of the Low Authority Control on the Primary Plant</a></li>
<li><a href="#org3afc321">3.5. Effect of the Low Authority Control on the Sensibility to Disturbances</a></li>
<li><a href="#orgface252">3.6. Optimal Stiffnesses</a></li>
</ul>
</li>
</ul>
@ -69,12 +70,12 @@ The presented model is based on <a class='org-ref-reference' href="#souleille18_
</p>
<p>
The model represents the amplified piezo APA100M from Cedrat-Technologies (Figure <a href="#orgb0a1ae8">1</a>).
The model represents the amplified piezo APA100M from Cedrat-Technologies (Figure <a href="#org9bfac50">1</a>).
The parameters are shown in the table below.
</p>
<div id="orgb0a1ae8" class="figure">
<div id="org9bfac50" class="figure">
<p><img src="./figs/souleille18_model_piezo.png" alt="souleille18_model_piezo.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Picture of an APA100M from Cedrat Technologies. Simplified model of a one DoF payload mounted on such isolator</p>
@ -130,12 +131,12 @@ The parameters are shown in the table below.
</tbody>
</table>
<div id="outline-container-org8dcb67f" class="outline-2">
<h2 id="org8dcb67f"><span class="section-number-2">1</span> Simplified Model</h2>
<div id="outline-container-orga1734d6" class="outline-2">
<h2 id="orga1734d6"><span class="section-number-2">1</span> Simplified Model</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-org3b87947" class="outline-3">
<h3 id="org3b87947"><span class="section-number-3">1.1</span> Parameters</h3>
<div id="outline-container-org9543c57" class="outline-3">
<h3 id="org9543c57"><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]
@ -165,8 +166,8 @@ IFF Controller:
</div>
</div>
<div id="outline-container-org81d8607" class="outline-3">
<h3 id="org81d8607"><span class="section-number-3">1.2</span> Identification</h3>
<div id="outline-container-org20bf7c7" class="outline-3">
<h3 id="org20bf7c7"><span class="section-number-3">1.2</span> Identification</h3>
<div class="outline-text-3" id="text-1-2">
<p>
Identification in open-loop.
@ -213,7 +214,7 @@ Giff.OutputName = {'Fs', 'x1'};
</div>
<div id="org6546639" class="figure">
<div id="org3c557c6" class="figure">
<p><img src="figs/amplified_piezo_tf_ol_and_cl.png" alt="amplified_piezo_tf_ol_and_cl.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Matrix of transfer functions from input to output in open loop (blue) and closed loop (red)</p>
@ -221,11 +222,11 @@ Giff.OutputName = {'Fs', 'x1'};
</div>
</div>
<div id="outline-container-orged55dcf" class="outline-3">
<h3 id="orged55dcf"><span class="section-number-3">1.3</span> Root Locus</h3>
<div id="outline-container-org1f0fec3" class="outline-3">
<h3 id="org1f0fec3"><span class="section-number-3">1.3</span> Root Locus</h3>
<div class="outline-text-3" id="text-1-3">
<div id="org8832ee2" class="figure">
<div id="org6370599" class="figure">
<p><img src="figs/amplified_piezo_root_locus.png" alt="amplified_piezo_root_locus.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Root Locus</p>
@ -233,8 +234,8 @@ Giff.OutputName = {'Fs', 'x1'};
</div>
</div>
<div id="outline-container-org02c2e3f" class="outline-3">
<h3 id="org02c2e3f"><span class="section-number-3">1.4</span> Analytical Model</h3>
<div id="outline-container-orgc967e9c" class="outline-3">
<h3 id="orgc967e9c"><span class="section-number-3">1.4</span> Analytical Model</h3>
<div class="outline-text-3" id="text-1-4">
<p>
If we apply the Newton&rsquo;s second law of motion on the top mass, we obtain:
@ -264,21 +265,50 @@ Ga.OutputName = {'x1', 'Fs'};
</div>
<div id="orgc2707e4" class="figure">
<div id="orgf78178e" class="figure">
<p><img src="figs/comp_simscape_analytical.png" alt="comp_simscape_analytical.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Comparison of the Identified Simscape Dynamics (solid) and the Analytical Model (dashed)</p>
</div>
</div>
</div>
<div id="outline-container-orgb2d3e3a" class="outline-3">
<h3 id="orgb2d3e3a"><span class="section-number-3">1.5</span> Analytical Analysis</h3>
<div class="outline-text-3" id="text-1-5">
<p>
For Integral Force Feedback Control, the plant is:
\[ \frac{F_s}{f} = \frac{k_e}{k_e + k_a} \Big( \frac{ms^2 + k_1}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} \Big) \]
</p>
<p>
As high frequency, this converge to:
\[ \frac{F_s}{f} \underset{\omega\to\infty}{\longrightarrow} \frac{k_e}{k_e + k_a} \]
And at low frequency:
\[ \frac{F_s}{f} \underset{\omega\to 0}{\longrightarrow} \frac{k_e}{k_e + k_a} \frac{k_1}{k_1 + \frac{k_e k_a}{k_e + k_a}} \]
</p>
<p>
It has two complex conjugate zeros at:
\[ z = \pm j \sqrt{\frac{k_1}{m}} \]
And two complex conjugate poles at:
\[ p = \pm j \sqrt{\frac{k_1 + \frac{k_e k_a}{k_e + k_a}}{m}} \]
</p>
<p>
If maximal damping is to be attained with IFF, the distance between the zero and the pole is to be maximized.
Thus, we wish to maximize \(p/z\), which is equivalent as to minimize \(k_1\) and have \(k_e \approx k_a\) (supposing \(k_e + k_a \approx \text{cst}\)).
</p>
</div>
</div>
</div>
<div id="outline-container-org7b08cc3" class="outline-2">
<h2 id="org7b08cc3"><span class="section-number-2">2</span> Rotating X-Y platform</h2>
<div id="outline-container-org51b7142" class="outline-2">
<h2 id="org51b7142"><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-org4add324" class="outline-3">
<h3 id="org4add324"><span class="section-number-3">2.1</span> Parameters</h3>
<div id="outline-container-orgf847a9d" class="outline-3">
<h3 id="orgf847a9d"><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]
@ -305,8 +335,8 @@ h = 0.2; % [m]
</div>
</div>
<div id="outline-container-org8192181" class="outline-3">
<h3 id="org8192181"><span class="section-number-3">2.2</span> Identification</h3>
<div id="outline-container-orga0c7065" class="outline-3">
<h3 id="orga0c7065"><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:
@ -347,7 +377,7 @@ end
</div>
<div id="org89aafdf" class="figure">
<div id="org49fe0d0" class="figure">
<p><img src="figs/amplitifed_piezo_xy_rotation_plant_iff.png" alt="amplitifed_piezo_xy_rotation_plant_iff.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Transfer function matrix from forces to force sensors for multiple rotation speed</p>
@ -355,11 +385,11 @@ end
</div>
</div>
<div id="outline-container-org7675381" class="outline-3">
<h3 id="org7675381"><span class="section-number-3">2.3</span> Root Locus</h3>
<div id="outline-container-org0815f8b" class="outline-3">
<h3 id="org0815f8b"><span class="section-number-3">2.3</span> Root Locus</h3>
<div class="outline-text-3" id="text-2-3">
<div id="org0e2ba71" class="figure">
<div id="orgbf543c5" class="figure">
<p><img src="figs/amplified_piezo_xy_rotation_root_locus.png" alt="amplified_piezo_xy_rotation_root_locus.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Root locus for 3 rotating speed</p>
@ -367,8 +397,8 @@ end
</div>
</div>
<div id="outline-container-org8634d85" class="outline-3">
<h3 id="org8634d85"><span class="section-number-3">2.4</span> Analysis</h3>
<div id="outline-container-org6964694" class="outline-3">
<h3 id="org6964694"><span class="section-number-3">2.4</span> Analysis</h3>
<div class="outline-text-3" id="text-2-4">
<p>
The negative stiffness induced by the rotation is equal to \(m \omega_0^2\).
@ -410,7 +440,7 @@ end
</div>
<div id="orgb32e2be" class="figure">
<div id="org1b0c04f" class="figure">
<p><img src="figs/amplified_piezo_xy_rotating_unstable_root_locus.png" alt="amplified_piezo_xy_rotating_unstable_root_locus.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Root Locus for the two considered rotation speed. For the red curve, the system is unstable.</p>
@ -419,12 +449,12 @@ end
</div>
</div>
<div id="outline-container-orga0a1938" class="outline-2">
<h2 id="orga0a1938"><span class="section-number-2">3</span> Stewart Platform with Amplified Actuators</h2>
<div id="outline-container-org630b8fc" class="outline-2">
<h2 id="org630b8fc"><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-org1eb7bf5" class="outline-3">
<h3 id="org1eb7bf5"><span class="section-number-3">3.1</span> Initialization</h3>
<div id="outline-container-org0b7c221" class="outline-3">
<h3 id="org0b7c221"><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();
@ -454,8 +484,8 @@ We set the stiffness of the payload fixation:
</div>
</div>
<div id="outline-container-org31d938a" class="outline-3">
<h3 id="org31d938a"><span class="section-number-3">3.2</span> Identification</h3>
<div id="outline-container-orgff8fe24" class="outline-3">
<h3 id="orgff8fe24"><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));
@ -481,11 +511,11 @@ The nano-hexapod has the following leg&rsquo;s stiffness and damping.
</div>
</div>
<div id="outline-container-org4dbdefd" class="outline-3">
<h3 id="org4dbdefd"><span class="section-number-3">3.3</span> Controller Design</h3>
<div id="outline-container-org58ae516" class="outline-3">
<h3 id="org58ae516"><span class="section-number-3">3.3</span> Controller Design</h3>
<div class="outline-text-3" id="text-3-3">
<div id="org4b286db" class="figure">
<div id="orgd36ec15" 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 8: </span>Dynamics for the Integral Force Feedback for three payload masses</p>
@ -493,7 +523,7 @@ The nano-hexapod has the following leg&rsquo;s stiffness and damping.
<div id="org85ffb18" class="figure">
<div id="org7816aa3" 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 9: </span>Root Locus for the IFF control for three payload masses</p>
@ -503,7 +533,7 @@ The nano-hexapod has the following leg&rsquo;s stiffness and damping.
Damping as function of the gain
</p>
<div id="orgd336750" class="figure">
<div id="orgfe47a62" 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 10: </span>Damping ratio of the poles as a function of the IFF gain</p>
@ -519,11 +549,11 @@ Finally, we use the following controller for the Decentralized Direct Velocity F
</div>
</div>
<div id="outline-container-orga2cff39" class="outline-3">
<h3 id="orga2cff39"><span class="section-number-3">3.4</span> Effect of the Low Authority Control on the Primary Plant</h3>
<div id="outline-container-org1c125d1" class="outline-3">
<h3 id="org1c125d1"><span class="section-number-3">3.4</span> Effect of the Low Authority Control on the Primary Plant</h3>
<div class="outline-text-3" id="text-3-4">
<div id="orgf3eee4b" class="figure">
<div id="orgd199337" class="figure">
<p><img src="figs/amplified_piezo_iff_plant_damped_X.png" alt="amplified_piezo_iff_plant_damped_X.png" />
</p>
<p><span class="figure-number">Figure 11: </span>Primary plant in the task space with (dashed) and without (solid) IFF</p>
@ -531,13 +561,13 @@ Finally, we use the following controller for the Decentralized Direct Velocity F
<div id="orgdabfde7" class="figure">
<div id="org7b6b3d9" class="figure">
<p><img src="figs/amplified_piezo_iff_damped_plant_L.png" alt="amplified_piezo_iff_damped_plant_L.png" />
</p>
<p><span class="figure-number">Figure 12: </span>Primary plant in the space of the legs with (dashed) and without (solid) IFF</p>
</div>
<div id="orgf756d9c" class="figure">
<div id="org0bd0e56" class="figure">
<p><img src="figs/amplified_piezo_iff_damped_coupling_X.png" alt="amplified_piezo_iff_damped_coupling_X.png" />
</p>
<p><span class="figure-number">Figure 13: </span>Coupling in the primary plant in the task with (dashed) and without (solid) IFF</p>
@ -545,7 +575,7 @@ Finally, we use the following controller for the Decentralized Direct Velocity F
<div id="org1dc0d4a" class="figure">
<div id="org1358a80" class="figure">
<p><img src="figs/amplified_piezo_iff_damped_coupling_L.png" alt="amplified_piezo_iff_damped_coupling_L.png" />
</p>
<p><span class="figure-number">Figure 14: </span>Coupling in the primary plant in the space of the legs with (dashed) and without (solid) IFF</p>
@ -553,11 +583,11 @@ Finally, we use the following controller for the Decentralized Direct Velocity F
</div>
</div>
<div id="outline-container-orgf448298" class="outline-3">
<h3 id="orgf448298"><span class="section-number-3">3.5</span> Effect of the Low Authority Control on the Sensibility to Disturbances</h3>
<div id="outline-container-org3afc321" class="outline-3">
<h3 id="org3afc321"><span class="section-number-3">3.5</span> Effect of the Low Authority Control on the Sensibility to Disturbances</h3>
<div class="outline-text-3" id="text-3-5">
<div id="org982cf72" class="figure">
<div id="org71868a4" class="figure">
<p><img src="figs/amplified_piezo_iff_disturbances.png" alt="amplified_piezo_iff_disturbances.png" />
</p>
<p><span class="figure-number">Figure 15: </span>Norm of the transfer function from vertical disturbances to vertical position error with (dashed) and without (solid) Integral Force Feedback applied</p>
@ -569,14 +599,14 @@ Finally, we use the following controller for the Decentralized Direct Velocity F
</div>
<div id="outline-container-org781f74e" class="outline-3">
<h3 id="org781f74e"><span class="section-number-3">3.6</span> Optimal Stiffnesses</h3>
<div id="outline-container-orgface252" class="outline-3">
<h3 id="orgface252"><span class="section-number-3">3.6</span> Optimal Stiffnesses</h3>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-05-25 lun. 10:45</p>
<p class="date">Created: 2020-05-25 lun. 11:05</p>
</div>
</body>
</html>

View File

@ -292,6 +292,23 @@ exportFig('figs/comp_simscape_analytical.pdf', 'width', 'full', 'height', 'full'
#+RESULTS:
[[file:figs/comp_simscape_analytical.png]]
** Analytical Analysis
For Integral Force Feedback Control, the plant is:
\[ \frac{F_s}{f} = \frac{k_e}{k_e + k_a} \Big( \frac{ms^2 + k_1}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} \Big) \]
As high frequency, this converge to:
\[ \frac{F_s}{f} \underset{\omega\to\infty}{\longrightarrow} \frac{k_e}{k_e + k_a} \]
And at low frequency:
\[ \frac{F_s}{f} \underset{\omega\to 0}{\longrightarrow} \frac{k_e}{k_e + k_a} \frac{k_1}{k_1 + \frac{k_e k_a}{k_e + k_a}} \]
It has two complex conjugate zeros at:
\[ z = \pm j \sqrt{\frac{k_1}{m}} \]
And two complex conjugate poles at:
\[ p = \pm j \sqrt{\frac{k_1 + \frac{k_e k_a}{k_e + k_a}}{m}} \]
If maximal damping is to be attained with IFF, the distance between the zero and the pole is to be maximized.
Thus, we wish to maximize $p/z$, which is equivalent as to minimize $k_1$ and have $k_e \approx k_a$ (supposing $k_e + k_a \approx \text{cst}$).
* Rotating X-Y platform
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)