Only one simulink file in matlab folder
This commit is contained in:
parent
05687a003d
commit
becb9b7758
@ -1,2 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<Info />
|
@ -1,2 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<Info />
|
@ -1,6 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<Info>
|
||||
<Category UUID="FileClassCategory">
|
||||
<Label UUID="design" />
|
||||
</Category>
|
||||
</Info>
|
@ -1,2 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<Info Ref="simulink" Type="Relative" />
|
@ -4,7 +4,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2020-02-11 mar. 17:51 -->
|
||||
<!-- 2020-02-13 jeu. 14:42 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Stewart Platform - Simscape Model</title>
|
||||
@ -279,16 +279,32 @@ for the JavaScript code in this tag.
|
||||
</li>
|
||||
<li><a href="#org7e2c432">6. Other Elements</a>
|
||||
<ul>
|
||||
<li><a href="#org4bdfc33">6.1. Z-Axis Geophone</a>
|
||||
<li><a href="#org3535b6d">6.1. Payload</a>
|
||||
<ul>
|
||||
<li><a href="#org59ef364">6.1.1. Working Principle</a></li>
|
||||
<li><a href="#orgb3509cd">6.1.2. Initialization function</a></li>
|
||||
<li><a href="#orgf4d7716">Function description</a></li>
|
||||
<li><a href="#org071708c">Optional Parameters</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>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org99786f1">6.2. Z-Axis Accelerometer</a>
|
||||
<li><a href="#orgaaed406">6.2. Ground</a>
|
||||
<ul>
|
||||
<li><a href="#orgf6e6126">6.2.1. Working Principle</a></li>
|
||||
<li><a href="#org7b9c8ed">6.2.2. Initialization function</a></li>
|
||||
<li><a href="#org706f994">Function description</a></li>
|
||||
<li><a href="#orgb15b49f">Optional Parameters</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>
|
||||
</ul>
|
||||
</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>
|
||||
@ -509,13 +525,189 @@ Both inertial sensors are described bellow.
|
||||
<h2 id="org7e2c432"><span class="section-number-2">6</span> Other Elements</h2>
|
||||
<div class="outline-text-2" id="text-6">
|
||||
</div>
|
||||
<div id="outline-container-org4bdfc33" class="outline-3">
|
||||
<h3 id="org4bdfc33"><span class="section-number-3">6.1</span> Z-Axis Geophone</h3>
|
||||
<div id="outline-container-org3535b6d" class="outline-3">
|
||||
<h3 id="org3535b6d"><span class="section-number-3">6.1</span> Payload</h3>
|
||||
<div class="outline-text-3" id="text-6-1">
|
||||
<p>
|
||||
<a id="org3a56808"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This Matlab function is accessible <a href="../src/initializePayload.m">here</a>.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org59ef364" class="outline-4">
|
||||
<h4 id="org59ef364"><span class="section-number-4">6.1.1</span> Working Principle</h4>
|
||||
<div class="outline-text-4" id="text-6-1-1">
|
||||
|
||||
<div id="outline-container-orgf4d7716" class="outline-4">
|
||||
<h4 id="orgf4d7716">Function description</h4>
|
||||
<div class="outline-text-4" id="text-orgf4d7716">
|
||||
<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>)
|
||||
<span class="org-comment">% initializePayload - Initialize the Payload that can then be used for simulations and analysis</span>
|
||||
<span class="org-comment">%</span>
|
||||
<span class="org-comment">% Syntax: [payload] = initializePayload(args)</span>
|
||||
<span class="org-comment">%</span>
|
||||
<span class="org-comment">% Inputs:</span>
|
||||
<span class="org-comment">% - args - Structure with the following fields:</span>
|
||||
<span class="org-comment">% - type - 'none', 'solid', 'flexible', 'cartesian'</span>
|
||||
<span class="org-comment">% - h [1x1] - Height of the CoM of the payload w.r.t {M} [m]</span>
|
||||
<span class="org-comment">% This also the position where K and C are defined</span>
|
||||
<span class="org-comment">% - K [6x1] - Stiffness of the Payload [N/m, N/rad]</span>
|
||||
<span class="org-comment">% - C [6x1] - Damping of the Payload [N/(m/s), N/(rad/s)]</span>
|
||||
<span class="org-comment">% - m [1x1] - Mass of the Payload [kg]</span>
|
||||
<span class="org-comment">% - I [3x3] - Inertia matrix for the Payload [kg*m2]</span>
|
||||
<span class="org-comment">%</span>
|
||||
<span class="org-comment">% Outputs:</span>
|
||||
<span class="org-comment">% - payload - Struture with the following properties:</span>
|
||||
<span class="org-comment">% - type - 1 (none), 2 (solid), 3 (flexible)</span>
|
||||
<span class="org-comment">% - h [1x1] - Height of the CoM of the payload w.r.t {M} [m]</span>
|
||||
<span class="org-comment">% - K [6x1] - Stiffness of the Payload [N/m, N/rad]</span>
|
||||
<span class="org-comment">% - C [6x1] - Stiffness of the Payload [N/(m/s), N/(rad/s)]</span>
|
||||
<span class="org-comment">% - m [1x1] - Mass of the Payload [kg]</span>
|
||||
<span class="org-comment">% - I [3x3] - Inertia matrix for the Payload [kg*m2]</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org071708c" class="outline-4">
|
||||
<h4 id="org071708c">Optional Parameters</h4>
|
||||
<div class="outline-text-4" id="text-org071708c">
|
||||
<div class="org-src-container">
|
||||
<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.K (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e8<span class="org-type">*</span>ones(6,1)
|
||||
args.C (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e1<span class="org-type">*</span>ones(6,1)
|
||||
args.h (1,1) double {mustBeNumeric, mustBeNonnegative} = 100e<span class="org-type">-</span>3
|
||||
args.m (1,1) double {mustBeNumeric, mustBeNonnegative} = 10
|
||||
args.I (3,3) double {mustBeNumeric, mustBeNonnegative} = 1<span class="org-type">*</span>eye(3)
|
||||
<span class="org-keyword">end</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeeb8d35" class="outline-4">
|
||||
<h4 id="orgeeb8d35">Add Payload Type</h4>
|
||||
<div class="outline-text-4" id="text-orgeeb8d35">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-keyword">switch</span> <span class="org-constant">args.type</span>
|
||||
<span class="org-keyword">case</span> <span class="org-string">'none'</span>
|
||||
payload.type = 1;
|
||||
<span class="org-keyword">case</span> <span class="org-string">'solid'</span>
|
||||
payload.type = 2;
|
||||
<span class="org-keyword">case</span> <span class="org-string">'flexible'</span>
|
||||
payload.type = 3;
|
||||
<span class="org-keyword">case</span> <span class="org-string">'cartesian'</span>
|
||||
payload.type = 4;
|
||||
<span class="org-keyword">end</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6d52ffc" class="outline-4">
|
||||
<h4 id="org6d52ffc">Add Stiffness, Damping and Mass properties of the Payload</h4>
|
||||
<div class="outline-text-4" id="text-org6d52ffc">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">payload.K = args.K;
|
||||
payload.C = args.C;
|
||||
payload.m = args.m;
|
||||
payload.I = args.I;
|
||||
|
||||
payload.h = args.h;
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaaed406" class="outline-3">
|
||||
<h3 id="orgaaed406"><span class="section-number-3">6.2</span> Ground</h3>
|
||||
<div class="outline-text-3" id="text-6-2">
|
||||
<p>
|
||||
<a id="orge64ba82"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This Matlab function is accessible <a href="../src/initializeGround.m">here</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org706f994" class="outline-4">
|
||||
<h4 id="org706f994">Function description</h4>
|
||||
<div class="outline-text-4" id="text-org706f994">
|
||||
<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>)
|
||||
<span class="org-comment">% initializeGround - Initialize the Ground that can then be used for simulations and analysis</span>
|
||||
<span class="org-comment">%</span>
|
||||
<span class="org-comment">% Syntax: [ground] = initializeGround(args)</span>
|
||||
<span class="org-comment">%</span>
|
||||
<span class="org-comment">% Inputs:</span>
|
||||
<span class="org-comment">% - args - Structure with the following fields:</span>
|
||||
<span class="org-comment">% - type - 'none', 'solid', 'flexible'</span>
|
||||
<span class="org-comment">% - K [3x1] - Translation Stiffness of the Ground [N/m]</span>
|
||||
<span class="org-comment">% - C [3x1] - Translation Damping of the Ground [N/(m/s)]</span>
|
||||
<span class="org-comment">%</span>
|
||||
<span class="org-comment">% Outputs:</span>
|
||||
<span class="org-comment">% - ground - Struture with the following properties:</span>
|
||||
<span class="org-comment">% - type - 1 (none), 2 (solid), 3 (flexible)</span>
|
||||
<span class="org-comment">% - K [3x1] - Translation Stiffness of the Ground [N/m]</span>
|
||||
<span class="org-comment">% - C [3x1] - Translation Damping of the Ground [N/(m/s)]</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb15b49f" class="outline-4">
|
||||
<h4 id="orgb15b49f">Optional Parameters</h4>
|
||||
<div class="outline-text-4" id="text-orgb15b49f">
|
||||
<div class="org-src-container">
|
||||
<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.K (3,1) double {mustBeNumeric, mustBeNonnegative} = 1e8<span class="org-type">*</span>ones(3,1)
|
||||
args.C (3,1) double {mustBeNumeric, mustBeNonnegative} = 1e1<span class="org-type">*</span>ones(3,1)
|
||||
<span class="org-keyword">end</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgef7035d" class="outline-4">
|
||||
<h4 id="orgef7035d">Add Ground Type</h4>
|
||||
<div class="outline-text-4" id="text-orgef7035d">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-keyword">switch</span> <span class="org-constant">args.type</span>
|
||||
<span class="org-keyword">case</span> <span class="org-string">'none'</span>
|
||||
ground.type = 1;
|
||||
<span class="org-keyword">case</span> <span class="org-string">'solid'</span>
|
||||
ground.type = 2;
|
||||
<span class="org-keyword">case</span> <span class="org-string">'flexible'</span>
|
||||
ground.type = 3;
|
||||
<span class="org-keyword">end</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org95633e8" class="outline-4">
|
||||
<h4 id="org95633e8">Add Stiffness and Damping properties of the Ground</h4>
|
||||
<div class="outline-text-4" id="text-org95633e8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">ground.K = args.K;
|
||||
ground.C = args.C;
|
||||
</pre>
|
||||
</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} \]
|
||||
@ -548,9 +740,9 @@ We generally want to have the smallest resonant frequency \(\omega_0\) to measur
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb3509cd" class="outline-4">
|
||||
<h4 id="orgb3509cd"><span class="section-number-4">6.1.2</span> Initialization function</h4>
|
||||
<div class="outline-text-4" id="text-6-1-2">
|
||||
<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>
|
||||
@ -585,12 +777,12 @@ This Matlab function is accessible <a href="../src/initializeZAxisGeophone.m">he
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org99786f1" class="outline-3">
|
||||
<h3 id="org99786f1"><span class="section-number-3">6.2</span> Z-Axis Accelerometer</h3>
|
||||
<div class="outline-text-3" id="text-6-2">
|
||||
<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-orgf6e6126" class="outline-4">
|
||||
<h4 id="orgf6e6126"><span class="section-number-4">6.2.1</span> Working Principle</h4>
|
||||
<div class="outline-text-4" id="text-6-2-1">
|
||||
<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} \]
|
||||
@ -627,9 +819,9 @@ Note that there is trade-off between:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7b9c8ed" class="outline-4">
|
||||
<h4 id="org7b9c8ed"><span class="section-number-4">6.2.2</span> Initialization function</h4>
|
||||
<div class="outline-text-4" id="text-6-2-2">
|
||||
<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>
|
||||
@ -669,7 +861,7 @@ This Matlab function is accessible <a href="../src/initializeZAxisAccelerometer.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-02-11 mar. 17:51</p>
|
||||
<p class="date">Created: 2020-02-13 jeu. 14:42</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
BIN
matlab/stewart_platform_model.slx
Normal file
BIN
matlab/stewart_platform_model.slx
Normal file
Binary file not shown.
@ -149,6 +149,158 @@ There is two main types of inertial sensor that can be used to measure the absol
|
||||
Both inertial sensors are described bellow.
|
||||
|
||||
* Other Elements
|
||||
** Payload
|
||||
:PROPERTIES:
|
||||
:header-args:matlab+: :tangle ../src/initializePayload.m
|
||||
:header-args:matlab+: :comments none :mkdirp yes :eval no
|
||||
:END:
|
||||
<<sec:initializePayload>>
|
||||
|
||||
This Matlab function is accessible [[file:../src/initializePayload.m][here]].
|
||||
|
||||
*** Function description
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
#+begin_src matlab
|
||||
function [payload] = initializePayload(args)
|
||||
% initializePayload - Initialize the Payload that can then be used for simulations and analysis
|
||||
%
|
||||
% Syntax: [payload] = initializePayload(args)
|
||||
%
|
||||
% Inputs:
|
||||
% - args - Structure with the following fields:
|
||||
% - type - 'none', 'solid', 'flexible', 'cartesian'
|
||||
% - h [1x1] - Height of the CoM of the payload w.r.t {M} [m]
|
||||
% This also the position where K and C are defined
|
||||
% - K [6x1] - Stiffness of the Payload [N/m, N/rad]
|
||||
% - C [6x1] - Damping of the Payload [N/(m/s), N/(rad/s)]
|
||||
% - m [1x1] - Mass of the Payload [kg]
|
||||
% - I [3x3] - Inertia matrix for the Payload [kg*m2]
|
||||
%
|
||||
% Outputs:
|
||||
% - payload - Struture with the following properties:
|
||||
% - type - 1 (none), 2 (solid), 3 (flexible)
|
||||
% - h [1x1] - Height of the CoM of the payload w.r.t {M} [m]
|
||||
% - K [6x1] - Stiffness of the Payload [N/m, N/rad]
|
||||
% - C [6x1] - Stiffness of the Payload [N/(m/s), N/(rad/s)]
|
||||
% - m [1x1] - Mass of the Payload [kg]
|
||||
% - I [3x3] - Inertia matrix for the Payload [kg*m2]
|
||||
#+end_src
|
||||
|
||||
*** Optional Parameters
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
#+begin_src matlab
|
||||
arguments
|
||||
args.type char {mustBeMember(args.type,{'none', 'solid', 'flexible', 'cartesian'})} = 'none'
|
||||
args.K (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e8*ones(6,1)
|
||||
args.C (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e1*ones(6,1)
|
||||
args.h (1,1) double {mustBeNumeric, mustBeNonnegative} = 100e-3
|
||||
args.m (1,1) double {mustBeNumeric, mustBeNonnegative} = 10
|
||||
args.I (3,3) double {mustBeNumeric, mustBeNonnegative} = 1*eye(3)
|
||||
end
|
||||
#+end_src
|
||||
|
||||
*** Add Payload Type
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
#+begin_src matlab
|
||||
switch args.type
|
||||
case 'none'
|
||||
payload.type = 1;
|
||||
case 'solid'
|
||||
payload.type = 2;
|
||||
case 'flexible'
|
||||
payload.type = 3;
|
||||
case 'cartesian'
|
||||
payload.type = 4;
|
||||
end
|
||||
#+end_src
|
||||
|
||||
*** Add Stiffness, Damping and Mass properties of the Payload
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
#+begin_src matlab
|
||||
payload.K = args.K;
|
||||
payload.C = args.C;
|
||||
payload.m = args.m;
|
||||
payload.I = args.I;
|
||||
|
||||
payload.h = args.h;
|
||||
#+end_src
|
||||
|
||||
** Ground
|
||||
:PROPERTIES:
|
||||
:header-args:matlab+: :tangle ../src/initializeGround.m
|
||||
:header-args:matlab+: :comments none :mkdirp yes :eval no
|
||||
:END:
|
||||
<<sec:initializeGround>>
|
||||
|
||||
This Matlab function is accessible [[file:../src/initializeGround.m][here]].
|
||||
|
||||
*** Function description
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
#+begin_src matlab
|
||||
function [ground] = initializeGround(args)
|
||||
% initializeGround - Initialize the Ground that can then be used for simulations and analysis
|
||||
%
|
||||
% Syntax: [ground] = initializeGround(args)
|
||||
%
|
||||
% Inputs:
|
||||
% - args - Structure with the following fields:
|
||||
% - type - 'none', 'solid', 'flexible'
|
||||
% - K [3x1] - Translation Stiffness of the Ground [N/m]
|
||||
% - C [3x1] - Translation Damping of the Ground [N/(m/s)]
|
||||
%
|
||||
% Outputs:
|
||||
% - ground - Struture with the following properties:
|
||||
% - type - 1 (none), 2 (solid), 3 (flexible)
|
||||
% - K [3x1] - Translation Stiffness of the Ground [N/m]
|
||||
% - C [3x1] - Translation Damping of the Ground [N/(m/s)]
|
||||
#+end_src
|
||||
|
||||
*** Optional Parameters
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
#+begin_src matlab
|
||||
arguments
|
||||
args.type char {mustBeMember(args.type,{'none', 'solid', 'flexible'})} = 'none'
|
||||
args.K (3,1) double {mustBeNumeric, mustBeNonnegative} = 1e8*ones(3,1)
|
||||
args.C (3,1) double {mustBeNumeric, mustBeNonnegative} = 1e1*ones(3,1)
|
||||
end
|
||||
#+end_src
|
||||
|
||||
*** Add Ground Type
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
#+begin_src matlab
|
||||
switch args.type
|
||||
case 'none'
|
||||
ground.type = 1;
|
||||
case 'solid'
|
||||
ground.type = 2;
|
||||
case 'flexible'
|
||||
ground.type = 3;
|
||||
end
|
||||
#+end_src
|
||||
|
||||
*** Add Stiffness and Damping properties of the Ground
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
#+begin_src matlab
|
||||
ground.K = args.K;
|
||||
ground.C = args.C;
|
||||
#+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}$:
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
34
src/initializeGround.m
Normal file
34
src/initializeGround.m
Normal file
@ -0,0 +1,34 @@
|
||||
function [ground] = initializeGround(args)
|
||||
% initializeGround - Initialize the Ground that can then be used for simulations and analysis
|
||||
%
|
||||
% Syntax: [ground] = initializeGround(args)
|
||||
%
|
||||
% Inputs:
|
||||
% - args - Structure with the following fields:
|
||||
% - type - 'none', 'solid', 'flexible'
|
||||
% - K [3x1] - Translation Stiffness of the Ground [N/m]
|
||||
% - C [3x1] - Translation Damping of the Ground [N/(m/s)]
|
||||
%
|
||||
% Outputs:
|
||||
% - ground - Struture with the following properties:
|
||||
% - type - 1 (none), 2 (solid), 3 (flexible)
|
||||
% - K [3x1] - Translation Stiffness of the Ground [N/m]
|
||||
% - C [3x1] - Translation Damping of the Ground [N/(m/s)]
|
||||
|
||||
arguments
|
||||
args.type char {mustBeMember(args.type,{'none', 'solid', 'flexible'})} = 'none'
|
||||
args.K (3,1) double {mustBeNumeric, mustBeNonnegative} = 1e8*ones(3,1)
|
||||
args.C (3,1) double {mustBeNumeric, mustBeNonnegative} = 1e1*ones(3,1)
|
||||
end
|
||||
|
||||
switch args.type
|
||||
case 'none'
|
||||
ground.type = 1;
|
||||
case 'solid'
|
||||
ground.type = 2;
|
||||
case 'flexible'
|
||||
ground.type = 3;
|
||||
end
|
||||
|
||||
ground.K = args.K;
|
||||
ground.C = args.C;
|
50
src/initializePayload.m
Normal file
50
src/initializePayload.m
Normal file
@ -0,0 +1,50 @@
|
||||
function [payload] = initializePayload(args)
|
||||
% initializePayload - Initialize the Payload that can then be used for simulations and analysis
|
||||
%
|
||||
% Syntax: [payload] = initializePayload(args)
|
||||
%
|
||||
% Inputs:
|
||||
% - args - Structure with the following fields:
|
||||
% - type - 'none', 'solid', 'flexible', 'cartesian'
|
||||
% - h [1x1] - Height of the CoM of the payload w.r.t {M} [m]
|
||||
% This also the position where K and C are defined
|
||||
% - K [6x1] - Stiffness of the Payload [N/m, N/rad]
|
||||
% - C [6x1] - Damping of the Payload [N/(m/s), N/(rad/s)]
|
||||
% - m [1x1] - Mass of the Payload [kg]
|
||||
% - I [3x3] - Inertia matrix for the Payload [kg*m2]
|
||||
%
|
||||
% Outputs:
|
||||
% - payload - Struture with the following properties:
|
||||
% - type - 1 (none), 2 (solid), 3 (flexible)
|
||||
% - h [1x1] - Height of the CoM of the payload w.r.t {M} [m]
|
||||
% - K [6x1] - Stiffness of the Payload [N/m, N/rad]
|
||||
% - C [6x1] - Stiffness of the Payload [N/(m/s), N/(rad/s)]
|
||||
% - m [1x1] - Mass of the Payload [kg]
|
||||
% - I [3x3] - Inertia matrix for the Payload [kg*m2]
|
||||
|
||||
arguments
|
||||
args.type char {mustBeMember(args.type,{'none', 'solid', 'flexible', 'cartesian'})} = 'none'
|
||||
args.K (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e8*ones(6,1)
|
||||
args.C (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e1*ones(6,1)
|
||||
args.h (1,1) double {mustBeNumeric, mustBeNonnegative} = 100e-3
|
||||
args.m (1,1) double {mustBeNumeric, mustBeNonnegative} = 10
|
||||
args.I (3,3) double {mustBeNumeric, mustBeNonnegative} = 1*eye(3)
|
||||
end
|
||||
|
||||
switch args.type
|
||||
case 'none'
|
||||
payload.type = 1;
|
||||
case 'solid'
|
||||
payload.type = 2;
|
||||
case 'flexible'
|
||||
payload.type = 3;
|
||||
case 'cartesian'
|
||||
payload.type = 4;
|
||||
end
|
||||
|
||||
payload.K = args.K;
|
||||
payload.C = args.C;
|
||||
payload.m = args.m;
|
||||
payload.I = args.I;
|
||||
|
||||
payload.h = args.h;
|
Loading…
Reference in New Issue
Block a user