Add labels and links to the cubic analysis

This commit is contained in:
Thomas Dehaeze 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"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <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 http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Cubic configuration for the Stewart Platform</title> <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="#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="#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="#orgd35acc0">1.5. Conclusion</a></li>
<li><a href="#org8afa645">1.6. Having Cube&rsquo;s center above the top platform</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgcc4ecce">2. Cubic size analysis</a></li> <li><a href="#orgd70418b">2. Configuration with the Cube&rsquo;s center above the mobile platform</a>
<li><a href="#org3044455">3. Functions</a>
<ul> <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> <ul>
<li><a href="#orga5a9ba8">Function description</a></li> <li><a href="#orga5a9ba8">Function description</a></li>
<li><a href="#org3253792">Documentation</a></li> <li><a href="#org3253792">Documentation</a></li>
@ -299,24 +316,13 @@ for the JavaScript code in this tag.
</div> </div>
<p> <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>
<p> <p>
The specificity of the Cubic configuration is that each actuator is orthogonal with the others: 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>
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>:
</p> </p>
<blockquote> <blockquote>
<p> <p>
@ -325,19 +331,26 @@ This topology provides a uniform control capability and a uniform stiffness in a
</blockquote> </blockquote>
<p> <p>
To generate and study the Cubic configuration, <code>generateCubicConfiguration</code> is used (description in section <a href="#orga8311d3">3.1</a>). In this document, the cubic architecture is analyzed:
The goal is to study the benefits of using a cubic configuration:
</p> </p>
<ul class="org-ul"> <ul class="org-ul">
<li>Equal stiffness in all the degrees of freedom?</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>No coupling between the actuators?</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>Is the center of the cube an important point?</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> </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"> <div id="outline-container-org8c6677e" class="outline-2">
<h2 id="org8c6677e"><span class="section-number-2">1</span> Configuration Analysis - Stiffness Matrix</h2> <h2 id="org8c6677e"><span class="section-number-2">1</span> Configuration Analysis - Stiffness Matrix</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
<a id="orgda0ee50"></a>
</p>
<p>
First, we have to understand what is the physical meaning of the Stiffness matrix \(\bm{K}\). First, we have to understand what is the physical meaning of the Stiffness matrix \(\bm{K}\).
</p> </p>
@ -366,8 +379,11 @@ Thus, if the stiffness matrix is diagonal, the compliance matrix is also diagona
<p> <p>
One has to note that this is only valid in a static way. One has to note that this is only valid in a static way.
</p> </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"> <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> <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"> <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> </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"> <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> <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-1-6"> <div class="outline-text-3" id="text-2-1">
<p> <p>
Let&rsquo;s say we want to have a diagonal stiffness matrix when \(\{A\}\) and \(\{B\}\) are located above the top platform. 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. 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> </table>
</div> </div>
</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>
<div id="outline-container-orgcc4ecce" class="outline-2"> <div id="outline-container-orgcc4ecce" class="outline-2">
<h2 id="orgcc4ecce"><span class="section-number-2">2</span> Cubic size analysis</h2> <h2 id="orgcc4ecce"><span class="section-number-2">3</span> Cubic size analysis</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-3">
<p>
<a id="org348ec7d"></a>
</p>
<p> <p>
We here study the effect of the size of the cube used for the Stewart Cubic configuration. We here study the effect of the size of the cube used for the Stewart Cubic configuration.
</p> </p>
@ -1147,7 +1195,13 @@ We fix the height of the Stewart platform, the center of the cube is at the cent
<p> <p>
We only vary the size of the cube. We only vary the size of the cube.
</p> </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"> <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> <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)); 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> </pre>
</div> </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> <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 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>). 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> </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"> <div id="orgf5b4a80" class="figure">
<p><img src="figs/stiffness_cube_size.png" alt="stiffness_cube_size.png" /> <p><img src="figs/stiffness_cube_size.png" alt="stiffness_cube_size.png" />
</p> </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> <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>
<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> <p>
We observe that \(k_{\theta_x} = k_{\theta_y}\) and \(k_{\theta_z}\) increase linearly with the cube size. We observe that \(k_{\theta_x} = k_{\theta_y}\) and \(k_{\theta_z}\) increase linearly with the cube size.
</p> </p>
@ -1220,18 +1254,39 @@ In order to maximize the rotational stiffness of the Stewart platform, the size
</div> </div>
</div> </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"> <div id="outline-container-org3044455" class="outline-2">
<h2 id="org3044455"><span class="section-number-2">3</span> Functions</h2> <h2 id="org3044455"><span class="section-number-2">5</span> Functions</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-5">
<p> <p>
<a id="org28ba607"></a> <a id="org28ba607"></a>
</p> </p>
</div> </div>
<div id="outline-container-org56504f1" class="outline-3"> <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> <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-3-1"> <div class="outline-text-3" id="text-5-1">
<p> <p>
<a id="orga8311d3"></a> <a id="orga8311d3"></a>
</p> </p>
@ -1373,14 +1428,14 @@ stewart.platform_M.Mb = Mb;
<h1 class='org-ref-bib-h1'>Bibliography</h1> <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> <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="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> <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> </ul>
</p> </p>
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p> <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> </div>
</body> </body>
</html> </html>

