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"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2020-02-11 mar. 15:26 --> <!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Decentralized Active Damping</title> <title>Stewart Platform - Decentralized Active Damping</title>
@ -268,28 +268,28 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgd59c804">Inertial Control</a> <li><a href="#orgd59c804">1. Inertial Control</a>
<ul> <ul>
<li><a href="#org5f749c8">Identification of the Dynamics</a></li> <li><a href="#org5f749c8">1.1. Identification of the Dynamics</a></li>
<li><a href="#org543be7a">Effect of the Flexible Joint stiffness on the Dynamics</a></li> <li><a href="#org41a6913">1.2. Effect of the Flexible Joint stiffness on the Dynamics</a></li>
<li><a href="#org9a605b4">Obtained Damping</a></li> <li><a href="#orgbcd94dc">1.3. Obtained Damping</a></li>
<li><a href="#org42a74ed">Conclusion</a></li> <li><a href="#orgb81ed64">1.4. Conclusion</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org74c7eb4">Integral Force Feedback</a> <li><a href="#org74c7eb4">2. Integral Force Feedback</a>
<ul> <ul>
<li><a href="#orgc96f772">Identification of the Dynamics with perfect Joints</a></li> <li><a href="#org04cb1dc">2.1. 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="#org7f576ce">2.2. Effect of the Flexible Joint stiffness on the Dynamics</a></li>
<li><a href="#org2b5e45a">Obtained Damping</a></li> <li><a href="#orgb927f01">2.3. Obtained Damping</a></li>
<li><a href="#org39ddf1e">Conclusion</a></li> <li><a href="#orgf5f2135">2.4. Conclusion</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org08917d6">Direct Velocity Feedback</a> <li><a href="#org08917d6">3. Direct Velocity Feedback</a>
<ul> <ul>
<li><a href="#org243b924">Identification of the Dynamics with perfect Joints</a></li> <li><a href="#orgbfe0af6">3.1. 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="#org62438da">3.2. Effect of the Flexible Joint stiffness on the Dynamics</a></li>
<li><a href="#orgff0cbf9">Obtained Damping</a></li> <li><a href="#orgb4fcddf">3.3. Obtained Damping</a></li>
<li><a href="#org4027234">Conclusion</a></li> <li><a href="#org31a4bb6">3.4. Conclusion</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -300,22 +300,22 @@ for the JavaScript code in this tag.
The following decentralized active damping techniques are briefly studied: The following decentralized active damping techniques are briefly studied:
</p> </p>
<ul class="org-ul"> <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>Inertial Control (proportional feedback of the absolute velocity): Section <a href="#orgeb37c7d">1</a></li>
<li>Integral Force Feedback: Section <a href="#orgab5e6b5">No description for this link</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">No description for this link</a></li> <li>Direct feedback of the relative velocity of each strut: Section <a href="#org0aa816a">3</a></li>
</ul> </ul>
<div id="outline-container-orgd59c804" class="outline-2"> <div id="outline-container-orgd59c804" class="outline-2">
<h2 id="orgd59c804">Inertial Control</h2> <h2 id="orgd59c804"><span class="section-number-2">1</span> Inertial Control</h2>
<div class="outline-text-2" id="text-orgd59c804"> <div class="outline-text-2" id="text-1">
<p> <p>
<a id="orgeb37c7d"></a> <a id="orgeb37c7d"></a>
</p> </p>
</div> </div>
<div id="outline-container-org5f749c8" class="outline-3"> <div id="outline-container-org5f749c8" class="outline-3">
<h3 id="org5f749c8">Identification of the Dynamics</h3> <h3 id="org5f749c8"><span class="section-number-3">1.1</span> Identification of the Dynamics</h3>
<div class="outline-text-3" id="text-org5f749c8"> <div class="outline-text-3" id="text-1-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">stewart = initializeStewartPlatform(); <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); 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> </div>
<div id="outline-container-org543be7a" class="outline-3"> <div id="outline-container-org41a6913" class="outline-3">
<h3 id="org543be7a">Effect of the Flexible Joint stiffness on the Dynamics</h3> <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-org543be7a"> <div class="outline-text-3" id="text-1-2">
<p> <p>
We add some stiffness and damping in the flexible joints and we re-identify the dynamics. We add some stiffness and damping in the flexible joints and we re-identify the dynamics.
</p> </p>
@ -388,9 +388,9 @@ The new dynamics from force actuator to force sensor is shown in Figure <a href=
</div> </div>
</div> </div>
<div id="outline-container-org9a605b4" class="outline-3"> <div id="outline-container-orgbcd94dc" class="outline-3">
<h3 id="org9a605b4">Obtained Damping</h3> <h3 id="orgbcd94dc"><span class="section-number-3">1.3</span> Obtained Damping</h3>
<div class="outline-text-3" id="text-org9a605b4"> <div class="outline-text-3" id="text-1-3">
<p> <p>
The control is a performed in a decentralized manner. 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: 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> </div>
<div id="outline-container-org42a74ed" class="outline-3"> <div id="outline-container-orgb81ed64" class="outline-3">
<h3 id="org42a74ed">Conclusion</h3> <h3 id="orgb81ed64"><span class="section-number-3">1.4</span> Conclusion</h3>
<div class="outline-text-3" id="text-org42a74ed"> <div class="outline-text-3" id="text-1-4">
<div class="important"> <div class="important">
<p> <p>
Joint stiffness does increase the resonance frequencies of the system but does not change the attainable damping when using relative motion sensors. 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>
<div id="outline-container-org74c7eb4" class="outline-2"> <div id="outline-container-org74c7eb4" class="outline-2">
<h2 id="org74c7eb4">Integral Force Feedback</h2> <h2 id="org74c7eb4"><span class="section-number-2">2</span> Integral Force Feedback</h2>
<div class="outline-text-2" id="text-org74c7eb4"> <div class="outline-text-2" id="text-2">
<p> <p>
<a id="orgab5e6b5"></a> <a id="orgab5e6b5"></a>
</p> </p>
</div> </div>
<div id="outline-container-orgc96f772" class="outline-3"> <div id="outline-container-org04cb1dc" class="outline-3">
<h3 id="orgc96f772">Identification of the Dynamics with perfect Joints</h3> <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-orgc96f772"> <div class="outline-text-3" id="text-2-1">
<p> <p>
We first initialize the Stewart platform without joint stiffness. We first initialize the Stewart platform without joint stiffness.
</p> </p>
@ -498,9 +498,9 @@ The transfer function from actuator forces to force sensors is shown in Figure <
</div> </div>
</div> </div>
<div id="outline-container-orgd119d8a" class="outline-3"> <div id="outline-container-org7f576ce" class="outline-3">
<h3 id="orgd119d8a">Effect of the Flexible Joint stiffness on the Dynamics</h3> <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-orgd119d8a"> <div class="outline-text-3" id="text-2-2">
<p> <p>
We add some stiffness and damping in the flexible joints and we re-identify the dynamics. We add some stiffness and damping in the flexible joints and we re-identify the dynamics.
</p> </p>
@ -524,9 +524,9 @@ The new dynamics from force actuator to force sensor is shown in Figure <a href=
</div> </div>
</div> </div>
<div id="outline-container-org2b5e45a" class="outline-3"> <div id="outline-container-orgb927f01" class="outline-3">
<h3 id="org2b5e45a">Obtained Damping</h3> <h3 id="orgb927f01"><span class="section-number-3">2.3</span> Obtained Damping</h3>
<div class="outline-text-3" id="text-org2b5e45a"> <div class="outline-text-3" id="text-2-3">
<p> <p>
The control is a performed in a decentralized manner. 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: 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> </div>
<div id="outline-container-org39ddf1e" class="outline-3"> <div id="outline-container-orgf5f2135" class="outline-3">
<h3 id="org39ddf1e">Conclusion</h3> <h3 id="orgf5f2135"><span class="section-number-3">2.4</span> Conclusion</h3>
<div class="outline-text-3" id="text-org39ddf1e"> <div class="outline-text-3" id="text-2-4">
<div class="important"> <div class="important">
<p> <p>
The joint stiffness has a huge impact on the attainable active damping performance when using force sensors. 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>
<div id="outline-container-org08917d6" class="outline-2"> <div id="outline-container-org08917d6" class="outline-2">
<h2 id="org08917d6">Direct Velocity Feedback</h2> <h2 id="org08917d6"><span class="section-number-2">3</span> Direct Velocity Feedback</h2>
<div class="outline-text-2" id="text-org08917d6"> <div class="outline-text-2" id="text-3">
<p> <p>
<a id="org0aa816a"></a> <a id="org0aa816a"></a>
</p> </p>
</div> </div>
<div id="outline-container-org243b924" class="outline-3"> <div id="outline-container-orgbfe0af6" class="outline-3">
<h3 id="org243b924">Identification of the Dynamics with perfect Joints</h3> <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-org243b924"> <div class="outline-text-3" id="text-3-1">
<p> <p>
We first initialize the Stewart platform without joint stiffness. We first initialize the Stewart platform without joint stiffness.
</p> </p>
@ -635,9 +635,9 @@ The transfer function from actuator forces to relative motion sensors is shown i
</div> </div>
<div id="outline-container-orgcdb3ee5" class="outline-3"> <div id="outline-container-org62438da" class="outline-3">
<h3 id="orgcdb3ee5">Effect of the Flexible Joint stiffness on the Dynamics</h3> <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-orgcdb3ee5"> <div class="outline-text-3" id="text-3-2">
<p> <p>
We add some stiffness and damping in the flexible joints and we re-identify the dynamics. We add some stiffness and damping in the flexible joints and we re-identify the dynamics.
</p> </p>
@ -661,9 +661,9 @@ The new dynamics from force actuator to relative motion sensor is shown in Figur
</div> </div>
</div> </div>
<div id="outline-container-orgff0cbf9" class="outline-3"> <div id="outline-container-orgb4fcddf" class="outline-3">
<h3 id="orgff0cbf9">Obtained Damping</h3> <h3 id="orgb4fcddf"><span class="section-number-3">3.3</span> Obtained Damping</h3>
<div class="outline-text-3" id="text-orgff0cbf9"> <div class="outline-text-3" id="text-3-3">
<p> <p>
The control is a performed in a decentralized manner. 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: 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> </div>
<div id="outline-container-org4027234" class="outline-3"> <div id="outline-container-org31a4bb6" class="outline-3">
<h3 id="org4027234">Conclusion</h3> <h3 id="org31a4bb6"><span class="section-number-3">3.4</span> Conclusion</h3>
<div class="outline-text-3" id="text-org4027234"> <div class="outline-text-3" id="text-3-4">
<div class="important"> <div class="important">
<p> <p>
Joint stiffness does increase the resonance frequencies of the system but does not change the attainable damping when using relative motion sensors. 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>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p> <p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:26</p> <p class="date">Created: 2020-02-11 mar. 15:50</p>
</div> </div>
</body> </body>
</html> </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"?> <?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2020-02-11 mar. 15:23 --> <!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Control Study</title> <title>Stewart Platform - Control Study</title>
@ -269,13 +268,13 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgc1805a8">First Control Architecture</a> <li><a href="#orgc1805a8">1. First Control Architecture</a>
<ul> <ul>
<li><a href="#org066d914">Control Schematic</a></li> <li><a href="#org066d914">1.1. Control Schematic</a></li>
<li><a href="#org64f6d6b">Initialize the Stewart platform</a></li> <li><a href="#org64f6d6b">1.2. Initialize the Stewart platform</a></li>
<li><a href="#org4493ec7">Identification of the plant</a></li> <li><a href="#org4493ec7">1.3. Identification of the plant</a></li>
<li><a href="#org72dad5c">Plant Analysis</a></li> <li><a href="#org72dad5c">1.4. Plant Analysis</a></li>
<li><a href="#orga9fb0f5">Controller Design</a></li> <li><a href="#orga9fb0f5">1.5. Controller Design</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -283,30 +282,12 @@ for the JavaScript code in this tag.
</div> </div>
<div id="outline-container-orgc1805a8" class="outline-2"> <div id="outline-container-orgc1805a8" class="outline-2">
<h2 id="orgc1805a8">First Control Architecture</h2> <h2 id="orgc1805a8"><span class="section-number-2">1</span> First Control Architecture</h2>
<div class="outline-text-2" id="text-orgc1805a8"> <div class="outline-text-2" id="text-1">
</div> </div>
<div id="outline-container-org066d914" class="outline-3"> <div id="outline-container-org066d914" class="outline-3">
<h3 id="org066d914">Control Schematic</h3> <h3 id="org066d914"><span class="section-number-3">1.1</span> Control Schematic</h3>
<div class="outline-text-3" id="text-org066d914"> <div class="outline-text-3" id="text-1-1">
<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>
<div class="figure"> <div class="figure">
<p><img src="figs/control_measure_rotating_2dof.png" alt="control_measure_rotating_2dof.png" /> <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>
<div id="outline-container-org64f6d6b" class="outline-3"> <div id="outline-container-org64f6d6b" class="outline-3">
<h3 id="org64f6d6b">Initialize the Stewart platform</h3> <h3 id="org64f6d6b"><span class="section-number-3">1.2</span> Initialize the Stewart platform</h3>
<div class="outline-text-3" id="text-org64f6d6b"> <div class="outline-text-3" id="text-1-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">stewart = initializeStewartPlatform(); <pre class="src src-matlab">stewart = initializeStewartPlatform();
stewart = initializeFramesPositions(stewart); stewart = initializeFramesPositions(stewart);
@ -334,8 +315,8 @@ stewart = initializeStewartPose(stewart);
</div> </div>
<div id="outline-container-org4493ec7" class="outline-3"> <div id="outline-container-org4493ec7" class="outline-3">
<h3 id="org4493ec7">Identification of the plant</h3> <h3 id="org4493ec7"><span class="section-number-3">1.3</span> Identification of the plant</h3>
<div class="outline-text-3" id="text-org4493ec7"> <div class="outline-text-3" id="text-1-3">
<p> <p>
Let&rsquo;s identify the transfer function from \(\bm{\tau}}\) to \(\bm{L}\). Let&rsquo;s identify the transfer function from \(\bm{\tau}}\) to \(\bm{L}\).
</p> </p>
@ -362,8 +343,8 @@ G.OutputName = {<span class="org-string">'L1'</span>, <span class="org-string">'
</div> </div>
<div id="outline-container-org72dad5c" class="outline-3"> <div id="outline-container-org72dad5c" class="outline-3">
<h3 id="org72dad5c">Plant Analysis</h3> <h3 id="org72dad5c"><span class="section-number-3">1.4</span> Plant Analysis</h3>
<div class="outline-text-3" id="text-org72dad5c"> <div class="outline-text-3" id="text-1-4">
<p> <p>
Diagonal terms Diagonal terms
Compare to off-diagonal terms Compare to off-diagonal terms
@ -371,8 +352,8 @@ Compare to off-diagonal terms
</div> </div>
</div> </div>
<div id="outline-container-orga9fb0f5" class="outline-3"> <div id="outline-container-orga9fb0f5" class="outline-3">
<h3 id="orga9fb0f5">Controller Design</h3> <h3 id="orga9fb0f5"><span class="section-number-3">1.5</span> Controller Design</h3>
<div class="outline-text-3" id="text-orga9fb0f5"> <div class="outline-text-3" id="text-1-5">
<p> <p>
One integrator should be present in the controller. One integrator should be present in the controller.
</p> </p>
@ -401,7 +382,7 @@ Kl = Kl <span class="org-type">*</span> eye(6);
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p> <p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:23</p> <p class="date">Created: 2020-02-11 mar. 15:50</p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -4,7 +4,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2020-02-11 mar. 15:26 --> <!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Cubic configuration for the Stewart Platform</title> <title>Cubic configuration for the Stewart Platform</title>
@ -268,19 +268,19 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org8c6677e">Configuration Analysis - Stiffness Matrix</a> <li><a href="#org8c6677e">1. Configuration Analysis - Stiffness Matrix</a>
<ul> <ul>
<li><a href="#orgf6f7ad2">Cubic Stewart platform centered with the cube center - Jacobian estimated at the cube center</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">Cubic Stewart platform centered with the cube center - Jacobian not 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">Cubic Stewart platform not centered with the cube center - Jacobian estimated at the cube center</a></li> <li><a href="#orge02ec88">1.3. Cubic Stewart platform not centered with the cube center - Jacobian estimated at the cube center</a></li>
<li><a href="#org43fd7e4">Cubic Stewart platform not centered with the cube center - Jacobian estimated at the Stewart platform center</a></li> <li><a href="#org43fd7e4">1.4. Cubic Stewart platform not centered with the cube center - Jacobian estimated at the Stewart platform center</a></li>
<li><a href="#orgd35acc0">Conclusion</a></li> <li><a href="#orgd35acc0">1.5. Conclusion</a></li>
<li><a href="#org8afa645">Having Cube&rsquo;s center above the top platform</a></li> <li><a href="#org8afa645">1.6. Having Cube&rsquo;s center above the top platform</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org3044455">Functions</a> <li><a href="#org3044455">2. Functions</a>
<ul> <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> <ul>
<li><a href="#orga5a9ba8">Function description</a></li> <li><a href="#orga5a9ba8">Function description</a></li>
<li><a href="#org3253792">Documentation</a></li> <li><a href="#org3253792">Documentation</a></li>
@ -315,7 +315,7 @@ According to <a class='org-ref-reference' href="#preumont07_six_axis_singl_stage
</p> </p>
<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: The goal is to study the benefits of using a cubic configuration:
</p> </p>
<ul class="org-ul"> <ul class="org-ul">
@ -325,12 +325,12 @@ The goal is to study the benefits of using a cubic configuration:
</ul> </ul>
<div id="outline-container-org8c6677e" class="outline-2"> <div id="outline-container-org8c6677e" class="outline-2">
<h2 id="org8c6677e">Configuration Analysis - Stiffness Matrix</h2> <h2 id="org8c6677e"><span class="section-number-2">1</span> Configuration Analysis - Stiffness Matrix</h2>
<div class="outline-text-2" id="text-org8c6677e"> <div class="outline-text-2" id="text-1">
</div> </div>
<div id="outline-container-orgf6f7ad2" class="outline-3"> <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> <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-orgf6f7ad2"> <div class="outline-text-3" id="text-1-1">
<p> <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). 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. 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>
<div id="outline-container-orga88e79a" class="outline-3"> <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> <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-orga88e79a"> <div class="outline-text-3" id="text-1-2">
<p> <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>). 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. 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>
<div id="outline-container-orge02ec88" class="outline-3"> <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> <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-orge02ec88"> <div class="outline-text-3" id="text-1-3">
<p> <p>
Here, the &ldquo;center&rdquo; of the Stewart platform is not at the cube center (figure <a href="#org97b319c">4</a>). 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. 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>
<div id="outline-container-org43fd7e4" class="outline-3"> <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> <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-org43fd7e4"> <div class="outline-text-3" id="text-1-4">
<p> <p>
Here, the &ldquo;center&rdquo; of the Stewart platform is not at the cube center. 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. 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>
<div id="outline-container-orgd35acc0" class="outline-3"> <div id="outline-container-orgd35acc0" class="outline-3">
<h3 id="orgd35acc0">Conclusion</h3> <h3 id="orgd35acc0"><span class="section-number-3">1.5</span> Conclusion</h3>
<div class="outline-text-3" id="text-orgd35acc0"> <div class="outline-text-3" id="text-1-5">
<div class="important"> <div class="important">
<ul class="org-ul"> <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> <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>
<div id="outline-container-org8afa645" class="outline-3"> <div id="outline-container-org8afa645" class="outline-3">
<h3 id="org8afa645">Having Cube&rsquo;s center above the top platform</h3> <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-org8afa645"> <div class="outline-text-3" id="text-1-6">
<p> <p>
Let&rsquo;s say we want to have a decouple dynamics above the top platform. 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. 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>
<div id="outline-container-org3044455" class="outline-2"> <div id="outline-container-org3044455" class="outline-2">
<h2 id="org3044455">Functions</h2> <h2 id="org3044455"><span class="section-number-2">2</span> Functions</h2>
<div class="outline-text-2" id="text-org3044455"> <div class="outline-text-2" id="text-2">
<p> <p>
<a id="org28ba607"></a> <a id="org28ba607"></a>
</p> </p>
</div> </div>
<div id="outline-container-org56504f1" class="outline-3"> <div id="outline-container-org56504f1" class="outline-3">
<h3 id="org56504f1"><code>generateCubicConfiguration</code>: Generate a Cubic Configuration</h3> <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-org56504f1"> <div class="outline-text-3" id="text-2-1">
<p> <p>
<a id="orga8311d3"></a> <a id="orga8311d3"></a>
</p> </p>
@ -1039,7 +1039,7 @@ stewart.platform_M.Mb = Mb;
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p> <p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:26</p> <p class="date">Created: 2020-02-11 mar. 15:50</p>
</div> </div>
</body> </body>
</html> </html>

