Update html pages

This commit is contained in:
Thomas Dehaeze 2020-02-11 15:50:52 +01:00
parent f684653af8
commit 799b63d2a4
21 changed files with 778 additions and 738 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-11 mar. 15:26 -->
<!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Decentralized Active Damping</title>
@ -268,28 +268,28 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgd59c804">Inertial Control</a>
<li><a href="#orgd59c804">1. Inertial Control</a>
<ul>
<li><a href="#org5f749c8">Identification of the Dynamics</a></li>
<li><a href="#org543be7a">Effect of the Flexible Joint stiffness on the Dynamics</a></li>
<li><a href="#org9a605b4">Obtained Damping</a></li>
<li><a href="#org42a74ed">Conclusion</a></li>
<li><a href="#org5f749c8">1.1. Identification of the Dynamics</a></li>
<li><a href="#org41a6913">1.2. Effect of the Flexible Joint stiffness on the Dynamics</a></li>
<li><a href="#orgbcd94dc">1.3. Obtained Damping</a></li>
<li><a href="#orgb81ed64">1.4. Conclusion</a></li>
</ul>
</li>
<li><a href="#org74c7eb4">Integral Force Feedback</a>
<li><a href="#org74c7eb4">2. Integral Force Feedback</a>
<ul>
<li><a href="#orgc96f772">Identification of the Dynamics with perfect Joints</a></li>
<li><a href="#orgd119d8a">Effect of the Flexible Joint stiffness on the Dynamics</a></li>
<li><a href="#org2b5e45a">Obtained Damping</a></li>
<li><a href="#org39ddf1e">Conclusion</a></li>
<li><a href="#org04cb1dc">2.1. Identification of the Dynamics with perfect Joints</a></li>
<li><a href="#org7f576ce">2.2. Effect of the Flexible Joint stiffness on the Dynamics</a></li>
<li><a href="#orgb927f01">2.3. Obtained Damping</a></li>
<li><a href="#orgf5f2135">2.4. Conclusion</a></li>
</ul>
</li>
<li><a href="#org08917d6">Direct Velocity Feedback</a>
<li><a href="#org08917d6">3. Direct Velocity Feedback</a>
<ul>
<li><a href="#org243b924">Identification of the Dynamics with perfect Joints</a></li>
<li><a href="#orgcdb3ee5">Effect of the Flexible Joint stiffness on the Dynamics</a></li>
<li><a href="#orgff0cbf9">Obtained Damping</a></li>
<li><a href="#org4027234">Conclusion</a></li>
<li><a href="#orgbfe0af6">3.1. Identification of the Dynamics with perfect Joints</a></li>
<li><a href="#org62438da">3.2. Effect of the Flexible Joint stiffness on the Dynamics</a></li>
<li><a href="#orgb4fcddf">3.3. Obtained Damping</a></li>
<li><a href="#org31a4bb6">3.4. Conclusion</a></li>
</ul>
</li>
</ul>
@ -300,22 +300,22 @@ for the JavaScript code in this tag.
The following decentralized active damping techniques are briefly studied:
</p>
<ul class="org-ul">
<li>Inertial Control (proportional feedback of the absolute velocity): Section <a href="#orgeb37c7d">No description for this link</a></li>
<li>Integral Force Feedback: Section <a href="#orgab5e6b5">No description for this link</a></li>
<li>Direct feedback of the relative velocity of each strut: Section <a href="#org0aa816a">No description for this link</a></li>
<li>Inertial Control (proportional feedback of the absolute velocity): Section <a href="#orgeb37c7d">1</a></li>
<li>Integral Force Feedback: Section <a href="#orgab5e6b5">2</a></li>
<li>Direct feedback of the relative velocity of each strut: Section <a href="#org0aa816a">3</a></li>
</ul>
<div id="outline-container-orgd59c804" class="outline-2">
<h2 id="orgd59c804">Inertial Control</h2>
<div class="outline-text-2" id="text-orgd59c804">
<h2 id="orgd59c804"><span class="section-number-2">1</span> Inertial Control</h2>
<div class="outline-text-2" id="text-1">
<p>
<a id="orgeb37c7d"></a>
</p>
</div>
<div id="outline-container-org5f749c8" class="outline-3">
<h3 id="org5f749c8">Identification of the Dynamics</h3>
<div class="outline-text-3" id="text-org5f749c8">
<h3 id="org5f749c8"><span class="section-number-3">1.1</span> Identification of the Dynamics</h3>
<div class="outline-text-3" id="text-1-1">
<div class="org-src-container">
<pre class="src src-matlab">stewart = initializeStewartPlatform();
stewart = initializeFramesPositions(stewart, <span class="org-string">'H'</span>, 90e<span class="org-type">-</span>3, <span class="org-string">'MO_B'</span>, 45e<span class="org-type">-</span>3);
@ -362,9 +362,9 @@ The transfer function from actuator forces to force sensors is shown in Figure <
</div>
</div>
<div id="outline-container-org543be7a" class="outline-3">
<h3 id="org543be7a">Effect of the Flexible Joint stiffness on the Dynamics</h3>
<div class="outline-text-3" id="text-org543be7a">
<div id="outline-container-org41a6913" class="outline-3">
<h3 id="org41a6913"><span class="section-number-3">1.2</span> Effect of the Flexible Joint stiffness on the Dynamics</h3>
<div class="outline-text-3" id="text-1-2">
<p>
We add some stiffness and damping in the flexible joints and we re-identify the dynamics.
</p>
@ -388,9 +388,9 @@ The new dynamics from force actuator to force sensor is shown in Figure <a href=
</div>
</div>
<div id="outline-container-org9a605b4" class="outline-3">
<h3 id="org9a605b4">Obtained Damping</h3>
<div class="outline-text-3" id="text-org9a605b4">
<div id="outline-container-orgbcd94dc" class="outline-3">
<h3 id="orgbcd94dc"><span class="section-number-3">1.3</span> Obtained Damping</h3>
<div class="outline-text-3" id="text-1-3">
<p>
The control is a performed in a decentralized manner.
The \(6 \times 6\) control is a diagonal matrix with pure proportional action on the diagonal:
@ -421,9 +421,9 @@ The root locus is shown in figure <a href="#org9af9e33">3</a> and the obtained p
</div>
</div>
<div id="outline-container-org42a74ed" class="outline-3">
<h3 id="org42a74ed">Conclusion</h3>
<div class="outline-text-3" id="text-org42a74ed">
<div id="outline-container-orgb81ed64" class="outline-3">
<h3 id="orgb81ed64"><span class="section-number-3">1.4</span> Conclusion</h3>
<div class="outline-text-3" id="text-1-4">
<div class="important">
<p>
Joint stiffness does increase the resonance frequencies of the system but does not change the attainable damping when using relative motion sensors.
@ -435,16 +435,16 @@ Joint stiffness does increase the resonance frequencies of the system but does n
</div>
<div id="outline-container-org74c7eb4" class="outline-2">
<h2 id="org74c7eb4">Integral Force Feedback</h2>
<div class="outline-text-2" id="text-org74c7eb4">
<h2 id="org74c7eb4"><span class="section-number-2">2</span> Integral Force Feedback</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="orgab5e6b5"></a>
</p>
</div>
<div id="outline-container-orgc96f772" class="outline-3">
<h3 id="orgc96f772">Identification of the Dynamics with perfect Joints</h3>
<div class="outline-text-3" id="text-orgc96f772">
<div id="outline-container-org04cb1dc" class="outline-3">
<h3 id="org04cb1dc"><span class="section-number-3">2.1</span> Identification of the Dynamics with perfect Joints</h3>
<div class="outline-text-3" id="text-2-1">
<p>
We first initialize the Stewart platform without joint stiffness.
</p>
@ -498,9 +498,9 @@ The transfer function from actuator forces to force sensors is shown in Figure <
</div>
</div>
<div id="outline-container-orgd119d8a" class="outline-3">
<h3 id="orgd119d8a">Effect of the Flexible Joint stiffness on the Dynamics</h3>
<div class="outline-text-3" id="text-orgd119d8a">
<div id="outline-container-org7f576ce" class="outline-3">
<h3 id="org7f576ce"><span class="section-number-3">2.2</span> Effect of the Flexible Joint stiffness on the Dynamics</h3>
<div class="outline-text-3" id="text-2-2">
<p>
We add some stiffness and damping in the flexible joints and we re-identify the dynamics.
</p>
@ -524,9 +524,9 @@ The new dynamics from force actuator to force sensor is shown in Figure <a href=
</div>
</div>
<div id="outline-container-org2b5e45a" class="outline-3">
<h3 id="org2b5e45a">Obtained Damping</h3>
<div class="outline-text-3" id="text-org2b5e45a">
<div id="outline-container-orgb927f01" class="outline-3">
<h3 id="orgb927f01"><span class="section-number-3">2.3</span> Obtained Damping</h3>
<div class="outline-text-3" id="text-2-3">
<p>
The control is a performed in a decentralized manner.
The \(6 \times 6\) control is a diagonal matrix with pure integration action on the diagonal:
@ -557,9 +557,9 @@ The root locus is shown in figure <a href="#orge21bbea">7</a> and the obtained p
</div>
</div>
<div id="outline-container-org39ddf1e" class="outline-3">
<h3 id="org39ddf1e">Conclusion</h3>
<div class="outline-text-3" id="text-org39ddf1e">
<div id="outline-container-orgf5f2135" class="outline-3">
<h3 id="orgf5f2135"><span class="section-number-3">2.4</span> Conclusion</h3>
<div class="outline-text-3" id="text-2-4">
<div class="important">
<p>
The joint stiffness has a huge impact on the attainable active damping performance when using force sensors.
@ -572,16 +572,16 @@ Thus, if Integral Force Feedback is to be used in a Stewart platform with flexib
</div>
<div id="outline-container-org08917d6" class="outline-2">
<h2 id="org08917d6">Direct Velocity Feedback</h2>
<div class="outline-text-2" id="text-org08917d6">
<h2 id="org08917d6"><span class="section-number-2">3</span> Direct Velocity Feedback</h2>
<div class="outline-text-2" id="text-3">
<p>
<a id="org0aa816a"></a>
</p>
</div>
<div id="outline-container-org243b924" class="outline-3">
<h3 id="org243b924">Identification of the Dynamics with perfect Joints</h3>
<div class="outline-text-3" id="text-org243b924">
<div id="outline-container-orgbfe0af6" class="outline-3">
<h3 id="orgbfe0af6"><span class="section-number-3">3.1</span> Identification of the Dynamics with perfect Joints</h3>
<div class="outline-text-3" id="text-3-1">
<p>
We first initialize the Stewart platform without joint stiffness.
</p>
@ -635,9 +635,9 @@ The transfer function from actuator forces to relative motion sensors is shown i
</div>
<div id="outline-container-orgcdb3ee5" class="outline-3">
<h3 id="orgcdb3ee5">Effect of the Flexible Joint stiffness on the Dynamics</h3>
<div class="outline-text-3" id="text-orgcdb3ee5">
<div id="outline-container-org62438da" class="outline-3">
<h3 id="org62438da"><span class="section-number-3">3.2</span> Effect of the Flexible Joint stiffness on the Dynamics</h3>
<div class="outline-text-3" id="text-3-2">
<p>
We add some stiffness and damping in the flexible joints and we re-identify the dynamics.
</p>
@ -661,9 +661,9 @@ The new dynamics from force actuator to relative motion sensor is shown in Figur
</div>
</div>
<div id="outline-container-orgff0cbf9" class="outline-3">
<h3 id="orgff0cbf9">Obtained Damping</h3>
<div class="outline-text-3" id="text-orgff0cbf9">
<div id="outline-container-orgb4fcddf" class="outline-3">
<h3 id="orgb4fcddf"><span class="section-number-3">3.3</span> Obtained Damping</h3>
<div class="outline-text-3" id="text-3-3">
<p>
The control is a performed in a decentralized manner.
The \(6 \times 6\) control is a diagonal matrix with pure derivative action on the diagonal:
@ -694,9 +694,9 @@ The root locus is shown in figure <a href="#org277d60d">11</a> and the obtained
</div>
</div>
<div id="outline-container-org4027234" class="outline-3">
<h3 id="org4027234">Conclusion</h3>
<div class="outline-text-3" id="text-org4027234">
<div id="outline-container-org31a4bb6" class="outline-3">
<h3 id="org31a4bb6"><span class="section-number-3">3.4</span> Conclusion</h3>
<div class="outline-text-3" id="text-3-4">
<div class="important">
<p>
Joint stiffness does increase the resonance frequencies of the system but does not change the attainable damping when using relative motion sensors.
@ -709,7 +709,7 @@ Joint stiffness does increase the resonance frequencies of the system but does n
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:26</p>
<p class="date">Created: 2020-02-11 mar. 15:50</p>
</div>
</body>
</html>

View File

