Update the disturbance analysis
This commit is contained in:
@@ -3,7 +3,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>
|
||||
<!-- 2019-12-13 ven. 15:53 -->
|
||||
<!-- 2019-12-13 ven. 16:25 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Identification</title>
|
||||
@@ -283,17 +283,17 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgb8d5122">1. Some notes about the Simscape Model</a></li>
|
||||
<li><a href="#orgc2a789d">2. Compare with measurements at the CoM of each element</a>
|
||||
<li><a href="#orgb856d17">1. Some notes about the Simscape Model</a></li>
|
||||
<li><a href="#orga0759cc">2. Compare with measurements at the CoM of each element</a>
|
||||
<ul>
|
||||
<li><a href="#orgf4fd5e0">2.1. Prepare the Simulation</a></li>
|
||||
<li><a href="#org80db7e9">2.2. Estimate the position of the CoM of each solid and compare with the one took for the Measurement Analysis</a></li>
|
||||
<li><a href="#org93dc35e">2.3. Create a frame at the CoM of each solid body</a></li>
|
||||
<li><a href="#org7b8b6f1">2.4. Identification of the dynamics of the Simscape Model</a></li>
|
||||
<li><a href="#org45a93e8">2.5. Compare with measurements</a></li>
|
||||
<li><a href="#org276f402">2.1. Prepare the Simulation</a></li>
|
||||
<li><a href="#org58d4a0b">2.2. Estimate the position of the CoM of each solid and compare with the one took for the Measurement Analysis</a></li>
|
||||
<li><a href="#orgd1a401f">2.3. Create a frame at the CoM of each solid body</a></li>
|
||||
<li><a href="#org938e5b4">2.4. Identification of the dynamics of the Simscape Model</a></li>
|
||||
<li><a href="#org8b67645">2.5. Compare with measurements</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org75fd8be">3. Conclusion</a></li>
|
||||
<li><a href="#org69d2afb">3. Conclusion</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -314,8 +314,8 @@ We can then compare the measured Frequency Response Functions with the identifie
|
||||
Finally, this should help to tune the parameters of the model such that the dynamics is closer to the measured FRF.
|
||||
</p>
|
||||
|
||||
<div id="outline-container-orgb8d5122" class="outline-2">
|
||||
<h2 id="orgb8d5122"><span class="section-number-2">1</span> Some notes about the Simscape Model</h2>
|
||||
<div id="outline-container-orgb856d17" class="outline-2">
|
||||
<h2 id="orgb856d17"><span class="section-number-2">1</span> Some notes about the Simscape Model</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The Simscape Model of the micro-station consists of several solid bodies:
|
||||
@@ -341,17 +341,22 @@ Some of the springs and dampers values can be estimated from the joints/stages s
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc2a789d" class="outline-2">
|
||||
<h2 id="orgc2a789d"><span class="section-number-2">2</span> Compare with measurements at the CoM of each element</h2>
|
||||
<div id="outline-container-orga0759cc" class="outline-2">
|
||||
<h2 id="orga0759cc"><span class="section-number-2">2</span> Compare with measurements at the CoM of each element</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
<a href="../../meas/modal-analysis/index.html">here</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf4fd5e0" class="outline-3">
|
||||
<h3 id="orgf4fd5e0"><span class="section-number-3">2.1</span> Prepare the Simulation</h3>
|
||||
<div id="outline-container-org276f402" class="outline-3">
|
||||
<h3 id="org276f402"><span class="section-number-3">2.1</span> Prepare the Simulation</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">open<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'identification/matlab/sim_micro_station_com.slx'</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
We load the configuration.
|
||||
</p>
|
||||
@@ -387,14 +392,9 @@ initializeSample<span class="org-rainbow-delimiters-depth-1">(</span>struct<span
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org80db7e9" class="outline-3">
|
||||
<h3 id="org80db7e9"><span class="section-number-3">2.2</span> Estimate the position of the CoM of each solid and compare with the one took for the Measurement Analysis</h3>
|
||||
<div id="outline-container-org58d4a0b" class="outline-3">
|
||||
<h3 id="org58d4a0b"><span class="section-number-3">2.2</span> Estimate the position of the CoM of each solid and compare with the one took for the Measurement Analysis</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">open<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'identification/matlab/sim_micro_station_com.slx'</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Thanks to the <a href="https://fr.mathworks.com/help/physmod/sm/ref/inertiasensor.html">Inertia Sensor</a> simscape block, it is possible to estimate the position of the Center of Mass of a solid body with respect to a defined frame.
|
||||
</p>
|
||||
@@ -405,10 +405,10 @@ Thanks to the <a href="https://fr.mathworks.com/help/physmod/sm/ref/inertiasenso
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The results are shown in the table <a href="#orgb162423">1</a>.
|
||||
The results are shown in the table <a href="#orga7b7bb1">1</a>.
|
||||
</p>
|
||||
|
||||
<table id="orgb162423" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga7b7bb1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 1:</span> Center of Mass of each solid body as defined in Simscape</caption>
|
||||
|
||||
<colgroup>
|
||||
@@ -471,10 +471,10 @@ The results are shown in the table <a href="#orgb162423">1</a>.
|
||||
</table>
|
||||
|
||||
<p>
|
||||
We can compare the obtained center of mass (table <a href="#orgb162423">1</a>) with the one used for the Modal Analysis shown in table <a href="#org7f786a2">2</a>.
|
||||
We can compare the obtained center of mass (table <a href="#orga7b7bb1">1</a>) with the one used for the Modal Analysis shown in table <a href="#org03ce6cf">2</a>.
|
||||
</p>
|
||||
|
||||
<table id="org7f786a2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org03ce6cf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 2:</span> Estimated Center of Mass of each solid body using Solidworks</caption>
|
||||
|
||||
<colgroup>
|
||||
@@ -548,8 +548,8 @@ However, in SolidWorks, this has probably not be included with the top granite.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org93dc35e" class="outline-3">
|
||||
<h3 id="org93dc35e"><span class="section-number-3">2.3</span> Create a frame at the CoM of each solid body</h3>
|
||||
<div id="outline-container-orgd1a401f" class="outline-3">
|
||||
<h3 id="orgd1a401f"><span class="section-number-3">2.3</span> Create a frame at the CoM of each solid body</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Now we use one <code>inertiasensor</code> block connected on each solid body that measured the center of mass of this solid with respect to the same connected frame.
|
||||
@@ -652,8 +652,8 @@ Then, we use the obtained results to add a <code>rigidTransform</code> block in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7b8b6f1" class="outline-3">
|
||||
<h3 id="org7b8b6f1"><span class="section-number-3">2.4</span> Identification of the dynamics of the Simscape Model</h3>
|
||||
<div id="outline-container-org938e5b4" class="outline-3">
|
||||
<h3 id="org938e5b4"><span class="section-number-3">2.4</span> Identification of the dynamics of the Simscape Model</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
We now use a new Simscape Model where 6DoF inertial sensors are located at the Center of Mass of each solid body.
|
||||
@@ -720,8 +720,8 @@ In order to obtain a displacement, we divide the obtained transfer function by \
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org45a93e8" class="outline-3">
|
||||
<h3 id="org45a93e8"><span class="section-number-3">2.5</span> Compare with measurements</h3>
|
||||
<div id="outline-container-org8b67645" class="outline-3">
|
||||
<h3 id="org8b67645"><span class="section-number-3">2.5</span> Compare with measurements</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
We now load the Frequency Response Functions measurements during the Modal Analysis (accessible <a href="../../meas/modal-analysis/index.html">here</a>).
|
||||
@@ -738,7 +738,7 @@ We then compare the measurements with the identified transfer functions using th
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org6215dd8" class="figure">
|
||||
<div id="org568eba5" class="figure">
|
||||
<p><img src="figs/identification_comp_bot_stages.png" alt="identification_comp_bot_stages.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 1: </span>caption (<a href="./figs/identification_comp_bot_stages.png">png</a>, <a href="./figs/identification_comp_bot_stages.pdf">pdf</a>)</p>
|
||||
@@ -746,7 +746,7 @@ We then compare the measurements with the identified transfer functions using th
|
||||
|
||||
|
||||
|
||||
<div id="org3a94e0d" class="figure">
|
||||
<div id="orge5cc23c" class="figure">
|
||||
<p><img src="figs/identification_comp_mid_stages.png" alt="identification_comp_mid_stages.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 2: </span>caption (<a href="./figs/identification_comp_mid_stages.png">png</a>, <a href="./figs/identification_comp_mid_stages.pdf">pdf</a>)</p>
|
||||
@@ -754,7 +754,7 @@ We then compare the measurements with the identified transfer functions using th
|
||||
|
||||
|
||||
|
||||
<div id="orgaf6f4aa" class="figure">
|
||||
<div id="org23612c0" class="figure">
|
||||
<p><img src="figs/identification_comp_top_stages.png" alt="identification_comp_top_stages.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 3: </span>caption (<a href="./figs/identification_comp_top_stages.png">png</a>, <a href="./figs/identification_comp_top_stages.pdf">pdf</a>)</p>
|
||||
@@ -764,8 +764,8 @@ We then compare the measurements with the identified transfer functions using th
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org75fd8be" class="outline-2">
|
||||
<h2 id="org75fd8be"><span class="section-number-2">3</span> Conclusion</h2>
|
||||
<div id="outline-container-org69d2afb" class="outline-2">
|
||||
<h2 id="org69d2afb"><span class="section-number-2">3</span> Conclusion</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<div class="important">
|
||||
<p>
|
||||
@@ -778,7 +778,7 @@ For such a complex system, we believe that the Simscape Model represents the dyn
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2019-12-13 ven. 15:53</p>
|
||||
<p class="date">Created: 2019-12-13 ven. 16:25</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@@ -66,14 +66,34 @@ Finally, this should help to tune the parameters of the model such that the dyna
|
||||
simulinkproject('../');
|
||||
#+end_src
|
||||
|
||||
** Compute the transfer functions
|
||||
We first define some parameters for the identification.
|
||||
** Simscape Model
|
||||
The simulink file for the identification is =sim_micro_station_id.slx=.
|
||||
|
||||
#+begin_src matlab
|
||||
open('identification/matlab/sim_micro_station_id.slx')
|
||||
#+end_src
|
||||
|
||||
We load the configuration and we set a small =StopTime=.
|
||||
#+begin_src matlab
|
||||
load('mat/conf_simscape.mat');
|
||||
set_param(conf_simscape, 'StopTime', '0.5');
|
||||
#+end_src
|
||||
|
||||
We initialize all the stages.
|
||||
#+begin_src matlab
|
||||
initializeGround();
|
||||
initializeGranite();
|
||||
initializeTy();
|
||||
initializeRy();
|
||||
initializeRz();
|
||||
initializeMicroHexapod();
|
||||
initializeAxisc();
|
||||
initializeMirror();
|
||||
initializeNanoHexapod(struct('actuator', 'piezo'));
|
||||
initializeSample(struct('mass', 50));
|
||||
#+end_src
|
||||
|
||||
** Compute the transfer functions
|
||||
We first define some parameters for the identification.
|
||||
#+begin_src matlab
|
||||
%% Options for Linearized
|
||||
options = linearizeOptions;
|
||||
@@ -132,10 +152,32 @@ save('./mat/id_micro_station.mat', 'G_ms');
|
||||
#+end_src
|
||||
|
||||
** Simscape Model
|
||||
The simulink file for the analysis is =sim_micro_station_modal_analysis.slx=.
|
||||
#+begin_src matlab
|
||||
open('identification/matlab/sim_micro_station_modal_analysis.slx')
|
||||
#+end_src
|
||||
|
||||
We load the configuration and we set a small =StopTime=.
|
||||
#+begin_src matlab
|
||||
load('mat/conf_simscape.mat');
|
||||
set_param(conf_simscape, 'StopTime', '0.5');
|
||||
#+end_src
|
||||
|
||||
We initialize all the stages.
|
||||
#+begin_src matlab
|
||||
initializeGround();
|
||||
initializeGranite();
|
||||
initializeTy();
|
||||
initializeRy();
|
||||
initializeRz();
|
||||
initializeMicroHexapod();
|
||||
initializeAxisc();
|
||||
initializeMirror();
|
||||
initializeNanoHexapod(struct('actuator', 'piezo'));
|
||||
initializeSample(struct('mass', 50));
|
||||
#+end_src
|
||||
|
||||
** Identification
|
||||
#+begin_src matlab
|
||||
%% Options for Linearized
|
||||
options = linearizeOptions;
|
||||
@@ -231,6 +273,10 @@ Some of the springs and dampers values can be estimated from the joints/stages s
|
||||
#+end_src
|
||||
|
||||
** Prepare the Simulation
|
||||
#+begin_src matlab
|
||||
open('identification/matlab/sim_micro_station_com.slx')
|
||||
#+end_src
|
||||
|
||||
We load the configuration.
|
||||
#+begin_src matlab
|
||||
load('mat/conf_simscape.mat');
|
||||
@@ -256,10 +302,6 @@ We initialize all the stages.
|
||||
#+end_src
|
||||
|
||||
** Estimate the position of the CoM of each solid and compare with the one took for the Measurement Analysis
|
||||
#+begin_src matlab
|
||||
open('identification/matlab/sim_micro_station_com.slx')
|
||||
#+end_src
|
||||
|
||||
Thanks to the [[https://fr.mathworks.com/help/physmod/sm/ref/inertiasensor.html][Inertia Sensor]] simscape block, it is possible to estimate the position of the Center of Mass of a solid body with respect to a defined frame.
|
||||
|
||||
#+begin_src matlab
|
||||
|
Reference in New Issue
Block a user