Move accelerometer/geophone explaination
This commit is contained in:
parent
024dc922ce
commit
c947ed116f
@ -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-13 jeu. 14:42 -->
|
<!-- 2020-02-13 jeu. 15:47 -->
|
||||||
<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>
|
||||||
@ -281,32 +281,20 @@ for the JavaScript code in this tag.
|
|||||||
<ul>
|
<ul>
|
||||||
<li><a href="#org3535b6d">6.1. Payload</a>
|
<li><a href="#org3535b6d">6.1. Payload</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#orgf4d7716">Function description</a></li>
|
<li><a href="#org706f994">Function description</a></li>
|
||||||
<li><a href="#org071708c">Optional Parameters</a></li>
|
<li><a href="#orgb15b49f">Optional Parameters</a></li>
|
||||||
<li><a href="#orgeeb8d35">Add Payload Type</a></li>
|
<li><a href="#orgeeb8d35">Add Payload Type</a></li>
|
||||||
<li><a href="#org6d52ffc">Add Stiffness, Damping and Mass properties of the Payload</a></li>
|
<li><a href="#org6d52ffc">Add Stiffness, Damping and Mass properties of the Payload</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#orgaaed406">6.2. Ground</a>
|
<li><a href="#orgaaed406">6.2. Ground</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#org706f994">Function description</a></li>
|
<li><a href="#orge7f39a8">Function description</a></li>
|
||||||
<li><a href="#orgb15b49f">Optional Parameters</a></li>
|
<li><a href="#orgb83df72">Optional Parameters</a></li>
|
||||||
<li><a href="#orgef7035d">Add Ground Type</a></li>
|
<li><a href="#orgef7035d">Add Ground Type</a></li>
|
||||||
<li><a href="#org95633e8">Add Stiffness and Damping properties of the Ground</a></li>
|
<li><a href="#org95633e8">Add Stiffness and Damping properties of the Ground</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#org4bdfc33">6.3. Z-Axis Geophone</a>
|
|
||||||
<ul>
|
|
||||||
<li><a href="#orgf6e6126">6.3.1. Working Principle</a></li>
|
|
||||||
<li><a href="#org7b9c8ed">6.3.2. Initialization function</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li><a href="#org99786f1">6.4. Z-Axis Accelerometer</a>
|
|
||||||
<ul>
|
|
||||||
<li><a href="#org64fd353">6.4.1. Working Principle</a></li>
|
|
||||||
<li><a href="#orge8bb0f7">6.4.2. Initialization function</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -537,9 +525,9 @@ This Matlab function is accessible <a href="../src/initializePayload.m">here</a>
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgf4d7716" class="outline-4">
|
<div id="outline-container-org706f994" class="outline-4">
|
||||||
<h4 id="orgf4d7716">Function description</h4>
|
<h4 id="org706f994">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-orgf4d7716">
|
<div class="outline-text-4" id="text-org706f994">
|
||||||
<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">[payload]</span> = <span class="org-function-name">initializePayload</span>(<span class="org-variable-name">args</span>)
|
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[payload]</span> = <span class="org-function-name">initializePayload</span>(<span class="org-variable-name">args</span>)
|
||||||
<span class="org-comment">% initializePayload - Initialize the Payload that can then be used for simulations and analysis</span>
|
<span class="org-comment">% initializePayload - Initialize the Payload that can then be used for simulations and analysis</span>
|
||||||
@ -569,9 +557,9 @@ This Matlab function is accessible <a href="../src/initializePayload.m">here</a>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org071708c" class="outline-4">
|
<div id="outline-container-orgb15b49f" class="outline-4">
|
||||||
<h4 id="org071708c">Optional Parameters</h4>
|
<h4 id="orgb15b49f">Optional Parameters</h4>
|
||||||
<div class="outline-text-4" id="text-org071708c">
|
<div class="outline-text-4" id="text-orgb15b49f">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">arguments
|
<pre class="src src-matlab">arguments
|
||||||
args.type char {mustBeMember(args.type,{<span class="org-string">'none'</span>, <span class="org-string">'solid'</span>, <span class="org-string">'flexible'</span>, <span class="org-string">'cartesian'</span>})} = <span class="org-string">'none'</span>
|
args.type char {mustBeMember(args.type,{<span class="org-string">'none'</span>, <span class="org-string">'solid'</span>, <span class="org-string">'flexible'</span>, <span class="org-string">'cartesian'</span>})} = <span class="org-string">'none'</span>
|
||||||
@ -633,9 +621,9 @@ This Matlab function is accessible <a href="../src/initializeGround.m">here</a>.
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org706f994" class="outline-4">
|
<div id="outline-container-orge7f39a8" class="outline-4">
|
||||||
<h4 id="org706f994">Function description</h4>
|
<h4 id="orge7f39a8">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-org706f994">
|
<div class="outline-text-4" id="text-orge7f39a8">
|
||||||
<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">[ground]</span> = <span class="org-function-name">initializeGround</span>(<span class="org-variable-name">args</span>)
|
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[ground]</span> = <span class="org-function-name">initializeGround</span>(<span class="org-variable-name">args</span>)
|
||||||
<span class="org-comment">% initializeGround - Initialize the Ground that can then be used for simulations and analysis</span>
|
<span class="org-comment">% initializeGround - Initialize the Ground that can then be used for simulations and analysis</span>
|
||||||
@ -658,9 +646,9 @@ This Matlab function is accessible <a href="../src/initializeGround.m">here</a>.
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgb15b49f" class="outline-4">
|
<div id="outline-container-orgb83df72" class="outline-4">
|
||||||
<h4 id="orgb15b49f">Optional Parameters</h4>
|
<h4 id="orgb83df72">Optional Parameters</h4>
|
||||||
<div class="outline-text-4" id="text-orgb15b49f">
|
<div class="outline-text-4" id="text-orgb83df72">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">arguments
|
<pre class="src src-matlab">arguments
|
||||||
args.type char {mustBeMember(args.type,{<span class="org-string">'none'</span>, <span class="org-string">'solid'</span>, <span class="org-string">'flexible'</span>})} = <span class="org-string">'none'</span>
|
args.type char {mustBeMember(args.type,{<span class="org-string">'none'</span>, <span class="org-string">'solid'</span>, <span class="org-string">'flexible'</span>})} = <span class="org-string">'none'</span>
|
||||||
@ -700,168 +688,11 @@ ground.C = args.C;
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org4bdfc33" class="outline-3">
|
|
||||||
<h3 id="org4bdfc33"><span class="section-number-3">6.3</span> Z-Axis Geophone</h3>
|
|
||||||
<div class="outline-text-3" id="text-6-3">
|
|
||||||
</div>
|
|
||||||
<div id="outline-container-orgf6e6126" class="outline-4">
|
|
||||||
<h4 id="orgf6e6126"><span class="section-number-4">6.3.1</span> Working Principle</h4>
|
|
||||||
<div class="outline-text-4" id="text-6-3-1">
|
|
||||||
<p>
|
|
||||||
From the schematic of the Z-axis geophone shown in Figure <a href="#org819fba8">5</a>, we can write the transfer function from the support velocity \(\dot{w}\) to the relative velocity of the inertial mass \(\dot{d}\):
|
|
||||||
\[ \frac{\dot{d}}{\dot{w}} = \frac{-\frac{s^2}{{\omega_0}^2}}{\frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1} \]
|
|
||||||
with:
|
|
||||||
</p>
|
|
||||||
<ul class="org-ul">
|
|
||||||
<li>\(\omega_0 = \sqrt{\frac{k}{m}}\)</li>
|
|
||||||
<li>\(\xi = \frac{1}{2} \sqrt{\frac{m}{k}}\)</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<div id="org819fba8" class="figure">
|
|
||||||
<p><img src="figs/inertial_sensor.png" alt="inertial_sensor.png" />
|
|
||||||
</p>
|
|
||||||
<p><span class="figure-number">Figure 5: </span>Schematic of a Z-Axis geophone</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
We see that at frequencies above \(\omega_0\):
|
|
||||||
\[ \frac{\dot{d}}{\dot{w}} \approx -1 \]
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
And thus, the measurement of the relative velocity of the mass with respect to its support gives the absolute velocity of the support.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
We generally want to have the smallest resonant frequency \(\omega_0\) to measure low frequency absolute velocity, however there is a trade-off between \(\omega_0\) and the mass of the inertial mass.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="outline-container-org7b9c8ed" class="outline-4">
|
|
||||||
<h4 id="org7b9c8ed"><span class="section-number-4">6.3.2</span> Initialization function</h4>
|
|
||||||
<div class="outline-text-4" id="text-6-3-2">
|
|
||||||
<p>
|
|
||||||
<a id="orgd31bda9"></a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
This Matlab function is accessible <a href="../src/initializeZAxisGeophone.m">here</a>.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[geophone]</span> = <span class="org-function-name">initializeZAxisGeophone</span>(<span class="org-variable-name">args</span>)
|
|
||||||
arguments
|
|
||||||
args.mass (1,1) double {mustBeNumeric, mustBePositive} = 1e<span class="org-type">-</span>3 <span class="org-comment">% [kg]</span>
|
|
||||||
args.freq (1,1) double {mustBeNumeric, mustBePositive} = 1 <span class="org-comment">% [Hz]</span>
|
|
||||||
<span class="org-keyword">end</span>
|
|
||||||
|
|
||||||
<span class="org-matlab-cellbreak"><span class="org-comment">%%</span></span>
|
|
||||||
geophone.m = args.mass;
|
|
||||||
|
|
||||||
<span class="org-matlab-cellbreak"><span class="org-comment">%% The Stiffness is set to have the damping resonance frequency</span></span>
|
|
||||||
geophone.k = geophone.m <span class="org-type">*</span> (2<span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>args.freq)<span class="org-type">^</span>2;
|
|
||||||
|
|
||||||
<span class="org-matlab-cellbreak"><span class="org-comment">%% We set the damping value to have critical damping</span></span>
|
|
||||||
geophone.c = 2<span class="org-type">*</span>sqrt(geophone.m <span class="org-type">*</span> geophone.k);
|
|
||||||
|
|
||||||
<span class="org-matlab-cellbreak"><span class="org-comment">%% Save</span></span>
|
|
||||||
save(<span class="org-string">'./mat/geophone_z_axis.mat'</span>, <span class="org-string">'geophone'</span>);
|
|
||||||
<span class="org-keyword">end</span>
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="outline-container-org99786f1" class="outline-3">
|
|
||||||
<h3 id="org99786f1"><span class="section-number-3">6.4</span> Z-Axis Accelerometer</h3>
|
|
||||||
<div class="outline-text-3" id="text-6-4">
|
|
||||||
</div>
|
|
||||||
<div id="outline-container-org64fd353" class="outline-4">
|
|
||||||
<h4 id="org64fd353"><span class="section-number-4">6.4.1</span> Working Principle</h4>
|
|
||||||
<div class="outline-text-4" id="text-6-4-1">
|
|
||||||
<p>
|
|
||||||
From the schematic of the Z-axis accelerometer shown in Figure <a href="#org1274602">6</a>, we can write the transfer function from the support acceleration \(\ddot{w}\) to the relative position of the inertial mass \(d\):
|
|
||||||
\[ \frac{d}{\ddot{w}} = \frac{-\frac{1}{{\omega_0}^2}}{\frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1} \]
|
|
||||||
with:
|
|
||||||
</p>
|
|
||||||
<ul class="org-ul">
|
|
||||||
<li>\(\omega_0 = \sqrt{\frac{k}{m}}\)</li>
|
|
||||||
<li>\(\xi = \frac{1}{2} \sqrt{\frac{m}{k}}\)</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<div id="org1274602" class="figure">
|
|
||||||
<p><img src="figs/inertial_sensor.png" alt="inertial_sensor.png" />
|
|
||||||
</p>
|
|
||||||
<p><span class="figure-number">Figure 6: </span>Schematic of a Z-Axis geophone</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
We see that at frequencies below \(\omega_0\):
|
|
||||||
\[ \frac{d}{\ddot{w}} \approx -\frac{1}{{\omega_0}^2} \]
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
And thus, the measurement of the relative displacement of the mass with respect to its support gives the absolute acceleration of the support.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Note that there is trade-off between:
|
|
||||||
</p>
|
|
||||||
<ul class="org-ul">
|
|
||||||
<li>the highest measurable acceleration \(\omega_0\)</li>
|
|
||||||
<li>the sensitivity of the accelerometer which is equal to \(-\frac{1}{{\omega_0}^2}\)</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="outline-container-orge8bb0f7" class="outline-4">
|
|
||||||
<h4 id="orge8bb0f7"><span class="section-number-4">6.4.2</span> Initialization function</h4>
|
|
||||||
<div class="outline-text-4" id="text-6-4-2">
|
|
||||||
<p>
|
|
||||||
<a id="orge91f65f"></a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
This Matlab function is accessible <a href="../src/initializeZAxisAccelerometer.m">here</a>.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="org-src-container">
|
|
||||||
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[accelerometer]</span> = <span class="org-function-name">initializeZAxisAccelerometer</span>(<span class="org-variable-name">args</span>)
|
|
||||||
arguments
|
|
||||||
args.mass (1,1) double {mustBeNumeric, mustBePositive} = 5e<span class="org-type">-</span>3 <span class="org-comment">% [kg]</span>
|
|
||||||
args.freq (1,1) double {mustBeNumeric, mustBePositive} = 5e3 <span class="org-comment">% [Hz]</span>
|
|
||||||
<span class="org-keyword">end</span>
|
|
||||||
|
|
||||||
<span class="org-matlab-cellbreak"><span class="org-comment">%%</span></span>
|
|
||||||
accelerometer.m = args.mass;
|
|
||||||
|
|
||||||
<span class="org-matlab-cellbreak"><span class="org-comment">%% The Stiffness is set to have the damping resonance frequency</span></span>
|
|
||||||
accelerometer.k = accelerometer.m <span class="org-type">*</span> (2<span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>args.freq)<span class="org-type">^</span>2;
|
|
||||||
|
|
||||||
<span class="org-matlab-cellbreak"><span class="org-comment">%% We set the damping value to have critical damping</span></span>
|
|
||||||
accelerometer.c = 2<span class="org-type">*</span>sqrt(accelerometer.m <span class="org-type">*</span> accelerometer.k);
|
|
||||||
|
|
||||||
<span class="org-matlab-cellbreak"><span class="org-comment">%% Gain correction of the accelerometer to have a unity gain until the resonance</span></span>
|
|
||||||
accelerometer.gain = <span class="org-type">-</span>accelerometer.k<span class="org-type">/</span>accelerometer.m;
|
|
||||||
|
|
||||||
<span class="org-matlab-cellbreak"><span class="org-comment">%% Save</span></span>
|
|
||||||
save(<span class="org-string">'./mat/accelerometer_z_axis.mat'</span>, <span class="org-string">'accelerometer'</span>);
|
|
||||||
<span class="org-keyword">end</span>
|
|
||||||
</pre>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</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-13 jeu. 14:42</p>
|
<p class="date">Created: 2020-02-13 jeu. 15:47</p>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||||
<head>
|
<head>
|
||||||
<!-- 2020-02-12 mer. 14:16 -->
|
<!-- 2020-02-13 jeu. 15:47 -->
|
||||||
<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>
|
||||||
@ -297,85 +297,85 @@ for the JavaScript code in this tag.
|
|||||||
<ul>
|
<ul>
|
||||||
<li><a href="#orgd89f0e1">5.1. <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="#org7e0b516">Documentation</a></li>
|
<li><a href="#org56918f3">Documentation</a></li>
|
||||||
<li><a href="#org51076d4">Function description</a></li>
|
<li><a href="#org2bf8771">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">5.2. <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="#org9ab3ee7">Documentation</a></li>
|
<li><a href="#org75e004e">Documentation</a></li>
|
||||||
<li><a href="#org9e0f060">Function description</a></li>
|
<li><a href="#org961f34d">Function description</a></li>
|
||||||
<li><a href="#org6a57a47">Optional Parameters</a></li>
|
<li><a href="#org2259cf3">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="#org31b0fc0">Populate the <code>stewart</code> structure</a></li>
|
<li><a href="#org46c0939">Populate the <code>stewart</code> structure</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#org9057387">5.3. <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="#org0272259">Documentation</a></li>
|
<li><a href="#org35cd468">Documentation</a></li>
|
||||||
<li><a href="#orgbd08cb7">Function description</a></li>
|
<li><a href="#org5e67fec">Function description</a></li>
|
||||||
<li><a href="#orgfade903">Optional Parameters</a></li>
|
<li><a href="#org552a968">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="#org67d9f70">Populate the <code>stewart</code> structure</a></li>
|
<li><a href="#org08036be">Populate the <code>stewart</code> structure</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#org861f6de">5.4. <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="#org7f013d7">Documentation</a></li>
|
<li><a href="#org310340f">Documentation</a></li>
|
||||||
<li><a href="#orgfb0d4ad">Function description</a></li>
|
<li><a href="#orgb68ba66">Function description</a></li>
|
||||||
<li><a href="#org7bc221e">Check the <code>stewart</code> structure elements</a></li>
|
<li><a href="#org2318f9d">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="#orgc7895ed">Populate the <code>stewart</code> structure</a></li>
|
<li><a href="#org85f125f">Populate the <code>stewart</code> structure</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#org329bef9">5.5. <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="#org67023b1">Function description</a></li>
|
<li><a href="#orge9eed8d">Function description</a></li>
|
||||||
<li><a href="#org1173285">Optional Parameters</a></li>
|
<li><a href="#org2ecb2be">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="#orgd1a2f9c">Populate the <code>stewart</code> structure</a></li>
|
<li><a href="#org91a0531">Populate the <code>stewart</code> structure</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#org6ff5b31">5.6. <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="#orge50412f">Function description</a></li>
|
<li><a href="#org7a76b52">Function description</a></li>
|
||||||
<li><a href="#org0be1736">Optional Parameters</a></li>
|
<li><a href="#orgd2ac20d">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="#org7396a3c">Populate the <code>stewart</code> structure</a></li>
|
<li><a href="#org54ca25a">Populate the <code>stewart</code> structure</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#org60aa215">5.7. <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="#org3e05aa9">Function description</a></li>
|
<li><a href="#orge902b6c">Function description</a></li>
|
||||||
<li><a href="#org0447834">Optional Parameters</a></li>
|
<li><a href="#org9ed68cb">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="#org3e2ac57">Populate the <code>stewart</code> structure</a></li>
|
<li><a href="#org4e084f4">Populate the <code>stewart</code> structure</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#org3ad0cd1">5.8. <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="#org53a2929">Documentation</a></li>
|
<li><a href="#orgfbed90c">Documentation</a></li>
|
||||||
<li><a href="#org1ab40de">Function description</a></li>
|
<li><a href="#org6f66ea1">Function description</a></li>
|
||||||
<li><a href="#org21f3e3c">Optional Parameters</a></li>
|
<li><a href="#org5acb074">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">5.9. <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="#org2d49efc">Documentation</a></li>
|
<li><a href="#orga7c47bc">Documentation</a></li>
|
||||||
<li><a href="#orga83094e">Function description</a></li>
|
<li><a href="#org899fc34">Function description</a></li>
|
||||||
<li><a href="#orgf97e68f">Optional Parameters</a></li>
|
<li><a href="#orgc57dd52">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="#org2ca28bc">Populate the <code>stewart</code> structure</a></li>
|
<li><a href="#org7a48c56">Populate the <code>stewart</code> structure</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#orgeb6173a">5.10. <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="#org92a2eb6">Function description</a></li>
|
<li><a href="#orgbe1d3f6">Function description</a></li>
|
||||||
<li><a href="#org6de493f">Optional Parameters</a></li>
|
<li><a href="#org3b77131">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>
|
||||||
@ -383,17 +383,19 @@ for the JavaScript code in this tag.
|
|||||||
</li>
|
</li>
|
||||||
<li><a href="#orgea07e0e">5.11. <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="#org33251d6">Function description</a></li>
|
<li><a href="#orgd667bbb">Geophone - Working Principle</a></li>
|
||||||
<li><a href="#org405e558">Optional Parameters</a></li>
|
<li><a href="#orgca7729f">Accelerometer - Working Principle</a></li>
|
||||||
|
<li><a href="#org1eb17e3">Function description</a></li>
|
||||||
|
<li><a href="#orgc623e70">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="#orgfd7f4a6">Populate the <code>stewart</code> structure</a></li>
|
<li><a href="#org55d115f">Populate the <code>stewart</code> structure</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#org5266e9d">5.12. <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="#orgbbfef24">Function description</a></li>
|
<li><a href="#org59a5a2e">Function description</a></li>
|
||||||
<li><a href="#orgf940506">Optional Parameters</a></li>
|
<li><a href="#org8bd5132">Optional Parameters</a></li>
|
||||||
<li><a href="#org12d315f">Check the <code>stewart</code> structure elements</a></li>
|
<li><a href="#org92ac986">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>
|
||||||
@ -843,11 +845,11 @@ This Matlab function is accessible <a href="../src/initializeStewartPlatform.m">
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org7e0b516" class="outline-4">
|
<div id="outline-container-org56918f3" class="outline-4">
|
||||||
<h4 id="org7e0b516">Documentation</h4>
|
<h4 id="org56918f3">Documentation</h4>
|
||||||
<div class="outline-text-4" id="text-org7e0b516">
|
<div class="outline-text-4" id="text-org56918f3">
|
||||||
|
|
||||||
<div id="org405cd8e" class="figure">
|
<div id="orgfeff460" 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 +857,9 @@ This Matlab function is accessible <a href="../src/initializeStewartPlatform.m">
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org51076d4" class="outline-4">
|
<div id="outline-container-org2bf8771" class="outline-4">
|
||||||
<h4 id="org51076d4">Function description</h4>
|
<h4 id="org2bf8771">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-org51076d4">
|
<div class="outline-text-4" id="text-org2bf8771">
|
||||||
<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>
|
||||||
@ -916,11 +918,11 @@ This Matlab function is accessible <a href="../src/initializeFramesPositions.m">
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org9ab3ee7" class="outline-4">
|
<div id="outline-container-org75e004e" class="outline-4">
|
||||||
<h4 id="org9ab3ee7">Documentation</h4>
|
<h4 id="org75e004e">Documentation</h4>
|
||||||
<div class="outline-text-4" id="text-org9ab3ee7">
|
<div class="outline-text-4" id="text-org75e004e">
|
||||||
|
|
||||||
<div id="orgf487bc2" class="figure">
|
<div id="org9d8b281" 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 +930,9 @@ This Matlab function is accessible <a href="../src/initializeFramesPositions.m">
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org9e0f060" class="outline-4">
|
<div id="outline-container-org961f34d" class="outline-4">
|
||||||
<h4 id="org9e0f060">Function description</h4>
|
<h4 id="org961f34d">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-org9e0f060">
|
<div class="outline-text-4" id="text-org961f34d">
|
||||||
<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 +955,9 @@ This Matlab function is accessible <a href="../src/initializeFramesPositions.m">
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org6a57a47" class="outline-4">
|
<div id="outline-container-org2259cf3" class="outline-4">
|
||||||
<h4 id="org6a57a47">Optional Parameters</h4>
|
<h4 id="org2259cf3">Optional Parameters</h4>
|
||||||
<div class="outline-text-4" id="text-org6a57a47">
|
<div class="outline-text-4" id="text-org2259cf3">
|
||||||
<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 +985,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-org31b0fc0" class="outline-4">
|
<div id="outline-container-org46c0939" class="outline-4">
|
||||||
<h4 id="org31b0fc0">Populate the <code>stewart</code> structure</h4>
|
<h4 id="org46c0939">Populate the <code>stewart</code> structure</h4>
|
||||||
<div class="outline-text-4" id="text-org31b0fc0">
|
<div class="outline-text-4" id="text-org46c0939">
|
||||||
<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;
|
||||||
@ -1009,9 +1011,9 @@ This Matlab function is accessible <a href="../src/generateGeneralConfiguration.
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org0272259" class="outline-4">
|
<div id="outline-container-org35cd468" class="outline-4">
|
||||||
<h4 id="org0272259">Documentation</h4>
|
<h4 id="org35cd468">Documentation</h4>
|
||||||
<div class="outline-text-4" id="text-org0272259">
|
<div class="outline-text-4" id="text-org35cd468">
|
||||||
<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 +1028,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-orgbd08cb7" class="outline-4">
|
<div id="outline-container-org5e67fec" class="outline-4">
|
||||||
<h4 id="orgbd08cb7">Function description</h4>
|
<h4 id="org5e67fec">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-orgbd08cb7">
|
<div class="outline-text-4" id="text-org5e67fec">
|
||||||
<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 +1055,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-orgfade903" class="outline-4">
|
<div id="outline-container-org552a968" class="outline-4">
|
||||||
<h4 id="orgfade903">Optional Parameters</h4>
|
<h4 id="org552a968">Optional Parameters</h4>
|
||||||
<div class="outline-text-4" id="text-orgfade903">
|
<div class="outline-text-4" id="text-org552a968">
|
||||||
<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 +1092,9 @@ Mb = zeros(3,6);
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org67d9f70" class="outline-4">
|
<div id="outline-container-org08036be" class="outline-4">
|
||||||
<h4 id="org67d9f70">Populate the <code>stewart</code> structure</h4>
|
<h4 id="org08036be">Populate the <code>stewart</code> structure</h4>
|
||||||
<div class="outline-text-4" id="text-org67d9f70">
|
<div class="outline-text-4" id="text-org08036be">
|
||||||
<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;
|
||||||
@ -1114,9 +1116,9 @@ This Matlab function is accessible <a href="../src/computeJointsPose.m">here</a>
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org7f013d7" class="outline-4">
|
<div id="outline-container-org310340f" class="outline-4">
|
||||||
<h4 id="org7f013d7">Documentation</h4>
|
<h4 id="org310340f">Documentation</h4>
|
||||||
<div class="outline-text-4" id="text-org7f013d7">
|
<div class="outline-text-4" id="text-org310340f">
|
||||||
|
|
||||||
<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 +1128,9 @@ This Matlab function is accessible <a href="../src/computeJointsPose.m">here</a>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgfb0d4ad" class="outline-4">
|
<div id="outline-container-orgb68ba66" class="outline-4">
|
||||||
<h4 id="orgfb0d4ad">Function description</h4>
|
<h4 id="orgb68ba66">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-orgfb0d4ad">
|
<div class="outline-text-4" id="text-orgb68ba66">
|
||||||
<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 +1163,9 @@ This Matlab function is accessible <a href="../src/computeJointsPose.m">here</a>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org7bc221e" class="outline-4">
|
<div id="outline-container-org2318f9d" class="outline-4">
|
||||||
<h4 id="org7bc221e">Check the <code>stewart</code> structure elements</h4>
|
<h4 id="org2318f9d">Check the <code>stewart</code> structure elements</h4>
|
||||||
<div class="outline-text-4" id="text-org7bc221e">
|
<div class="outline-text-4" id="text-org2318f9d">
|
||||||
<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 +1236,9 @@ MRb = zeros(3,3,6);
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgc7895ed" class="outline-4">
|
<div id="outline-container-org85f125f" class="outline-4">
|
||||||
<h4 id="orgc7895ed">Populate the <code>stewart</code> structure</h4>
|
<h4 id="org85f125f">Populate the <code>stewart</code> structure</h4>
|
||||||
<div class="outline-text-4" id="text-orgc7895ed">
|
<div class="outline-text-4" id="text-org85f125f">
|
||||||
<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;
|
||||||
@ -1269,9 +1271,9 @@ This Matlab function is accessible <a href="../src/initializeStewartPose.m">here
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org67023b1" class="outline-4">
|
<div id="outline-container-orge9eed8d" class="outline-4">
|
||||||
<h4 id="org67023b1">Function description</h4>
|
<h4 id="orge9eed8d">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-org67023b1">
|
<div class="outline-text-4" id="text-orge9eed8d">
|
||||||
<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 +1297,9 @@ This Matlab function is accessible <a href="../src/initializeStewartPose.m">here
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org1173285" class="outline-4">
|
<div id="outline-container-org2ecb2be" class="outline-4">
|
||||||
<h4 id="org1173285">Optional Parameters</h4>
|
<h4 id="org2ecb2be">Optional Parameters</h4>
|
||||||
<div class="outline-text-4" id="text-org1173285">
|
<div class="outline-text-4" id="text-org2ecb2be">
|
||||||
<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 +1321,9 @@ This Matlab function is accessible <a href="../src/initializeStewartPose.m">here
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgd1a2f9c" class="outline-4">
|
<div id="outline-container-org91a0531" class="outline-4">
|
||||||
<h4 id="orgd1a2f9c">Populate the <code>stewart</code> structure</h4>
|
<h4 id="org91a0531">Populate the <code>stewart</code> structure</h4>
|
||||||
<div class="outline-text-4" id="text-orgd1a2f9c">
|
<div class="outline-text-4" id="text-org91a0531">
|
||||||
<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>
|
||||||
@ -1342,9 +1344,9 @@ This Matlab function is accessible <a href="../src/initializeCylindricalPlatform
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orge50412f" class="outline-4">
|
<div id="outline-container-org7a76b52" class="outline-4">
|
||||||
<h4 id="orge50412f">Function description</h4>
|
<h4 id="org7a76b52">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-orge50412f">
|
<div class="outline-text-4" id="text-org7a76b52">
|
||||||
<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 +1380,9 @@ This Matlab function is accessible <a href="../src/initializeCylindricalPlatform
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org0be1736" class="outline-4">
|
<div id="outline-container-orgd2ac20d" class="outline-4">
|
||||||
<h4 id="org0be1736">Optional Parameters</h4>
|
<h4 id="orgd2ac20d">Optional Parameters</h4>
|
||||||
<div class="outline-text-4" id="text-org0be1736">
|
<div class="outline-text-4" id="text-orgd2ac20d">
|
||||||
<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 +1417,9 @@ This Matlab function is accessible <a href="../src/initializeCylindricalPlatform
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org7396a3c" class="outline-4">
|
<div id="outline-container-org54ca25a" class="outline-4">
|
||||||
<h4 id="org7396a3c">Populate the <code>stewart</code> structure</h4>
|
<h4 id="org54ca25a">Populate the <code>stewart</code> structure</h4>
|
||||||
<div class="outline-text-4" id="text-org7396a3c">
|
<div class="outline-text-4" id="text-org54ca25a">
|
||||||
<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;
|
||||||
|
|
||||||
@ -1453,9 +1455,9 @@ This Matlab function is accessible <a href="../src/initializeCylindricalStruts.m
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org3e05aa9" class="outline-4">
|
<div id="outline-container-orge902b6c" class="outline-4">
|
||||||
<h4 id="org3e05aa9">Function description</h4>
|
<h4 id="orge902b6c">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-org3e05aa9">
|
<div class="outline-text-4" id="text-orge902b6c">
|
||||||
<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 +1490,9 @@ This Matlab function is accessible <a href="../src/initializeCylindricalStruts.m
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org0447834" class="outline-4">
|
<div id="outline-container-org9ed68cb" class="outline-4">
|
||||||
<h4 id="org0447834">Optional Parameters</h4>
|
<h4 id="org9ed68cb">Optional Parameters</h4>
|
||||||
<div class="outline-text-4" id="text-org0447834">
|
<div class="outline-text-4" id="text-org9ed68cb">
|
||||||
<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 +1540,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-org3e2ac57" class="outline-4">
|
<div id="outline-container-org4e084f4" class="outline-4">
|
||||||
<h4 id="org3e2ac57">Populate the <code>stewart</code> structure</h4>
|
<h4 id="org4e084f4">Populate the <code>stewart</code> structure</h4>
|
||||||
<div class="outline-text-4" id="text-org3e2ac57">
|
<div class="outline-text-4" id="text-org4e084f4">
|
||||||
<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;
|
||||||
|
|
||||||
@ -1576,9 +1578,9 @@ This Matlab function is accessible <a href="../src/initializeStrutDynamics.m">he
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org53a2929" class="outline-4">
|
<div id="outline-container-orgfbed90c" class="outline-4">
|
||||||
<h4 id="org53a2929">Documentation</h4>
|
<h4 id="orgfbed90c">Documentation</h4>
|
||||||
<div class="outline-text-4" id="text-org53a2929">
|
<div class="outline-text-4" id="text-orgfbed90c">
|
||||||
|
|
||||||
<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 +1609,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#org62
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org1ab40de" class="outline-4">
|
<div id="outline-container-org6f66ea1" class="outline-4">
|
||||||
<h4 id="org1ab40de">Function description</h4>
|
<h4 id="org6f66ea1">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-org1ab40de">
|
<div class="outline-text-4" id="text-org6f66ea1">
|
||||||
<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 +1633,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#org62
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org21f3e3c" class="outline-4">
|
<div id="outline-container-org5acb074" class="outline-4">
|
||||||
<h4 id="org21f3e3c">Optional Parameters</h4>
|
<h4 id="org5acb074">Optional Parameters</h4>
|
||||||
<div class="outline-text-4" id="text-org21f3e3c">
|
<div class="outline-text-4" id="text-org5acb074">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">arguments
|
<pre class="src src-matlab">arguments
|
||||||
stewart
|
stewart
|
||||||
@ -1671,9 +1673,9 @@ This Matlab function is accessible <a href="../src/initializeAmplifiedStrutDynam
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org2d49efc" class="outline-4">
|
<div id="outline-container-orga7c47bc" class="outline-4">
|
||||||
<h4 id="org2d49efc">Documentation</h4>
|
<h4 id="orga7c47bc">Documentation</h4>
|
||||||
<div class="outline-text-4" id="text-org2d49efc">
|
<div class="outline-text-4" id="text-orga7c47bc">
|
||||||
<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 +1708,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#orgcf
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orga83094e" class="outline-4">
|
<div id="outline-container-org899fc34" class="outline-4">
|
||||||
<h4 id="orga83094e">Function description</h4>
|
<h4 id="org899fc34">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-orga83094e">
|
<div class="outline-text-4" id="text-org899fc34">
|
||||||
<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 +1738,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#orgcf
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgf97e68f" class="outline-4">
|
<div id="outline-container-orgc57dd52" class="outline-4">
|
||||||
<h4 id="orgf97e68f">Optional Parameters</h4>
|
<h4 id="orgc57dd52">Optional Parameters</h4>
|
||||||
<div class="outline-text-4" id="text-orgf97e68f">
|
<div class="outline-text-4" id="text-orgc57dd52">
|
||||||
<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 +1765,9 @@ C = args.Ca <span class="org-type">+</span> args.Cr;
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org2ca28bc" class="outline-4">
|
<div id="outline-container-org7a48c56" class="outline-4">
|
||||||
<h4 id="org2ca28bc">Populate the <code>stewart</code> structure</h4>
|
<h4 id="org7a48c56">Populate the <code>stewart</code> structure</h4>
|
||||||
<div class="outline-text-4" id="text-org2ca28bc">
|
<div class="outline-text-4" id="text-org7a48c56">
|
||||||
<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;
|
||||||
|
|
||||||
@ -1795,9 +1797,9 @@ This Matlab function is accessible <a href="../src/initializeJointDynamics.m">he
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org92a2eb6" class="outline-4">
|
<div id="outline-container-orgbe1d3f6" class="outline-4">
|
||||||
<h4 id="org92a2eb6">Function description</h4>
|
<h4 id="orgbe1d3f6">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-org92a2eb6">
|
<div class="outline-text-4" id="text-orgbe1d3f6">
|
||||||
<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 +1834,9 @@ This Matlab function is accessible <a href="../src/initializeJointDynamics.m">he
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org6de493f" class="outline-4">
|
<div id="outline-container-org3b77131" class="outline-4">
|
||||||
<h4 id="org6de493f">Optional Parameters</h4>
|
<h4 id="org3b77131">Optional Parameters</h4>
|
||||||
<div class="outline-text-4" id="text-org6de493f">
|
<div class="outline-text-4" id="text-org3b77131">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">arguments
|
<pre class="src src-matlab">arguments
|
||||||
stewart
|
stewart
|
||||||
@ -1960,9 +1962,83 @@ This Matlab function is accessible <a href="../src/initializeInertialSensor.m">h
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org33251d6" class="outline-4">
|
<div id="outline-container-orgd667bbb" class="outline-4">
|
||||||
<h4 id="org33251d6">Function description</h4>
|
<h4 id="orgd667bbb">Geophone - Working Principle</h4>
|
||||||
<div class="outline-text-4" id="text-org33251d6">
|
<div class="outline-text-4" id="text-orgd667bbb">
|
||||||
|
<p>
|
||||||
|
From the schematic of the Z-axis geophone shown in Figure <a href="#orge962c25">15</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} \]
|
||||||
|
with:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>\(\omega_0 = \sqrt{\frac{k}{m}}\)</li>
|
||||||
|
<li>\(\xi = \frac{1}{2} \sqrt{\frac{m}{k}}\)</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="orge962c25" class="figure">
|
||||||
|
<p><img src="figs/inertial_sensor.png" alt="inertial_sensor.png" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 15: </span>Schematic of a Z-Axis geophone</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
We see that at frequencies above \(\omega_0\):
|
||||||
|
\[ \frac{\dot{d}}{\dot{w}} \approx -1 \]
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
And thus, the measurement of the relative velocity of the mass with respect to its support gives the absolute velocity of the support.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
We generally want to have the smallest resonant frequency \(\omega_0\) to measure low frequency absolute velocity, however there is a trade-off between \(\omega_0\) and the mass of the inertial mass.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgca7729f" class="outline-4">
|
||||||
|
<h4 id="orgca7729f">Accelerometer - Working Principle</h4>
|
||||||
|
<div class="outline-text-4" id="text-orgca7729f">
|
||||||
|
<p>
|
||||||
|
From the schematic of the Z-axis accelerometer shown in Figure <a href="#org6e272e3">16</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} \]
|
||||||
|
with:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>\(\omega_0 = \sqrt{\frac{k}{m}}\)</li>
|
||||||
|
<li>\(\xi = \frac{1}{2} \sqrt{\frac{m}{k}}\)</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="org6e272e3" class="figure">
|
||||||
|
<p><img src="figs/inertial_sensor.png" alt="inertial_sensor.png" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 16: </span>Schematic of a Z-Axis geophone</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
We see that at frequencies below \(\omega_0\):
|
||||||
|
\[ \frac{d}{\ddot{w}} \approx -\frac{1}{{\omega_0}^2} \]
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
And thus, the measurement of the relative displacement of the mass with respect to its support gives the absolute acceleration of the support.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Note that there is trade-off between:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>the highest measurable acceleration \(\omega_0\)</li>
|
||||||
|
<li>the sensitivity of the accelerometer which is equal to \(-\frac{1}{{\omega_0}^2}\)</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org1eb17e3" class="outline-4">
|
||||||
|
<h4 id="org1eb17e3">Function description</h4>
|
||||||
|
<div class="outline-text-4" id="text-org1eb17e3">
|
||||||
<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 +2064,9 @@ This Matlab function is accessible <a href="../src/initializeInertialSensor.m">h
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org405e558" class="outline-4">
|
<div id="outline-container-orgc623e70" class="outline-4">
|
||||||
<h4 id="org405e558">Optional Parameters</h4>
|
<h4 id="orgc623e70">Optional Parameters</h4>
|
||||||
<div class="outline-text-4" id="text-org405e558">
|
<div class="outline-text-4" id="text-orgc623e70">
|
||||||
<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 +2107,9 @@ This Matlab function is accessible <a href="../src/initializeInertialSensor.m">h
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgfd7f4a6" class="outline-4">
|
<div id="outline-container-org55d115f" class="outline-4">
|
||||||
<h4 id="orgfd7f4a6">Populate the <code>stewart</code> structure</h4>
|
<h4 id="org55d115f">Populate the <code>stewart</code> structure</h4>
|
||||||
<div class="outline-text-4" id="text-orgfd7f4a6">
|
<div class="outline-text-4" id="text-org55d115f">
|
||||||
<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>
|
||||||
@ -2054,9 +2130,9 @@ This Matlab function is accessible <a href="../src/displayArchitecture.m">here</
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgbbfef24" class="outline-4">
|
<div id="outline-container-org59a5a2e" class="outline-4">
|
||||||
<h4 id="orgbbfef24">Function description</h4>
|
<h4 id="org59a5a2e">Function description</h4>
|
||||||
<div class="outline-text-4" id="text-orgbbfef24">
|
<div class="outline-text-4" id="text-org59a5a2e">
|
||||||
<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>
|
||||||
@ -2085,9 +2161,9 @@ This Matlab function is accessible <a href="../src/displayArchitecture.m">here</
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgf940506" class="outline-4">
|
<div id="outline-container-org8bd5132" class="outline-4">
|
||||||
<h4 id="orgf940506">Optional Parameters</h4>
|
<h4 id="org8bd5132">Optional Parameters</h4>
|
||||||
<div class="outline-text-4" id="text-orgf940506">
|
<div class="outline-text-4" id="text-org8bd5132">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">arguments
|
<pre class="src src-matlab">arguments
|
||||||
stewart
|
stewart
|
||||||
@ -2108,9 +2184,9 @@ This Matlab function is accessible <a href="../src/displayArchitecture.m">here</
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org12d315f" class="outline-4">
|
<div id="outline-container-org92ac986" class="outline-4">
|
||||||
<h4 id="org12d315f">Check the <code>stewart</code> structure elements</h4>
|
<h4 id="org92ac986">Check the <code>stewart</code> structure elements</h4>
|
||||||
<div class="outline-text-4" id="text-org12d315f">
|
<div class="outline-text-4" id="text-org92ac986">
|
||||||
<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;
|
||||||
@ -2426,6 +2502,8 @@ Plot the legs connecting the joints of the fixed base to the joints of the mobil
|
|||||||
<span class="org-type">axis</span> equal;
|
<span class="org-type">axis</span> equal;
|
||||||
<span class="org-type">axis</span> off;
|
<span class="org-type">axis</span> off;
|
||||||
title(<span class="org-string">'Side'</span>)
|
title(<span class="org-string">'Side'</span>)
|
||||||
|
|
||||||
|
close(f);
|
||||||
<span class="org-keyword">end</span>
|
<span class="org-keyword">end</span>
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
@ -2444,7 +2522,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-12 mer. 14:16</p>
|
<p class="date">Created: 2020-02-13 jeu. 15:47</p>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -301,106 +301,3 @@ This Matlab function is accessible [[file:../src/initializeGround.m][here]].
|
|||||||
ground.C = args.C;
|
ground.C = args.C;
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Z-Axis Geophone
|
|
||||||
*** Working Principle
|
|
||||||
From the schematic of the Z-axis geophone shown in Figure [[fig:z_axis_geophone]], 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} \]
|
|
||||||
with:
|
|
||||||
- $\omega_0 = \sqrt{\frac{k}{m}}$
|
|
||||||
- $\xi = \frac{1}{2} \sqrt{\frac{m}{k}}$
|
|
||||||
|
|
||||||
#+name: fig:z_axis_geophone
|
|
||||||
#+caption: Schematic of a Z-Axis geophone
|
|
||||||
[[file:figs/inertial_sensor.png]]
|
|
||||||
|
|
||||||
We see that at frequencies above $\omega_0$:
|
|
||||||
\[ \frac{\dot{d}}{\dot{w}} \approx -1 \]
|
|
||||||
|
|
||||||
And thus, the measurement of the relative velocity of the mass with respect to its support gives the absolute velocity of the support.
|
|
||||||
|
|
||||||
We generally want to have the smallest resonant frequency $\omega_0$ to measure low frequency absolute velocity, however there is a trade-off between $\omega_0$ and the mass of the inertial mass.
|
|
||||||
|
|
||||||
*** Initialization function
|
|
||||||
:PROPERTIES:
|
|
||||||
:header-args:matlab+: :tangle ../src/initializeZAxisGeophone.m
|
|
||||||
:header-args:matlab+: :comments none :mkdirp yes :eval no
|
|
||||||
:END:
|
|
||||||
<<sec:initializeZAxisGeophone>>
|
|
||||||
|
|
||||||
This Matlab function is accessible [[file:../src/initializeZAxisGeophone.m][here]].
|
|
||||||
|
|
||||||
#+begin_src matlab
|
|
||||||
function [geophone] = initializeZAxisGeophone(args)
|
|
||||||
arguments
|
|
||||||
args.mass (1,1) double {mustBeNumeric, mustBePositive} = 1e-3 % [kg]
|
|
||||||
args.freq (1,1) double {mustBeNumeric, mustBePositive} = 1 % [Hz]
|
|
||||||
end
|
|
||||||
|
|
||||||
%%
|
|
||||||
geophone.m = args.mass;
|
|
||||||
|
|
||||||
%% The Stiffness is set to have the damping resonance frequency
|
|
||||||
geophone.k = geophone.m * (2*pi*args.freq)^2;
|
|
||||||
|
|
||||||
%% We set the damping value to have critical damping
|
|
||||||
geophone.c = 2*sqrt(geophone.m * geophone.k);
|
|
||||||
|
|
||||||
%% Save
|
|
||||||
save('./mat/geophone_z_axis.mat', 'geophone');
|
|
||||||
end
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Z-Axis Accelerometer
|
|
||||||
*** Working Principle
|
|
||||||
From the schematic of the Z-axis accelerometer shown in Figure [[fig:z_axis_accelerometer]], 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} \]
|
|
||||||
with:
|
|
||||||
- $\omega_0 = \sqrt{\frac{k}{m}}$
|
|
||||||
- $\xi = \frac{1}{2} \sqrt{\frac{m}{k}}$
|
|
||||||
|
|
||||||
#+name: fig:z_axis_accelerometer
|
|
||||||
#+caption: Schematic of a Z-Axis geophone
|
|
||||||
[[file:figs/inertial_sensor.png]]
|
|
||||||
|
|
||||||
We see that at frequencies below $\omega_0$:
|
|
||||||
\[ \frac{d}{\ddot{w}} \approx -\frac{1}{{\omega_0}^2} \]
|
|
||||||
|
|
||||||
And thus, the measurement of the relative displacement of the mass with respect to its support gives the absolute acceleration of the support.
|
|
||||||
|
|
||||||
Note that there is trade-off between:
|
|
||||||
- the highest measurable acceleration $\omega_0$
|
|
||||||
- the sensitivity of the accelerometer which is equal to $-\frac{1}{{\omega_0}^2}$
|
|
||||||
|
|
||||||
*** Initialization function
|
|
||||||
:PROPERTIES:
|
|
||||||
:header-args:matlab+: :tangle ../src/initializeZAxisAccelerometer.m
|
|
||||||
:header-args:matlab+: :comments none :mkdirp yes :eval no
|
|
||||||
:END:
|
|
||||||
<<sec:initializeZAxisAccelerometer>>
|
|
||||||
|
|
||||||
This Matlab function is accessible [[file:../src/initializeZAxisAccelerometer.m][here]].
|
|
||||||
|
|
||||||
#+begin_src matlab
|
|
||||||
function [accelerometer] = initializeZAxisAccelerometer(args)
|
|
||||||
arguments
|
|
||||||
args.mass (1,1) double {mustBeNumeric, mustBePositive} = 5e-3 % [kg]
|
|
||||||
args.freq (1,1) double {mustBeNumeric, mustBePositive} = 5e3 % [Hz]
|
|
||||||
end
|
|
||||||
|
|
||||||
%%
|
|
||||||
accelerometer.m = args.mass;
|
|
||||||
|
|
||||||
%% The Stiffness is set to have the damping resonance frequency
|
|
||||||
accelerometer.k = accelerometer.m * (2*pi*args.freq)^2;
|
|
||||||
|
|
||||||
%% We set the damping value to have critical damping
|
|
||||||
accelerometer.c = 2*sqrt(accelerometer.m * accelerometer.k);
|
|
||||||
|
|
||||||
%% Gain correction of the accelerometer to have a unity gain until the resonance
|
|
||||||
accelerometer.gain = -accelerometer.k/accelerometer.m;
|
|
||||||
|
|
||||||
%% Save
|
|
||||||
save('./mat/accelerometer_z_axis.mat', 'accelerometer');
|
|
||||||
end
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
|
@ -1344,6 +1344,50 @@ Rotational Damping
|
|||||||
|
|
||||||
This Matlab function is accessible [[file:../src/initializeInertialSensor.m][here]].
|
This Matlab function is accessible [[file:../src/initializeInertialSensor.m][here]].
|
||||||
|
|
||||||
|
*** Geophone - Working Principle
|
||||||
|
:PROPERTIES:
|
||||||
|
:UNNUMBERED: t
|
||||||
|
:END:
|
||||||
|
From the schematic of the Z-axis geophone shown in Figure [[fig:z_axis_geophone]], 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} \]
|
||||||
|
with:
|
||||||
|
- $\omega_0 = \sqrt{\frac{k}{m}}$
|
||||||
|
- $\xi = \frac{1}{2} \sqrt{\frac{m}{k}}$
|
||||||
|
|
||||||
|
#+name: fig:z_axis_geophone
|
||||||
|
#+caption: Schematic of a Z-Axis geophone
|
||||||
|
[[file:figs/inertial_sensor.png]]
|
||||||
|
|
||||||
|
We see that at frequencies above $\omega_0$:
|
||||||
|
\[ \frac{\dot{d}}{\dot{w}} \approx -1 \]
|
||||||
|
|
||||||
|
And thus, the measurement of the relative velocity of the mass with respect to its support gives the absolute velocity of the support.
|
||||||
|
|
||||||
|
We generally want to have the smallest resonant frequency $\omega_0$ to measure low frequency absolute velocity, however there is a trade-off between $\omega_0$ and the mass of the inertial mass.
|
||||||
|
|
||||||
|
*** Accelerometer - Working Principle
|
||||||
|
:PROPERTIES:
|
||||||
|
:UNNUMBERED: t
|
||||||
|
:END:
|
||||||
|
From the schematic of the Z-axis accelerometer shown in Figure [[fig:z_axis_accelerometer]], 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} \]
|
||||||
|
with:
|
||||||
|
- $\omega_0 = \sqrt{\frac{k}{m}}$
|
||||||
|
- $\xi = \frac{1}{2} \sqrt{\frac{m}{k}}$
|
||||||
|
|
||||||
|
#+name: fig:z_axis_accelerometer
|
||||||
|
#+caption: Schematic of a Z-Axis geophone
|
||||||
|
[[file:figs/inertial_sensor.png]]
|
||||||
|
|
||||||
|
We see that at frequencies below $\omega_0$:
|
||||||
|
\[ \frac{d}{\ddot{w}} \approx -\frac{1}{{\omega_0}^2} \]
|
||||||
|
|
||||||
|
And thus, the measurement of the relative displacement of the mass with respect to its support gives the absolute acceleration of the support.
|
||||||
|
|
||||||
|
Note that there is trade-off between:
|
||||||
|
- the highest measurable acceleration $\omega_0$
|
||||||
|
- the sensitivity of the accelerometer which is equal to $-\frac{1}{{\omega_0}^2}$
|
||||||
|
|
||||||
*** Function description
|
*** Function description
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:UNNUMBERED: t
|
:UNNUMBERED: t
|
||||||
@ -1744,6 +1788,8 @@ Plot the legs connecting the joints of the fixed base to the joints of the mobil
|
|||||||
axis equal;
|
axis equal;
|
||||||
axis off;
|
axis off;
|
||||||
title('Side')
|
title('Side')
|
||||||
|
|
||||||
|
close(f);
|
||||||
end
|
end
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user