View File

@ -39,27 +39,25 @@
:END: :END:
* Introduction :ignore: * Introduction :ignore:
The discovery of the Cubic configuration is done in cite:geng94_six_degree_of_freed_activ. The Cubic configuration for the Stewart platform was first proposed in cite:geng94_six_degree_of_freed_activ.
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 (cite:preumont07_six_axis_singl_stage_activ,jafari03_orthog_gough_stewar_platf_microm).
The specificity of the Cubic configuration is that each actuator is orthogonal with the others: According to cite:preumont07_six_axis_singl_stage_activ, the cubic configuration offers the following advantages:
#+begin_quote
the active struts are arranged in a mutually orthogonal configuration connecting the corners of a cube.
#+end_quote
The cubic (or orthogonal) configuration of the Stewart platform is now widely used (cite:preumont07_six_axis_singl_stage_activ,jafari03_orthog_gough_stewar_platf_microm).
According to cite:preumont07_six_axis_singl_stage_activ:
#+begin_quote #+begin_quote
This topology provides a uniform control capability and a uniform stiffness in all directions, and it minimizes the cross-coupling amongst actuators and sensors of different legs (being orthogonal to each other). This topology provides a uniform control capability and a uniform stiffness in all directions, and it minimizes the cross-coupling amongst actuators and sensors of different legs (being orthogonal to each other).
#+end_quote #+end_quote
To generate and study the Cubic configuration, =generateCubicConfiguration= is used (description in section [[sec:generateCubicConfiguration]]). In this document, the cubic architecture is analyzed:
The goal is to study the benefits of using a cubic configuration: - In section [[sec:cubic_conf_stiffness]], 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
- Equal stiffness in all the degrees of freedom? - In section [[sec:cubic_conf_above_platform]], we study cubic configurations where the cube's center is located above the mobile platform
- No coupling between the actuators? - In section [[sec:cubic_conf_size_analysis]], we study the effect of the cube's size on the Stewart platform properties
- Is the center of the cube an important point? - In section [[sec:cubic_conf_coupling]], we study the dynamic coupling of the cubic configuration
To generate and study the Stewart platform with a Cubic configuration, the Matlab function =generateCubicConfiguration= is used (described [[sec:generateCubicConfiguration][here]]).
* Configuration Analysis - Stiffness Matrix * Configuration Analysis - Stiffness Matrix
<<sec:cubic_conf_stiffness>>
** Introduction :ignore: ** Introduction :ignore:
First, we have to understand what is the physical meaning of the Stiffness matrix $\bm{K}$. First, we have to understand what is the physical meaning of the Stiffness matrix $\bm{K}$.
@ -77,6 +75,8 @@ Thus, if the stiffness matrix is diagonal, the compliance matrix is also diagona
One has to note that this is only valid in a static way. One has to note that this is only valid in a static way.
We here study what makes the Stiffness matrix diagonal when using a cubic configuration.
** Matlab Init :noexport:ignore: ** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) #+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
<<matlab-dir>> <<matlab-dir>>
@ -296,6 +296,27 @@ Here are the conclusion about the Stiffness matrix for the Cubic configuration:
- The stiffness matrix $K$ is diagonal for the cubic configuration if the Jacobian is estimated at the cube center. - The stiffness matrix $K$ is diagonal for the cubic configuration if the Jacobian is estimated at the cube center.
#+end_important #+end_important
* Configuration with the Cube's center above the mobile platform
<<sec:cubic_conf_above_platform>>
** Introduction :ignore:
We saw in section [[sec:cubic_conf_stiffness]] that in order to have a diagonal stiffness matrix, we need the cube'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.
We here see if the cubic configuration can provide a diagonal stiffness matrix when $\{A\}$ and $\{B\}$ are above the mobile 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)
<<matlab-dir>>
#+end_src
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+end_src
#+begin_src matlab :results none :exports none
simulinkproject('../');
#+end_src
** Having Cube's center above the top platform ** Having Cube's center above the top platform
Let's say we want to have a diagonal stiffness matrix when $\{A\}$ and $\{B\}$ are located above the top platform. Let'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's center to be located above the top center. Thus, we want the cube's center to be located above the top center.
@ -431,13 +452,36 @@ However, the rotational stiffnesses are increasing with the cube's size but the
| -8e-17 | 0 | -3e-17 | -6.1e-19 | 0.094 | 0 | | -8e-17 | 0 | -3e-17 | -6.1e-19 | 0.094 | 0 |
| -6.2e-18 | 7.2e-17 | 5.6e-17 | 2.3e-17 | 0 | 0.37 | | -6.2e-18 | 7.2e-17 | 5.6e-17 | 2.3e-17 | 0 | 0.37 |
** Conclusion
#+begin_important
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's size, we obtain 3 different configurations.
#+end_important
* Cubic size analysis * Cubic size analysis
<<sec:cubic_conf_size_analysis>>
** Introduction :ignore:
We here study the effect of the size of the cube used for the Stewart Cubic configuration. We here study the effect of the size of the cube used for the Stewart Cubic configuration.
We fix the height of the Stewart platform, the center of the cube is at the center of the Stewart platform and the frames $\{A\}$ and $\{B\}$ are also taken at the center of the cube. We fix the height of the Stewart platform, the center of the cube is at the center of the Stewart platform and the frames $\{A\}$ and $\{B\}$ are also taken at the center of the cube.
We only vary the size of the cube. We only vary the size of the cube.
** 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 :results none :exports none
simulinkproject('../');
#+end_src
** Analysis
We initialize the wanted cube's size.
#+begin_src matlab :results silent #+begin_src matlab :results silent
Hcs = 1e-3*[250:20:350]; % Heights for the Cube [m] Hcs = 1e-3*[250:20:350]; % Heights for the Cube [m]
Ks = zeros(6, 6, length(Hcs)); Ks = zeros(6, 6, length(Hcs));
@ -454,7 +498,7 @@ The frames $\{A\}$ and $\{B\}$ are positioned at the Stewart platform center as
FOc = H + MO_B; % Center of the cube with respect to {F} FOc = H + MO_B; % Center of the cube with respect to {F}
#+end_src #+end_src
#+begin_src matlab :results silent #+begin_src matlab :exports none
stewart = initializeStewartPlatform(); stewart = initializeStewartPlatform();
stewart = initializeFramesPositions(stewart, 'H', H, 'MO_B', MO_B); stewart = initializeFramesPositions(stewart, 'H', H, 'MO_B', MO_B);
for i = 1:length(Hcs) for i = 1:length(Hcs)
@ -470,7 +514,7 @@ The frames $\{A\}$ and $\{B\}$ are positioned at the Stewart platform center as
We find that for all the cube's size, $k_x = k_y = k_z = k$ where $k$ is the strut stiffness. We find that for all the cube'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's size (figure [[fig:stiffness_cube_size]]). We also find that $k_{\theta_x} = k_{\theta_y}$ and $k_{\theta_z}$ are varying with the cube's size (figure [[fig:stiffness_cube_size]]).
#+begin_src matlab :results none :exports code #+begin_src matlab :exports none
figure; figure;
hold on; hold on;
plot(Hcs, squeeze(Ks(4, 4, :)), 'DisplayName', '$k_{\theta_x} = k_{\theta_y}$'); plot(Hcs, squeeze(Ks(4, 4, :)), 'DisplayName', '$k_{\theta_x} = k_{\theta_y}$');
@ -491,12 +535,38 @@ We also find that $k_{\theta_x} = k_{\theta_y}$ and $k_{\theta_z}$ are varying w
#+RESULTS: fig:stiffness_cube_size #+RESULTS: fig:stiffness_cube_size
[[file:figs/stiffness_cube_size.png]] [[file:figs/stiffness_cube_size.png]]
** Conclusion
We observe that $k_{\theta_x} = k_{\theta_y}$ and $k_{\theta_z}$ increase linearly with the cube size. We observe that $k_{\theta_x} = k_{\theta_y}$ and $k_{\theta_z}$ increase linearly with the cube size.
#+begin_important #+begin_important
In order to maximize the rotational stiffness of the Stewart platform, the size of the cube should be the highest possible. In order to maximize the rotational stiffness of the Stewart platform, the size of the cube should be the highest possible.
#+end_important #+end_important
* Dynamic Coupling
<<sec:cubic_conf_coupling>>
** Introduction :ignore:
** 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 :results none :exports none
simulinkproject('../');
#+end_src
** Cube's center at the Center of Mass of the Payload
** Dynamic decoupling between the actuators and sensors
** Conclusion
* Functions * Functions
<<sec:functions>> <<sec:functions>>