Add labels and links to the cubic analysis

This commit is contained in:
2020-02-12 11:18:37 +01:00
parent f4abfbe85c
commit 0c77092743
2 changed files with 204 additions and 79 deletions

View File

@@ -4,7 +4,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-02-12 mer. 10:37 -->
<!-- 2020-02-12 mer. 11:18 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Cubic configuration for the Stewart Platform</title>
@@ -275,13 +275,30 @@ for the JavaScript code in this tag.
<li><a href="#orge02ec88">1.3. Cubic Stewart platform not centered with the cube center - Jacobian estimated at the cube center</a></li>
<li><a href="#org43fd7e4">1.4. Cubic Stewart platform not centered with the cube center - Jacobian estimated at the Stewart platform center</a></li>
<li><a href="#orgd35acc0">1.5. Conclusion</a></li>
<li><a href="#org8afa645">1.6. Having Cube&rsquo;s center above the top platform</a></li>
</ul>
</li>
<li><a href="#orgcc4ecce">2. Cubic size analysis</a></li>
<li><a href="#org3044455">3. Functions</a>
<li><a href="#orgd70418b">2. Configuration with the Cube&rsquo;s center above the mobile platform</a>
<ul>
<li><a href="#org56504f1">3.1. <code>generateCubicConfiguration</code>: Generate a Cubic Configuration</a>
<li><a href="#org8afa645">2.1. Having Cube&rsquo;s center above the top platform</a></li>
<li><a href="#org4576402">2.2. Conclusion</a></li>
</ul>
</li>
<li><a href="#orgcc4ecce">3. Cubic size analysis</a>
<ul>
<li><a href="#org0029d8c">3.1. Analysis</a></li>
<li><a href="#org04f1ef6">3.2. Conclusion</a></li>
</ul>
</li>
<li><a href="#org5abef15">4. Dynamic Coupling</a>
<ul>
<li><a href="#org0d67b92">4.1. Cube&rsquo;s center at the Center of Mass of the Payload</a></li>
<li><a href="#org876e05f">4.2. Dynamic decoupling between the actuators and sensors</a></li>
<li><a href="#org95af62e">4.3. Conclusion</a></li>
</ul>
</li>
<li><a href="#org3044455">5. Functions</a>
<ul>
<li><a href="#org56504f1">5.1. <code>generateCubicConfiguration</code>: Generate a Cubic Configuration</a>
<ul>
<li><a href="#orga5a9ba8">Function description</a></li>
<li><a href="#org3253792">Documentation</a></li>
@@ -299,24 +316,13 @@ for the JavaScript code in this tag.
</div>
<p>
The discovery of the Cubic configuration is done in <a class='org-ref-reference' href="#geng94_six_degree_of_freed_activ">geng94_six_degree_of_freed_activ</a>.
The Cubic configuration for the Stewart platform was first proposed in <a class='org-ref-reference' href="#geng94_six_degree_of_freed_activ">geng94_six_degree_of_freed_activ</a>.
This configuration is quite specific in the sense that the active struts are arranged in a mutually orthogonal configuration connecting the corners of a cube.
This configuration is now widely used (<a class='org-ref-reference' href="#preumont07_six_axis_singl_stage_activ">preumont07_six_axis_singl_stage_activ</a>,<a class='org-ref-reference' href="#jafari03_orthog_gough_stewar_platf_microm">jafari03_orthog_gough_stewar_platf_microm</a>).
</p>
<p>
The specificity of the Cubic configuration is that each actuator is orthogonal with the others:
</p>
<blockquote>
<p>
the active struts are arranged in a mutually orthogonal configuration connecting the corners of a cube.
</p>
</blockquote>
<p>
The cubic (or orthogonal) configuration of the Stewart platform is now widely used (<a class='org-ref-reference' href="#preumont07_six_axis_singl_stage_activ">preumont07_six_axis_singl_stage_activ</a>,<a class='org-ref-reference' href="#jafari03_orthog_gough_stewar_platf_microm">jafari03_orthog_gough_stewar_platf_microm</a>).
</p>
<p>
According to <a class='org-ref-reference' href="#preumont07_six_axis_singl_stage_activ">preumont07_six_axis_singl_stage_activ</a>:
According to <a class='org-ref-reference' href="#preumont07_six_axis_singl_stage_activ">preumont07_six_axis_singl_stage_activ</a>, the cubic configuration offers the following advantages:
</p>
<blockquote>
<p>
@@ -325,19 +331,26 @@ This topology provides a uniform control capability and a uniform stiffness in a
</blockquote>
<p>
To generate and study the Cubic configuration, <code>generateCubicConfiguration</code> is used (description in section <a href="#orga8311d3">3.1</a>).
The goal is to study the benefits of using a cubic configuration:
In this document, the cubic architecture is analyzed:
</p>
<ul class="org-ul">
<li>Equal stiffness in all the degrees of freedom?</li>
<li>No coupling between the actuators?</li>
<li>Is the center of the cube an important point?</li>
<li>In section <a href="#orgda0ee50">1</a>, we study the link between the Stiffness matrix and the cubic architecture and we find what are the conditions to obtain a diagonal stiffness matrix</li>
<li>In section <a href="#orgb73265d">2</a>, we study cubic configurations where the cube&rsquo;s center is located above the mobile platform</li>
<li>In section <a href="#org348ec7d">3</a>, we study the effect of the cube&rsquo;s size on the Stewart platform properties</li>
<li>In section <a href="#orgc379ec8">4</a>, we study the dynamic coupling of the cubic configuration</li>
</ul>
<p>
To generate and study the Stewart platform with a Cubic configuration, the Matlab function <code>generateCubicConfiguration</code> is used (described <a href="#orga8311d3">here</a>).
</p>
<div id="outline-container-org8c6677e" class="outline-2">
<h2 id="org8c6677e"><span class="section-number-2">1</span> Configuration Analysis - Stiffness Matrix</h2>
<div class="outline-text-2" id="text-1">
<p>
<a id="orgda0ee50"></a>
</p>
<p>
First, we have to understand what is the physical meaning of the Stiffness matrix \(\bm{K}\).
</p>
@@ -366,8 +379,11 @@ Thus, if the stiffness matrix is diagonal, the compliance matrix is also diagona
<p>
One has to note that this is only valid in a static way.
</p>
</div>
<p>
We here study what makes the Stiffness matrix diagonal when using a cubic configuration.
</p>
</div>
<div id="outline-container-orgf6f7ad2" class="outline-3">
<h3 id="orgf6f7ad2"><span class="section-number-3">1.1</span> Cubic Stewart platform centered with the cube center - Jacobian estimated at the cube center</h3>
<div class="outline-text-3" id="text-1-1">
@@ -837,10 +853,26 @@ Here are the conclusion about the Stiffness matrix for the Cubic configuration:
</div>
</div>
</div>
</div>
<div id="outline-container-orgd70418b" class="outline-2">
<h2 id="orgd70418b"><span class="section-number-2">2</span> Configuration with the Cube&rsquo;s center above the mobile platform</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="orgb73265d"></a>
</p>
<p>
We saw in section <a href="#orgda0ee50">1</a> that in order to have a diagonal stiffness matrix, we need the cube&rsquo;s center to be located at frames \(\{A\}\) and \(\{B\}\).
Or, we usually want to have \(\{A\}\) and \(\{B\}\) located above the top platform where forces are applied and where displacements are expressed.
</p>
<p>
We here see if the cubic configuration can provide a diagonal stiffness matrix when \(\{A\}\) and \(\{B\}\) are above the mobile platform.
</p>
</div>
<div id="outline-container-org8afa645" class="outline-3">
<h3 id="org8afa645"><span class="section-number-3">1.6</span> Having Cube&rsquo;s center above the top platform</h3>
<div class="outline-text-3" id="text-1-6">
<h3 id="org8afa645"><span class="section-number-3">2.1</span> Having Cube&rsquo;s center above the top platform</h3>
<div class="outline-text-3" id="text-2-1">
<p>
Let&rsquo;s say we want to have a diagonal stiffness matrix when \(\{A\}\) and \(\{B\}\) are located above the top platform.
Thus, we want the cube&rsquo;s center to be located above the top center.
@@ -1131,11 +1163,27 @@ FOc = H <span class="org-type">+</span> MO_B; <span class="org-comment">% Cente
</table>
</div>
</div>
<div id="outline-container-org4576402" class="outline-3">
<h3 id="org4576402"><span class="section-number-3">2.2</span> Conclusion</h3>
<div class="outline-text-3" id="text-2-2">
<div class="important">
<p>
We found that we can have a diagonal stiffness matrix using the cubic architecture when \(\{A\}\) and \(\{B\}\) are located above the top platform.
Depending on the cube&rsquo;s size, we obtain 3 different configurations.
</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgcc4ecce" class="outline-2">
<h2 id="orgcc4ecce"><span class="section-number-2">2</span> Cubic size analysis</h2>
<div class="outline-text-2" id="text-2">
<h2 id="orgcc4ecce"><span class="section-number-2">3</span> Cubic size analysis</h2>
<div class="outline-text-2" id="text-3">
<p>
<a id="org348ec7d"></a>
</p>
<p>
We here study the effect of the size of the cube used for the Stewart Cubic configuration.
</p>
@@ -1147,7 +1195,13 @@ We fix the height of the Stewart platform, the center of the cube is at the cent
<p>
We only vary the size of the cube.
</p>
</div>
<div id="outline-container-org0029d8c" class="outline-3">
<h3 id="org0029d8c"><span class="section-number-3">3.1</span> Analysis</h3>
<div class="outline-text-3" id="text-3-1">
<p>
We initialize the wanted cube&rsquo;s size.
</p>
<div class="org-src-container">
<pre class="src src-matlab">Hcs = 1e<span class="org-type">-</span>3<span class="org-type">*</span>[250<span class="org-type">:</span>20<span class="org-type">:</span>350]; <span class="org-comment">% Heights for the Cube [m]</span>
Ks = zeros(6, 6, length(Hcs));
@@ -1171,43 +1225,23 @@ FOc = H <span class="org-type">+</span> MO_B; <span class="org-comment">% Cente
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">stewart = initializeStewartPlatform();
stewart = initializeFramesPositions(stewart, <span class="org-string">'H'</span>, H, <span class="org-string">'MO_B'</span>, MO_B);
<span class="org-keyword">for</span> <span class="org-variable-name"><span class="org-constant">i</span></span> = <span class="org-constant">1:length(Hcs)</span>
Hc = Hcs(<span class="org-constant">i</span>);
stewart = generateCubicConfiguration(stewart, <span class="org-string">'Hc'</span>, Hc, <span class="org-string">'FOc'</span>, FOc, <span class="org-string">'FHa'</span>, 0, <span class="org-string">'MHb'</span>, 0);
stewart = computeJointsPose(stewart);
stewart = initializeStrutDynamics(stewart, <span class="org-string">'K'</span>, ones(6,1));
stewart = computeJacobian(stewart);
Ks(<span class="org-type">:</span>,<span class="org-type">:</span>,<span class="org-constant">i</span>) = stewart.kinematics.K;
<span class="org-keyword">end</span>
</pre>
</div>
<p>
We find that for all the cube&rsquo;s size, \(k_x = k_y = k_z = k\) where \(k\) is the strut stiffness.
We also find that \(k_{\theta_x} = k_{\theta_y}\) and \(k_{\theta_z}\) are varying with the cube&rsquo;s size (figure <a href="#orgf5b4a80">9</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
hold on;
plot(Hcs, squeeze(Ks(4, 4, <span class="org-type">:</span>)), <span class="org-string">'DisplayName'</span>, <span class="org-string">'$k_{\theta_x} = k_{\theta_y}$'</span>);
plot(Hcs, squeeze(Ks(6, 6, <span class="org-type">:</span>)), <span class="org-string">'DisplayName'</span>, <span class="org-string">'$k_{\theta_z}$'</span>);
hold off;
legend(<span class="org-string">'location'</span>, <span class="org-string">'northwest'</span>);
xlabel(<span class="org-string">'Cube Size [m]'</span>); ylabel(<span class="org-string">'Rotational stiffnes [normalized]'</span>);
</pre>
</div>
<div id="orgf5b4a80" class="figure">
<p><img src="figs/stiffness_cube_size.png" alt="stiffness_cube_size.png" />
</p>
<p><span class="figure-number">Figure 9: </span>\(k_{\theta_x} = k_{\theta_y}\) and \(k_{\theta_z}\) function of the size of the cube</p>
</div>
</div>
</div>
<div id="outline-container-org04f1ef6" class="outline-3">
<h3 id="org04f1ef6"><span class="section-number-3">3.2</span> Conclusion</h3>
<div class="outline-text-3" id="text-3-2">
<p>
We observe that \(k_{\theta_x} = k_{\theta_y}\) and \(k_{\theta_z}\) increase linearly with the cube size.
</p>
@@ -1220,18 +1254,39 @@ In order to maximize the rotational stiffness of the Stewart platform, the size
</div>
</div>
</div>
</div>
<div id="outline-container-org5abef15" class="outline-2">
<h2 id="org5abef15"><span class="section-number-2">4</span> Dynamic Coupling</h2>
<div class="outline-text-2" id="text-4">
<p>
<a id="orgc379ec8"></a>
</p>
</div>
<div id="outline-container-org0d67b92" class="outline-3">
<h3 id="org0d67b92"><span class="section-number-3">4.1</span> Cube&rsquo;s center at the Center of Mass of the Payload</h3>
</div>
<div id="outline-container-org876e05f" class="outline-3">
<h3 id="org876e05f"><span class="section-number-3">4.2</span> Dynamic decoupling between the actuators and sensors</h3>
</div>
<div id="outline-container-org95af62e" class="outline-3">
<h3 id="org95af62e"><span class="section-number-3">4.3</span> Conclusion</h3>
</div>
</div>
<div id="outline-container-org3044455" class="outline-2">
<h2 id="org3044455"><span class="section-number-2">3</span> Functions</h2>
<div class="outline-text-2" id="text-3">
<h2 id="org3044455"><span class="section-number-2">5</span> Functions</h2>
<div class="outline-text-2" id="text-5">
<p>
<a id="org28ba607"></a>
</p>
</div>
<div id="outline-container-org56504f1" class="outline-3">
<h3 id="org56504f1"><span class="section-number-3">3.1</span> <code>generateCubicConfiguration</code>: Generate a Cubic Configuration</h3>
<div class="outline-text-3" id="text-3-1">
<h3 id="org56504f1"><span class="section-number-3">5.1</span> <code>generateCubicConfiguration</code>: Generate a Cubic Configuration</h3>
<div class="outline-text-3" id="text-5-1">
<p>
<a id="orga8311d3"></a>
</p>
@@ -1372,15 +1427,15 @@ stewart.platform_M.Mb = Mb;
<p>
<h1 class='org-ref-bib-h1'>Bibliography</h1>
<ul class='org-ref-bib'><li><a id="geng94_six_degree_of_freed_activ">[geng94_six_degree_of_freed_activ]</a> <a name="geng94_six_degree_of_freed_activ"></a>Geng & Haynes, Six Degree-Of-Freedom Active Vibration Control Using the Stewart Platforms, <i>IEEE Transactions on Control Systems Technology</i>, <b>2(1)</b>, 45-53 (1994). <a href="https://doi.org/10.1109/87.273110">link</a>. <a href="http://dx.doi.org/10.1109/87.273110">doi</a>.</li>
<li><a id="preumont07_six_axis_singl_stage_activ">[preumont07_six_axis_singl_stage_activ]</a> <a name="preumont07_six_axis_singl_stage_activ"></a>Preumont, Horodinca, Romanescu, de, Marneffe, Avraam, Deraemaeker, Bossens, & Abu Hanieh, A Six-Axis Single-Stage Active Vibration Isolator Based on Stewart Platform, <i>Journal of Sound and Vibration</i>, <b>300(3-5)</b>, 644-661 (2007). <a href="https://doi.org/10.1016/j.jsv.2006.07.050">link</a>. <a href="http://dx.doi.org/10.1016/j.jsv.2006.07.050">doi</a>.</li>
<ul class='org-ref-bib'><li><a id="geng94_six_degree_of_freed_activ">[geng94_six_degree_of_freed_activ]</a> <a name="geng94_six_degree_of_freed_activ"></a>Geng & Haynes, Six Degree-Of-Freedom Active Vibration Control Using the Stewart Platforms, <i>IEEE Transactions on Control Systems Technology</i>, <b>2(1)</b>, 45-53 (1994). <a href="https://doi.org/10.1109/87.273110">link</a>. <a href="http://dx.doi.org/10.1109/87.273110">doi</a>.</li>
<li><a id="preumont07_six_axis_singl_stage_activ">[preumont07_six_axis_singl_stage_activ]</a> <a name="preumont07_six_axis_singl_stage_activ"></a>Preumont, Horodinca, Romanescu, de Marneffe, Avraam, Deraemaeker, Bossens & Abu Hanieh, A Six-Axis Single-Stage Active Vibration Isolator Based on Stewart Platform, <i>Journal of Sound and Vibration</i>, <b>300(3-5)</b>, 644-661 (2007). <a href="https://doi.org/10.1016/j.jsv.2006.07.050">link</a>. <a href="http://dx.doi.org/10.1016/j.jsv.2006.07.050">doi</a>.</li>
<li><a id="jafari03_orthog_gough_stewar_platf_microm">[jafari03_orthog_gough_stewar_platf_microm]</a> <a name="jafari03_orthog_gough_stewar_platf_microm"></a>Jafari & McInroy, Orthogonal Gough-Stewart Platforms for Micromanipulation, <i>IEEE Transactions on Robotics and Automation</i>, <b>19(4)</b>, 595-603 (2003). <a href="https://doi.org/10.1109/tra.2003.814506">link</a>. <a href="http://dx.doi.org/10.1109/tra.2003.814506">doi</a>.</li>
</ul>
</p>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-12 mer. 10:37</p>
<p class="date">Created: 2020-02-12 mer. 11:18</p>
</div>
</body>
</html>