View File

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

View File

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

View File

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

View File

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

View File

@ -4,7 +4,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2020-02-11 mar. 15:26 --> <!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Simscape Model</title> <title>Stewart Platform - Simscape Model</title>
@ -268,27 +268,27 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgc6e0b93">Parameters used for the Simscape Model</a></li> <li><a href="#orgc6e0b93">1. Parameters used for the Simscape Model</a></li>
<li><a href="#org66977e8">Simulation Configuration - Configuration reference</a></li> <li><a href="#org66977e8">2. Simulation Configuration - Configuration reference</a></li>
<li><a href="#orgb2362eb">Subsystem Reference</a></li> <li><a href="#orgb2362eb">3. Subsystem Reference</a></li>
<li><a href="#orgdfad86d">Subsystem - Fixed base and Mobile Platform</a></li> <li><a href="#orgdfad86d">4. Subsystem - Fixed base and Mobile Platform</a></li>
<li><a href="#org9d4af75">Subsystem - Struts</a> <li><a href="#org9d4af75">5. Subsystem - Struts</a>
<ul> <ul>
<li><a href="#org45d9234">Strut Configuration</a></li> <li><a href="#org45d9234">5.1. Strut Configuration</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org7e2c432">Other Elements</a> <li><a href="#org7e2c432">6. Other Elements</a>
<ul> <ul>
<li><a href="#org4bdfc33">Z-Axis Geophone</a> <li><a href="#org4bdfc33">6.1. Z-Axis Geophone</a>
<ul> <ul>
<li><a href="#org60cad49">Working Principle</a></li> <li><a href="#org01abf4c">6.1.1. Working Principle</a></li>
<li><a href="#org48bfa57">Initialization function</a></li> <li><a href="#org5da3f93">6.1.2. Initialization function</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org99786f1">Z-Axis Accelerometer</a> <li><a href="#org99786f1">6.2. Z-Axis Accelerometer</a>
<ul> <ul>
<li><a href="#org631cd1a">Working Principle</a></li> <li><a href="#org01c45ef">6.2.1. Working Principle</a></li>
<li><a href="#org514425a">Initialization function</a></li> <li><a href="#orga80b649">6.2.2. Initialization function</a></li>
</ul> </ul>
</li> </li>
</ul> </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: It is divided in the following sections:
</p> </p>
<ul class="org-ul"> <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="#org8d965c3">1</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="#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">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="#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">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="#orga4915c4">4</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="#orgdb5206f">5</a>: The simscape model for the Stewart platform struts is described in this section.</li>
</ul> </ul>
<div id="outline-container-orgc6e0b93" class="outline-2"> <div id="outline-container-orgc6e0b93" class="outline-2">
<h2 id="orgc6e0b93">Parameters used for the Simscape Model</h2> <h2 id="orgc6e0b93"><span class="section-number-2">1</span> Parameters used for the Simscape Model</h2>
<div class="outline-text-2" id="text-orgc6e0b93"> <div class="outline-text-2" id="text-1">
<p> <p>
<a id="org8d965c3"></a> <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>. 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> </div>
<div id="outline-container-org66977e8" class="outline-2"> <div id="outline-container-org66977e8" class="outline-2">
<h2 id="org66977e8">Simulation Configuration - Configuration reference</h2> <h2 id="org66977e8"><span class="section-number-2">2</span> Simulation Configuration - Configuration reference</h2>
<div class="outline-text-2" id="text-org66977e8"> <div class="outline-text-2" id="text-2">
<p> <p>
<a id="org354bfdb"></a> <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. 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>
<div id="outline-container-orgb2362eb" class="outline-2"> <div id="outline-container-orgb2362eb" class="outline-2">
<h2 id="orgb2362eb">Subsystem Reference</h2> <h2 id="orgb2362eb"><span class="section-number-2">3</span> Subsystem Reference</h2>
<div class="outline-text-2" id="text-orgb2362eb"> <div class="outline-text-2" id="text-3">
<p> <p>
<a id="org66bbae2"></a> <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. 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>
<div id="outline-container-orgdfad86d" class="outline-2"> <div id="outline-container-orgdfad86d" class="outline-2">
<h2 id="orgdfad86d">Subsystem - Fixed base and Mobile Platform</h2> <h2 id="orgdfad86d"><span class="section-number-2">4</span> Subsystem - Fixed base and Mobile Platform</h2>
<div class="outline-text-2" id="text-orgdfad86d"> <div class="outline-text-2" id="text-4">
<p> <p>
<a id="orga4915c4"></a> <a id="orga4915c4"></a>
Both the fixed base and the mobile platform simscape models share many similarities. 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>
<div id="outline-container-org9d4af75" class="outline-2"> <div id="outline-container-org9d4af75" class="outline-2">
<h2 id="org9d4af75">Subsystem - Struts</h2> <h2 id="org9d4af75"><span class="section-number-2">5</span> Subsystem - Struts</h2>
<div class="outline-text-2" id="text-org9d4af75"> <div class="outline-text-2" id="text-5">
<p> <p>
<a id="orgdb5206f"></a> <a id="orgdb5206f"></a>
</p> </p>
</div> </div>
<div id="outline-container-org45d9234" class="outline-3"> <div id="outline-container-org45d9234" class="outline-3">
<h3 id="org45d9234">Strut Configuration</h3> <h3 id="org45d9234"><span class="section-number-3">5.1</span> Strut Configuration</h3>
<div class="outline-text-3" id="text-org45d9234"> <div class="outline-text-3" id="text-5-1">
<p> <p>
For the Stewart platform, the 6 struts are identical. 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>. 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>
<div id="outline-container-org7e2c432" class="outline-2"> <div id="outline-container-org7e2c432" class="outline-2">
<h2 id="org7e2c432">Other Elements</h2> <h2 id="org7e2c432"><span class="section-number-2">6</span> Other Elements</h2>
<div class="outline-text-2" id="text-org7e2c432"> <div class="outline-text-2" id="text-6">
</div> </div>
<div id="outline-container-org4bdfc33" class="outline-3"> <div id="outline-container-org4bdfc33" class="outline-3">
<h3 id="org4bdfc33">Z-Axis Geophone</h3> <h3 id="org4bdfc33"><span class="section-number-3">6.1</span> Z-Axis Geophone</h3>
<div class="outline-text-3" id="text-org4bdfc33"> <div class="outline-text-3" id="text-6-1">
</div> </div>
<div id="outline-container-org60cad49" class="outline-4"> <div id="outline-container-org01abf4c" class="outline-4">
<h4 id="org60cad49">Working Principle</h4> <h4 id="org01abf4c"><span class="section-number-4">6.1.1</span> Working Principle</h4>
<div class="outline-text-4" id="text-org60cad49"> <div class="outline-text-4" id="text-6-1-1">
<p> <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}\): 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} \] \[ \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> </div>
<div id="outline-container-org48bfa57" class="outline-4"> <div id="outline-container-org5da3f93" class="outline-4">
<h4 id="org48bfa57">Initialization function</h4> <h4 id="org5da3f93"><span class="section-number-4">6.1.2</span> Initialization function</h4>
<div class="outline-text-4" id="text-org48bfa57"> <div class="outline-text-4" id="text-6-1-2">
<p> <p>
<a id="orgd31bda9"></a> <a id="orgd31bda9"></a>
</p> </p>
@ -586,12 +585,12 @@ This Matlab function is accessible <a href="../src/initializeZAxisGeophone.m">he
</div> </div>
<div id="outline-container-org99786f1" class="outline-3"> <div id="outline-container-org99786f1" class="outline-3">
<h3 id="org99786f1">Z-Axis Accelerometer</h3> <h3 id="org99786f1"><span class="section-number-3">6.2</span> Z-Axis Accelerometer</h3>
<div class="outline-text-3" id="text-org99786f1"> <div class="outline-text-3" id="text-6-2">
</div> </div>
<div id="outline-container-org631cd1a" class="outline-4"> <div id="outline-container-org01c45ef" class="outline-4">
<h4 id="org631cd1a">Working Principle</h4> <h4 id="org01c45ef"><span class="section-number-4">6.2.1</span> Working Principle</h4>
<div class="outline-text-4" id="text-org631cd1a"> <div class="outline-text-4" id="text-6-2-1">
<p> <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\): 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} \] \[ \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> </div>
<div id="outline-container-org514425a" class="outline-4"> <div id="outline-container-orga80b649" class="outline-4">
<h4 id="org514425a">Initialization function</h4> <h4 id="orga80b649"><span class="section-number-4">6.2.2</span> Initialization function</h4>
<div class="outline-text-4" id="text-org514425a"> <div class="outline-text-4" id="text-6-2-2">
<p> <p>
<a id="orge91f65f"></a> <a id="orge91f65f"></a>
</p> </p>
@ -670,7 +669,7 @@ This Matlab function is accessible <a href="../src/initializeZAxisAccelerometer.
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p> <p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:26</p> <p class="date">Created: 2020-02-11 mar. 15:50</p>
</div> </div>
</body> </body>
</html> </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"?> <?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2020-02-11 mar. 15:23 --> <!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Simulink Project for the Stewart Simscape folder</title> <title>Simulink Project for the Stewart Simscape folder</title>
@ -197,11 +196,10 @@
</style> </style>
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/> <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/readtheorg.css"/>
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/> <script src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/jquery.min.js"></script> <script src="./js/bootstrap.min.js"></script>
<script type="text/javascript" src="./js/bootstrap.min.js"></script> <script src="./js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script> <script src="./js/readtheorg.js"></script>
<script type="text/javascript" src="./js/readtheorg.js"></script>
<script type="text/javascript"> <script type="text/javascript">
/* /*
@licstart The following is the entire license notice for the @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> </p>
<div class="org-src-container"> <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> </pre>
</div> </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. The project also permits to automatically add defined folder to the path when the project is opened.
</p> </p>
</div> </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> </body>
</html> </html>

View File

@ -4,7 +4,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2020-02-11 mar. 15:27 --> <!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Static Analysis</title> <title>Stewart Platform - Static Analysis</title>
@ -268,14 +268,14 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgc502e97">Coupling</a></li> <li><a href="#orgc502e97">1. Coupling</a></li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-orgc502e97" class="outline-2"> <div id="outline-container-orgc502e97" class="outline-2">
<h2 id="orgc502e97">Coupling</h2> <h2 id="orgc502e97"><span class="section-number-2">1</span> Coupling</h2>
<div class="outline-text-2" id="text-orgc502e97"> <div class="outline-text-2" id="text-1">
<p> <p>
What causes the coupling from \(F_i\) to \(X_i\) ? What causes the coupling from \(F_i\) to \(X_i\) ?
</p> </p>
@ -317,7 +317,7 @@ Thus, the system is uncoupled if \(G\) and \(K\) are diagonal.
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p> <p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:27</p> <p class="date">Created: 2020-02-11 mar. 15:50</p>
</div> </div>
</body> </body>
</html> </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"?> <?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2020-02-11 mar. 15:23 --> <!-- 2020-02-11 mar. 15:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Definition of the Architecture</title> <title>Stewart Platform - Definition of the Architecture</title>
@ -269,137 +268,137 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <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> <ul>
<li><a href="#org8fe4e0e">Frames Definition</a></li> <li><a href="#org8fe4e0e">1.1. Frames Definition</a></li>
<li><a href="#org1fc986a">Location of the Spherical Joints</a></li> <li><a href="#org1fc986a">1.2. Location of the Spherical Joints</a></li>
<li><a href="#org6a51c7d">Length and orientation of the struts</a></li> <li><a href="#org6a51c7d">1.3. Length and orientation of the struts</a></li>
<li><a href="#org9261b10">Rest Position of the Stewart platform</a></li> <li><a href="#org9261b10">1.4. Rest Position of the Stewart platform</a></li>
</ul> </ul>
</li> </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> <ul>
<li><a href="#orgd783c33">Inertia and Geometry of the Fixed and Mobile platforms</a></li> <li><a href="#orgd783c33">2.1. 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="#org126d465">2.2. Inertia and Geometry of the struts</a></li>
</ul> </ul>
</li> </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> <ul>
<li><a href="#orgdb7ce43">Stiffness and Damping of the Actuator</a></li> <li><a href="#orgdb7ce43">3.1. Stiffness and Damping of the Actuator</a></li>
<li><a href="#orgd5629d6">Stiffness and Damping of the Spherical Joints</a></li> <li><a href="#orgd5629d6">3.2. Stiffness and Damping of the Spherical Joints</a></li>
</ul> </ul>
</li> </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> <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> </ul>
</li> </li>
<li><a href="#org48340b4">Functions</a> <li><a href="#org48340b4">5. Functions</a>
<ul> <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> <ul>
<li><a href="#orgbc1420f">Documentation</a></li> <li><a href="#org076d07b">Documentation</a></li>
<li><a href="#org3c4d7d8">Function description</a></li> <li><a href="#org1612620">Function description</a></li>
<li><a href="#orgd567fc1">Initialize the Stewart structure</a></li> <li><a href="#orgd567fc1">Initialize the Stewart structure</a></li>
</ul> </ul>
</li> </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> <ul>
<li><a href="#org527c72f">Documentation</a></li> <li><a href="#orgf137e52">Documentation</a></li>
<li><a href="#orgb28c816">Function description</a></li> <li><a href="#orgef24367">Function description</a></li>
<li><a href="#org8bcc794">Optional Parameters</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="#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> </ul>
</li> </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> <ul>
<li><a href="#org8e00e26">Documentation</a></li> <li><a href="#org6686470">Documentation</a></li>
<li><a href="#orgd7988c9">Function description</a></li> <li><a href="#org8e0c109">Function description</a></li>
<li><a href="#orgbca44f1">Optional Parameters</a></li> <li><a href="#orge635bdc">Optional Parameters</a></li>
<li><a href="#org232e4c2">Compute the pose</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> </ul>
</li> </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> <ul>
<li><a href="#org7165251">Documentation</a></li> <li><a href="#orgd00ef90">Documentation</a></li>
<li><a href="#org67db014">Function description</a></li> <li><a href="#orga8f705b">Function description</a></li>
<li><a href="#org96d0ef3">Check the <code>stewart</code> structure elements</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="#org52b0d4c">Compute the position of the Joints</a></li>
<li><a href="#org4b76b0f">Compute the strut length and orientation</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="#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> </ul>
</li> </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> <ul>
<li><a href="#orgbe9f167">Function description</a></li> <li><a href="#orgfa57533">Function description</a></li>
<li><a href="#org9aa96f1">Optional Parameters</a></li> <li><a href="#orge534e6f">Optional Parameters</a></li>
<li><a href="#org3d3ef62">Use the Inverse Kinematic function</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> </ul>
</li> </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> <ul>
<li><a href="#org930d1f3">Function description</a></li> <li><a href="#org11374c9">Function description</a></li>
<li><a href="#orgf010fb9">Optional Parameters</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="#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> </ul>
</li> </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> <ul>
<li><a href="#orgc7d5120">Function description</a></li> <li><a href="#org7a6774e">Function description</a></li>
<li><a href="#orgfb4e3ed">Optional Parameters</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="#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> </ul>
</li> </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> <ul>
<li><a href="#org9075466">Documentation</a></li> <li><a href="#org063be5b">Documentation</a></li>
<li><a href="#org21e1e52">Function description</a></li> <li><a href="#orgfc83159">Function description</a></li>
<li><a href="#orgd9bda04">Optional Parameters</a></li> <li><a href="#org8756943">Optional Parameters</a></li>
<li><a href="#orgadb8327">Add Stiffness and Damping properties of each strut</a></li> <li><a href="#orgadb8327">Add Stiffness and Damping properties of each strut</a></li>
</ul> </ul>
</li> </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> <ul>
<li><a href="#org8ba232a">Documentation</a></li> <li><a href="#org11b907a">Documentation</a></li>
<li><a href="#org7b6e247">Function description</a></li> <li><a href="#orgc9ac7ad">Function description</a></li>
<li><a href="#org936848c">Optional Parameters</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="#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> </ul>
</li> </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> <ul>
<li><a href="#org051062f">Function description</a></li> <li><a href="#orgea4c71f">Function description</a></li>
<li><a href="#orgf57427f">Optional Parameters</a></li> <li><a href="#orgbb42633">Optional Parameters</a></li>
<li><a href="#orgc6d4183">Add Actuator Type</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="#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> <li><a href="#org04698fc">Add Stiffness and Damping in Rotation of each strut</a></li>
</ul> </ul>
</li> </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> <ul>
<li><a href="#org86c4462">Function description</a></li> <li><a href="#org2462fa5">Function description</a></li>
<li><a href="#org6d69ef4">Optional Parameters</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="#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> </ul>
</li> </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> <ul>
<li><a href="#orgfcc25cc">Function description</a></li> <li><a href="#orgdd7c996">Function description</a></li>
<li><a href="#org51d9478">Optional Parameters</a></li> <li><a href="#org99b2163">Optional Parameters</a></li>
<li><a href="#org1ee899b">Check the <code>stewart</code> structure elements</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="#orgc088b18">Figure Creation, Frames and Homogeneous transformations</a></li>
<li><a href="#orgc25a979">Fixed Base elements</a></li> <li><a href="#orgc25a979">Fixed Base elements</a></li>
<li><a href="#org8417772">Mobile Platform elements</a></li> <li><a href="#org8417772">Mobile Platform elements</a></li>
<li><a href="#org5f40b79">Legs</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> </ul>
</li> </li>
</ul> </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: The definition of the Stewart platform is done in three main parts:
</p> </p>
<ul class="org-ul"> <ul class="org-ul">
<li>First, the geometry if defined (Section <a href="#orga5e83f9">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">No description for this link</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">No description for this link</a>)</li> <li>Finally, the Stiffness and Damping characteristics of the elements are defined (Section <a href="#org96459ea">3</a>)</li>
</ul> </ul>
<p> <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>
<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> </p>
<div id="outline-container-org8d01b94" class="outline-2"> <div id="outline-container-org8d01b94" class="outline-2">
<h2 id="org8d01b94">Definition of the Stewart Platform Geometry</h2> <h2 id="org8d01b94"><span class="section-number-2">1</span> Definition of the Stewart Platform Geometry</h2>
<div class="outline-text-2" id="text-org8d01b94"> <div class="outline-text-2" id="text-1">
<p> <p>
<a id="orga5e83f9"></a> <a id="orga5e83f9"></a>
</p> </p>
@ -458,8 +457,8 @@ This steps are detailed below.
</p> </p>
</div> </div>
<div id="outline-container-org8fe4e0e" class="outline-3"> <div id="outline-container-org8fe4e0e" class="outline-3">
<h3 id="org8fe4e0e">Frames Definition</h3> <h3 id="org8fe4e0e"><span class="section-number-3">1.1</span> Frames Definition</h3>
<div class="outline-text-3" id="text-org8fe4e0e"> <div class="outline-text-3" id="text-1-1">
<p> <p>
We define 4 important <b>frames</b> (see Figure <a href="#org9940a8f">1</a>): We define 4 important <b>frames</b> (see Figure <a href="#org9940a8f">1</a>):
</p> </p>
@ -507,8 +506,8 @@ The definition of the frames is done with the <code>initializeFramesPositions</c
</div> </div>
<div id="outline-container-org1fc986a" class="outline-3"> <div id="outline-container-org1fc986a" class="outline-3">
<h3 id="org1fc986a">Location of the Spherical Joints</h3> <h3 id="org1fc986a"><span class="section-number-3">1.2</span> Location of the Spherical Joints</h3>
<div class="outline-text-3" id="text-org1fc986a"> <div class="outline-text-3" id="text-1-2">
<p> <p>
Then, we define the <b>location of the spherical joints</b> (see Figure <a href="#org5a59399">2</a>): Then, we define the <b>location of the spherical joints</b> (see Figure <a href="#org5a59399">2</a>):
</p> </p>
@ -548,8 +547,8 @@ The location of the spherical joints are then given by \({}^{F}\bm{a}_{i}\) and
</div> </div>
<div id="outline-container-org6a51c7d" class="outline-3"> <div id="outline-container-org6a51c7d" class="outline-3">
<h3 id="org6a51c7d">Length and orientation of the struts</h3> <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-org6a51c7d"> <div class="outline-text-3" id="text-1-3">
<p> <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). 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>. 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>
<div id="outline-container-org9261b10" class="outline-3"> <div id="outline-container-org9261b10" class="outline-3">
<h3 id="org9261b10">Rest Position of the Stewart platform</h3> <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-org9261b10"> <div class="outline-text-3" id="text-1-4">
<p> <p>
We may want to initialize the Stewart platform in some position and orientation that corresponds to its rest position. We may want to initialize the Stewart platform in some position and orientation that corresponds to its rest position.
</p> </p>
@ -591,8 +590,8 @@ Then, the function <code>initializeStewartPose</code> (<a href="#orga94c6a9">lin
</div> </div>
<div id="outline-container-orgbce93f2" class="outline-2"> <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> <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-orgbce93f2"> <div class="outline-text-2" id="text-2">
<p> <p>
<a id="orga326389"></a> <a id="orga326389"></a>
</p> </p>
@ -611,8 +610,8 @@ It is thus important to set them properly.
</p> </p>
</div> </div>
<div id="outline-container-orgd783c33" class="outline-3"> <div id="outline-container-orgd783c33" class="outline-3">
<h3 id="orgd783c33">Inertia and Geometry of the Fixed and Mobile platforms</h3> <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-orgd783c33"> <div class="outline-text-3" id="text-2-1">
<p> <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: 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> </p>
@ -623,8 +622,8 @@ In order to set the inertia of the fixed and mobile platforms, we can use the fo
</div> </div>
<div id="outline-container-org126d465" class="outline-3"> <div id="outline-container-org126d465" class="outline-3">
<h3 id="org126d465">Inertia and Geometry of the struts</h3> <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-org126d465"> <div class="outline-text-3" id="text-2-2">
<p> <p>
Similarly for the struts, we suppose here that they have a cylindrical shape. Similarly for the struts, we suppose here that they have a cylindrical shape.
They are initialize with the following function: They are initialize with the following function:
@ -637,8 +636,8 @@ They are initialize with the following function:
</div> </div>
<div id="outline-container-orgd7fb840" class="outline-2"> <div id="outline-container-orgd7fb840" class="outline-2">
<h2 id="orgd7fb840">Definition of the stiffness and damping of the joints</h2> <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-orgd7fb840"> <div class="outline-text-2" id="text-3">
<p> <p>
<a id="org96459ea"></a> <a id="org96459ea"></a>
</p> </p>
@ -652,8 +651,8 @@ The global stiffness and damping of the Stewart platform depends on its geometry
</div> </div>
<div id="outline-container-orgdb7ce43" class="outline-3"> <div id="outline-container-orgdb7ce43" class="outline-3">
<h3 id="orgdb7ce43">Stiffness and Damping of the Actuator</h3> <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-orgdb7ce43"> <div class="outline-text-3" id="text-3-1">
<p> <p>
Each Actuator is modeled by 3 elements in parallel (Figure <a href="#orgf28da6c">4</a>): Each Actuator is modeled by 3 elements in parallel (Figure <a href="#orgf28da6c">4</a>):
</p> </p>
@ -677,8 +676,8 @@ The initialization of the stiffness and damping properties of the actuators is d
</div> </div>
<div id="outline-container-orgd5629d6" class="outline-3"> <div id="outline-container-orgd5629d6" class="outline-3">
<h3 id="orgd5629d6">Stiffness and Damping of the Spherical Joints</h3> <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-orgd5629d6"> <div class="outline-text-3" id="text-3-2">
<p> <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. 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> </p>
@ -691,8 +690,8 @@ This is done with the <code>initializeJointDynamics</code> function (<a href="#o
</div> </div>
<div id="outline-container-org6d2c540" class="outline-2"> <div id="outline-container-org6d2c540" class="outline-2">
<h2 id="org6d2c540">Summary of the Initialization Procedure and Matlab Example</h2> <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-org6d2c540"> <div class="outline-text-2" id="text-4">
<p> <p>
<a id="orgaede9ee"></a> <a id="orgaede9ee"></a>
</p> </p>
@ -720,8 +719,8 @@ By following this procedure, we obtain a Matlab structure <code>stewart</code> t
</p> </p>
</div> </div>
<div id="outline-container-org715f118" class="outline-3"> <div id="outline-container-org715f118" class="outline-3">
<h3 id="org715f118">Example of the initialization of a Stewart Platform</h3> <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-org715f118"> <div class="outline-text-3" id="text-4-1">
<p> <p>
Let&rsquo;s first define the Stewart Platform Geometry. Let&rsquo;s first define the Stewart Platform Geometry.
</p> </p>
@ -824,16 +823,16 @@ view([0 <span class="org-type">-</span>1 0]);
</div> </div>
<div id="outline-container-org48340b4" class="outline-2"> <div id="outline-container-org48340b4" class="outline-2">
<h2 id="org48340b4">Functions</h2> <h2 id="org48340b4"><span class="section-number-2">5</span> Functions</h2>
<div class="outline-text-2" id="text-org48340b4"> <div class="outline-text-2" id="text-5">
<p> <p>
<a id="orgac086c4"></a> <a id="orgac086c4"></a>
</p> </p>
</div> </div>
<div id="outline-container-orgd89f0e1" class="outline-3"> <div id="outline-container-orgd89f0e1" class="outline-3">
<h3 id="orgd89f0e1"><code>initializeStewartPlatform</code>: Initialize the Stewart Platform structure</h3> <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-orgd89f0e1"> <div class="outline-text-3" id="text-5-1">
<p> <p>
<a id="org2917f22"></a> <a id="org2917f22"></a>
</p> </p>
@ -843,11 +842,11 @@ This Matlab function is accessible <a href="src/initializeStewartPlatform.m">her
</p> </p>
</div> </div>
<div id="outline-container-orgbc1420f" class="outline-4"> <div id="outline-container-org076d07b" class="outline-4">
<h4 id="orgbc1420f">Documentation</h4> <h4 id="org076d07b">Documentation</h4>
<div class="outline-text-4" id="text-orgbc1420f"> <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><img src="figs/stewart-frames-position.png" alt="stewart-frames-position.png" />
</p> </p>
<p><span class="figure-number">Figure 7: </span>Definition of the position of the frames</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> </div>
<div id="outline-container-org3c4d7d8" class="outline-4"> <div id="outline-container-org1612620" class="outline-4">
<h4 id="org3c4d7d8">Function description</h4> <h4 id="org1612620">Function description</h4>
<div class="outline-text-4" id="text-org3c4d7d8"> <div class="outline-text-4" id="text-org1612620">
<div class="org-src-container"> <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>() <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> <span class="org-comment">% initializeStewartPlatform - Initialize the stewart structure</span>
@ -905,8 +904,8 @@ stewart.kinematics = struct();
</div> </div>
<div id="outline-container-orgb11894c" class="outline-3"> <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> <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-orgb11894c"> <div class="outline-text-3" id="text-5-2">
<p> <p>
<a id="org3009bf2"></a> <a id="org3009bf2"></a>
</p> </p>
@ -916,11 +915,11 @@ This Matlab function is accessible <a href="src/initializeFramesPositions.m">her
</p> </p>
</div> </div>
<div id="outline-container-org527c72f" class="outline-4"> <div id="outline-container-orgf137e52" class="outline-4">
<h4 id="org527c72f">Documentation</h4> <h4 id="orgf137e52">Documentation</h4>
<div class="outline-text-4" id="text-org527c72f"> <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><img src="figs/stewart-frames-position.png" alt="stewart-frames-position.png" />
</p> </p>
<p><span class="figure-number">Figure 8: </span>Definition of the position of the frames</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> </div>
<div id="outline-container-orgb28c816" class="outline-4"> <div id="outline-container-orgef24367" class="outline-4">
<h4 id="orgb28c816">Function description</h4> <h4 id="orgef24367">Function description</h4>
<div class="outline-text-4" id="text-orgb28c816"> <div class="outline-text-4" id="text-orgef24367">
<div class="org-src-container"> <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>) <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> <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> </div>
<div id="outline-container-org8bcc794" class="outline-4"> <div id="outline-container-org8dbfacd" class="outline-4">
<h4 id="org8bcc794">Optional Parameters</h4> <h4 id="org8dbfacd">Optional Parameters</h4>
<div class="outline-text-4" id="text-org8bcc794"> <div class="outline-text-4" id="text-org8dbfacd">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">arguments <pre class="src src-matlab">arguments
stewart stewart
@ -983,9 +982,9 @@ FO_A = MO_B <span class="org-type">+</span> FO_M; <span class="org-comment">% Po
</div> </div>
</div> </div>
<div id="outline-container-org0516874" class="outline-4"> <div id="outline-container-orga9b891a" class="outline-4">
<h4 id="org0516874">Populate the <code>stewart</code> structure</h4> <h4 id="orga9b891a">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-org0516874"> <div class="outline-text-4" id="text-orga9b891a">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">stewart.geometry.H = H; <pre class="src src-matlab">stewart.geometry.H = H;
stewart.geometry.FO_M = FO_M; stewart.geometry.FO_M = FO_M;
@ -998,8 +997,8 @@ stewart.platform_F.FO_A = FO_A;
</div> </div>
<div id="outline-container-org9057387" class="outline-3"> <div id="outline-container-org9057387" class="outline-3">
<h3 id="org9057387"><code>generateGeneralConfiguration</code>: Generate a Very General Configuration</h3> <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-org9057387"> <div class="outline-text-3" id="text-5-3">
<p> <p>
<a id="org9f50820"></a> <a id="org9f50820"></a>
</p> </p>
@ -1009,9 +1008,9 @@ This Matlab function is accessible <a href="src/generateGeneralConfiguration.m">
</p> </p>
</div> </div>
<div id="outline-container-org8e00e26" class="outline-4"> <div id="outline-container-org6686470" class="outline-4">
<h4 id="org8e00e26">Documentation</h4> <h4 id="org6686470">Documentation</h4>
<div class="outline-text-4" id="text-org8e00e26"> <div class="outline-text-4" id="text-org6686470">
<p> <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}. 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>). 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> </div>
<div id="outline-container-orgd7988c9" class="outline-4"> <div id="outline-container-org8e0c109" class="outline-4">
<h4 id="orgd7988c9">Function description</h4> <h4 id="org8e0c109">Function description</h4>
<div class="outline-text-4" id="text-orgd7988c9"> <div class="outline-text-4" id="text-org8e0c109">
<div class="org-src-container"> <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>) <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> <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> </div>
<div id="outline-container-orgbca44f1" class="outline-4"> <div id="outline-container-orge635bdc" class="outline-4">
<h4 id="orgbca44f1">Optional Parameters</h4> <h4 id="orge635bdc">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgbca44f1"> <div class="outline-text-4" id="text-orge635bdc">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">arguments <pre class="src src-matlab">arguments
stewart stewart
@ -1090,9 +1089,9 @@ Mb = zeros(3,6);
</div> </div>
</div> </div>
<div id="outline-container-orgc0cd111" class="outline-4"> <div id="outline-container-orge19481b" class="outline-4">
<h4 id="orgc0cd111">Populate the <code>stewart</code> structure</h4> <h4 id="orge19481b">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-orgc0cd111"> <div class="outline-text-4" id="text-orge19481b">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">stewart.platform_F.Fa = Fa; <pre class="src src-matlab">stewart.platform_F.Fa = Fa;
stewart.platform_M.Mb = Mb; stewart.platform_M.Mb = Mb;
@ -1103,8 +1102,8 @@ stewart.platform_M.Mb = Mb;
</div> </div>
<div id="outline-container-org861f6de" class="outline-3"> <div id="outline-container-org861f6de" class="outline-3">
<h3 id="org861f6de"><code>computeJointsPose</code>: Compute the Pose of the Joints</h3> <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-org861f6de"> <div class="outline-text-3" id="text-5-4">
<p> <p>
<a id="org7f34b08"></a> <a id="org7f34b08"></a>
</p> </p>
@ -1114,9 +1113,9 @@ This Matlab function is accessible <a href="src/computeJointsPose.m">here</a>.
</p> </p>
</div> </div>
<div id="outline-container-org7165251" class="outline-4"> <div id="outline-container-orgd00ef90" class="outline-4">
<h4 id="org7165251">Documentation</h4> <h4 id="orgd00ef90">Documentation</h4>
<div class="outline-text-4" id="text-org7165251"> <div class="outline-text-4" id="text-orgd00ef90">
<div id="org8ffb841" class="figure"> <div id="org8ffb841" class="figure">
<p><img src="figs/stewart-struts.png" alt="stewart-struts.png" /> <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> </div>
<div id="outline-container-org67db014" class="outline-4"> <div id="outline-container-orga8f705b" class="outline-4">
<h4 id="org67db014">Function description</h4> <h4 id="orga8f705b">Function description</h4>
<div class="outline-text-4" id="text-org67db014"> <div class="outline-text-4" id="text-orga8f705b">
<div class="org-src-container"> <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>) <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> <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> </div>
<div id="outline-container-org96d0ef3" class="outline-4"> <div id="outline-container-org4889a22" class="outline-4">
<h4 id="org96d0ef3">Check the <code>stewart</code> structure elements</h4> <h4 id="org4889a22">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org96d0ef3"> <div class="outline-text-4" id="text-org4889a22">
<div class="org-src-container"> <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>) <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; Fa = stewart.platform_F.Fa;
@ -1234,9 +1233,9 @@ MRb = zeros(3,3,6);
</div> </div>
</div> </div>
<div id="outline-container-org2a4c563" class="outline-4"> <div id="outline-container-orgf383464" class="outline-4">
<h4 id="org2a4c563">Populate the <code>stewart</code> structure</h4> <h4 id="orgf383464">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-org2a4c563"> <div class="outline-text-4" id="text-orgf383464">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">stewart.geometry.Aa = Aa; <pre class="src src-matlab">stewart.geometry.Aa = Aa;
stewart.geometry.Ab = Ab; stewart.geometry.Ab = Ab;
@ -1258,8 +1257,8 @@ stewart.platform_M.MRb = MRb;
</div> </div>
<div id="outline-container-org329bef9" class="outline-3"> <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> <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-org329bef9"> <div class="outline-text-3" id="text-5-5">
<p> <p>
<a id="orga94c6a9"></a> <a id="orga94c6a9"></a>
</p> </p>
@ -1269,9 +1268,9 @@ This Matlab function is accessible <a href="src/initializeStewartPose.m">here</a
</p> </p>
</div> </div>
<div id="outline-container-orgbe9f167" class="outline-4"> <div id="outline-container-orgfa57533" class="outline-4">
<h4 id="orgbe9f167">Function description</h4> <h4 id="orgfa57533">Function description</h4>
<div class="outline-text-4" id="text-orgbe9f167"> <div class="outline-text-4" id="text-orgfa57533">
<div class="org-src-container"> <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>) <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> <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> </div>
<div id="outline-container-org9aa96f1" class="outline-4"> <div id="outline-container-orge534e6f" class="outline-4">
<h4 id="org9aa96f1">Optional Parameters</h4> <h4 id="orge534e6f">Optional Parameters</h4>
<div class="outline-text-4" id="text-org9aa96f1"> <div class="outline-text-4" id="text-orge534e6f">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">arguments <pre class="src src-matlab">arguments
stewart stewart
@ -1319,9 +1318,9 @@ This Matlab function is accessible <a href="src/initializeStewartPose.m">here</a
</div> </div>
</div> </div>
<div id="outline-container-org63a831f" class="outline-4"> <div id="outline-container-org5e7e71c" class="outline-4">
<h4 id="org63a831f">Populate the <code>stewart</code> structure</h4> <h4 id="org5e7e71c">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-org63a831f"> <div class="outline-text-4" id="text-org5e7e71c">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">stewart.actuators.Leq = dLi; <pre class="src src-matlab">stewart.actuators.Leq = dLi;
</pre> </pre>
@ -1331,8 +1330,8 @@ This Matlab function is accessible <a href="src/initializeStewartPose.m">here</a
</div> </div>
<div id="outline-container-org6ff5b31" class="outline-3"> <div id="outline-container-org6ff5b31" class="outline-3">
<h3 id="org6ff5b31"><code>initializeCylindricalPlatforms</code>: Initialize the geometry of the Fixed and Mobile Platforms</h3> <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-org6ff5b31"> <div class="outline-text-3" id="text-5-6">
<p> <p>
<a id="org6ad7062"></a> <a id="org6ad7062"></a>
</p> </p>
@ -1342,9 +1341,9 @@ This Matlab function is accessible <a href="src/initializeCylindricalPlatforms.m
</p> </p>
</div> </div>
<div id="outline-container-org930d1f3" class="outline-4"> <div id="outline-container-org11374c9" class="outline-4">
<h4 id="org930d1f3">Function description</h4> <h4 id="org11374c9">Function description</h4>
<div class="outline-text-4" id="text-org930d1f3"> <div class="outline-text-4" id="text-org11374c9">
<div class="org-src-container"> <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>) <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> <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> </div>
<div id="outline-container-orgf010fb9" class="outline-4"> <div id="outline-container-org56dc51c" class="outline-4">
<h4 id="orgf010fb9">Optional Parameters</h4> <h4 id="org56dc51c">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgf010fb9"> <div class="outline-text-4" id="text-org56dc51c">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">arguments <pre class="src src-matlab">arguments
stewart stewart
@ -1415,9 +1414,9 @@ This Matlab function is accessible <a href="src/initializeCylindricalPlatforms.m
</div> </div>
</div> </div>
<div id="outline-container-org61255f3" class="outline-4"> <div id="outline-container-org120ea12" class="outline-4">
<h4 id="org61255f3">Populate the <code>stewart</code> structure</h4> <h4 id="org120ea12">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-org61255f3"> <div class="outline-text-4" id="text-org120ea12">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">stewart.platform_F.type = 1; <pre class="src src-matlab">stewart.platform_F.type = 1;
@ -1442,8 +1441,8 @@ stewart.platform_M.H = args.Mph;
</div> </div>
<div id="outline-container-org60aa215" class="outline-3"> <div id="outline-container-org60aa215" class="outline-3">
<h3 id="org60aa215"><code>initializeCylindricalStruts</code>: Define the inertia of cylindrical struts</h3> <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-org60aa215"> <div class="outline-text-3" id="text-5-7">
<p> <p>
<a id="org6263b6d"></a> <a id="org6263b6d"></a>
</p> </p>
@ -1453,9 +1452,9 @@ This Matlab function is accessible <a href="src/initializeCylindricalStruts.m">h
</p> </p>
</div> </div>
<div id="outline-container-orgc7d5120" class="outline-4"> <div id="outline-container-org7a6774e" class="outline-4">
<h4 id="orgc7d5120">Function description</h4> <h4 id="org7a6774e">Function description</h4>
<div class="outline-text-4" id="text-orgc7d5120"> <div class="outline-text-4" id="text-org7a6774e">
<div class="org-src-container"> <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>) <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> <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> </div>
<div id="outline-container-orgfb4e3ed" class="outline-4"> <div id="outline-container-orgccd9ddc" class="outline-4">
<h4 id="orgfb4e3ed">Optional Parameters</h4> <h4 id="orgccd9ddc">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgfb4e3ed"> <div class="outline-text-4" id="text-orgccd9ddc">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">arguments <pre class="src src-matlab">arguments
stewart stewart
@ -1538,9 +1537,9 @@ I_M = zeros(3, 3, 6); <span class="org-comment">% Inertia of the "mobile" part o
</div> </div>
</div> </div>
<div id="outline-container-orgc329127" class="outline-4"> <div id="outline-container-orgbe49c20" class="outline-4">
<h4 id="orgc329127">Populate the <code>stewart</code> structure</h4> <h4 id="orgbe49c20">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-orgc329127"> <div class="outline-text-4" id="text-orgbe49c20">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">stewart.struts_M.type = 1; <pre class="src src-matlab">stewart.struts_M.type = 1;
@ -1565,8 +1564,8 @@ stewart.struts_F.H = Fsh;
</div> </div>
<div id="outline-container-org3ad0cd1" class="outline-3"> <div id="outline-container-org3ad0cd1" class="outline-3">
<h3 id="org3ad0cd1"><code>initializeStrutDynamics</code>: Add Stiffness and Damping properties of each strut</h3> <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-org3ad0cd1"> <div class="outline-text-3" id="text-5-8">
<p> <p>
<a id="org7f8f2b7"></a> <a id="org7f8f2b7"></a>
</p> </p>
@ -1576,9 +1575,9 @@ This Matlab function is accessible <a href="src/initializeStrutDynamics.m">here<
</p> </p>
</div> </div>
<div id="outline-container-org9075466" class="outline-4"> <div id="outline-container-org063be5b" class="outline-4">
<h4 id="org9075466">Documentation</h4> <h4 id="org063be5b">Documentation</h4>
<div class="outline-text-4" id="text-org9075466"> <div class="outline-text-4" id="text-org063be5b">
<div id="orgbbfb204" class="figure"> <div id="orgbbfb204" class="figure">
<p><img src="figs/piezoelectric_stack.jpg" alt="piezoelectric_stack.jpg" width="500px" /> <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> </div>
<div id="outline-container-org21e1e52" class="outline-4"> <div id="outline-container-orgfc83159" class="outline-4">
<h4 id="org21e1e52">Function description</h4> <h4 id="orgfc83159">Function description</h4>
<div class="outline-text-4" id="text-org21e1e52"> <div class="outline-text-4" id="text-orgfc83159">
<div class="org-src-container"> <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>) <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> <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> </div>
<div id="outline-container-orgd9bda04" class="outline-4"> <div id="outline-container-org8756943" class="outline-4">
<h4 id="orgd9bda04">Optional Parameters</h4> <h4 id="org8756943">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgd9bda04"> <div class="outline-text-4" id="text-org8756943">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">arguments <pre class="src src-matlab">arguments
stewart stewart
@ -1660,8 +1659,8 @@ stewart.actuators.C = args.C;
</div> </div>
<div id="outline-container-orgd8d403e" class="outline-3"> <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> <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-orgd8d403e"> <div class="outline-text-3" id="text-5-9">
<p> <p>
<a id="org7d40eca"></a> <a id="org7d40eca"></a>
</p> </p>
@ -1671,9 +1670,9 @@ This Matlab function is accessible <a href="src/initializeAmplifiedStrutDynamics
</p> </p>
</div> </div>
<div id="outline-container-org8ba232a" class="outline-4"> <div id="outline-container-org11b907a" class="outline-4">
<h4 id="org8ba232a">Documentation</h4> <h4 id="org11b907a">Documentation</h4>
<div class="outline-text-4" id="text-org8ba232a"> <div class="outline-text-4" id="text-org11b907a">
<p> <p>
An amplified piezoelectric actuator is shown in Figure <a href="#org9e7e9ad">13</a>. An amplified piezoelectric actuator is shown in Figure <a href="#org9e7e9ad">13</a>.
</p> </p>
@ -1706,9 +1705,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#orgcf
</div> </div>
</div> </div>
<div id="outline-container-org7b6e247" class="outline-4"> <div id="outline-container-orgc9ac7ad" class="outline-4">
<h4 id="org7b6e247">Function description</h4> <h4 id="orgc9ac7ad">Function description</h4>
<div class="outline-text-4" id="text-org7b6e247"> <div class="outline-text-4" id="text-orgc9ac7ad">
<div class="org-src-container"> <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>) <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> <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> </div>
<div id="outline-container-org936848c" class="outline-4"> <div id="outline-container-org2508e19" class="outline-4">
<h4 id="org936848c">Optional Parameters</h4> <h4 id="org2508e19">Optional Parameters</h4>
<div class="outline-text-4" id="text-org936848c"> <div class="outline-text-4" id="text-org2508e19">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">arguments <pre class="src src-matlab">arguments
stewart stewart
@ -1763,9 +1762,9 @@ C = args.Ca <span class="org-type">+</span> args.Cr;
</div> </div>
</div> </div>
<div id="outline-container-orgd78e8b0" class="outline-4"> <div id="outline-container-org933fa09" class="outline-4">
<h4 id="orgd78e8b0">Populate the <code>stewart</code> structure</h4> <h4 id="org933fa09">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-orgd78e8b0"> <div class="outline-text-4" id="text-org933fa09">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">stewart.actuators.type = 2; <pre class="src src-matlab">stewart.actuators.type = 2;
@ -1784,8 +1783,8 @@ stewart.actuators.C = K;
</div> </div>
<div id="outline-container-orgeb6173a" class="outline-3"> <div id="outline-container-orgeb6173a" class="outline-3">
<h3 id="orgeb6173a"><code>initializeJointDynamics</code>: Add Stiffness and Damping properties for spherical joints</h3> <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-orgeb6173a"> <div class="outline-text-3" id="text-5-10">
<p> <p>
<a id="org0d21456"></a> <a id="org0d21456"></a>
</p> </p>
@ -1795,9 +1794,9 @@ This Matlab function is accessible <a href="src/initializeJointDynamics.m">here<
</p> </p>
</div> </div>
<div id="outline-container-org051062f" class="outline-4"> <div id="outline-container-orgea4c71f" class="outline-4">
<h4 id="org051062f">Function description</h4> <h4 id="orgea4c71f">Function description</h4>
<div class="outline-text-4" id="text-org051062f"> <div class="outline-text-4" id="text-orgea4c71f">
<div class="org-src-container"> <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>) <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> <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> </div>
<div id="outline-container-orgf57427f" class="outline-4"> <div id="outline-container-orgbb42633" class="outline-4">
<h4 id="orgf57427f">Optional Parameters</h4> <h4 id="orgbb42633">Optional Parameters</h4>
<div class="outline-text-4" id="text-orgf57427f"> <div class="outline-text-4" id="text-orgbb42633">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">arguments <pre class="src src-matlab">arguments
stewart stewart
@ -1949,8 +1948,8 @@ stewart.joints_F.Ct = args.Cf_F;
</div> </div>
<div id="outline-container-orgea07e0e" class="outline-3"> <div id="outline-container-orgea07e0e" class="outline-3">
<h3 id="orgea07e0e"><code>initializeInertialSensor</code>: Initialize the inertial sensor in each strut</h3> <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-orgea07e0e"> <div class="outline-text-3" id="text-5-11">
<p> <p>
<a id="orgd96277a"></a> <a id="orgd96277a"></a>
</p> </p>
@ -1960,9 +1959,9 @@ This Matlab function is accessible <a href="src/initializeInertialSensor.m">here
</p> </p>
</div> </div>
<div id="outline-container-org86c4462" class="outline-4"> <div id="outline-container-org2462fa5" class="outline-4">
<h4 id="org86c4462">Function description</h4> <h4 id="org2462fa5">Function description</h4>
<div class="outline-text-4" id="text-org86c4462"> <div class="outline-text-4" id="text-org2462fa5">
<div class="org-src-container"> <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>) <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> <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> </div>
<div id="outline-container-org6d69ef4" class="outline-4"> <div id="outline-container-orgcc6ded4" class="outline-4">
<h4 id="org6d69ef4">Optional Parameters</h4> <h4 id="orgcc6ded4">Optional Parameters</h4>
<div class="outline-text-4" id="text-org6d69ef4"> <div class="outline-text-4" id="text-orgcc6ded4">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">arguments <pre class="src src-matlab">arguments
stewart stewart
@ -2031,9 +2030,9 @@ This Matlab function is accessible <a href="src/initializeInertialSensor.m">here
</div> </div>
</div> </div>
<div id="outline-container-orgbf82c53" class="outline-4"> <div id="outline-container-org37e6016" class="outline-4">
<h4 id="orgbf82c53">Populate the <code>stewart</code> structure</h4> <h4 id="org37e6016">Populate the <code>stewart</code> structure</h4>
<div class="outline-text-4" id="text-orgbf82c53"> <div class="outline-text-4" id="text-org37e6016">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">stewart.sensors.inertial = sensor; <pre class="src src-matlab">stewart.sensors.inertial = sensor;
</pre> </pre>
@ -2043,8 +2042,8 @@ This Matlab function is accessible <a href="src/initializeInertialSensor.m">here
</div> </div>
<div id="outline-container-org5266e9d" class="outline-3"> <div id="outline-container-org5266e9d" class="outline-3">
<h3 id="org5266e9d"><code>displayArchitecture</code>: 3D plot of the Stewart platform architecture</h3> <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-org5266e9d"> <div class="outline-text-3" id="text-5-12">
<p> <p>
<a id="org5526211"></a> <a id="org5526211"></a>
</p> </p>
@ -2054,9 +2053,9 @@ This Matlab function is accessible <a href="src/displayArchitecture.m">here</a>.
</p> </p>
</div> </div>
<div id="outline-container-orgfcc25cc" class="outline-4"> <div id="outline-container-orgdd7c996" class="outline-4">
<h4 id="orgfcc25cc">Function description</h4> <h4 id="orgdd7c996">Function description</h4>
<div class="outline-text-4" id="text-orgfcc25cc"> <div class="outline-text-4" id="text-orgdd7c996">
<div class="org-src-container"> <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>) <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> <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> </div>
<div id="outline-container-org51d9478" class="outline-4"> <div id="outline-container-org99b2163" class="outline-4">
<h4 id="org51d9478">Optional Parameters</h4> <h4 id="org99b2163">Optional Parameters</h4>
<div class="outline-text-4" id="text-org51d9478"> <div class="outline-text-4" id="text-org99b2163">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">arguments <pre class="src src-matlab">arguments
stewart stewart
@ -2106,9 +2105,9 @@ This Matlab function is accessible <a href="src/displayArchitecture.m">here</a>.
</div> </div>
</div> </div>
<div id="outline-container-org1ee899b" class="outline-4"> <div id="outline-container-org9e5d50c" class="outline-4">
<h4 id="org1ee899b">Check the <code>stewart</code> structure elements</h4> <h4 id="org9e5d50c">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org1ee899b"> <div class="outline-text-4" id="text-org9e5d50c">
<div class="org-src-container"> <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>) <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; 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>
<div id="outline-container-org81be27b" class="outline-4"> <div id="outline-container-org81be27b" class="outline-4">
<h4 id="org81be27b">Figure parameters</h4> <h4 id="org81be27b"><span class="section-number-4">5.12.1</span> Figure parameters</h4>
<div class="outline-text-4" id="text-org81be27b"> <div class="outline-text-4" id="text-5-12-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">view([1 <span class="org-type">-</span>0.6 0.4]); <pre class="src src-matlab">view([1 <span class="org-type">-</span>0.6 0.4]);
<span class="org-type">axis</span> equal; <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>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p> <p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-02-11 mar. 15:23</p> <p class="date">Created: 2020-02-11 mar. 15:50</p>
</div> </div>
</body> </body>
</html> </html>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,5 +1,11 @@
#+TITLE: Stewart Platform - Simscape Model #+TITLE: Stewart Platform - Simscape Model
:DRAWER: :DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ./index.html #+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./index.html #+HTML_LINK_UP: ./index.html
@ -23,11 +29,13 @@
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes #+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150 #+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100 #+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+ :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+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs #+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END: :END:
* Introduction :ignore: * 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. 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 * Simulation Configuration - Configuration reference
<<sec:simulink_configuration>> <<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. 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_HOME: ./index.html
#+HTML_LINK_UP: ./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/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/readtheorg.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 src="./js/jquery.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="./js/jquery.min.js"></script> #+HTML_HEAD: <script src="./js/bootstrap.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="./js/bootstrap.min.js"></script> #+HTML_HEAD: <script src="./js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script> #+HTML_HEAD: <script src="./js/readtheorg.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="./js/readtheorg.js"></script>
#+HTML_MATHJAX: align: center tagside: right font: TeX
#+PROPERTY: header-args:matlab :session *MATLAB* #+PROPERTY: header-args:matlab :session *MATLAB*
#+PROPERTY: header-args:matlab+ :comments org #+PROPERTY: header-args:matlab+ :comments org
#+PROPERTY: header-args:matlab+ :results none
#+PROPERTY: header-args:matlab+ :exports both #+PROPERTY: header-args:matlab+ :exports both
#+PROPERTY: header-args:matlab+ :results none
#+PROPERTY: header-args:matlab+ :eval no-export #+PROPERTY: header-args:matlab+ :eval no-export
#+PROPERTY: header-args:matlab+ :output-dir figs #+PROPERTY: header-args:matlab+ :noweb yes
#+PROPERTY: header-args:matlab+ :tangle no
#+PROPERTY: header-args:matlab+ :mkdirp yes #+PROPERTY: header-args:matlab+ :mkdirp yes
#+PROPERTY: header-args:matlab+ :output-dir figs
#+PROPERTY: header-args:shell :eval no-export
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/thesis/latex/}{config.tex}") #+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+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150 #+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100 #+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+ :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+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs #+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END: :END:
A Simulink Project is used for the study of Stewart platforms using Simscape. 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: The project can be opened using the =simulinkproject= function:
#+begin_src matlab #+begin_src matlab
simulinkproject('./'); simulinkproject('../');
#+end_src #+end_src
When the project opens, a startup script is ran. When the project opens, a startup script is ran.

View File

@ -1,5 +1,11 @@
#+TITLE: Stewart Platform - Static Analysis #+TITLE: Stewart Platform - Static Analysis
:DRAWER: :DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ./index.html #+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./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/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script src="./js/readtheorg.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 :session *MATLAB*
#+PROPERTY: header-args:matlab+ :comments org #+PROPERTY: header-args:matlab+ :comments org
#+PROPERTY: header-args:matlab+ :exports both #+PROPERTY: header-args:matlab+ :exports both
@ -28,6 +24,18 @@
#+PROPERTY: header-args:matlab+ :noweb yes #+PROPERTY: header-args:matlab+ :noweb yes
#+PROPERTY: header-args:matlab+ :mkdirp yes #+PROPERTY: header-args:matlab+ :mkdirp yes
#+PROPERTY: header-args:matlab+ :output-dir figs #+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: :END:
* Coupling * Coupling

View File

@ -1,5 +1,11 @@
#+TITLE: Stewart Platform - Definition of the Architecture #+TITLE: Stewart Platform - Definition of the Architecture
:DRAWER: :DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ./index.html #+HTML_LINK_HOME: ./index.html
#+HTML_LINK_UP: ./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 #+end_src
#+begin_src matlab #+begin_src matlab
simulinkproject('./'); simulinkproject('../');
#+end_src #+end_src
** Example of the initialization of a Stewart Platform ** Example of the initialization of a Stewart Platform