@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"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-11 mar. 15:23 -->
<!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Control Study</title>
@ -269,13 +268,13 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgc1805a8">First Control Architecture</a>
<li><a href="#orgc1805a8">1. First Control Architecture</a>
<ul>
<li><a href="#org066d914">Control Schematic</a></li>
<li><a href="#org64f6d6b">Initialize the Stewart platform</a></li>
<li><a href="#org4493ec7">Identification of the plant</a></li>
<li><a href="#org72dad5c">Plant Analysis</a></li>
<li><a href="#orga9fb0f5">Controller Design</a></li>
<li><a href="#org066d914">1.1. Control Schematic</a></li>
<li><a href="#org64f6d6b">1.2. Initialize the Stewart platform</a></li>
<li><a href="#org4493ec7">1.3. Identification of the plant</a></li>
<li><a href="#org72dad5c">1.4. Plant Analysis</a></li>
<li><a href="#orga9fb0f5">1.5. Controller Design</a></li>
</ul>
</li>
</ul>
@ -283,30 +282,12 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-orgc1805a8" class="outline-2">
<h2 id="orgc1805a8">First Control Architecture</h2>
<div class="outline-text-2" id="text-orgc1805a8">
<h2 id="orgc1805a8"><span class="section-number-2">1</span> First Control Architecture</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-org066d914" class="outline-3">
<h3 id="org066d914">Control Schematic</h3>
<div class="outline-text-3" id="text-org066d914">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-comment">% Blocs</span>
<span class="org-font-latex-sedate">\node</span>[block] (J) at (0, 0) {<span class="org-font-latex-math">$J$</span>};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}, right=1 of J] (subr) {};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of subr] (K) {<span class="org-font-latex-math">$K</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">{L}$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=1 of K] (G) {<span class="org-font-latex-math">$G</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">{L}$</span>};
<span class="org-comment">% Connections and labels</span>
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (J.west)node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bm</span></span><span class="org-font-latex-math">{r}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">{n}$</span>} -- ++(-1, 0);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (J.east) -- (subr.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bm</span></span><span class="org-font-latex-math">{r}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">{L}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (subr.east) -- (K.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bm</span></span><span class="org-font-latex-math">{</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\epsilon</span></span><span class="org-font-latex-math">}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">{L}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (K.east) -- (G.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bm</span></span><span class="org-font-latex-math">{</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tau</span></span><span class="org-font-latex-math">}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (G.east) node[above right]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bm</span></span><span class="org-font-latex-math">{L}$</span>} -| (<span class="org-font-latex-math">$(G.east)+(1, -1)$</span>) -| (subr.south);
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<h3 id="org066d914"><span class="section-number-3">1.1</span> Control Schematic</h3>
<div class="outline-text-3" id="text-1-1">
<div class="figure">
<p><img src="figs/control_measure_rotating_2dof.png" alt="control_measure_rotating_2dof.png" />
@ -316,8 +297,8 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-org64f6d6b" class="outline-3">
<h3 id="org64f6d6b">Initialize the Stewart platform</h3>
<div class="outline-text-3" id="text-org64f6d6b">
<h3 id="org64f6d6b"><span class="section-number-3">1.2</span> Initialize the Stewart platform</h3>
<div class="outline-text-3" id="text-1-2">
<div class="org-src-container">
<pre class="src src-matlab">stewart = initializeStewartPlatform();
stewart = initializeFramesPositions(stewart);
@ -334,8 +315,8 @@ stewart = initializeStewartPose(stewart);
</div>
<div id="outline-container-org4493ec7" class="outline-3">
<h3 id="org4493ec7">Identification of the plant</h3>
<div class="outline-text-3" id="text-org4493ec7">
<h3 id="org4493ec7"><span class="section-number-3">1.3</span> Identification of the plant</h3>
<div class="outline-text-3" id="text-1-3">
<p>
Let&rsquo;s identify the transfer function from \(\bm{\tau}}\) to \(\bm{L}\).
</p>
@ -362,8 +343,8 @@ G.OutputName = {<span class="org-string">'L1'</span>, <span class="org-string">'
</div>
<div id="outline-container-org72dad5c" class="outline-3">
<h3 id="org72dad5c">Plant Analysis</h3>
<div class="outline-text-3" id="text-org72dad5c">
<h3 id="org72dad5c"><span class="section-number-3">1.4</span> Plant Analysis</h3>
<div class="outline-text-3" id="text-1-4">
<p>
Diagonal terms
Compare to off-diagonal terms
@ -371,8 +352,8 @@ Compare to off-diagonal terms
</div>
</div>
<div id="outline-container-orga9fb0f5" class="outline-3">
<h3 id="orga9fb0f5">Controller Design</h3>
<div class="outline-text-3" id="text-orga9fb0f5">
<h3 id="orga9fb0f5"><span class="section-number-3">1.5</span> Controller Design</h3>
<div class="outline-text-3" id="text-1-5">
<p>
One integrator should be present in the controller.
</p>
@ -401,7 +382,7 @@ Kl = Kl <span class="org-type">*</span> eye(6);
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:23</p>
<p class="date">Created: 2020-02-11 mar. 15:50</p>
</div>
</body>
</html>

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-11 mar. 15:26 -->
<!-- 2020-02-11 mar. 15:50 -->
<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>
@ -268,19 +268,19 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org8c6677e">Configuration Analysis - Stiffness Matrix</a>
<li><a href="#org8c6677e">1. Configuration Analysis - Stiffness Matrix</a>
<ul>
<li><a href="#orgf6f7ad2">Cubic Stewart platform centered with the cube center - Jacobian estimated at the cube center</a></li>
<li><a href="#orga88e79a">Cubic Stewart platform centered with the cube center - Jacobian not estimated at the cube center</a></li>
<li><a href="#orge02ec88">Cubic Stewart platform not centered with the cube center - Jacobian estimated at the cube center</a></li>
<li><a href="#org43fd7e4">Cubic Stewart platform not centered with the cube center - Jacobian estimated at the Stewart platform center</a></li>
<li><a href="#orgd35acc0">Conclusion</a></li>
<li><a href="#org8afa645">Having Cube&rsquo;s center above the top platform</a></li>
<li><a href="#orgf6f7ad2">1.1. Cubic Stewart platform centered with the cube center - Jacobian estimated at the cube center</a></li>
<li><a href="#orga88e79a">1.2. Cubic Stewart platform centered with the cube center - Jacobian not 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="#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="#org3044455">Functions</a>
<li><a href="#org3044455">2. Functions</a>
<ul>
<li><a href="#org56504f1"><code>generateCubicConfiguration</code>: Generate a Cubic Configuration</a>
<li><a href="#org56504f1">2.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>
@ -315,7 +315,7 @@ According to <a class='org-ref-reference' href="#preumont07_six_axis_singl_stage
</p>
<p>
To generate and study the Cubic configuration, <code>generateCubicConfiguration</code> is used (description in section <a href="#orga8311d3">No description for this link</a>).
To generate and study the Cubic configuration, <code>generateCubicConfiguration</code> is used (description in section <a href="#orga8311d3">2.1</a>).
The goal is to study the benefits of using a cubic configuration:
</p>
<ul class="org-ul">
@ -325,12 +325,12 @@ The goal is to study the benefits of using a cubic configuration:
</ul>
<div id="outline-container-org8c6677e" class="outline-2">
<h2 id="org8c6677e">Configuration Analysis - Stiffness Matrix</h2>
<div class="outline-text-2" id="text-org8c6677e">
<h2 id="org8c6677e"><span class="section-number-2">1</span> Configuration Analysis - Stiffness Matrix</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-orgf6f7ad2" class="outline-3">
<h3 id="orgf6f7ad2">Cubic Stewart platform centered with the cube center - Jacobian estimated at the cube center</h3>
<div class="outline-text-3" id="text-orgf6f7ad2">
<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">
<p>
We create a cubic Stewart platform (figure <a href="#org9454f54">1</a>) in such a way that the center of the cube (black dot) is located at the center of the Stewart platform (blue dot).
The Jacobian matrix is estimated at the location of the center of the cube.
@ -437,8 +437,8 @@ stewart = initializeCylindricalPlatforms(stewart, <span class="org-string">'Fpr'
</div>
<div id="outline-container-orga88e79a" class="outline-3">
<h3 id="orga88e79a">Cubic Stewart platform centered with the cube center - Jacobian not estimated at the cube center</h3>
<div class="outline-text-3" id="text-orga88e79a">
<h3 id="orga88e79a"><span class="section-number-3">1.2</span> Cubic Stewart platform centered with the cube center - Jacobian not estimated at the cube center</h3>
<div class="outline-text-3" id="text-1-2">
<p>
We create a cubic Stewart platform with center of the cube located at the center of the Stewart platform (figure <a href="#org9454f54">1</a>).
The Jacobian matrix is not estimated at the location of the center of the cube.
@ -538,8 +538,8 @@ stewart = initializeCylindricalPlatforms(stewart, <span class="org-string">'Fpr'
</div>
<div id="outline-container-orge02ec88" class="outline-3">
<h3 id="orge02ec88">Cubic Stewart platform not centered with the cube center - Jacobian estimated at the cube center</h3>
<div class="outline-text-3" id="text-orge02ec88">
<h3 id="orge02ec88"><span class="section-number-3">1.3</span> Cubic Stewart platform not centered with the cube center - Jacobian estimated at the cube center</h3>
<div class="outline-text-3" id="text-1-3">
<p>
Here, the &ldquo;center&rdquo; of the Stewart platform is not at the cube center (figure <a href="#org97b319c">4</a>).
The Jacobian is estimated at the cube center.
@ -650,8 +650,8 @@ We obtain \(k_x = k_y = k_z\) and \(k_{\theta_x} = k_{\theta_y}\), but the Stiff
</div>
<div id="outline-container-org43fd7e4" class="outline-3">
<h3 id="org43fd7e4">Cubic Stewart platform not centered with the cube center - Jacobian estimated at the Stewart platform center</h3>
<div class="outline-text-3" id="text-org43fd7e4">
<h3 id="org43fd7e4"><span class="section-number-3">1.4</span> Cubic Stewart platform not centered with the cube center - Jacobian estimated at the Stewart platform center</h3>
<div class="outline-text-3" id="text-1-4">
<p>
Here, the &ldquo;center&rdquo; of the Stewart platform is not at the cube center.
The Jacobian is estimated at the center of the Stewart platform.
@ -758,8 +758,8 @@ stewart = initializeCylindricalPlatforms(stewart, <span class="org-string">'Fpr'
</div>
<div id="outline-container-orgd35acc0" class="outline-3">
<h3 id="orgd35acc0">Conclusion</h3>
<div class="outline-text-3" id="text-orgd35acc0">
<h3 id="orgd35acc0"><span class="section-number-3">1.5</span> Conclusion</h3>
<div class="outline-text-3" id="text-1-5">
<div class="important">
<ul class="org-ul">
<li>The cubic configuration permits to have \(k_x = k_y = k_z\) and \(k_{\theta_x} = k_{\theta_y}\)</li>
@ -771,8 +771,8 @@ stewart = initializeCylindricalPlatforms(stewart, <span class="org-string">'Fpr'
</div>
<div id="outline-container-org8afa645" class="outline-3">
<h3 id="org8afa645">Having Cube&rsquo;s center above the top platform</h3>
<div class="outline-text-3" id="text-org8afa645">
<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">
<p>
Let&rsquo;s say we want to have a decouple dynamics above the top platform.
Thus, we want the cube&rsquo;s center to be located above the top center.
@ -881,16 +881,16 @@ We obtain \(k_x = k_y = k_z\) and \(k_{\theta_x} = k_{\theta_y}\), but the Stiff
</div>
<div id="outline-container-org3044455" class="outline-2">
<h2 id="org3044455">Functions</h2>
<div class="outline-text-2" id="text-org3044455">
<h2 id="org3044455"><span class="section-number-2">2</span> Functions</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="org28ba607"></a>
</p>
</div>
<div id="outline-container-org56504f1" class="outline-3">
<h3 id="org56504f1"><code>generateCubicConfiguration</code>: Generate a Cubic Configuration</h3>
<div class="outline-text-3" id="text-org56504f1">
<h3 id="org56504f1"><span class="section-number-3">2.1</span> <code>generateCubicConfiguration</code>: Generate a Cubic Configuration</h3>
<div class="outline-text-3" id="text-2-1">
<p>
<a id="orga8311d3"></a>
</p>
@ -1039,7 +1039,7 @@ stewart.platform_M.Mb = Mb;
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:26</p>
<p class="date">Created: 2020-02-11 mar. 15:50</p>
</div>
</body>
</html>

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-11 mar. 15:27 -->
<!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Dynamics Study</title>
@ -268,13 +268,13 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgdae5fe1">Some tests</a>
<li><a href="#orgdae5fe1">1. Some tests</a>
<ul>
<li><a href="#orga032902">Simscape Model</a></li>
<li><a href="#orgdbd3cde">test</a></li>
<li><a href="#orgc59e712">Compare external forces and forces applied by the actuators</a></li>
<li><a href="#org81ab204">Comparison of the static transfer function and the Compliance matrix</a></li>
<li><a href="#orge663148">Transfer function from forces applied in the legs to the displacement of the legs</a></li>
<li><a href="#orga032902">1.1. Simscape Model</a></li>
<li><a href="#orgdbd3cde">1.2. test</a></li>
<li><a href="#orgc59e712">1.3. Compare external forces and forces applied by the actuators</a></li>
<li><a href="#org81ab204">1.4. Comparison of the static transfer function and the Compliance matrix</a></li>
<li><a href="#orge663148">1.5. Transfer function from forces applied in the legs to the displacement of the legs</a></li>
</ul>
</li>
</ul>
@ -282,12 +282,12 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-orgdae5fe1" class="outline-2">
<h2 id="orgdae5fe1">Some tests</h2>
<div class="outline-text-2" id="text-orgdae5fe1">
<h2 id="orgdae5fe1"><span class="section-number-2">1</span> Some tests</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-orga032902" class="outline-3">
<h3 id="orga032902">Simscape Model</h3>
<div class="outline-text-3" id="text-orga032902">
<h3 id="orga032902"><span class="section-number-3">1.1</span> Simscape Model</h3>
<div class="outline-text-3" id="text-1-1">
<div class="org-src-container">
<pre class="src src-matlab">open(<span class="org-string">'stewart_platform_dynamics.slx'</span>)
</pre>
@ -296,8 +296,8 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-orgdbd3cde" class="outline-3">
<h3 id="orgdbd3cde">test</h3>
<div class="outline-text-3" id="text-orgdbd3cde">
<h3 id="orgdbd3cde"><span class="section-number-3">1.2</span> test</h3>
<div class="outline-text-3" id="text-1-2">
<div class="org-src-container">
<pre class="src src-matlab">stewart = initializeStewartPlatform();
stewart = initializeFramesPositions(stewart);
@ -397,8 +397,8 @@ bode(Gd, G)
</div>
<div id="outline-container-orgc59e712" class="outline-3">
<h3 id="orgc59e712">Compare external forces and forces applied by the actuators</h3>
<div class="outline-text-3" id="text-orgc59e712">
<h3 id="orgc59e712"><span class="section-number-3">1.3</span> Compare external forces and forces applied by the actuators</h3>
<div class="outline-text-3" id="text-1-3">
<p>
Initialization of the Stewart platform.
</p>
@ -482,8 +482,8 @@ Seems quite similar.
</div>
<div id="outline-container-org81ab204" class="outline-3">
<h3 id="org81ab204">Comparison of the static transfer function and the Compliance matrix</h3>
<div class="outline-text-3" id="text-org81ab204">
<h3 id="org81ab204"><span class="section-number-3">1.4</span> Comparison of the static transfer function and the Compliance matrix</h3>
<div class="outline-text-3" id="text-1-4">
<p>
Initialization of the Stewart platform.
</p>
@ -685,8 +685,8 @@ The low frequency transfer function matrix from \(\mathcal{\bm{F}}\) to \(\mathc
</div>
<div id="outline-container-orge663148" class="outline-3">
<h3 id="orge663148">Transfer function from forces applied in the legs to the displacement of the legs</h3>
<div class="outline-text-3" id="text-orge663148">
<h3 id="orge663148"><span class="section-number-3">1.5</span> Transfer function from forces applied in the legs to the displacement of the legs</h3>
<div class="outline-text-3" id="text-1-5">
<p>
Initialization of the Stewart platform.
</p>
@ -742,7 +742,7 @@ G.OutputName = {<span class="org-string">'L1'</span>, <span class="org-string">'
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:27</p>
<p class="date">Created: 2020-02-11 mar. 15:50</p>
</div>
</body>
</html>

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-11 mar. 15:26 -->
<!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Identification of the Stewart Platform using Simscape</title>
@ -268,37 +268,37 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgf65174f">Identification</a>
<li><a href="#org4f5919a">1. Identification</a>
<ul>
<li><a href="#org5b89813">Simscape Model</a></li>
<li><a href="#org2bfdf1b">Initialize the Stewart Platform</a></li>
<li><a href="#org0d97b27">Identification</a></li>
<li><a href="#org89ad201">1.1. Simscape Model</a></li>
<li><a href="#orgf726654">1.2. Initialize the Stewart Platform</a></li>
<li><a href="#org79afd8d">1.3. Identification</a></li>
</ul>
</li>
<li><a href="#orge464de2">States as the motion of the mobile platform</a>
<li><a href="#orge464de2">2. States as the motion of the mobile platform</a>
<ul>
<li><a href="#org987daca">Initialize the Stewart Platform</a></li>
<li><a href="#orgc808316">Identification</a></li>
<li><a href="#orge68adea">Coordinate transformation</a></li>
<li><a href="#org4973ae1">Analysis</a></li>
<li><a href="#orge7b97c8">Visualizing the modes</a></li>
<li><a href="#org5d63457">Identification</a></li>
<li><a href="#orgf7a52cb">Change of states</a></li>
<li><a href="#orge352695">2.1. Initialize the Stewart Platform</a></li>
<li><a href="#org0dc382a">2.2. Identification</a></li>
<li><a href="#orge68adea">2.3. Coordinate transformation</a></li>
<li><a href="#org4973ae1">2.4. Analysis</a></li>
<li><a href="#orge7b97c8">2.5. Visualizing the modes</a></li>
<li><a href="#orgf6eca35">2.6. Identification</a></li>
<li><a href="#orgf7a52cb">2.7. Change of states</a></li>
</ul>
</li>
<li><a href="#org23d7e7b">Simple Model without any sensor</a>
<li><a href="#org23d7e7b">3. Simple Model without any sensor</a>
<ul>
<li><a href="#org69b8a98">Simscape Model</a></li>
<li><a href="#org4aef27a">Initialize the Stewart Platform</a></li>
<li><a href="#orgb9fd532">Identification</a></li>
<li><a href="#org9366ba4">3.1. Simscape Model</a></li>
<li><a href="#orgf4e4e80">3.2. Initialize the Stewart Platform</a></li>
<li><a href="#org9b90cca">3.3. Identification</a></li>
</ul>
</li>
<li><a href="#org0502cd2">Cartesian Plot</a></li>
<li><a href="#org32e2eb3">From a force to force sensor</a></li>
<li><a href="#org8ddfd2c">From a force applied in the leg to the displacement of the leg</a></li>
<li><a href="#org5685537">Transmissibility</a></li>
<li><a href="#org3335d1e">Compliance</a></li>
<li><a href="#org5ca7af8">Inertial</a></li>
<li><a href="#org0502cd2">4. Cartesian Plot</a></li>
<li><a href="#org32e2eb3">5. From a force to force sensor</a></li>
<li><a href="#org8ddfd2c">6. From a force applied in the leg to the displacement of the leg</a></li>
<li><a href="#org5685537">7. Transmissibility</a></li>
<li><a href="#org3335d1e">8. Compliance</a></li>
<li><a href="#org5ca7af8">9. Inertial</a></li>
</ul>
</div>
</div>
@ -396,17 +396,17 @@ An important difference from basic Simulink models is that the states in a physi
<div id="outline-container-orgf65174f" class="outline-2">
<h2 id="orgf65174f">Identification</h2>
<div class="outline-text-2" id="text-orgf65174f">
<div id="outline-container-org4f5919a" class="outline-2">
<h2 id="org4f5919a"><span class="section-number-2">1</span> Identification</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-org5b89813" class="outline-3">
<h3 id="org5b89813">Simscape Model</h3>
<div id="outline-container-org89ad201" class="outline-3">
<h3 id="org89ad201"><span class="section-number-3">1.1</span> Simscape Model</h3>
</div>
<div id="outline-container-org2bfdf1b" class="outline-3">
<h3 id="org2bfdf1b">Initialize the Stewart Platform</h3>
<div class="outline-text-3" id="text-org2bfdf1b">
<div id="outline-container-orgf726654" class="outline-3">
<h3 id="orgf726654"><span class="section-number-3">1.2</span> Initialize the Stewart Platform</h3>
<div class="outline-text-3" id="text-1-2">
<div class="org-src-container">
<pre class="src src-matlab">stewart = initializeStewartPlatform();
stewart = initializeFramesPositions(stewart);
@ -422,9 +422,9 @@ stewart = initializeStewartPose(stewart);
</div>
</div>
<div id="outline-container-org0d97b27" class="outline-3">
<h3 id="org0d97b27">Identification</h3>
<div class="outline-text-3" id="text-org0d97b27">
<div id="outline-container-org79afd8d" class="outline-3">
<h3 id="org79afd8d"><span class="section-number-3">1.3</span> Identification</h3>
<div class="outline-text-3" id="text-1-3">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak"><span class="org-comment">%% Options for Linearized</span></span>
options = linearizeOptions;
@ -458,12 +458,12 @@ G.OutputName = {<span class="org-string">'Xdx'</span>, <span class="org-string">
</div>
<div id="outline-container-orge464de2" class="outline-2">
<h2 id="orge464de2">States as the motion of the mobile platform</h2>
<div class="outline-text-2" id="text-orge464de2">
<h2 id="orge464de2"><span class="section-number-2">2</span> States as the motion of the mobile platform</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-org987daca" class="outline-3">
<h3 id="org987daca">Initialize the Stewart Platform</h3>
<div class="outline-text-3" id="text-org987daca">
<div id="outline-container-orge352695" class="outline-3">
<h3 id="orge352695"><span class="section-number-3">2.1</span> Initialize the Stewart Platform</h3>
<div class="outline-text-3" id="text-2-1">
<div class="org-src-container">
<pre class="src src-matlab">stewart = initializeStewartPlatform();
stewart = initializeFramesPositions(stewart);
@ -479,9 +479,9 @@ stewart = initializeStewartPose(stewart);
</div>
</div>
<div id="outline-container-orgc808316" class="outline-3">
<h3 id="orgc808316">Identification</h3>
<div class="outline-text-3" id="text-orgc808316">
<div id="outline-container-org0dc382a" class="outline-3">
<h3 id="org0dc382a"><span class="section-number-3">2.2</span> Identification</h3>
<div class="outline-text-3" id="text-2-2">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak"><span class="org-comment">%% Options for Linearized</span></span>
options = linearizeOptions;
@ -541,8 +541,8 @@ And indeed, we obtain 12 states.
</div>
<div id="outline-container-orge68adea" class="outline-3">
<h3 id="orge68adea">Coordinate transformation</h3>
<div class="outline-text-3" id="text-orge68adea">
<h3 id="orge68adea"><span class="section-number-3">2.3</span> Coordinate transformation</h3>
<div class="outline-text-3" id="text-2-3">
<p>
We can perform the following transformation using the <code>ss2ss</code> command.
</p>
@ -577,8 +577,8 @@ Gt = ss(At, Bt, Ct, Dt);
</div>
<div id="outline-container-org4973ae1" class="outline-3">
<h3 id="org4973ae1">Analysis</h3>
<div class="outline-text-3" id="text-org4973ae1">
<h3 id="org4973ae1"><span class="section-number-3">2.4</span> Analysis</h3>
<div class="outline-text-3" id="text-2-4">
<div class="org-src-container">
<pre class="src src-matlab">[V,D] = eig(Gt.A);
</pre>
@ -643,8 +643,8 @@ Gt = ss(At, Bt, Ct, Dt);
</div>
<div id="outline-container-orge7b97c8" class="outline-3">
<h3 id="orge7b97c8">Visualizing the modes</h3>
<div class="outline-text-3" id="text-orge7b97c8">
<h3 id="orge7b97c8"><span class="section-number-3">2.5</span> Visualizing the modes</h3>
<div class="outline-text-3" id="text-2-5">
<p>
To visualize the i&rsquo;th mode, we may excite the system using the inputs \(U_i\) such that \(B U_i\) is co-linear to \(\xi_i\) (the mode we want to excite).
</p>
@ -745,9 +745,9 @@ Save the movie of the mode shape.
</div>
</div>
<div id="outline-container-org5d63457" class="outline-3">
<h3 id="org5d63457">Identification</h3>
<div class="outline-text-3" id="text-org5d63457">
<div id="outline-container-orgf6eca35" class="outline-3">
<h3 id="orgf6eca35"><span class="section-number-3">2.6</span> Identification</h3>
<div class="outline-text-3" id="text-2-6">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak"><span class="org-comment">%% Options for Linearized</span></span>
options = linearizeOptions;
@ -776,8 +776,8 @@ G = linearize(mdl, io, options);
</div>
<div id="outline-container-orgf7a52cb" class="outline-3">
<h3 id="orgf7a52cb">Change of states</h3>
<div class="outline-text-3" id="text-orgf7a52cb">
<h3 id="orgf7a52cb"><span class="section-number-3">2.7</span> Change of states</h3>
<div class="outline-text-3" id="text-2-7">
<div class="org-src-container">
<pre class="src src-matlab">At = G.C<span class="org-type">*</span>G.A<span class="org-type">*</span>pinv(G.C);
@ -802,12 +802,12 @@ Dt = zeros(12, 6);
</div>
<div id="outline-container-org23d7e7b" class="outline-2">
<h2 id="org23d7e7b">Simple Model without any sensor</h2>
<div class="outline-text-2" id="text-org23d7e7b">
<h2 id="org23d7e7b"><span class="section-number-2">3</span> Simple Model without any sensor</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-org69b8a98" class="outline-3">
<h3 id="org69b8a98">Simscape Model</h3>
<div class="outline-text-3" id="text-org69b8a98">
<div id="outline-container-org9366ba4" class="outline-3">
<h3 id="org9366ba4"><span class="section-number-3">3.1</span> Simscape Model</h3>
<div class="outline-text-3" id="text-3-1">
<div class="org-src-container">
<pre class="src src-matlab">open <span class="org-string">'stewart_identification_simple.slx'</span>
</pre>
@ -816,9 +816,9 @@ Dt = zeros(12, 6);
</div>
<div id="outline-container-org4aef27a" class="outline-3">
<h3 id="org4aef27a">Initialize the Stewart Platform</h3>
<div class="outline-text-3" id="text-org4aef27a">
<div id="outline-container-orgf4e4e80" class="outline-3">
<h3 id="orgf4e4e80"><span class="section-number-3">3.2</span> Initialize the Stewart Platform</h3>
<div class="outline-text-3" id="text-3-2">
<div class="org-src-container">
<pre class="src src-matlab">stewart = initializeStewartPlatform();
stewart = initializeFramesPositions(stewart);
@ -834,9 +834,9 @@ stewart = initializeStewartPose(stewart);
</div>
</div>
<div id="outline-container-orgb9fd532" class="outline-3">
<h3 id="orgb9fd532">Identification</h3>
<div class="outline-text-3" id="text-orgb9fd532">
<div id="outline-container-org9b90cca" class="outline-3">
<h3 id="org9b90cca"><span class="section-number-3">3.3</span> Identification</h3>
<div class="outline-text-3" id="text-3-3">
<div class="org-src-container">
<pre class="src src-matlab">stateorder = {...
<span class="org-string">'stewart_platform_identification_simple/Solver Configuration/EVAL_KEY/INPUT_1_1_1'</span>,...
@ -923,8 +923,8 @@ G.OutputName = {<span class="org-string">'Xdx'</span>, <span class="org-string">
</div>
<div id="outline-container-org0502cd2" class="outline-2">
<h2 id="org0502cd2">Cartesian Plot</h2>
<div class="outline-text-2" id="text-org0502cd2">
<h2 id="org0502cd2"><span class="section-number-2">4</span> Cartesian Plot</h2>
<div class="outline-text-2" id="text-4">
<p>
From a force applied in the Cartesian frame to a displacement in the Cartesian frame.
</p>
@ -949,8 +949,8 @@ bode(G.G_cart, freqs);
</div>
<div id="outline-container-org32e2eb3" class="outline-2">
<h2 id="org32e2eb3">From a force to force sensor</h2>
<div class="outline-text-2" id="text-org32e2eb3">
<h2 id="org32e2eb3"><span class="section-number-2">5</span> From a force to force sensor</h2>
<div class="outline-text-2" id="text-5">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
hold on;
@ -981,8 +981,8 @@ legend(<span class="org-string">'location'</span>, <span class="org-string">'sou
</div>
<div id="outline-container-org8ddfd2c" class="outline-2">
<h2 id="org8ddfd2c">From a force applied in the leg to the displacement of the leg</h2>
<div class="outline-text-2" id="text-org8ddfd2c">
<h2 id="org8ddfd2c"><span class="section-number-2">6</span> From a force applied in the leg to the displacement of the leg</h2>
<div class="outline-text-2" id="text-6">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
hold on;
@ -1012,8 +1012,8 @@ legend(<span class="org-string">'location'</span>, <span class="org-string">'nor
</div>
<div id="outline-container-org5685537" class="outline-2">
<h2 id="org5685537">Transmissibility</h2>
<div class="outline-text-2" id="text-org5685537">
<h2 id="org5685537"><span class="section-number-2">7</span> Transmissibility</h2>
<div class="outline-text-2" id="text-7">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
hold on;
@ -1053,8 +1053,8 @@ xlabel(<span class="org-string">'Frequency [Hz]'</span>); ylabel(<span class="or
</div>
<div id="outline-container-org3335d1e" class="outline-2">
<h2 id="org3335d1e">Compliance</h2>
<div class="outline-text-2" id="text-org3335d1e">
<h2 id="org3335d1e"><span class="section-number-2">8</span> Compliance</h2>
<div class="outline-text-2" id="text-8">
<p>
From a force applied in the Cartesian frame to a relative displacement of the mobile platform with respect to the base.
</p>
@ -1074,8 +1074,8 @@ xlabel(<span class="org-string">'Frequency [Hz]'</span>); ylabel(<span class="or
</div>
<div id="outline-container-org5ca7af8" class="outline-2">
<h2 id="org5ca7af8">Inertial</h2>
<div class="outline-text-2" id="text-org5ca7af8">
<h2 id="org5ca7af8"><span class="section-number-2">9</span> Inertial</h2>
<div class="outline-text-2" id="text-9">
<p>
From a force applied on the Cartesian frame to the absolute displacement of the mobile platform.
</p>
@ -1096,7 +1096,7 @@ xlabel(<span class="org-string">'Frequency [Hz]'</span>); ylabel(<span class="or
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:26</p>
<p class="date">Created: 2020-02-11 mar. 15:50</p>
</div>
</body>
</html>

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-11 mar. 15:27 -->
<!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platforms</title>
@ -254,14 +254,14 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgff0bfd7">Simulink Project (link)</a></li>
<li><a href="#org38b9089">Stewart Platform Architecture Definition (link)</a></li>
<li><a href="#orgf1c7b3b">Simscape Model of the Stewart Platform (link)</a></li>
<li><a href="#org369c8bb">Kinematic Analysis (link)</a></li>
<li><a href="#org2e3169e">Identification of the Stewart Dynamics (link)</a></li>
<li><a href="#orgc3a4c87">Active Damping (link)</a></li>
<li><a href="#org5b4e9b0">Motion Control of the Stewart Platform (link)</a></li>
<li><a href="#org1f468b1">Cubic Configuration (link)</a></li>
<li><a href="#orgff0bfd7">1. Simulink Project (link)</a></li>
<li><a href="#org38b9089">2. Stewart Platform Architecture Definition (link)</a></li>
<li><a href="#orgf1c7b3b">3. Simscape Model of the Stewart Platform (link)</a></li>
<li><a href="#org369c8bb">4. Kinematic Analysis (link)</a></li>
<li><a href="#org2e3169e">5. Identification of the Stewart Dynamics (link)</a></li>
<li><a href="#orgc3a4c87">6. Active Damping (link)</a></li>
<li><a href="#org5b4e9b0">7. Motion Control of the Stewart Platform (link)</a></li>
<li><a href="#org1f468b1">8. Cubic Configuration (link)</a></li>
</ul>
</div>
</div>
@ -275,8 +275,8 @@ The project is divided into several section listed below.
</p>
<div id="outline-container-orgff0bfd7" class="outline-2">
<h2 id="orgff0bfd7">Simulink Project (<a href="simulink-project.html">link</a>)</h2>
<div class="outline-text-2" id="text-orgff0bfd7">
<h2 id="orgff0bfd7"><span class="section-number-2">1</span> Simulink Project (<a href="simulink-project.html">link</a>)</h2>
<div class="outline-text-2" id="text-1">
<p>
The project is managed with a <b>Simulink Project</b>.
Such project is briefly presented <a href="simulink-project.html">here</a>.
@ -285,8 +285,8 @@ Such project is briefly presented <a href="simulink-project.html">here</a>.
</div>
<div id="outline-container-org38b9089" class="outline-2">
<h2 id="org38b9089">Stewart Platform Architecture Definition (<a href="stewart-architecture.html">link</a>)</h2>
<div class="outline-text-2" id="text-org38b9089">
<h2 id="org38b9089"><span class="section-number-2">2</span> Stewart Platform Architecture Definition (<a href="stewart-architecture.html">link</a>)</h2>
<div class="outline-text-2" id="text-2">
<p>
The way the Stewart Platform is defined <a href="stewart-architecture.html">here</a>.
</p>
@ -311,8 +311,8 @@ Other parameters are also defined such as:
</div>
<div id="outline-container-orgf1c7b3b" class="outline-2">
<h2 id="orgf1c7b3b">Simscape Model of the Stewart Platform (<a href="simscape-model.html">link</a>)</h2>
<div class="outline-text-2" id="text-orgf1c7b3b">
<h2 id="orgf1c7b3b"><span class="section-number-2">3</span> Simscape Model of the Stewart Platform (<a href="simscape-model.html">link</a>)</h2>
<div class="outline-text-2" id="text-3">
<p>
The Stewart Platform is then modeled using <a href="https://www.mathworks.com/products/simscape.html">Simscape</a>.
</p>
@ -324,8 +324,8 @@ The way to model is build and works is explained <a href="simscape-model.html">h
</div>
<div id="outline-container-org369c8bb" class="outline-2">
<h2 id="org369c8bb">Kinematic Analysis (<a href="kinematic-study.html">link</a>)</h2>
<div class="outline-text-2" id="text-org369c8bb">
<h2 id="org369c8bb"><span class="section-number-2">4</span> Kinematic Analysis (<a href="kinematic-study.html">link</a>)</h2>
<div class="outline-text-2" id="text-4">
<p>
From the defined geometry of the Stewart platform, we can perform static analysis such as:
</p>
@ -345,8 +345,8 @@ All these analysis are described <a href="kinematic-study.html">here</a>.
</div>
<div id="outline-container-org2e3169e" class="outline-2">
<h2 id="org2e3169e">Identification of the Stewart Dynamics (<a href="identification.html">link</a>)</h2>
<div class="outline-text-2" id="text-org2e3169e">
<h2 id="org2e3169e"><span class="section-number-2">5</span> Identification of the Stewart Dynamics (<a href="identification.html">link</a>)</h2>
<div class="outline-text-2" id="text-5">
<p>
The Dynamics of the Stewart platform can be identified using the Simscape model.
</p>
@ -367,8 +367,8 @@ The code that is used for identification is explained <a href="identification.ht
</div>
<div id="outline-container-orgc3a4c87" class="outline-2">
<h2 id="orgc3a4c87">Active Damping (<a href="active-damping.html">link</a>)</h2>
<div class="outline-text-2" id="text-orgc3a4c87">
<h2 id="orgc3a4c87"><span class="section-number-2">6</span> Active Damping (<a href="active-damping.html">link</a>)</h2>
<div class="outline-text-2" id="text-6">
<p>
The use of different sensors are compared for active damping:
</p>
@ -386,8 +386,8 @@ The result of the analysis is accessible <a href="active-damping.html">here</a>.
</div>
<div id="outline-container-org5b4e9b0" class="outline-2">
<h2 id="org5b4e9b0">Motion Control of the Stewart Platform (<a href="control-study.html">link</a>)</h2>
<div class="outline-text-2" id="text-org5b4e9b0">
<h2 id="org5b4e9b0"><span class="section-number-2">7</span> Motion Control of the Stewart Platform (<a href="control-study.html">link</a>)</h2>
<div class="outline-text-2" id="text-7">
<p>
Some control architecture for motion control of the Stewart platform are applied on the Simscape model and compared in <a href="control-study.html">this</a> document.
</p>
@ -395,8 +395,8 @@ Some control architecture for motion control of the Stewart platform are applied
</div>
<div id="outline-container-org1f468b1" class="outline-2">
<h2 id="org1f468b1">Cubic Configuration (<a href="cubic-configuration.html">link</a>)</h2>
<div class="outline-text-2" id="text-org1f468b1">
<h2 id="org1f468b1"><span class="section-number-2">8</span> Cubic Configuration (<a href="cubic-configuration.html">link</a>)</h2>
<div class="outline-text-2" id="text-8">
<p>
The cubic configuration is a special class of Stewart platform that has interesting properties.
</p>
@ -409,7 +409,7 @@ These properties are studied in <a href="cubic-configuration.html">this</a> docu
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:27</p>
<p class="date">Created: 2020-02-11 mar. 15:50</p>
</div>
</body>
</html>

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-11 mar. 15:26 -->
<!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Kinematic Study of the Stewart Platform</title>
@ -268,72 +268,72 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org6858f1f">Jacobian Analysis</a>
<li><a href="#org6858f1f">1. Jacobian Analysis</a>
<ul>
<li><a href="#org8210cee">Jacobian Computation</a></li>
<li><a href="#org4d71022">Jacobian - Velocity loop closure</a></li>
<li><a href="#org2847e30">Jacobian - Static Force Transformation</a></li>
<li><a href="#org8210cee">1.1. Jacobian Computation</a></li>
<li><a href="#org4d71022">1.2. Jacobian - Velocity loop closure</a></li>
<li><a href="#org2847e30">1.3. Jacobian - Static Force Transformation</a></li>
</ul>
</li>
<li><a href="#org87bfd11">Stiffness Analysis</a>
<li><a href="#org87bfd11">2. Stiffness Analysis</a>
<ul>
<li><a href="#orgb1956e6">Computation of the Stiffness and Compliance Matrix</a></li>
<li><a href="#orgb1956e6">2.1. Computation of the Stiffness and Compliance Matrix</a></li>
</ul>
</li>
<li><a href="#org5718735">Forward and Inverse Kinematics</a>
<li><a href="#org5718735">3. Forward and Inverse Kinematics</a>
<ul>
<li><a href="#orgebda1d9">Inverse Kinematics</a></li>
<li><a href="#org1795522">Forward Kinematics</a></li>
<li><a href="#org5a3ce80">Approximate solution of the Forward and Inverse Kinematic problem for small displacement using the Jacobian matrix</a></li>
<li><a href="#org86b4b35">Estimation of the range validity of the approximate inverse kinematics</a>
<li><a href="#orgebda1d9">3.1. Inverse Kinematics</a></li>
<li><a href="#org1795522">3.2. Forward Kinematics</a></li>
<li><a href="#org5a3ce80">3.3. Approximate solution of the Forward and Inverse Kinematic problem for small displacement using the Jacobian matrix</a></li>
<li><a href="#org86b4b35">3.4. Estimation of the range validity of the approximate inverse kinematics</a>
<ul>
<li><a href="#orgccddf49">Stewart architecture definition</a></li>
<li><a href="#orgd83ccf3">Comparison for &ldquo;pure&rdquo; translations</a></li>
<li><a href="#org4871c83">Conclusion</a></li>
<li><a href="#orgd52392b">3.4.1. Stewart architecture definition</a></li>
<li><a href="#orgd83ccf3">3.4.2. Comparison for &ldquo;pure&rdquo; translations</a></li>
<li><a href="#org4871c83">3.4.3. Conclusion</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org63255f9">Estimated required actuator stroke from specified platform mobility</a>
<li><a href="#org63255f9">4. Estimated required actuator stroke from specified platform mobility</a>
<ul>
<li><a href="#org48ee074">Stewart architecture definition</a></li>
<li><a href="#orgde50dd3">Wanted translations and rotations</a></li>
<li><a href="#org24e45ca">Needed stroke for &ldquo;pure&rdquo; rotations or translations</a></li>
<li><a href="#orgf6ba90c">Needed stroke for &ldquo;combined&rdquo; rotations or translations</a></li>
<li><a href="#org4bde983">4.1. Stewart architecture definition</a></li>
<li><a href="#orgde50dd3">4.2. Wanted translations and rotations</a></li>
<li><a href="#org24e45ca">4.3. Needed stroke for &ldquo;pure&rdquo; rotations or translations</a></li>
<li><a href="#orgf6ba90c">4.4. Needed stroke for &ldquo;combined&rdquo; rotations or translations</a></li>
</ul>
</li>
<li><a href="#orgbbbf7b3">Estimated platform mobility from specified actuator stroke</a>
<li><a href="#orgbbbf7b3">5. Estimated platform mobility from specified actuator stroke</a>
<ul>
<li><a href="#org486419b">Stewart architecture definition</a></li>
<li><a href="#org2c6819e">Pure translations</a></li>
<li><a href="#orgf4b310d">5.1. Stewart architecture definition</a></li>
<li><a href="#org2c6819e">5.2. Pure translations</a></li>
</ul>
</li>
<li><a href="#orgc4916dc">Functions</a>
<li><a href="#orgc4916dc">6. Functions</a>
<ul>
<li><a href="#org26e8b28"><code>computeJacobian</code>: Compute the Jacobian Matrix</a>
<li><a href="#org26e8b28">6.1. <code>computeJacobian</code>: Compute the Jacobian Matrix</a>
<ul>
<li><a href="#org704ab84">Function description</a></li>
<li><a href="#org3990e47">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#org2aa5728">Function description</a></li>
<li><a href="#orgdbebf2c">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#org0cd57b5">Compute Jacobian Matrix</a></li>
<li><a href="#orge21dcfc">Compute Stiffness Matrix</a></li>
<li><a href="#orgae76071">Compute Compliance Matrix</a></li>
<li><a href="#org78f18d7">Populate the <code>stewart</code> structure</a></li>
</ul>
</li>
<li><a href="#orgb82066f"><code>inverseKinematics</code>: Compute Inverse Kinematics</a>
<li><a href="#orgb82066f">6.2. <code>inverseKinematics</code>: Compute Inverse Kinematics</a>
<ul>
<li><a href="#org89930b7">Theory</a></li>
<li><a href="#org0d77b2e">Function description</a></li>
<li><a href="#orgda02042">Optional Parameters</a></li>
<li><a href="#org4a3c325">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#org97cfff6">Function description</a></li>
<li><a href="#org61cf152">Optional Parameters</a></li>
<li><a href="#org9318276">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#org0d64c23">Compute</a></li>
</ul>
</li>
<li><a href="#orgf5d8f0b"><code>forwardKinematicsApprox</code>: Compute the Approximate Forward Kinematics</a>
<li><a href="#orgf5d8f0b">6.3. <code>forwardKinematicsApprox</code>: Compute the Approximate Forward Kinematics</a>
<ul>
<li><a href="#org473d0b1">Function description</a></li>
<li><a href="#org8fe02d3">Optional Parameters</a></li>
<li><a href="#org83d7e5f">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#org8b2e069">Function description</a></li>
<li><a href="#org8029a3d">Optional Parameters</a></li>
<li><a href="#orgca4f1e5">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#orge5ade24">Computation</a></li>
</ul>
</li>
@ -357,15 +357,15 @@ In this analysis, the relation between the geometrical parameters of the manipul
The current document is divided in the following sections:
</p>
<ul class="org-ul">
<li>Section <a href="#orgc45d118">No description for this link</a>: The Jacobian matrix is derived from the geometry of the Stewart platform. Then it is shown that the Jacobian can link velocities and forces present in the system, and thus this matrix can be very useful for both analysis and control of the Stewart platform.</li>
<li>Section <a href="#orgf9e4f1a">No description for this link</a>: The stiffness and compliance matrices are derived from the Jacobian matrix and the stiffness of each strut.</li>
<li>Section <a href="#orgca82bb8">No description for this link</a>: The Forward and Inverse kinematic problems are presented.</li>
<li>Section <a href="#orge72d811">No description for this link</a>: The Inverse kinematic solution is used to estimate required actuator stroke from the wanted mobility of the Stewart platform.</li>
<li>Section <a href="#orgc45d118">1</a>: The Jacobian matrix is derived from the geometry of the Stewart platform. Then it is shown that the Jacobian can link velocities and forces present in the system, and thus this matrix can be very useful for both analysis and control of the Stewart platform.</li>
<li>Section <a href="#orgf9e4f1a">2</a>: The stiffness and compliance matrices are derived from the Jacobian matrix and the stiffness of each strut.</li>
<li>Section <a href="#orgca82bb8">3</a>: The Forward and Inverse kinematic problems are presented.</li>
<li>Section <a href="#orge72d811">4</a>: The Inverse kinematic solution is used to estimate required actuator stroke from the wanted mobility of the Stewart platform.</li>
</ul>
<div id="outline-container-org6858f1f" class="outline-2">
<h2 id="org6858f1f">Jacobian Analysis</h2>
<div class="outline-text-2" id="text-org6858f1f">
<h2 id="org6858f1f"><span class="section-number-2">1</span> Jacobian Analysis</h2>
<div class="outline-text-2" id="text-1">
<p>
<a id="orgc45d118"></a>
</p>
@ -379,8 +379,8 @@ The Jacobian matrix not only reveals the <b>relation between the joint variable
</blockquote>
</div>
<div id="outline-container-org8210cee" class="outline-3">
<h3 id="org8210cee">Jacobian Computation</h3>
<div class="outline-text-3" id="text-org8210cee">
<h3 id="org8210cee"><span class="section-number-3">1.1</span> Jacobian Computation</h3>
<div class="outline-text-3" id="text-1-1">
<p>
If we note:
</p>
@ -423,8 +423,8 @@ This will add three new matrix to the <code>stewart</code> structure:
</div>
<div id="outline-container-org4d71022" class="outline-3">
<h3 id="org4d71022">Jacobian - Velocity loop closure</h3>
<div class="outline-text-3" id="text-org4d71022">
<h3 id="org4d71022"><span class="section-number-3">1.2</span> Jacobian - Velocity loop closure</h3>
<div class="outline-text-3" id="text-1-2">
<p>
The Jacobian matrix links the input joint rate \(\dot{\bm{\mathcal{L}}} = [ \dot{l}_1, \dot{l}_2, \dot{l}_3, \dot{l}_4, \dot{l}_5, \dot{l}_6 ]^T\) of each strut to the output twist vector of the mobile platform is denoted by \(\dot{\bm{X}} = [^A\bm{v}_p, {}^A\bm{\omega}]^T\):
</p>
@ -446,14 +446,14 @@ If the Jacobian matrix is inversible, we can also compute \(\dot{\bm{\mathcal{X}
<p>
The Jacobian matrix can also be used to approximate forward and inverse kinematics for small displacements.
This is explained in section <a href="#org02628f3">No description for this link</a>.
This is explained in section <a href="#org02628f3">3.3</a>.
</p>
</div>
</div>
<div id="outline-container-org2847e30" class="outline-3">
<h3 id="org2847e30">Jacobian - Static Force Transformation</h3>
<div class="outline-text-3" id="text-org2847e30">
<h3 id="org2847e30"><span class="section-number-3">1.3</span> Jacobian - Static Force Transformation</h3>
<div class="outline-text-3" id="text-1-3">
<p>
If we note:
</p>
@ -480,8 +480,8 @@ If the Jacobian matrix is inversible, we also have the following relation:
</div>
<div id="outline-container-org87bfd11" class="outline-2">
<h2 id="org87bfd11">Stiffness Analysis</h2>
<div class="outline-text-2" id="text-org87bfd11">
<h2 id="org87bfd11"><span class="section-number-2">2</span> Stiffness Analysis</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="orgf9e4f1a"></a>
</p>
@ -491,8 +491,8 @@ The amount of these deflections are a function of the applied wrench as well as
</p>
</div>
<div id="outline-container-orgb1956e6" class="outline-3">
<h3 id="orgb1956e6">Computation of the Stiffness and Compliance Matrix</h3>
<div class="outline-text-3" id="text-orgb1956e6">
<h3 id="orgb1956e6"><span class="section-number-3">2.1</span> Computation of the Stiffness and Compliance Matrix</h3>
<div class="outline-text-3" id="text-2-1">
<p>
As explain in <a href="stewart-architecture.html">this</a> document, each Actuator is modeled by 3 elements in parallel:
</p>
@ -549,15 +549,15 @@ The stiffness and compliance matrices are computed using the <code>computeJacobi
</div>
<div id="outline-container-org5718735" class="outline-2">
<h2 id="org5718735">Forward and Inverse Kinematics</h2>
<div class="outline-text-2" id="text-org5718735">
<h2 id="org5718735"><span class="section-number-2">3</span> Forward and Inverse Kinematics</h2>
<div class="outline-text-2" id="text-3">
<p>
<a id="orgca82bb8"></a>
</p>
</div>
<div id="outline-container-orgebda1d9" class="outline-3">
<h3 id="orgebda1d9">Inverse Kinematics</h3>
<div class="outline-text-3" id="text-orgebda1d9">
<h3 id="orgebda1d9"><span class="section-number-3">3.1</span> Inverse Kinematics</h3>
<div class="outline-text-3" id="text-3-1">
<p>
<a id="org2f224fc"></a>
</p>
@ -594,8 +594,8 @@ This inverse kinematic solution can be obtained using the function <code>inverse
</div>
<div id="outline-container-org1795522" class="outline-3">
<h3 id="org1795522">Forward Kinematics</h3>
<div class="outline-text-3" id="text-org1795522">
<h3 id="org1795522"><span class="section-number-3">3.2</span> Forward Kinematics</h3>
<div class="outline-text-3" id="text-3-2">
<p>
<a id="orgf1db8ea"></a>
</p>
@ -617,8 +617,8 @@ In a next section, an approximate solution of the forward kinematics problem is
</div>
<div id="outline-container-org5a3ce80" class="outline-3">
<h3 id="org5a3ce80">Approximate solution of the Forward and Inverse Kinematic problem for small displacement using the Jacobian matrix</h3>
<div class="outline-text-3" id="text-org5a3ce80">
<h3 id="org5a3ce80"><span class="section-number-3">3.3</span> Approximate solution of the Forward and Inverse Kinematic problem for small displacement using the Jacobian matrix</h3>
<div class="outline-text-3" id="text-3-3">
<p>
<a id="org02628f3"></a>
</p>
@ -649,8 +649,8 @@ The function <code>forwardKinematicsApprox</code> (described <a href="#orgdb3143
</div>
<div id="outline-container-org86b4b35" class="outline-3">
<h3 id="org86b4b35">Estimation of the range validity of the approximate inverse kinematics</h3>
<div class="outline-text-3" id="text-org86b4b35">
<h3 id="org86b4b35"><span class="section-number-3">3.4</span> Estimation of the range validity of the approximate inverse kinematics</h3>
<div class="outline-text-3" id="text-3-4">
<p>
<a id="org2bfd694"></a>
</p>
@ -666,9 +666,9 @@ This will also gives us the range for which the approximate forward kinematic is
</p>
</div>
<div id="outline-container-orgccddf49" class="outline-4">
<h4 id="orgccddf49">Stewart architecture definition</h4>
<div class="outline-text-4" id="text-orgccddf49">
<div id="outline-container-orgd52392b" class="outline-4">
<h4 id="orgd52392b"><span class="section-number-4">3.4.1</span> Stewart architecture definition</h4>
<div class="outline-text-4" id="text-3-4-1">
<p>
We first define some general Stewart architecture.
</p>
@ -689,8 +689,8 @@ stewart = computeJacobian(stewart);
</div>
<div id="outline-container-orgd83ccf3" class="outline-4">
<h4 id="orgd83ccf3">Comparison for &ldquo;pure&rdquo; translations</h4>
<div class="outline-text-4" id="text-orgd83ccf3">
<h4 id="orgd83ccf3"><span class="section-number-4">3.4.2</span> Comparison for &ldquo;pure&rdquo; translations</h4>
<div class="outline-text-4" id="text-3-4-2">
<p>
Let&rsquo;s first compare the perfect and approximate solution of the inverse for pure \(x\) translations.
</p>
@ -731,8 +731,8 @@ Ls_exact = zeros(6, length(Xrs));
</div>
<div id="outline-container-org4871c83" class="outline-4">
<h4 id="org4871c83">Conclusion</h4>
<div class="outline-text-4" id="text-org4871c83">
<h4 id="org4871c83"><span class="section-number-4">3.4.3</span> Conclusion</h4>
<div class="outline-text-4" id="text-3-4-3">
<p>
For small wanted displacements (up to \(\approx 1\%\) of the size of the Hexapod), the approximate inverse kinematic solution using the Jacobian matrix is quite correct.
</p>
@ -742,8 +742,8 @@ For small wanted displacements (up to \(\approx 1\%\) of the size of the Hexapod
</div>
<div id="outline-container-org63255f9" class="outline-2">
<h2 id="org63255f9">Estimated required actuator stroke from specified platform mobility</h2>
<div class="outline-text-2" id="text-org63255f9">
<h2 id="org63255f9"><span class="section-number-2">4</span> Estimated required actuator stroke from specified platform mobility</h2>
<div class="outline-text-2" id="text-4">
<p>
<a id="orge72d811"></a>
</p>
@ -753,9 +753,9 @@ One may want to determine the required actuator stroke required to obtain the sp
This is what is analyzed in this section.
</p>
</div>
<div id="outline-container-org48ee074" class="outline-3">
<h3 id="org48ee074">Stewart architecture definition</h3>
<div class="outline-text-3" id="text-org48ee074">
<div id="outline-container-org4bde983" class="outline-3">
<h3 id="org4bde983"><span class="section-number-3">4.1</span> Stewart architecture definition</h3>
<div class="outline-text-3" id="text-4-1">
<p>
Let&rsquo;s first define the Stewart platform architecture that we want to study.
</p>
@ -776,8 +776,8 @@ stewart = computeJacobian(stewart);
</div>
<div id="outline-container-orgde50dd3" class="outline-3">
<h3 id="orgde50dd3">Wanted translations and rotations</h3>
<div class="outline-text-3" id="text-orgde50dd3">
<h3 id="orgde50dd3"><span class="section-number-3">4.2</span> Wanted translations and rotations</h3>
<div class="outline-text-3" id="text-4-2">
<p>
Let&rsquo;s now define the wanted extreme translations and rotations.
</p>
@ -794,8 +794,8 @@ Rz_max = 0; <span class="org-comment">% Rotation [rad]</span>
</div>
<div id="outline-container-org24e45ca" class="outline-3">
<h3 id="org24e45ca">Needed stroke for &ldquo;pure&rdquo; rotations or translations</h3>
<div class="outline-text-3" id="text-org24e45ca">
<h3 id="org24e45ca"><span class="section-number-3">4.3</span> Needed stroke for &ldquo;pure&rdquo; rotations or translations</h3>
<div class="outline-text-3" id="text-4-3">
<p>
As a first estimation, we estimate the needed actuator stroke for &ldquo;pure&rdquo; rotations and translation.
We do that using either the Inverse Kinematic solution or the Jacobian matrix as an approximation.
@ -826,8 +826,8 @@ This is surely a low estimation of the required stroke.
</div>
<div id="outline-container-orgf6ba90c" class="outline-3">
<h3 id="orgf6ba90c">Needed stroke for &ldquo;combined&rdquo; rotations or translations</h3>
<div class="outline-text-3" id="text-orgf6ba90c">
<h3 id="orgf6ba90c"><span class="section-number-3">4.4</span> Needed stroke for &ldquo;combined&rdquo; rotations or translations</h3>
<div class="outline-text-3" id="text-4-4">
<p>
We know would like to have a more precise estimation.
</p>
@ -1147,8 +1147,8 @@ This is probably a much realistic estimation of the required actuator stroke.
</div>
<div id="outline-container-orgbbbf7b3" class="outline-2">
<h2 id="orgbbbf7b3">Estimated platform mobility from specified actuator stroke</h2>
<div class="outline-text-2" id="text-orgbbbf7b3">
<h2 id="orgbbbf7b3"><span class="section-number-2">5</span> Estimated platform mobility from specified actuator stroke</h2>
<div class="outline-text-2" id="text-5">
<p>
<a id="orgeca09fb"></a>
</p>
@ -1157,13 +1157,13 @@ Here, from some value of the actuator stroke, we would like to estimate the mobi
</p>
<p>
As explained in section <a href="#orgca82bb8">No description for this link</a>, the forward kinematic problem of the Stewart platform is quite difficult to solve.
As explained in section <a href="#orgca82bb8">3</a>, the forward kinematic problem of the Stewart platform is quite difficult to solve.
However, for small displacements, we can use the Jacobian as an approximate solution.
</p>
</div>
<div id="outline-container-org486419b" class="outline-3">
<h3 id="org486419b">Stewart architecture definition</h3>
<div class="outline-text-3" id="text-org486419b">
<div id="outline-container-orgf4b310d" class="outline-3">
<h3 id="orgf4b310d"><span class="section-number-3">5.1</span> Stewart architecture definition</h3>
<div class="outline-text-3" id="text-5-1">
<p>
Let&rsquo;s first define the Stewart platform architecture that we want to study.
</p>
@ -1193,8 +1193,8 @@ L_max = 50e<span class="org-type">-</span>6; <span class="org-comment">% [m]</s
</div>
<div id="outline-container-org2c6819e" class="outline-3">
<h3 id="org2c6819e">Pure translations</h3>
<div class="outline-text-3" id="text-org2c6819e">
<h3 id="org2c6819e"><span class="section-number-3">5.2</span> Pure translations</h3>
<div class="outline-text-3" id="text-5-2">
<p>
Let&rsquo;s first estimate the mobility in translation when the orientation of the Stewart platform stays the same.
</p>
@ -1275,15 +1275,15 @@ We can also approximate the mobility by a sphere with a radius equal to the mini
</div>
<div id="outline-container-orgc4916dc" class="outline-2">
<h2 id="orgc4916dc">Functions</h2>
<div class="outline-text-2" id="text-orgc4916dc">
<h2 id="orgc4916dc"><span class="section-number-2">6</span> Functions</h2>
<div class="outline-text-2" id="text-6">
<p>
<a id="orgf9a6042"></a>
</p>
</div>
<div id="outline-container-org26e8b28" class="outline-3">
<h3 id="org26e8b28"><code>computeJacobian</code>: Compute the Jacobian Matrix</h3>
<div class="outline-text-3" id="text-org26e8b28">
<h3 id="org26e8b28"><span class="section-number-3">6.1</span> <code>computeJacobian</code>: Compute the Jacobian Matrix</h3>
<div class="outline-text-3" id="text-6-1">
<p>
<a id="org2387f19"></a>
</p>
@ -1293,9 +1293,9 @@ This Matlab function is accessible <a href="src/computeJacobian.m">here</a>.
</p>
</div>
<div id="outline-container-org704ab84" class="outline-4">
<h4 id="org704ab84">Function description</h4>
<div class="outline-text-4" id="text-org704ab84">
<div id="outline-container-org2aa5728" class="outline-4">
<h4 id="org2aa5728">Function description</h4>
<div class="outline-text-4" id="text-org2aa5728">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">computeJacobian</span>(<span class="org-variable-name">stewart</span>)
<span class="org-comment">% computeJacobian -</span>
@ -1318,9 +1318,9 @@ This Matlab function is accessible <a href="src/computeJacobian.m">here</a>.
</div>
</div>
<div id="outline-container-org3990e47" class="outline-4">
<h4 id="org3990e47">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org3990e47">
<div id="outline-container-orgdbebf2c" class="outline-4">
<h4 id="orgdbebf2c">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-orgdbebf2c">
<div class="org-src-container">
<pre class="src src-matlab">assert(isfield(stewart.geometry, <span class="org-string">'As'</span>), <span class="org-string">'stewart.geometry should have attribute As'</span>)
As = stewart.geometry.As;
@ -1381,8 +1381,8 @@ stewart.kinematics.C = C;
<div id="outline-container-orgb82066f" class="outline-3">
<h3 id="orgb82066f"><code>inverseKinematics</code>: Compute Inverse Kinematics</h3>
<div class="outline-text-3" id="text-orgb82066f">
<h3 id="orgb82066f"><span class="section-number-3">6.2</span> <code>inverseKinematics</code>: Compute Inverse Kinematics</h3>
<div class="outline-text-3" id="text-6-2">
<p>
<a id="orgb8859d7"></a>
</p>
@ -1428,9 +1428,9 @@ Otherwise, when the limbs&rsquo; lengths derived yield complex numbers, then the
</div>
</div>
<div id="outline-container-org0d77b2e" class="outline-4">
<h4 id="org0d77b2e">Function description</h4>
<div class="outline-text-4" id="text-org0d77b2e">
<div id="outline-container-org97cfff6" class="outline-4">
<h4 id="org97cfff6">Function description</h4>
<div class="outline-text-4" id="text-org97cfff6">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[Li, dLi]</span> = <span class="org-function-name">inverseKinematics</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% inverseKinematics - Compute the needed length of each strut to have the wanted position and orientation of {B} with respect to {A}</span>
@ -1454,9 +1454,9 @@ Otherwise, when the limbs&rsquo; lengths derived yield complex numbers, then the
</div>
</div>
<div id="outline-container-orgda02042" class="outline-4">
<h4 id="orgda02042">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgda02042">
<div id="outline-container-org61cf152" class="outline-4">
<h4 id="org61cf152">Optional Parameters</h4>
<div class="outline-text-4" id="text-org61cf152">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@ -1468,9 +1468,9 @@ Otherwise, when the limbs&rsquo; lengths derived yield complex numbers, then the
</div>
</div>
<div id="outline-container-org4a3c325" class="outline-4">
<h4 id="org4a3c325">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org4a3c325">
<div id="outline-container-org9318276" class="outline-4">
<h4 id="org9318276">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org9318276">
<div class="org-src-container">
<pre class="src src-matlab">assert(isfield(stewart.geometry, <span class="org-string">'Aa'</span>), <span class="org-string">'stewart.geometry should have attribute Aa'</span>)
Aa = stewart.geometry.Aa;
@ -1503,8 +1503,8 @@ l = stewart.geometry.l;
</div>
<div id="outline-container-orgf5d8f0b" class="outline-3">
<h3 id="orgf5d8f0b"><code>forwardKinematicsApprox</code>: Compute the Approximate Forward Kinematics</h3>
<div class="outline-text-3" id="text-orgf5d8f0b">
<h3 id="orgf5d8f0b"><span class="section-number-3">6.3</span> <code>forwardKinematicsApprox</code>: Compute the Approximate Forward Kinematics</h3>
<div class="outline-text-3" id="text-6-3">
<p>
<a id="orgdb31434"></a>
</p>
@ -1514,9 +1514,9 @@ This Matlab function is accessible <a href="src/forwardKinematicsApprox.m">here<
</p>
</div>
<div id="outline-container-org473d0b1" class="outline-4">
<h4 id="org473d0b1">Function description</h4>
<div class="outline-text-4" id="text-org473d0b1">
<div id="outline-container-org8b2e069" class="outline-4">
<h4 id="org8b2e069">Function description</h4>
<div class="outline-text-4" id="text-org8b2e069">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[P, R]</span> = <span class="org-function-name">forwardKinematicsApprox</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% forwardKinematicsApprox - Computed the approximate pose of {B} with respect to {A} from the length of each strut and using</span>
@ -1538,9 +1538,9 @@ This Matlab function is accessible <a href="src/forwardKinematicsApprox.m">here<
</div>
</div>
<div id="outline-container-org8fe02d3" class="outline-4">
<h4 id="org8fe02d3">Optional Parameters</h4>
<div class="outline-text-4" id="text-org8fe02d3">
<div id="outline-container-org8029a3d" class="outline-4">
<h4 id="org8029a3d">Optional Parameters</h4>
<div class="outline-text-4" id="text-org8029a3d">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@ -1551,9 +1551,9 @@ This Matlab function is accessible <a href="src/forwardKinematicsApprox.m">here<
</div>
</div>
<div id="outline-container-org83d7e5f" class="outline-4">
<h4 id="org83d7e5f">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org83d7e5f">
<div id="outline-container-orgca4f1e5" class="outline-4">
<h4 id="orgca4f1e5">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-orgca4f1e5">
<div class="org-src-container">
<pre class="src src-matlab">assert(isfield(stewart.kinematics, <span class="org-string">'J'</span>), <span class="org-string">'stewart.kinematics should have attribute J'</span>)
J = stewart.kinematics.J;
@ -1616,7 +1616,7 @@ We then compute the corresponding rotation matrix.
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:26</p>
<p class="date">Created: 2020-02-11 mar. 15:50</p>
</div>
</body>
</html>

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-11 mar. 15:26 -->
<!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Simscape Model</title>
@ -268,27 +268,27 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgc6e0b93">Parameters used for the Simscape Model</a></li>
<li><a href="#org66977e8">Simulation Configuration - Configuration reference</a></li>
<li><a href="#orgb2362eb">Subsystem Reference</a></li>
<li><a href="#orgdfad86d">Subsystem - Fixed base and Mobile Platform</a></li>
<li><a href="#org9d4af75">Subsystem - Struts</a>
<li><a href="#orgc6e0b93">1. Parameters used for the Simscape Model</a></li>
<li><a href="#org66977e8">2. Simulation Configuration - Configuration reference</a></li>
<li><a href="#orgb2362eb">3. Subsystem Reference</a></li>
<li><a href="#orgdfad86d">4. Subsystem - Fixed base and Mobile Platform</a></li>
<li><a href="#org9d4af75">5. Subsystem - Struts</a>
<ul>
<li><a href="#org45d9234">Strut Configuration</a></li>
<li><a href="#org45d9234">5.1. Strut Configuration</a></li>
</ul>
</li>
<li><a href="#org7e2c432">Other Elements</a>
<li><a href="#org7e2c432">6. Other Elements</a>
<ul>
<li><a href="#org4bdfc33">Z-Axis Geophone</a>
<li><a href="#org4bdfc33">6.1. Z-Axis Geophone</a>
<ul>
<li><a href="#org60cad49">Working Principle</a></li>
<li><a href="#org48bfa57">Initialization function</a></li>
<li><a href="#org01abf4c">6.1.1. Working Principle</a></li>
<li><a href="#org5da3f93">6.1.2. Initialization function</a></li>
</ul>
</li>
<li><a href="#org99786f1">Z-Axis Accelerometer</a>
<li><a href="#org99786f1">6.2. Z-Axis Accelerometer</a>
<ul>
<li><a href="#org631cd1a">Working Principle</a></li>
<li><a href="#org514425a">Initialization function</a></li>
<li><a href="#org01c45ef">6.2.1. Working Principle</a></li>
<li><a href="#orga80b649">6.2.2. Initialization function</a></li>
</ul>
</li>
</ul>
@ -305,16 +305,16 @@ In this document is explained how the Simscape model of the Stewart Platform is
It is divided in the following sections:
</p>
<ul class="org-ul">
<li>section <a href="#org8d965c3">No description for this link</a>: is explained how the parameters of the Stewart platform are set for the Simscape model</li>
<li>section <a href="#org354bfdb">No description for this link</a>: the Simulink configuration (solver, simulation time, &#x2026;) is shared among all the Simulink files. It is explain how this is done.</li>
<li>section <a href="#org66bbae2">No description for this link</a>: All the elements (platforms, struts, sensors, &#x2026;) are saved in separate files and imported in Simulink files using &ldquo;subsystem referenced&rdquo;.</li>
<li>section <a href="#orga4915c4">No description for this link</a>: The simscape model for the fixed base and mobile platform are described in this section.</li>
<li>section <a href="#orgdb5206f">No description for this link</a>: The simscape model for the Stewart platform struts is described in this section.</li>
<li>section <a href="#org8d965c3">1</a>: is explained how the parameters of the Stewart platform are set for the Simscape model</li>
<li>section <a href="#org354bfdb">2</a>: the Simulink configuration (solver, simulation time, &#x2026;) is shared among all the Simulink files. It is explain how this is done.</li>
<li>section <a href="#org66bbae2">3</a>: All the elements (platforms, struts, sensors, &#x2026;) are saved in separate files and imported in Simulink files using &ldquo;subsystem referenced&rdquo;.</li>
<li>section <a href="#orga4915c4">4</a>: The simscape model for the fixed base and mobile platform are described in this section.</li>
<li>section <a href="#orgdb5206f">5</a>: The simscape model for the Stewart platform struts is described in this section.</li>
</ul>
<div id="outline-container-orgc6e0b93" class="outline-2">
<h2 id="orgc6e0b93">Parameters used for the Simscape Model</h2>
<div class="outline-text-2" id="text-orgc6e0b93">
<h2 id="orgc6e0b93"><span class="section-number-2">1</span> Parameters used for the Simscape Model</h2>
<div class="outline-text-2" id="text-1">
<p>
<a id="org8d965c3"></a>
The Simscape Model of the Stewart Platform is working with the <code>stewart</code> structure generated using the functions described <a href="stewart-architecture.html">here</a>.
@ -338,10 +338,9 @@ The main advantage to have all the parameters defined in one structure (and not
</div>
</div>
<div id="outline-container-org66977e8" class="outline-2">
<h2 id="org66977e8">Simulation Configuration - Configuration reference</h2>
<div class="outline-text-2" id="text-org66977e8">
<h2 id="org66977e8"><span class="section-number-2">2</span> Simulation Configuration - Configuration reference</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="org354bfdb"></a>
As multiple simulink files will be used for simulation and tests, it is very useful to determine good simulation configuration that will be <b>shared</b> among all the simulink files.
@ -371,8 +370,8 @@ It is however possible to modify specific parameters just for one simulation usi
</div>
<div id="outline-container-orgb2362eb" class="outline-2">
<h2 id="orgb2362eb">Subsystem Reference</h2>
<div class="outline-text-2" id="text-orgb2362eb">
<h2 id="orgb2362eb"><span class="section-number-2">3</span> Subsystem Reference</h2>
<div class="outline-text-2" id="text-3">
<p>
<a id="org66bbae2"></a>
Several Stewart platform models are used, for instance one is use to study the dynamics while the other is used to apply active damping techniques.
@ -406,8 +405,8 @@ This subsystem is then referenced in other simulink models for various purposes
</div>
<div id="outline-container-orgdfad86d" class="outline-2">
<h2 id="orgdfad86d">Subsystem - Fixed base and Mobile Platform</h2>
<div class="outline-text-2" id="text-orgdfad86d">
<h2 id="orgdfad86d"><span class="section-number-2">4</span> Subsystem - Fixed base and Mobile Platform</h2>
<div class="outline-text-2" id="text-4">
<p>
<a id="orga4915c4"></a>
Both the fixed base and the mobile platform simscape models share many similarities.
@ -443,15 +442,15 @@ As always, the parameters that define the geometry are taken from the <code>stew
</div>
<div id="outline-container-org9d4af75" class="outline-2">
<h2 id="org9d4af75">Subsystem - Struts</h2>
<div class="outline-text-2" id="text-org9d4af75">
<h2 id="org9d4af75"><span class="section-number-2">5</span> Subsystem - Struts</h2>
<div class="outline-text-2" id="text-5">
<p>
<a id="orgdb5206f"></a>
</p>
</div>
<div id="outline-container-org45d9234" class="outline-3">
<h3 id="org45d9234">Strut Configuration</h3>
<div class="outline-text-3" id="text-org45d9234">
<h3 id="org45d9234"><span class="section-number-3">5.1</span> Strut Configuration</h3>
<div class="outline-text-3" id="text-5-1">
<p>
For the Stewart platform, the 6 struts are identical.
Thus, all the struts used in the Stewart platform are referring to the same subsystem called <code>stewart_strut.slx</code> and shown in Figure <a href="#org1dc8fce">4</a>.
@ -507,16 +506,16 @@ Both inertial sensors are described bellow.
</div>
<div id="outline-container-org7e2c432" class="outline-2">
<h2 id="org7e2c432">Other Elements</h2>
<div class="outline-text-2" id="text-org7e2c432">
<h2 id="org7e2c432"><span class="section-number-2">6</span> Other Elements</h2>
<div class="outline-text-2" id="text-6">
</div>
<div id="outline-container-org4bdfc33" class="outline-3">
<h3 id="org4bdfc33">Z-Axis Geophone</h3>
<div class="outline-text-3" id="text-org4bdfc33">
<h3 id="org4bdfc33"><span class="section-number-3">6.1</span> Z-Axis Geophone</h3>
<div class="outline-text-3" id="text-6-1">
</div>
<div id="outline-container-org60cad49" class="outline-4">
<h4 id="org60cad49">Working Principle</h4>
<div class="outline-text-4" id="text-org60cad49">
<div id="outline-container-org01abf4c" class="outline-4">
<h4 id="org01abf4c"><span class="section-number-4">6.1.1</span> Working Principle</h4>
<div class="outline-text-4" id="text-6-1-1">
<p>
From the schematic of the Z-axis geophone shown in Figure <a href="#org819fba8">5</a>, we can write the transfer function from the support velocity \(\dot{w}\) to the relative velocity of the inertial mass \(\dot{d}\):
\[ \frac{\dot{d}}{\dot{w}} = \frac{-\frac{s^2}{{\omega_0}^2}}{\frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1} \]
@ -549,9 +548,9 @@ We generally want to have the smallest resonant frequency \(\omega_0\) to measur
</div>
</div>
<div id="outline-container-org48bfa57" class="outline-4">
<h4 id="org48bfa57">Initialization function</h4>
<div class="outline-text-4" id="text-org48bfa57">
<div id="outline-container-org5da3f93" class="outline-4">
<h4 id="org5da3f93"><span class="section-number-4">6.1.2</span> Initialization function</h4>
<div class="outline-text-4" id="text-6-1-2">
<p>
<a id="orgd31bda9"></a>
</p>
@ -586,12 +585,12 @@ This Matlab function is accessible <a href="../src/initializeZAxisGeophone.m">he
</div>
<div id="outline-container-org99786f1" class="outline-3">
<h3 id="org99786f1">Z-Axis Accelerometer</h3>
<div class="outline-text-3" id="text-org99786f1">
<h3 id="org99786f1"><span class="section-number-3">6.2</span> Z-Axis Accelerometer</h3>
<div class="outline-text-3" id="text-6-2">
</div>
<div id="outline-container-org631cd1a" class="outline-4">
<h4 id="org631cd1a">Working Principle</h4>
<div class="outline-text-4" id="text-org631cd1a">
<div id="outline-container-org01c45ef" class="outline-4">
<h4 id="org01c45ef"><span class="section-number-4">6.2.1</span> Working Principle</h4>
<div class="outline-text-4" id="text-6-2-1">
<p>
From the schematic of the Z-axis accelerometer shown in Figure <a href="#org1274602">6</a>, we can write the transfer function from the support acceleration \(\ddot{w}\) to the relative position of the inertial mass \(d\):
\[ \frac{d}{\ddot{w}} = \frac{-\frac{1}{{\omega_0}^2}}{\frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1} \]
@ -628,9 +627,9 @@ Note that there is trade-off between:
</div>
</div>
<div id="outline-container-org514425a" class="outline-4">
<h4 id="org514425a">Initialization function</h4>
<div class="outline-text-4" id="text-org514425a">
<div id="outline-container-orga80b649" class="outline-4">
<h4 id="orga80b649"><span class="section-number-4">6.2.2</span> Initialization function</h4>
<div class="outline-text-4" id="text-6-2-2">
<p>
<a id="orge91f65f"></a>
</p>
@ -670,7 +669,7 @@ This Matlab function is accessible <a href="../src/initializeZAxisAccelerometer.
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:26</p>
<p class="date">Created: 2020-02-11 mar. 15:50</p>
</div>
</body>
</html>

View File

@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"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-11 mar. 15:23 -->
<!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Simulink Project for the Stewart Simscape folder</title>
@ -197,11 +196,10 @@
</style>
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="./js/readtheorg.js"></script>
<script src="./js/jquery.min.js"></script>
<script src="./js/bootstrap.min.js"></script>
<script src="./js/jquery.stickytableheaders.min.js"></script>
<script src="./js/readtheorg.js"></script>
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
@ -284,7 +282,7 @@ The project can be opened using the <code>simulinkproject</code> function:
</p>
<div class="org-src-container">
<pre class="src src-matlab">simulinkproject(<span class="org-string">'./'</span>);
<pre class="src src-matlab">simulinkproject(<span class="org-string">'../'</span>);
</pre>
</div>
@ -321,5 +319,9 @@ When the project closes, it runs the <code>project_shutdown.m</code> script defi
The project also permits to automatically add defined folder to the path when the project is opened.
</p>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:50</p>
</div>
</body>
</html>

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-11 mar. 15:27 -->
<!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Static Analysis</title>
@ -268,14 +268,14 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgc502e97">Coupling</a></li>
<li><a href="#orgc502e97">1. Coupling</a></li>
</ul>
</div>
</div>
<div id="outline-container-orgc502e97" class="outline-2">
<h2 id="orgc502e97">Coupling</h2>
<div class="outline-text-2" id="text-orgc502e97">
<h2 id="orgc502e97"><span class="section-number-2">1</span> Coupling</h2>
<div class="outline-text-2" id="text-1">
<p>
What causes the coupling from \(F_i\) to \(X_i\) ?
</p>
@ -317,7 +317,7 @@ Thus, the system is uncoupled if \(G\) and \(K\) are diagonal.
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:27</p>
<p class="date">Created: 2020-02-11 mar. 15:50</p>
</div>
</body>
</html>

View File

@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"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-11 mar. 15:23 -->
<!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Definition of the Architecture</title>
@ -269,137 +268,137 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org8d01b94">Definition of the Stewart Platform Geometry</a>
<li><a href="#org8d01b94">1. Definition of the Stewart Platform Geometry</a>
<ul>
<li><a href="#org8fe4e0e">Frames Definition</a></li>
<li><a href="#org1fc986a">Location of the Spherical Joints</a></li>
<li><a href="#org6a51c7d">Length and orientation of the struts</a></li>
<li><a href="#org9261b10">Rest Position of the Stewart platform</a></li>
<li><a href="#org8fe4e0e">1.1. Frames Definition</a></li>
<li><a href="#org1fc986a">1.2. Location of the Spherical Joints</a></li>
<li><a href="#org6a51c7d">1.3. Length and orientation of the struts</a></li>
<li><a href="#org9261b10">1.4. Rest Position of the Stewart platform</a></li>
</ul>
</li>
<li><a href="#orgbce93f2">Definition of the Inertia and geometry of the Fixed base, Mobile platform and Struts</a>
<li><a href="#orgbce93f2">2. Definition of the Inertia and geometry of the Fixed base, Mobile platform and Struts</a>
<ul>
<li><a href="#orgd783c33">Inertia and Geometry of the Fixed and Mobile platforms</a></li>
<li><a href="#org126d465">Inertia and Geometry of the struts</a></li>
<li><a href="#orgd783c33">2.1. Inertia and Geometry of the Fixed and Mobile platforms</a></li>
<li><a href="#org126d465">2.2. Inertia and Geometry of the struts</a></li>
</ul>
</li>
<li><a href="#orgd7fb840">Definition of the stiffness and damping of the joints</a>
<li><a href="#orgd7fb840">3. Definition of the stiffness and damping of the joints</a>
<ul>
<li><a href="#orgdb7ce43">Stiffness and Damping of the Actuator</a></li>
<li><a href="#orgd5629d6">Stiffness and Damping of the Spherical Joints</a></li>
<li><a href="#orgdb7ce43">3.1. Stiffness and Damping of the Actuator</a></li>
<li><a href="#orgd5629d6">3.2. Stiffness and Damping of the Spherical Joints</a></li>
</ul>
</li>
<li><a href="#org6d2c540">Summary of the Initialization Procedure and Matlab Example</a>
<li><a href="#org6d2c540">4. Summary of the Initialization Procedure and Matlab Example</a>
<ul>
<li><a href="#org715f118">Example of the initialization of a Stewart Platform</a></li>
<li><a href="#org715f118">4.1. Example of the initialization of a Stewart Platform</a></li>
</ul>
</li>
<li><a href="#org48340b4">Functions</a>
<li><a href="#org48340b4">5. Functions</a>
<ul>
<li><a href="#orgd89f0e1"><code>initializeStewartPlatform</code>: Initialize the Stewart Platform structure</a>
<li><a href="#orgd89f0e1">5.1. <code>initializeStewartPlatform</code>: Initialize the Stewart Platform structure</a>
<ul>
<li><a href="#orgbc1420f">Documentation</a></li>
<li><a href="#org3c4d7d8">Function description</a></li>
<li><a href="#org076d07b">Documentation</a></li>
<li><a href="#org1612620">Function description</a></li>
<li><a href="#orgd567fc1">Initialize the Stewart structure</a></li>
</ul>
</li>
<li><a href="#orgb11894c"><code>initializeFramesPositions</code>: Initialize the positions of frames {A}, {B}, {F} and {M}</a>
<li><a href="#orgb11894c">5.2. <code>initializeFramesPositions</code>: Initialize the positions of frames {A}, {B}, {F} and {M}</a>
<ul>
<li><a href="#org527c72f">Documentation</a></li>
<li><a href="#orgb28c816">Function description</a></li>
<li><a href="#org8bcc794">Optional Parameters</a></li>
<li><a href="#orgf137e52">Documentation</a></li>
<li><a href="#orgef24367">Function description</a></li>
<li><a href="#org8dbfacd">Optional Parameters</a></li>
<li><a href="#org458592e">Compute the position of each frame</a></li>
<li><a href="#org0516874">Populate the <code>stewart</code> structure</a></li>
<li><a href="#orga9b891a">Populate the <code>stewart</code> structure</a></li>
</ul>
</li>
<li><a href="#org9057387"><code>generateGeneralConfiguration</code>: Generate a Very General Configuration</a>
<li><a href="#org9057387">5.3. <code>generateGeneralConfiguration</code>: Generate a Very General Configuration</a>
<ul>
<li><a href="#org8e00e26">Documentation</a></li>
<li><a href="#orgd7988c9">Function description</a></li>
<li><a href="#orgbca44f1">Optional Parameters</a></li>
<li><a href="#org6686470">Documentation</a></li>
<li><a href="#org8e0c109">Function description</a></li>
<li><a href="#orge635bdc">Optional Parameters</a></li>
<li><a href="#org232e4c2">Compute the pose</a></li>
<li><a href="#orgc0cd111">Populate the <code>stewart</code> structure</a></li>
<li><a href="#orge19481b">Populate the <code>stewart</code> structure</a></li>
</ul>
</li>
<li><a href="#org861f6de"><code>computeJointsPose</code>: Compute the Pose of the Joints</a>
<li><a href="#org861f6de">5.4. <code>computeJointsPose</code>: Compute the Pose of the Joints</a>
<ul>
<li><a href="#org7165251">Documentation</a></li>
<li><a href="#org67db014">Function description</a></li>
<li><a href="#org96d0ef3">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#orgd00ef90">Documentation</a></li>
<li><a href="#orga8f705b">Function description</a></li>
<li><a href="#org4889a22">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#org52b0d4c">Compute the position of the Joints</a></li>
<li><a href="#org4b76b0f">Compute the strut length and orientation</a></li>
<li><a href="#orgd621d5e">Compute the orientation of the Joints</a></li>
<li><a href="#org2a4c563">Populate the <code>stewart</code> structure</a></li>
<li><a href="#orgf383464">Populate the <code>stewart</code> structure</a></li>
</ul>
</li>
<li><a href="#org329bef9"><code>initializeStewartPose</code>: Determine the initial stroke in each leg to have the wanted pose</a>
<li><a href="#org329bef9">5.5. <code>initializeStewartPose</code>: Determine the initial stroke in each leg to have the wanted pose</a>
<ul>
<li><a href="#orgbe9f167">Function description</a></li>
<li><a href="#org9aa96f1">Optional Parameters</a></li>
<li><a href="#orgfa57533">Function description</a></li>
<li><a href="#orge534e6f">Optional Parameters</a></li>
<li><a href="#org3d3ef62">Use the Inverse Kinematic function</a></li>
<li><a href="#org63a831f">Populate the <code>stewart</code> structure</a></li>
<li><a href="#org5e7e71c">Populate the <code>stewart</code> structure</a></li>
</ul>
</li>
<li><a href="#org6ff5b31"><code>initializeCylindricalPlatforms</code>: Initialize the geometry of the Fixed and Mobile Platforms</a>
<li><a href="#org6ff5b31">5.6. <code>initializeCylindricalPlatforms</code>: Initialize the geometry of the Fixed and Mobile Platforms</a>
<ul>
<li><a href="#org930d1f3">Function description</a></li>
<li><a href="#orgf010fb9">Optional Parameters</a></li>
<li><a href="#org11374c9">Function description</a></li>
<li><a href="#org56dc51c">Optional Parameters</a></li>
<li><a href="#org25a390a">Compute the Inertia matrices of platforms</a></li>
<li><a href="#org61255f3">Populate the <code>stewart</code> structure</a></li>
<li><a href="#org120ea12">Populate the <code>stewart</code> structure</a></li>
</ul>
</li>
<li><a href="#org60aa215"><code>initializeCylindricalStruts</code>: Define the inertia of cylindrical struts</a>
<li><a href="#org60aa215">5.7. <code>initializeCylindricalStruts</code>: Define the inertia of cylindrical struts</a>
<ul>
<li><a href="#orgc7d5120">Function description</a></li>
<li><a href="#orgfb4e3ed">Optional Parameters</a></li>
<li><a href="#org7a6774e">Function description</a></li>
<li><a href="#orgccd9ddc">Optional Parameters</a></li>
<li><a href="#orgc056498">Compute the properties of the cylindrical struts</a></li>
<li><a href="#orgc329127">Populate the <code>stewart</code> structure</a></li>
<li><a href="#orgbe49c20">Populate the <code>stewart</code> structure</a></li>
</ul>
</li>
<li><a href="#org3ad0cd1"><code>initializeStrutDynamics</code>: Add Stiffness and Damping properties of each strut</a>
<li><a href="#org3ad0cd1">5.8. <code>initializeStrutDynamics</code>: Add Stiffness and Damping properties of each strut</a>
<ul>
<li><a href="#org9075466">Documentation</a></li>
<li><a href="#org21e1e52">Function description</a></li>
<li><a href="#orgd9bda04">Optional Parameters</a></li>
<li><a href="#org063be5b">Documentation</a></li>
<li><a href="#orgfc83159">Function description</a></li>
<li><a href="#org8756943">Optional Parameters</a></li>
<li><a href="#orgadb8327">Add Stiffness and Damping properties of each strut</a></li>
</ul>
</li>
<li><a href="#orgd8d403e"><code>initializeAmplifiedStrutDynamics</code>: Add Stiffness and Damping properties of each strut for an amplified piezoelectric actuator</a>
<li><a href="#orgd8d403e">5.9. <code>initializeAmplifiedStrutDynamics</code>: Add Stiffness and Damping properties of each strut for an amplified piezoelectric actuator</a>
<ul>
<li><a href="#org8ba232a">Documentation</a></li>
<li><a href="#org7b6e247">Function description</a></li>
<li><a href="#org936848c">Optional Parameters</a></li>
<li><a href="#org11b907a">Documentation</a></li>
<li><a href="#orgc9ac7ad">Function description</a></li>
<li><a href="#org2508e19">Optional Parameters</a></li>
<li><a href="#org9b435e8">Compute the total stiffness and damping</a></li>
<li><a href="#orgd78e8b0">Populate the <code>stewart</code> structure</a></li>
<li><a href="#org933fa09">Populate the <code>stewart</code> structure</a></li>
</ul>
</li>
<li><a href="#orgeb6173a"><code>initializeJointDynamics</code>: Add Stiffness and Damping properties for spherical joints</a>
<li><a href="#orgeb6173a">5.10. <code>initializeJointDynamics</code>: Add Stiffness and Damping properties for spherical joints</a>
<ul>
<li><a href="#org051062f">Function description</a></li>
<li><a href="#orgf57427f">Optional Parameters</a></li>
<li><a href="#orgea4c71f">Function description</a></li>
<li><a href="#orgbb42633">Optional Parameters</a></li>
<li><a href="#orgc6d4183">Add Actuator Type</a></li>
<li><a href="#orgc0e613c">Add Stiffness and Damping in Translation of each strut</a></li>
<li><a href="#org04698fc">Add Stiffness and Damping in Rotation of each strut</a></li>
</ul>
</li>
<li><a href="#orgea07e0e"><code>initializeInertialSensor</code>: Initialize the inertial sensor in each strut</a>
<li><a href="#orgea07e0e">5.11. <code>initializeInertialSensor</code>: Initialize the inertial sensor in each strut</a>
<ul>
<li><a href="#org86c4462">Function description</a></li>
<li><a href="#org6d69ef4">Optional Parameters</a></li>
<li><a href="#org2462fa5">Function description</a></li>
<li><a href="#orgcc6ded4">Optional Parameters</a></li>
<li><a href="#org463075d">Compute the properties of the sensor</a></li>
<li><a href="#orgbf82c53">Populate the <code>stewart</code> structure</a></li>
<li><a href="#org37e6016">Populate the <code>stewart</code> structure</a></li>
</ul>
</li>
<li><a href="#org5266e9d"><code>displayArchitecture</code>: 3D plot of the Stewart platform architecture</a>
<li><a href="#org5266e9d">5.12. <code>displayArchitecture</code>: 3D plot of the Stewart platform architecture</a>
<ul>
<li><a href="#orgfcc25cc">Function description</a></li>
<li><a href="#org51d9478">Optional Parameters</a></li>
<li><a href="#org1ee899b">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#orgdd7c996">Function description</a></li>
<li><a href="#org99b2163">Optional Parameters</a></li>
<li><a href="#org9e5d50c">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#orgc088b18">Figure Creation, Frames and Homogeneous transformations</a></li>
<li><a href="#orgc25a979">Fixed Base elements</a></li>
<li><a href="#org8417772">Mobile Platform elements</a></li>
<li><a href="#org5f40b79">Legs</a></li>
<li><a href="#org81be27b">Figure parameters</a></li>
<li><a href="#org81be27b">5.12.1. Figure parameters</a></li>
</ul>
</li>
</ul>
@ -424,22 +423,22 @@ When possible, the notations are compatible with the one used in <a class='org-r
The definition of the Stewart platform is done in three main parts:
</p>
<ul class="org-ul">
<li>First, the geometry if defined (Section <a href="#orga5e83f9">No description for this link</a>)</li>
<li>Then, the inertia of the mechanical elements are defined (Section <a href="#orga326389">No description for this link</a>)</li>
<li>Finally, the Stiffness and Damping characteristics of the elements are defined (Section <a href="#org96459ea">No description for this link</a>)</li>
<li>First, the geometry if defined (Section <a href="#orga5e83f9">1</a>)</li>
<li>Then, the inertia of the mechanical elements are defined (Section <a href="#orga326389">2</a>)</li>
<li>Finally, the Stiffness and Damping characteristics of the elements are defined (Section <a href="#org96459ea">3</a>)</li>
</ul>
<p>
In section <a href="#orgaede9ee">No description for this link</a>, the procedure the initialize the Stewart platform is summarize and the associated Matlab code is shown.
In section <a href="#orgaede9ee">4</a>, the procedure the initialize the Stewart platform is summarize and the associated Matlab code is shown.
</p>
<p>
Finally, all the Matlab function used to initialize the Stewart platform are described in section <a href="#orgac086c4">No description for this link</a>.
Finally, all the Matlab function used to initialize the Stewart platform are described in section <a href="#orgac086c4">5</a>.
</p>
<div id="outline-container-org8d01b94" class="outline-2">
<h2 id="org8d01b94">Definition of the Stewart Platform Geometry</h2>
<div class="outline-text-2" id="text-org8d01b94">
<h2 id="org8d01b94"><span class="section-number-2">1</span> Definition of the Stewart Platform Geometry</h2>
<div class="outline-text-2" id="text-1">
<p>
<a id="orga5e83f9"></a>
</p>
@ -458,8 +457,8 @@ This steps are detailed below.
</p>
</div>
<div id="outline-container-org8fe4e0e" class="outline-3">
<h3 id="org8fe4e0e">Frames Definition</h3>
<div class="outline-text-3" id="text-org8fe4e0e">
<h3 id="org8fe4e0e"><span class="section-number-3">1.1</span> Frames Definition</h3>
<div class="outline-text-3" id="text-1-1">
<p>
We define 4 important <b>frames</b> (see Figure <a href="#org9940a8f">1</a>):
</p>
@ -507,8 +506,8 @@ The definition of the frames is done with the <code>initializeFramesPositions</c
</div>
<div id="outline-container-org1fc986a" class="outline-3">
<h3 id="org1fc986a">Location of the Spherical Joints</h3>
<div class="outline-text-3" id="text-org1fc986a">
<h3 id="org1fc986a"><span class="section-number-3">1.2</span> Location of the Spherical Joints</h3>
<div class="outline-text-3" id="text-1-2">
<p>
Then, we define the <b>location of the spherical joints</b> (see Figure <a href="#org5a59399">2</a>):
</p>
@ -548,8 +547,8 @@ The location of the spherical joints are then given by \({}^{F}\bm{a}_{i}\) and
</div>
<div id="outline-container-org6a51c7d" class="outline-3">
<h3 id="org6a51c7d">Length and orientation of the struts</h3>
<div class="outline-text-3" id="text-org6a51c7d">
<h3 id="org6a51c7d"><span class="section-number-3">1.3</span> Length and orientation of the struts</h3>
<div class="outline-text-3" id="text-1-3">
<p>
From the location of the joints (\({}^{F}\bm{a}_{i}\) and \({}^{M}\bm{b}_{i}\)), we compute the length \(l_i\) and orientation of each strut \(\hat{\bm{s}}_i\) (unit vector aligned with the strut).
The length and orientation of each strut is represented in figure <a href="#org145b8ab">3</a>.
@ -569,8 +568,8 @@ This is done with the <code>computeJointsPose</code> function (<a href="#org7f34
</div>
<div id="outline-container-org9261b10" class="outline-3">
<h3 id="org9261b10">Rest Position of the Stewart platform</h3>
<div class="outline-text-3" id="text-org9261b10">
<h3 id="org9261b10"><span class="section-number-3">1.4</span> Rest Position of the Stewart platform</h3>
<div class="outline-text-3" id="text-1-4">
<p>
We may want to initialize the Stewart platform in some position and orientation that corresponds to its rest position.
</p>
@ -591,8 +590,8 @@ Then, the function <code>initializeStewartPose</code> (<a href="#orga94c6a9">lin
</div>
<div id="outline-container-orgbce93f2" class="outline-2">
<h2 id="orgbce93f2">Definition of the Inertia and geometry of the Fixed base, Mobile platform and Struts</h2>
<div class="outline-text-2" id="text-orgbce93f2">
<h2 id="orgbce93f2"><span class="section-number-2">2</span> Definition of the Inertia and geometry of the Fixed base, Mobile platform and Struts</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="orga326389"></a>
</p>
@ -611,8 +610,8 @@ It is thus important to set them properly.
</p>
</div>
<div id="outline-container-orgd783c33" class="outline-3">
<h3 id="orgd783c33">Inertia and Geometry of the Fixed and Mobile platforms</h3>
<div class="outline-text-3" id="text-orgd783c33">
<h3 id="orgd783c33"><span class="section-number-3">2.1</span> Inertia and Geometry of the Fixed and Mobile platforms</h3>
<div class="outline-text-3" id="text-2-1">
<p>
In order to set the inertia of the fixed and mobile platforms, we can use the following function that assume that both platforms are cylindrical:
</p>
@ -623,8 +622,8 @@ In order to set the inertia of the fixed and mobile platforms, we can use the fo
</div>
<div id="outline-container-org126d465" class="outline-3">
<h3 id="org126d465">Inertia and Geometry of the struts</h3>
<div class="outline-text-3" id="text-org126d465">
<h3 id="org126d465"><span class="section-number-3">2.2</span> Inertia and Geometry of the struts</h3>
<div class="outline-text-3" id="text-2-2">
<p>
Similarly for the struts, we suppose here that they have a cylindrical shape.
They are initialize with the following function:
@ -637,8 +636,8 @@ They are initialize with the following function:
</div>
<div id="outline-container-orgd7fb840" class="outline-2">
<h2 id="orgd7fb840">Definition of the stiffness and damping of the joints</h2>
<div class="outline-text-2" id="text-orgd7fb840">
<h2 id="orgd7fb840"><span class="section-number-2">3</span> Definition of the stiffness and damping of the joints</h2>
<div class="outline-text-2" id="text-3">
<p>
<a id="org96459ea"></a>
</p>
@ -652,8 +651,8 @@ The global stiffness and damping of the Stewart platform depends on its geometry
</div>
<div id="outline-container-orgdb7ce43" class="outline-3">
<h3 id="orgdb7ce43">Stiffness and Damping of the Actuator</h3>
<div class="outline-text-3" id="text-orgdb7ce43">
<h3 id="orgdb7ce43"><span class="section-number-3">3.1</span> Stiffness and Damping of the Actuator</h3>
<div class="outline-text-3" id="text-3-1">
<p>
Each Actuator is modeled by 3 elements in parallel (Figure <a href="#orgf28da6c">4</a>):
</p>
@ -677,8 +676,8 @@ The initialization of the stiffness and damping properties of the actuators is d
</div>
<div id="outline-container-orgd5629d6" class="outline-3">
<h3 id="orgd5629d6">Stiffness and Damping of the Spherical Joints</h3>
<div class="outline-text-3" id="text-orgd5629d6">
<h3 id="orgd5629d6"><span class="section-number-3">3.2</span> Stiffness and Damping of the Spherical Joints</h3>
<div class="outline-text-3" id="text-3-2">
<p>
Even though we often suppose that the spherical joint are perfect in the sense that we neglect its stiffness and damping, we can set some rotation stiffness and damping of each of the spherical/universal joints.
</p>
@ -691,8 +690,8 @@ This is done with the <code>initializeJointDynamics</code> function (<a href="#o
</div>
<div id="outline-container-org6d2c540" class="outline-2">
<h2 id="org6d2c540">Summary of the Initialization Procedure and Matlab Example</h2>
<div class="outline-text-2" id="text-org6d2c540">
<h2 id="org6d2c540"><span class="section-number-2">4</span> Summary of the Initialization Procedure and Matlab Example</h2>
<div class="outline-text-2" id="text-4">
<p>
<a id="orgaede9ee"></a>
</p>
@ -720,8 +719,8 @@ By following this procedure, we obtain a Matlab structure <code>stewart</code> t
</p>
</div>
<div id="outline-container-org715f118" class="outline-3">
<h3 id="org715f118">Example of the initialization of a Stewart Platform</h3>
<div class="outline-text-3" id="text-org715f118">
<h3 id="org715f118"><span class="section-number-3">4.1</span> Example of the initialization of a Stewart Platform</h3>
<div class="outline-text-3" id="text-4-1">
<p>
Let&rsquo;s first define the Stewart Platform Geometry.
</p>
@ -824,16 +823,16 @@ view([0 <span class="org-type">-</span>1 0]);
</div>
<div id="outline-container-org48340b4" class="outline-2">
<h2 id="org48340b4">Functions</h2>
<div class="outline-text-2" id="text-org48340b4">
<h2 id="org48340b4"><span class="section-number-2">5</span> Functions</h2>
<div class="outline-text-2" id="text-5">
<p>
<a id="orgac086c4"></a>
</p>
</div>
<div id="outline-container-orgd89f0e1" class="outline-3">
<h3 id="orgd89f0e1"><code>initializeStewartPlatform</code>: Initialize the Stewart Platform structure</h3>
<div class="outline-text-3" id="text-orgd89f0e1">
<h3 id="orgd89f0e1"><span class="section-number-3">5.1</span> <code>initializeStewartPlatform</code>: Initialize the Stewart Platform structure</h3>
<div class="outline-text-3" id="text-5-1">
<p>
<a id="org2917f22"></a>
</p>
@ -843,11 +842,11 @@ This Matlab function is accessible <a href="src/initializeStewartPlatform.m">her
</p>
</div>
<div id="outline-container-orgbc1420f" class="outline-4">
<h4 id="orgbc1420f">Documentation</h4>
<div class="outline-text-4" id="text-orgbc1420f">
<div id="outline-container-org076d07b" class="outline-4">
<h4 id="org076d07b">Documentation</h4>
<div class="outline-text-4" id="text-org076d07b">
<div id="orge07a045" class="figure">
<div id="org7d10bbd" class="figure">
<p><img src="figs/stewart-frames-position.png" alt="stewart-frames-position.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Definition of the position of the frames</p>
@ -855,9 +854,9 @@ This Matlab function is accessible <a href="src/initializeStewartPlatform.m">her
</div>
</div>
<div id="outline-container-org3c4d7d8" class="outline-4">
<h4 id="org3c4d7d8">Function description</h4>
<div class="outline-text-4" id="text-org3c4d7d8">
<div id="outline-container-org1612620" class="outline-4">
<h4 id="org1612620">Function description</h4>
<div class="outline-text-4" id="text-org1612620">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">initializeStewartPlatform</span>()
<span class="org-comment">% initializeStewartPlatform - Initialize the stewart structure</span>
@ -905,8 +904,8 @@ stewart.kinematics = struct();
</div>
<div id="outline-container-orgb11894c" class="outline-3">
<h3 id="orgb11894c"><code>initializeFramesPositions</code>: Initialize the positions of frames {A}, {B}, {F} and {M}</h3>
<div class="outline-text-3" id="text-orgb11894c">
<h3 id="orgb11894c"><span class="section-number-3">5.2</span> <code>initializeFramesPositions</code>: Initialize the positions of frames {A}, {B}, {F} and {M}</h3>
<div class="outline-text-3" id="text-5-2">
<p>
<a id="org3009bf2"></a>
</p>
@ -916,11 +915,11 @@ This Matlab function is accessible <a href="src/initializeFramesPositions.m">her
</p>
</div>
<div id="outline-container-org527c72f" class="outline-4">
<h4 id="org527c72f">Documentation</h4>
<div class="outline-text-4" id="text-org527c72f">
<div id="outline-container-orgf137e52" class="outline-4">
<h4 id="orgf137e52">Documentation</h4>
<div class="outline-text-4" id="text-orgf137e52">
<div id="org5ddff61" class="figure">
<div id="org6fe2446" class="figure">
<p><img src="figs/stewart-frames-position.png" alt="stewart-frames-position.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Definition of the position of the frames</p>
@ -928,9 +927,9 @@ This Matlab function is accessible <a href="src/initializeFramesPositions.m">her
</div>
</div>
<div id="outline-container-orgb28c816" class="outline-4">
<h4 id="orgb28c816">Function description</h4>
<div class="outline-text-4" id="text-orgb28c816">
<div id="outline-container-orgef24367" class="outline-4">
<h4 id="orgef24367">Function description</h4>
<div class="outline-text-4" id="text-orgef24367">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">initializeFramesPositions</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% initializeFramesPositions - Initialize the positions of frames {A}, {B}, {F} and {M}</span>
@ -953,9 +952,9 @@ This Matlab function is accessible <a href="src/initializeFramesPositions.m">her
</div>
</div>
<div id="outline-container-org8bcc794" class="outline-4">
<h4 id="org8bcc794">Optional Parameters</h4>
<div class="outline-text-4" id="text-org8bcc794">
<div id="outline-container-org8dbfacd" class="outline-4">
<h4 id="org8dbfacd">Optional Parameters</h4>
<div class="outline-text-4" id="text-org8dbfacd">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@ -983,9 +982,9 @@ FO_A = MO_B <span class="org-type">+</span> FO_M; <span class="org-comment">% Po
</div>
</div>
<div id="outline-container-org0516874" class="outline-4">
<h4 id="org0516874">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-org0516874">
<div id="outline-container-orga9b891a" class="outline-4">
<h4 id="orga9b891a">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-orga9b891a">
<div class="org-src-container">
<pre class="src src-matlab">stewart.geometry.H = H;
stewart.geometry.FO_M = FO_M;
@ -998,8 +997,8 @@ stewart.platform_F.FO_A = FO_A;
</div>
<div id="outline-container-org9057387" class="outline-3">
<h3 id="org9057387"><code>generateGeneralConfiguration</code>: Generate a Very General Configuration</h3>
<div class="outline-text-3" id="text-org9057387">
<h3 id="org9057387"><span class="section-number-3">5.3</span> <code>generateGeneralConfiguration</code>: Generate a Very General Configuration</h3>
<div class="outline-text-3" id="text-5-3">
<p>
<a id="org9f50820"></a>
</p>
@ -1009,9 +1008,9 @@ This Matlab function is accessible <a href="src/generateGeneralConfiguration.m">
</p>
</div>
<div id="outline-container-org8e00e26" class="outline-4">
<h4 id="org8e00e26">Documentation</h4>
<div class="outline-text-4" id="text-org8e00e26">
<div id="outline-container-org6686470" class="outline-4">
<h4 id="org6686470">Documentation</h4>
<div class="outline-text-4" id="text-org6686470">
<p>
Joints are positions on a circle centered with the Z axis of {F} and {M} and at a chosen distance from {F} and {M}.
The radius of the circles can be chosen as well as the angles where the joints are located (see Figure <a href="#org4c354b6">9</a>).
@ -1026,9 +1025,9 @@ The radius of the circles can be chosen as well as the angles where the joints a
</div>
</div>
<div id="outline-container-orgd7988c9" class="outline-4">
<h4 id="orgd7988c9">Function description</h4>
<div class="outline-text-4" id="text-orgd7988c9">
<div id="outline-container-org8e0c109" class="outline-4">
<h4 id="org8e0c109">Function description</h4>
<div class="outline-text-4" id="text-org8e0c109">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">generateGeneralConfiguration</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% generateGeneralConfiguration - Generate a Very General Configuration</span>
@ -1053,9 +1052,9 @@ The radius of the circles can be chosen as well as the angles where the joints a
</div>
</div>
<div id="outline-container-orgbca44f1" class="outline-4">
<h4 id="orgbca44f1">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgbca44f1">
<div id="outline-container-orge635bdc" class="outline-4">
<h4 id="orge635bdc">Optional Parameters</h4>
<div class="outline-text-4" id="text-orge635bdc">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@ -1090,9 +1089,9 @@ Mb = zeros(3,6);
</div>
</div>
<div id="outline-container-orgc0cd111" class="outline-4">
<h4 id="orgc0cd111">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-orgc0cd111">
<div id="outline-container-orge19481b" class="outline-4">
<h4 id="orge19481b">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-orge19481b">
<div class="org-src-container">
<pre class="src src-matlab">stewart.platform_F.Fa = Fa;
stewart.platform_M.Mb = Mb;
@ -1103,8 +1102,8 @@ stewart.platform_M.Mb = Mb;
</div>
<div id="outline-container-org861f6de" class="outline-3">
<h3 id="org861f6de"><code>computeJointsPose</code>: Compute the Pose of the Joints</h3>
<div class="outline-text-3" id="text-org861f6de">
<h3 id="org861f6de"><span class="section-number-3">5.4</span> <code>computeJointsPose</code>: Compute the Pose of the Joints</h3>
<div class="outline-text-3" id="text-5-4">
<p>
<a id="org7f34b08"></a>
</p>
@ -1114,9 +1113,9 @@ This Matlab function is accessible <a href="src/computeJointsPose.m">here</a>.
</p>
</div>
<div id="outline-container-org7165251" class="outline-4">
<h4 id="org7165251">Documentation</h4>
<div class="outline-text-4" id="text-org7165251">
<div id="outline-container-orgd00ef90" class="outline-4">
<h4 id="orgd00ef90">Documentation</h4>
<div class="outline-text-4" id="text-orgd00ef90">
<div id="org8ffb841" class="figure">
<p><img src="figs/stewart-struts.png" alt="stewart-struts.png" />
@ -1126,9 +1125,9 @@ This Matlab function is accessible <a href="src/computeJointsPose.m">here</a>.
</div>
</div>
<div id="outline-container-org67db014" class="outline-4">
<h4 id="org67db014">Function description</h4>
<div class="outline-text-4" id="text-org67db014">
<div id="outline-container-orga8f705b" class="outline-4">
<h4 id="orga8f705b">Function description</h4>
<div class="outline-text-4" id="text-orga8f705b">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">computeJointsPose</span>(<span class="org-variable-name">stewart</span>)
<span class="org-comment">% computeJointsPose -</span>
@ -1161,9 +1160,9 @@ This Matlab function is accessible <a href="src/computeJointsPose.m">here</a>.
</div>
</div>
<div id="outline-container-org96d0ef3" class="outline-4">
<h4 id="org96d0ef3">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org96d0ef3">
<div id="outline-container-org4889a22" class="outline-4">
<h4 id="org4889a22">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org4889a22">
<div class="org-src-container">
<pre class="src src-matlab">assert(isfield(stewart.platform_F, <span class="org-string">'Fa'</span>), <span class="org-string">'stewart.platform_F should have attribute Fa'</span>)
Fa = stewart.platform_F.Fa;
@ -1234,9 +1233,9 @@ MRb = zeros(3,3,6);
</div>
</div>
<div id="outline-container-org2a4c563" class="outline-4">
<h4 id="org2a4c563">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-org2a4c563">
<div id="outline-container-orgf383464" class="outline-4">
<h4 id="orgf383464">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-orgf383464">
<div class="org-src-container">
<pre class="src src-matlab">stewart.geometry.Aa = Aa;
stewart.geometry.Ab = Ab;
@ -1258,8 +1257,8 @@ stewart.platform_M.MRb = MRb;
</div>
<div id="outline-container-org329bef9" class="outline-3">
<h3 id="org329bef9"><code>initializeStewartPose</code>: Determine the initial stroke in each leg to have the wanted pose</h3>
<div class="outline-text-3" id="text-org329bef9">
<h3 id="org329bef9"><span class="section-number-3">5.5</span> <code>initializeStewartPose</code>: Determine the initial stroke in each leg to have the wanted pose</h3>
<div class="outline-text-3" id="text-5-5">
<p>
<a id="orga94c6a9"></a>
</p>
@ -1269,9 +1268,9 @@ This Matlab function is accessible <a href="src/initializeStewartPose.m">here</a
</p>
</div>
<div id="outline-container-orgbe9f167" class="outline-4">
<h4 id="orgbe9f167">Function description</h4>
<div class="outline-text-4" id="text-orgbe9f167">
<div id="outline-container-orgfa57533" class="outline-4">
<h4 id="orgfa57533">Function description</h4>
<div class="outline-text-4" id="text-orgfa57533">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">initializeStewartPose</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% initializeStewartPose - Determine the initial stroke in each leg to have the wanted pose</span>
@ -1295,9 +1294,9 @@ This Matlab function is accessible <a href="src/initializeStewartPose.m">here</a
</div>
</div>
<div id="outline-container-org9aa96f1" class="outline-4">
<h4 id="org9aa96f1">Optional Parameters</h4>
<div class="outline-text-4" id="text-org9aa96f1">
<div id="outline-container-orge534e6f" class="outline-4">
<h4 id="orge534e6f">Optional Parameters</h4>
<div class="outline-text-4" id="text-orge534e6f">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@ -1319,9 +1318,9 @@ This Matlab function is accessible <a href="src/initializeStewartPose.m">here</a
</div>
</div>
<div id="outline-container-org63a831f" class="outline-4">
<h4 id="org63a831f">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-org63a831f">
<div id="outline-container-org5e7e71c" class="outline-4">
<h4 id="org5e7e71c">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-org5e7e71c">
<div class="org-src-container">
<pre class="src src-matlab">stewart.actuators.Leq = dLi;
</pre>
@ -1331,8 +1330,8 @@ This Matlab function is accessible <a href="src/initializeStewartPose.m">here</a
</div>
<div id="outline-container-org6ff5b31" class="outline-3">
<h3 id="org6ff5b31"><code>initializeCylindricalPlatforms</code>: Initialize the geometry of the Fixed and Mobile Platforms</h3>
<div class="outline-text-3" id="text-org6ff5b31">
<h3 id="org6ff5b31"><span class="section-number-3">5.6</span> <code>initializeCylindricalPlatforms</code>: Initialize the geometry of the Fixed and Mobile Platforms</h3>
<div class="outline-text-3" id="text-5-6">
<p>
<a id="org6ad7062"></a>
</p>
@ -1342,9 +1341,9 @@ This Matlab function is accessible <a href="src/initializeCylindricalPlatforms.m
</p>
</div>
<div id="outline-container-org930d1f3" class="outline-4">
<h4 id="org930d1f3">Function description</h4>
<div class="outline-text-4" id="text-org930d1f3">
<div id="outline-container-org11374c9" class="outline-4">
<h4 id="org11374c9">Function description</h4>
<div class="outline-text-4" id="text-org11374c9">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">initializeCylindricalPlatforms</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% initializeCylindricalPlatforms - Initialize the geometry of the Fixed and Mobile Platforms</span>
@ -1378,9 +1377,9 @@ This Matlab function is accessible <a href="src/initializeCylindricalPlatforms.m
</div>
</div>
<div id="outline-container-orgf010fb9" class="outline-4">
<h4 id="orgf010fb9">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgf010fb9">
<div id="outline-container-org56dc51c" class="outline-4">
<h4 id="org56dc51c">Optional Parameters</h4>
<div class="outline-text-4" id="text-org56dc51c">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@ -1415,9 +1414,9 @@ This Matlab function is accessible <a href="src/initializeCylindricalPlatforms.m
</div>
</div>
<div id="outline-container-org61255f3" class="outline-4">
<h4 id="org61255f3">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-org61255f3">
<div id="outline-container-org120ea12" class="outline-4">
<h4 id="org120ea12">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-org120ea12">
<div class="org-src-container">
<pre class="src src-matlab">stewart.platform_F.type = 1;
@ -1442,8 +1441,8 @@ stewart.platform_M.H = args.Mph;
</div>
<div id="outline-container-org60aa215" class="outline-3">
<h3 id="org60aa215"><code>initializeCylindricalStruts</code>: Define the inertia of cylindrical struts</h3>
<div class="outline-text-3" id="text-org60aa215">
<h3 id="org60aa215"><span class="section-number-3">5.7</span> <code>initializeCylindricalStruts</code>: Define the inertia of cylindrical struts</h3>
<div class="outline-text-3" id="text-5-7">
<p>
<a id="org6263b6d"></a>
</p>
@ -1453,9 +1452,9 @@ This Matlab function is accessible <a href="src/initializeCylindricalStruts.m">h
</p>
</div>
<div id="outline-container-orgc7d5120" class="outline-4">
<h4 id="orgc7d5120">Function description</h4>
<div class="outline-text-4" id="text-orgc7d5120">
<div id="outline-container-org7a6774e" class="outline-4">
<h4 id="org7a6774e">Function description</h4>
<div class="outline-text-4" id="text-org7a6774e">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">initializeCylindricalStruts</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% initializeCylindricalStruts - Define the mass and moment of inertia of cylindrical struts</span>
@ -1488,9 +1487,9 @@ This Matlab function is accessible <a href="src/initializeCylindricalStruts.m">h
</div>
</div>
<div id="outline-container-orgfb4e3ed" class="outline-4">
<h4 id="orgfb4e3ed">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgfb4e3ed">
<div id="outline-container-orgccd9ddc" class="outline-4">
<h4 id="orgccd9ddc">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgccd9ddc">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@ -1538,9 +1537,9 @@ I_M = zeros(3, 3, 6); <span class="org-comment">% Inertia of the "mobile" part o
</div>
</div>
<div id="outline-container-orgc329127" class="outline-4">
<h4 id="orgc329127">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-orgc329127">
<div id="outline-container-orgbe49c20" class="outline-4">
<h4 id="orgbe49c20">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-orgbe49c20">
<div class="org-src-container">
<pre class="src src-matlab">stewart.struts_M.type = 1;
@ -1565,8 +1564,8 @@ stewart.struts_F.H = Fsh;
</div>
<div id="outline-container-org3ad0cd1" class="outline-3">
<h3 id="org3ad0cd1"><code>initializeStrutDynamics</code>: Add Stiffness and Damping properties of each strut</h3>
<div class="outline-text-3" id="text-org3ad0cd1">
<h3 id="org3ad0cd1"><span class="section-number-3">5.8</span> <code>initializeStrutDynamics</code>: Add Stiffness and Damping properties of each strut</h3>
<div class="outline-text-3" id="text-5-8">
<p>
<a id="org7f8f2b7"></a>
</p>
@ -1576,9 +1575,9 @@ This Matlab function is accessible <a href="src/initializeStrutDynamics.m">here<
</p>
</div>
<div id="outline-container-org9075466" class="outline-4">
<h4 id="org9075466">Documentation</h4>
<div class="outline-text-4" id="text-org9075466">
<div id="outline-container-org063be5b" class="outline-4">
<h4 id="org063be5b">Documentation</h4>
<div class="outline-text-4" id="text-org063be5b">
<div id="orgbbfb204" class="figure">
<p><img src="figs/piezoelectric_stack.jpg" alt="piezoelectric_stack.jpg" width="500px" />
@ -1607,9 +1606,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#org62
</div>
</div>
<div id="outline-container-org21e1e52" class="outline-4">
<h4 id="org21e1e52">Function description</h4>
<div class="outline-text-4" id="text-org21e1e52">
<div id="outline-container-orgfc83159" class="outline-4">
<h4 id="orgfc83159">Function description</h4>
<div class="outline-text-4" id="text-orgfc83159">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">initializeStrutDynamics</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% initializeStrutDynamics - Add Stiffness and Damping properties of each strut</span>
@ -1631,9 +1630,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#org62
</div>
</div>
<div id="outline-container-orgd9bda04" class="outline-4">
<h4 id="orgd9bda04">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgd9bda04">
<div id="outline-container-org8756943" class="outline-4">
<h4 id="org8756943">Optional Parameters</h4>
<div class="outline-text-4" id="text-org8756943">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@ -1660,8 +1659,8 @@ stewart.actuators.C = args.C;
</div>
<div id="outline-container-orgd8d403e" class="outline-3">
<h3 id="orgd8d403e"><code>initializeAmplifiedStrutDynamics</code>: Add Stiffness and Damping properties of each strut for an amplified piezoelectric actuator</h3>
<div class="outline-text-3" id="text-orgd8d403e">
<h3 id="orgd8d403e"><span class="section-number-3">5.9</span> <code>initializeAmplifiedStrutDynamics</code>: Add Stiffness and Damping properties of each strut for an amplified piezoelectric actuator</h3>
<div class="outline-text-3" id="text-5-9">
<p>
<a id="org7d40eca"></a>
</p>
@ -1671,9 +1670,9 @@ This Matlab function is accessible <a href="src/initializeAmplifiedStrutDynamics
</p>
</div>
<div id="outline-container-org8ba232a" class="outline-4">
<h4 id="org8ba232a">Documentation</h4>
<div class="outline-text-4" id="text-org8ba232a">
<div id="outline-container-org11b907a" class="outline-4">
<h4 id="org11b907a">Documentation</h4>
<div class="outline-text-4" id="text-org11b907a">
<p>
An amplified piezoelectric actuator is shown in Figure <a href="#org9e7e9ad">13</a>.
</p>
@ -1706,9 +1705,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#orgcf
</div>
</div>
<div id="outline-container-org7b6e247" class="outline-4">
<h4 id="org7b6e247">Function description</h4>
<div class="outline-text-4" id="text-org7b6e247">
<div id="outline-container-orgc9ac7ad" class="outline-4">
<h4 id="orgc9ac7ad">Function description</h4>
<div class="outline-text-4" id="text-orgc9ac7ad">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">initializeAmplifiedStrutDynamics</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% initializeAmplifiedStrutDynamics - Add Stiffness and Damping properties of each strut</span>
@ -1736,9 +1735,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#orgcf
</div>
</div>
<div id="outline-container-org936848c" class="outline-4">
<h4 id="org936848c">Optional Parameters</h4>
<div class="outline-text-4" id="text-org936848c">
<div id="outline-container-org2508e19" class="outline-4">
<h4 id="org2508e19">Optional Parameters</h4>
<div class="outline-text-4" id="text-org2508e19">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@ -1763,9 +1762,9 @@ C = args.Ca <span class="org-type">+</span> args.Cr;
</div>
</div>
<div id="outline-container-orgd78e8b0" class="outline-4">
<h4 id="orgd78e8b0">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-orgd78e8b0">
<div id="outline-container-org933fa09" class="outline-4">
<h4 id="org933fa09">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-org933fa09">
<div class="org-src-container">
<pre class="src src-matlab">stewart.actuators.type = 2;
@ -1784,8 +1783,8 @@ stewart.actuators.C = K;
</div>
<div id="outline-container-orgeb6173a" class="outline-3">
<h3 id="orgeb6173a"><code>initializeJointDynamics</code>: Add Stiffness and Damping properties for spherical joints</h3>
<div class="outline-text-3" id="text-orgeb6173a">
<h3 id="orgeb6173a"><span class="section-number-3">5.10</span> <code>initializeJointDynamics</code>: Add Stiffness and Damping properties for spherical joints</h3>
<div class="outline-text-3" id="text-5-10">
<p>
<a id="org0d21456"></a>
</p>
@ -1795,9 +1794,9 @@ This Matlab function is accessible <a href="src/initializeJointDynamics.m">here<
</p>
</div>
<div id="outline-container-org051062f" class="outline-4">
<h4 id="org051062f">Function description</h4>
<div class="outline-text-4" id="text-org051062f">
<div id="outline-container-orgea4c71f" class="outline-4">
<h4 id="orgea4c71f">Function description</h4>
<div class="outline-text-4" id="text-orgea4c71f">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">initializeJointDynamics</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% initializeJointDynamics - Add Stiffness and Damping properties for the spherical joints</span>
@ -1832,9 +1831,9 @@ This Matlab function is accessible <a href="src/initializeJointDynamics.m">here<
</div>
</div>
<div id="outline-container-orgf57427f" class="outline-4">
<h4 id="orgf57427f">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgf57427f">
<div id="outline-container-orgbb42633" class="outline-4">
<h4 id="orgbb42633">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgbb42633">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@ -1949,8 +1948,8 @@ stewart.joints_F.Ct = args.Cf_F;
</div>
<div id="outline-container-orgea07e0e" class="outline-3">
<h3 id="orgea07e0e"><code>initializeInertialSensor</code>: Initialize the inertial sensor in each strut</h3>
<div class="outline-text-3" id="text-orgea07e0e">
<h3 id="orgea07e0e"><span class="section-number-3">5.11</span> <code>initializeInertialSensor</code>: Initialize the inertial sensor in each strut</h3>
<div class="outline-text-3" id="text-5-11">
<p>
<a id="orgd96277a"></a>
</p>
@ -1960,9 +1959,9 @@ This Matlab function is accessible <a href="src/initializeInertialSensor.m">here
</p>
</div>
<div id="outline-container-org86c4462" class="outline-4">
<h4 id="org86c4462">Function description</h4>
<div class="outline-text-4" id="text-org86c4462">
<div id="outline-container-org2462fa5" class="outline-4">
<h4 id="org2462fa5">Function description</h4>
<div class="outline-text-4" id="text-org2462fa5">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">initializeInertialSensor</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% initializeInertialSensor - Initialize the inertial sensor in each strut</span>
@ -1988,9 +1987,9 @@ This Matlab function is accessible <a href="src/initializeInertialSensor.m">here
</div>
</div>
<div id="outline-container-org6d69ef4" class="outline-4">
<h4 id="org6d69ef4">Optional Parameters</h4>
<div class="outline-text-4" id="text-org6d69ef4">
<div id="outline-container-orgcc6ded4" class="outline-4">
<h4 id="orgcc6ded4">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgcc6ded4">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@ -2031,9 +2030,9 @@ This Matlab function is accessible <a href="src/initializeInertialSensor.m">here
</div>
</div>
<div id="outline-container-orgbf82c53" class="outline-4">
<h4 id="orgbf82c53">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-orgbf82c53">
<div id="outline-container-org37e6016" class="outline-4">
<h4 id="org37e6016">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-org37e6016">
<div class="org-src-container">
<pre class="src src-matlab">stewart.sensors.inertial = sensor;
</pre>
@ -2043,8 +2042,8 @@ This Matlab function is accessible <a href="src/initializeInertialSensor.m">here
</div>
<div id="outline-container-org5266e9d" class="outline-3">
<h3 id="org5266e9d"><code>displayArchitecture</code>: 3D plot of the Stewart platform architecture</h3>
<div class="outline-text-3" id="text-org5266e9d">
<h3 id="org5266e9d"><span class="section-number-3">5.12</span> <code>displayArchitecture</code>: 3D plot of the Stewart platform architecture</h3>
<div class="outline-text-3" id="text-5-12">
<p>
<a id="org5526211"></a>
</p>
@ -2054,9 +2053,9 @@ This Matlab function is accessible <a href="src/displayArchitecture.m">here</a>.
</p>
</div>
<div id="outline-container-orgfcc25cc" class="outline-4">
<h4 id="orgfcc25cc">Function description</h4>
<div class="outline-text-4" id="text-orgfcc25cc">
<div id="outline-container-orgdd7c996" class="outline-4">
<h4 id="orgdd7c996">Function description</h4>
<div class="outline-text-4" id="text-orgdd7c996">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[]</span> = <span class="org-function-name">displayArchitecture</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% displayArchitecture - 3D plot of the Stewart platform architecture</span>
@ -2084,9 +2083,9 @@ This Matlab function is accessible <a href="src/displayArchitecture.m">here</a>.
</div>
</div>
<div id="outline-container-org51d9478" class="outline-4">
<h4 id="org51d9478">Optional Parameters</h4>
<div class="outline-text-4" id="text-org51d9478">
<div id="outline-container-org99b2163" class="outline-4">
<h4 id="org99b2163">Optional Parameters</h4>
<div class="outline-text-4" id="text-org99b2163">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@ -2106,9 +2105,9 @@ This Matlab function is accessible <a href="src/displayArchitecture.m">here</a>.
</div>
</div>
<div id="outline-container-org1ee899b" class="outline-4">
<h4 id="org1ee899b">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org1ee899b">
<div id="outline-container-org9e5d50c" class="outline-4">
<h4 id="org9e5d50c">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org9e5d50c">
<div class="org-src-container">
<pre class="src src-matlab">assert(isfield(stewart.platform_F, <span class="org-string">'FO_A'</span>), <span class="org-string">'stewart.platform_F should have attribute FO_A'</span>)
FO_A = stewart.platform_F.FO_A;
@ -2365,8 +2364,8 @@ Plot the legs connecting the joints of the fixed base to the joints of the mobil
</div>
<div id="outline-container-org81be27b" class="outline-4">
<h4 id="org81be27b">Figure parameters</h4>
<div class="outline-text-4" id="text-org81be27b">
<h4 id="org81be27b"><span class="section-number-4">5.12.1</span> Figure parameters</h4>
<div class="outline-text-4" id="text-5-12-1">
<div class="org-src-container">
<pre class="src src-matlab">view([1 <span class="org-type">-</span>0.6 0.4]);
<span class="org-type">axis</span> equal;
@ -2387,7 +2386,7 @@ Plot the legs connecting the joints of the fixed base to the joints of the mobil
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:23</p>
<p class="date">Created: 2020-02-11 mar. 15:50</p>
</div>
</body>
</html>

View File

@ -1,5 +1,11 @@
#+TITLE: Stewart Platform - Decentralized Active Damping
:DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./index.html
@ -23,11 +29,13 @@
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
#+PROPERTY: header-args:latex+ :results raw replace :buffer no
#+PROPERTY: header-args:latex+ :results file raw replace
#+PROPERTY: header-args:latex+ :buffer no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports both
#+PROPERTY: header-args:latex+ :exports results
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END:
* Introduction :ignore:
@ -54,7 +62,7 @@ The following decentralized active damping techniques are briefly studied:
#+end_src
#+begin_src matlab
simulinkproject('./');
simulinkproject('../');
#+end_src
#+begin_src matlab
@ -283,7 +291,7 @@ The root locus is shown in figure [[fig:root_locus_inertial_rot_stiffness]] and
#+end_src
#+begin_src matlab
simulinkproject('./');
simulinkproject('../');
#+end_src
#+begin_src matlab
@ -516,7 +524,7 @@ The root locus is shown in figure [[fig:root_locus_iff_rot_stiffness]] and the o
#+end_src
#+begin_src matlab
simulinkproject('./');
simulinkproject('../');
#+end_src
#+begin_src matlab

View File

@ -1,5 +1,11 @@
#+TITLE: Stewart Platform - Control Study
:DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./index.html
@ -26,7 +32,7 @@
#+PROPERTY: header-args:latex+ :results file raw replace
#+PROPERTY: header-args:latex+ :buffer no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports both
#+PROPERTY: header-args:latex+ :exports results
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
@ -43,7 +49,7 @@
#+end_src
#+begin_src matlab
simulinkproject('./');
simulinkproject('../');
#+end_src
** Control Schematic

View File

@ -1,5 +1,11 @@
#+TITLE: Cubic configuration for the Stewart Platform
:DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./index.html
@ -11,7 +17,6 @@
#+HTML_HEAD: <script src="./js/readtheorg.js"></script>
#+PROPERTY: header-args:matlab :session *MATLAB*
#+PROPERTY: header-args:matlab+ :tangle matlab/cubic_configuration.m
#+PROPERTY: header-args:matlab+ :comments org
#+PROPERTY: header-args:matlab+ :exports both
#+PROPERTY: header-args:matlab+ :results none
@ -24,11 +29,13 @@
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
#+PROPERTY: header-args:latex+ :results raw replace :buffer no
#+PROPERTY: header-args:latex+ :results file raw replace
#+PROPERTY: header-args:latex+ :buffer no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports both
#+PROPERTY: header-args:latex+ :exports results
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END:
* Introduction :ignore:
@ -58,7 +65,7 @@ The goal is to study the benefits of using a cubic configuration:
#+end_src
#+begin_src matlab :results none :exports none
simulinkproject('./');
simulinkproject('../');
#+end_src
** Cubic Stewart platform centered with the cube center - Jacobian estimated at the cube center

View File

@ -1,5 +1,11 @@
#+TITLE: Stewart Platform - Dynamics Study
:DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./index.html
@ -23,11 +29,13 @@
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
#+PROPERTY: header-args:latex+ :results raw replace :buffer no
#+PROPERTY: header-args:latex+ :results file raw replace
#+PROPERTY: header-args:latex+ :buffer no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports both
#+PROPERTY: header-args:latex+ :exports results
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END:
* Some tests
@ -41,7 +49,7 @@
#+end_src
#+begin_src matlab
simulinkproject('./');
simulinkproject('../');
#+end_src
** Simscape Model

View File

@ -1,5 +1,11 @@
#+TITLE: Identification of the Stewart Platform using Simscape
:DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./index.html
@ -11,7 +17,6 @@
#+HTML_HEAD: <script src="./js/readtheorg.js"></script>
#+PROPERTY: header-args:matlab :session *MATLAB*
#+PROPERTY: header-args:matlab+ :tangle matlab/identification.m
#+PROPERTY: header-args:matlab+ :comments org
#+PROPERTY: header-args:matlab+ :exports both
#+PROPERTY: header-args:matlab+ :results none
@ -24,11 +29,13 @@
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
#+PROPERTY: header-args:latex+ :results raw replace :buffer no
#+PROPERTY: header-args:latex+ :results file raw replace
#+PROPERTY: header-args:latex+ :buffer no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports both
#+PROPERTY: header-args:latex+ :exports results
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END:
* Introduction :ignore:
@ -68,7 +75,7 @@ An important difference from basic Simulink models is that the states in a physi
#+end_src
#+begin_src matlab :results none :exports none
simulinkproject('./');
simulinkproject('../');
#+end_src
** Simscape Model
@ -126,7 +133,7 @@ An important difference from basic Simulink models is that the states in a physi
#+end_src
#+begin_src matlab :results none :exports none
simulinkproject('./');
simulinkproject('../');
#+end_src
** Initialize the Stewart Platform
@ -355,7 +362,7 @@ Save the movie of the mode shape.
#+end_src
#+begin_src matlab :results none :exports none
simulinkproject('./');
simulinkproject('../');
#+end_src
** Simscape Model

View File

@ -1,5 +1,11 @@
#+TITLE: Kinematic Study of the Stewart Platform
:DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./index.html
@ -23,11 +29,13 @@
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
#+PROPERTY: header-args:latex+ :results raw replace :buffer no
#+PROPERTY: header-args:latex+ :results file raw replace
#+PROPERTY: header-args:latex+ :buffer no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports both
#+PROPERTY: header-args:latex+ :exports results
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END:
* Introduction :ignore:
@ -230,7 +238,7 @@ This will also gives us the range for which the approximate forward kinematic is
#+end_src
#+begin_src matlab :results none :exports none
simulinkproject('./');
simulinkproject('../');
#+end_src
*** Stewart architecture definition
@ -336,7 +344,7 @@ This is what is analyzed in this section.
#+end_src
#+begin_src matlab :results none :exports none
simulinkproject('./');
simulinkproject('../');
#+end_src
** Stewart architecture definition
@ -493,7 +501,7 @@ However, for small displacements, we can use the Jacobian as an approximate solu
#+end_src
#+begin_src matlab :results none :exports none
simulinkproject('./');
simulinkproject('../');
#+end_src
** Stewart architecture definition

View File

@ -1,5 +1,11 @@
#+TITLE: Stewart Platform - Simscape Model
:DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./index.html
@ -23,11 +29,13 @@
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
#+PROPERTY: header-args:latex+ :results raw replace :buffer no
#+PROPERTY: header-args:latex+ :results file raw replace
#+PROPERTY: header-args:latex+ :buffer no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports both
#+PROPERTY: header-args:latex+ :exports results
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END:
* Introduction :ignore:
@ -52,7 +60,6 @@ Thus, nothing should be changed by hand inside the Simscape model.
The main advantage to have all the parameters defined in one structure (and not hard-coded in some simulink blocs) it that we can easily change the Stewart architecture/parameters in a Matlab script to perform some parametric study for instance.
* Simulation Configuration - Configuration reference
<<sec:simulink_configuration>>
As multiple simulink files will be used for simulation and tests, it is very useful to determine good simulation configuration that will be *shared* among all the simulink files.

View File

@ -9,39 +9,33 @@
#+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./index.html
#+OPTIONS: toc:nil
#+OPTIONS: html-postamble:nil
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
#+HTML_HEAD: <script type="text/javascript" src="./js/jquery.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="./js/bootstrap.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="./js/readtheorg.js"></script>
#+HTML_MATHJAX: align: center tagside: right font: TeX
#+HTML_HEAD: <script src="./js/jquery.min.js"></script>
#+HTML_HEAD: <script src="./js/bootstrap.min.js"></script>
#+HTML_HEAD: <script src="./js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script src="./js/readtheorg.js"></script>
#+PROPERTY: header-args:matlab :session *MATLAB*
#+PROPERTY: header-args:matlab+ :comments org
#+PROPERTY: header-args:matlab+ :results none
#+PROPERTY: header-args:matlab+ :exports both
#+PROPERTY: header-args:matlab+ :results none
#+PROPERTY: header-args:matlab+ :eval no-export
#+PROPERTY: header-args:matlab+ :output-dir figs
#+PROPERTY: header-args:matlab+ :tangle no
#+PROPERTY: header-args:matlab+ :noweb yes
#+PROPERTY: header-args:matlab+ :mkdirp yes
#+PROPERTY: header-args:shell :eval no-export
#+PROPERTY: header-args:matlab+ :output-dir figs
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/thesis/latex/}{config.tex}")
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
#+PROPERTY: header-args:latex+ :results raw replace :buffer no
#+PROPERTY: header-args:latex+ :results file raw replace
#+PROPERTY: header-args:latex+ :buffer no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports both
#+PROPERTY: header-args:latex+ :exports results
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END:
A Simulink Project is used for the study of Stewart platforms using Simscape.
@ -59,7 +53,7 @@ From the [[https://mathworks.com/products/simulink/projects.html][Simulink proje
The project can be opened using the =simulinkproject= function:
#+begin_src matlab
simulinkproject('./');
simulinkproject('../');
#+end_src
When the project opens, a startup script is ran.

View File

@ -1,5 +1,11 @@
#+TITLE: Stewart Platform - Static Analysis
:DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./index.html
@ -10,16 +16,6 @@
#+HTML_HEAD: <script src="./js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script src="./js/readtheorg.js"></script>
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/thesis/latex/}{config.tex}")
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
#+PROPERTY: header-args:latex+ :results raw replace :buffer no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports both
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:matlab :session *MATLAB*
#+PROPERTY: header-args:matlab+ :comments org
#+PROPERTY: header-args:matlab+ :exports both
@ -28,6 +24,18 @@
#+PROPERTY: header-args:matlab+ :noweb yes
#+PROPERTY: header-args:matlab+ :mkdirp yes
#+PROPERTY: header-args:matlab+ :output-dir figs
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/thesis/latex/}{config.tex}")
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
#+PROPERTY: header-args:latex+ :results file raw replace
#+PROPERTY: header-args:latex+ :buffer no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports results
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END:
* Coupling

View File

@ -1,5 +1,11 @@
#+TITLE: Stewart Platform - Definition of the Architecture
:DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./index.html
@ -200,7 +206,7 @@ By following this procedure, we obtain a Matlab structure =stewart= that contain
#+end_src
#+begin_src matlab
simulinkproject('./');
simulinkproject('../');
#+end_src
** Example of the initialization of a Stewart Platform