Started to rework the experiment file

This commit is contained in:
2020-03-17 11:23:39 +01:00
parent c7207b96cb
commit 0e28b2d4f5
9 changed files with 123 additions and 57 deletions
+89 -49
View File
@@ -4,10 +4,10 @@
"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-03-13 ven. 17:39 -->
<!-- 2020-03-17 mar. 11:21 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Tomography Experiment</title>
<title>Simulation of Scientific Experiments</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<style type="text/css">
@@ -232,7 +232,7 @@
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Tomography Experiment</h1>
<h1 class="title">Simulation of Scientific Experiments</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
@@ -240,30 +240,30 @@
<li><a href="#org03b2a76">1. Simscape Model</a></li>
<li><a href="#org6ed78a0">2. Tomography Experiment with no disturbances</a>
<ul>
<li><a href="#orgab2c05f">2.1. Simulation Setup</a></li>
<li><a href="#org7d6c417">2.2. Analysis</a></li>
<li><a href="#orgc8896a6">2.3. Conclusion</a></li>
<li><a href="#org06c656a">2.1. Simulation Setup</a></li>
<li><a href="#orgc5cbe68">2.2. Analysis</a></li>
<li><a href="#org6c038f1">2.3. Conclusion</a></li>
</ul>
</li>
<li><a href="#org16d8e58">3. Tomography Experiment with included perturbations</a>
<ul>
<li><a href="#org89b64b9">3.1. Simulation Setup</a></li>
<li><a href="#orgd3d5cc3">3.2. Analysis</a></li>
<li><a href="#org744b6a3">3.3. Conclusion</a></li>
<li><a href="#org134f479">3.1. Simulation Setup</a></li>
<li><a href="#org378d406">3.2. Analysis</a></li>
<li><a href="#orgc315488">3.3. Conclusion</a></li>
</ul>
</li>
<li><a href="#org72f01ab">4. Tomography when the micro-hexapod is not centered</a>
<ul>
<li><a href="#org3c7fe25">4.1. Simulation Setup</a></li>
<li><a href="#orgbf003b8">4.2. Analysis</a></li>
<li><a href="#org0577a39">4.3. Conclusion</a></li>
<li><a href="#org0d9f411">4.1. Simulation Setup</a></li>
<li><a href="#org80c3cd8">4.2. Analysis</a></li>
<li><a href="#orgb310f81">4.3. Conclusion</a></li>
</ul>
</li>
<li><a href="#org8fa1632">5. Raster Scans with the translation stage</a>
<ul>
<li><a href="#org06c656a">5.1. Simulation Setup</a></li>
<li><a href="#orgc5cbe68">5.2. Analysis</a></li>
<li><a href="#org6c038f1">5.3. Conclusion</a></li>
<li><a href="#org0ba0ddd">5.1. Simulation Setup</a></li>
<li><a href="#org140576f">5.2. Analysis</a></li>
<li><a href="#org26e3394">5.3. Conclusion</a></li>
</ul>
</li>
</ul>
@@ -271,7 +271,7 @@
</div>
<p>
The goal here is to simulate some scientific experiments with the tuned Simscape model when no control is applied to the nano-hexapod.
The goal here is to simulate some scientific experiments with the Simscape model when no control is applied to the nano-hexapod.
</p>
<p>
@@ -281,6 +281,7 @@ This has several goals:
<li>Validate the model</li>
<li>Estimate the expected error motion for the experiments</li>
<li>Estimate the stroke that we may need for the nano-hexapod</li>
<li>Compare with experiments when control is applied</li>
</ul>
<p>
@@ -301,22 +302,18 @@ The document in organized as follow:
<a id="orgfc7d050"></a>
</p>
<div class="org-src-container">
<pre class="src src-matlab">open(<span class="org-string">'nass_model.slx'</span>);
</pre>
</div>
<p>
We load the shared simulink configuration and we set the <code>StopTime</code>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'mat/conf_simulink.mat'</span>);
<span class="org-matlab-simulink-keyword">set_param</span>(<span class="org-variable-name">conf_simulink</span>, <span class="org-string">'StopTime'</span>, <span class="org-string">'5'</span>);
<span class="org-matlab-simulink-keyword">set_param</span>(<span class="org-variable-name">conf_simulink</span>, <span class="org-string">'StopTime'</span>, <span class="org-string">'2'</span>);
</pre>
</div>
<p>
We first initialize all the stages.
The nano-hexapod is considered to be a rigid body.
</p>
<div class="org-src-container">
<pre class="src src-matlab">initializeGround();
@@ -327,7 +324,7 @@ initializeRz();
initializeMicroHexapod();
initializeAxisc();
initializeMirror();
initializeNanoHexapod(<span class="org-string">'actuator'</span>, <span class="org-string">'piezo'</span>);
initializeNanoHexapod(<span class="org-string">'type'</span>, <span class="org-string">'rigid'</span>);
initializeSample(<span class="org-string">'mass'</span>, 1);
</pre>
</div>
@@ -340,6 +337,30 @@ All stage is set to its zero position except the Spindle which is rotating at 60
<pre class="src src-matlab">initializeReferences(<span class="org-string">'Rz_type'</span>, <span class="org-string">'rotating'</span>, <span class="org-string">'Rz_period'</span>, 1);
</pre>
</div>
<p>
No controller is used (Open Loop).
</p>
<div class="org-src-container">
<pre class="src src-matlab">initializeController(<span class="org-string">'type'</span>, <span class="org-string">'open-loop'</span>);
</pre>
</div>
<p>
And we put some gravity.
</p>
<div class="org-src-container">
<pre class="src src-matlab">initializeSimscapeConfiguration(<span class="org-string">'gravity'</span>, <span class="org-constant">true</span>);
</pre>
</div>
<p>
We log the signals for further analysis.
</p>
<div class="org-src-container">
<pre class="src src-matlab">initializeLoggingConfiguration(<span class="org-string">'log'</span>, <span class="org-string">'all'</span>);
</pre>
</div>
</div>
</div>
@@ -349,9 +370,13 @@ All stage is set to its zero position except the Spindle which is rotating at 60
<p>
<a id="org3effbb8"></a>
</p>
<p>
In this section, a tomography experiment is performed with the sample aligned with the rotation axis.
No disturbance is included.
</p>
</div>
<div id="outline-container-orgab2c05f" class="outline-3">
<h3 id="orgab2c05f"><span class="section-number-3">2.1</span> Simulation Setup</h3>
<div id="outline-container-org06c656a" class="outline-3">
<h3 id="org06c656a"><span class="section-number-3">2.1</span> Simulation Setup</h3>
<div class="outline-text-3" id="text-2-1">
<p>
And we initialize the disturbances to be equal to zero.
@@ -380,15 +405,15 @@ We simulate the model.
And we save the obtained data.
</p>
<div class="org-src-container">
<pre class="src src-matlab">tomo_align_no_dist = struct(<span class="org-string">'t'</span>, t, <span class="org-string">'MTr'</span>, MTr);
<pre class="src src-matlab">tomo_align_no_dist = simout;
save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span class="org-string">'tomo_align_no_dist'</span>, <span class="org-string">'-append'</span>);
</pre>
</div>
</div>
</div>
<div id="outline-container-org7d6c417" class="outline-3">
<h3 id="org7d6c417"><span class="section-number-3">2.2</span> Analysis</h3>
<div id="outline-container-orgc5cbe68" class="outline-3">
<h3 id="orgc5cbe68"><span class="section-number-3">2.2</span> Analysis</h3>
<div class="outline-text-3" id="text-2-2">
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span class="org-string">'tomo_align_no_dist'</span>);
@@ -424,8 +449,8 @@ Erz = atan2(<span class="org-type">-</span>squeeze(MTr(1, 2, <span class="org-ty
</div>
</div>
<div id="outline-container-orgc8896a6" class="outline-3">
<h3 id="orgc8896a6"><span class="section-number-3">2.3</span> Conclusion</h3>
<div id="outline-container-org6c038f1" class="outline-3">
<h3 id="org6c038f1"><span class="section-number-3">2.3</span> Conclusion</h3>
<div class="outline-text-3" id="text-2-3">
<div class="important">
<p>
@@ -444,9 +469,13 @@ This residual error motion probably comes from a small misalignment somewhere.
<p>
<a id="org4e7f626"></a>
</p>
<p>
In this section, we also perform a tomography experiment with the sample&rsquo;s center of mass aligned with the rotation axis.
However this time, we include perturbations such as ground motion and stage vibrations.
</p>
</div>
<div id="outline-container-org89b64b9" class="outline-3">
<h3 id="org89b64b9"><span class="section-number-3">3.1</span> Simulation Setup</h3>
<div id="outline-container-org134f479" class="outline-3">
<h3 id="org134f479"><span class="section-number-3">3.1</span> Simulation Setup</h3>
<div class="outline-text-3" id="text-3-1">
<p>
We now activate the disturbances.
@@ -482,8 +511,8 @@ save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span cl
</div>
</div>
<div id="outline-container-orgd3d5cc3" class="outline-3">
<h3 id="orgd3d5cc3"><span class="section-number-3">3.2</span> Analysis</h3>
<div id="outline-container-org378d406" class="outline-3">
<h3 id="org378d406"><span class="section-number-3">3.2</span> Analysis</h3>
<div class="outline-text-3" id="text-3-2">
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span class="org-string">'tomo_align_dist'</span>);
@@ -519,8 +548,8 @@ Erz = atan2(<span class="org-type">-</span>squeeze(MTr(1, 2, <span class="org-ty
</div>
</div>
<div id="outline-container-org744b6a3" class="outline-3">
<h3 id="org744b6a3"><span class="section-number-3">3.3</span> Conclusion</h3>
<div id="outline-container-orgc315488" class="outline-3">
<h3 id="orgc315488"><span class="section-number-3">3.3</span> Conclusion</h3>
<div class="outline-text-3" id="text-3-3">
<div class="important">
<p>
@@ -538,9 +567,17 @@ Error motion is what expected from the disturbance measurements.
<p>
<a id="orgb31e3fb"></a>
</p>
<p>
In this section, the sample&rsquo;s center of mass is not aligned with the rotation axis anymore.
This is due to the fact that the micro-hexapod has performed some displacement.
</p>
<p>
No disturbances are included.
</p>
</div>
<div id="outline-container-org3c7fe25" class="outline-3">
<h3 id="org3c7fe25"><span class="section-number-3">4.1</span> Simulation Setup</h3>
<div id="outline-container-org0d9f411" class="outline-3">
<h3 id="org0d9f411"><span class="section-number-3">4.1</span> Simulation Setup</h3>
<div class="outline-text-3" id="text-4-1">
<p>
We first set the wanted translation of the Micro Hexapod.
@@ -600,8 +637,8 @@ save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span cl
</div>
</div>
<div id="outline-container-orgbf003b8" class="outline-3">
<h3 id="orgbf003b8"><span class="section-number-3">4.2</span> Analysis</h3>
<div id="outline-container-org80c3cd8" class="outline-3">
<h3 id="org80c3cd8"><span class="section-number-3">4.2</span> Analysis</h3>
<div class="outline-text-3" id="text-4-2">
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span class="org-string">'tomo_not_align'</span>);
@@ -637,8 +674,8 @@ Erz = atan2(<span class="org-type">-</span>squeeze(MTr(1, 2, <span class="org-ty
</div>
</div>
<div id="outline-container-org0577a39" class="outline-3">
<h3 id="org0577a39"><span class="section-number-3">4.3</span> Conclusion</h3>
<div id="outline-container-orgb310f81" class="outline-3">
<h3 id="orgb310f81"><span class="section-number-3">4.3</span> Conclusion</h3>
<div class="outline-text-3" id="text-4-3">
<div class="important">
<p>
@@ -656,9 +693,12 @@ The main motions are translations in the X direction of the mobile platform (cor
<p>
<a id="org6aaeb53"></a>
</p>
<p>
In this section, scans with the translation stage are performed.
</p>
</div>
<div id="outline-container-org06c656a" class="outline-3">
<h3 id="org06c656a"><span class="section-number-3">5.1</span> Simulation Setup</h3>
<div id="outline-container-org0ba0ddd" class="outline-3">
<h3 id="org0ba0ddd"><span class="section-number-3">5.1</span> Simulation Setup</h3>
<div class="outline-text-3" id="text-5-1">
<p>
We set the reference path.
@@ -719,8 +759,8 @@ save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span cl
</div>
</div>
<div id="outline-container-orgc5cbe68" class="outline-3">
<h3 id="orgc5cbe68"><span class="section-number-3">5.2</span> Analysis</h3>
<div id="outline-container-org140576f" class="outline-3">
<h3 id="org140576f"><span class="section-number-3">5.2</span> Analysis</h3>
<div class="outline-text-3" id="text-5-2">
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span class="org-string">'ty_scan'</span>);
@@ -756,8 +796,8 @@ Erz = atan2(<span class="org-type">-</span>squeeze(MTr(1, 2, <span class="org-ty
</div>
</div>
<div id="outline-container-org6c038f1" class="outline-3">
<h3 id="org6c038f1"><span class="section-number-3">5.3</span> Conclusion</h3>
<div id="outline-container-org26e3394" class="outline-3">
<h3 id="org26e3394"><span class="section-number-3">5.3</span> Conclusion</h3>
<div class="outline-text-3" id="text-5-3">
<div class="important">
<p>
@@ -772,7 +812,7 @@ In order to reduce the errors, we can make a smoother reference path for the tra
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-03-13 ven. 17:39</p>
<p class="date">Created: 2020-03-17 mar. 11:21</p>
</div>
</body>
</html>
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
+34 -8
View File
@@ -1,4 +1,4 @@
#+TITLE: Tomography Experiment
#+TITLE: Simulation of Scientific Experiments
:DRAWER:
#+STARTUP: overview
@@ -42,12 +42,13 @@
:END:
* Introduction :ignore:
The goal here is to simulate some scientific experiments with the tuned Simscape model when no control is applied to the nano-hexapod.
The goal here is to simulate some scientific experiments with the Simscape model when no control is applied to the nano-hexapod.
This has several goals:
- Validate the model
- Estimate the expected error motion for the experiments
- Estimate the stroke that we may need for the nano-hexapod
- Compare with experiments when control is applied
The document in organized as follow:
- In section [[sec:simscape_model]] the Simscape model is initialized
@@ -69,20 +70,21 @@ The document in organized as follow:
simulinkproject('../');
#+end_src
* Simscape Model
<<sec:simscape_model>>
#+begin_src matlab
open('nass_model.slx');
#+end_src
* Simscape Model
<<sec:simscape_model>>
We load the shared simulink configuration and we set the =StopTime=.
#+begin_src matlab
load('mat/conf_simulink.mat');
set_param(conf_simulink, 'StopTime', '5');
set_param(conf_simulink, 'StopTime', '2');
#+end_src
We first initialize all the stages.
The nano-hexapod is considered to be a rigid body.
#+begin_src matlab
initializeGround();
initializeGranite();
@@ -92,7 +94,7 @@ We first initialize all the stages.
initializeMicroHexapod();
initializeAxisc();
initializeMirror();
initializeNanoHexapod('actuator', 'piezo');
initializeNanoHexapod('type', 'rigid');
initializeSample('mass', 1);
#+end_src
@@ -102,9 +104,26 @@ All stage is set to its zero position except the Spindle which is rotating at 60
initializeReferences('Rz_type', 'rotating', 'Rz_period', 1);
#+end_src
No controller is used (Open Loop).
#+begin_src matlab
initializeController('type', 'open-loop');
#+end_src
And we put some gravity.
#+begin_src matlab
initializeSimscapeConfiguration('gravity', true);
#+end_src
We log the signals for further analysis.
#+begin_src matlab
initializeLoggingConfiguration('log', 'all');
#+end_src
* Tomography Experiment with no disturbances
<<sec:tomo_no_dist>>
** Introduction :ignore:
In this section, a tomography experiment is performed with the sample aligned with the rotation axis.
No disturbance is included.
** Simulation Setup
And we initialize the disturbances to be equal to zero.
@@ -126,7 +145,7 @@ We simulate the model.
And we save the obtained data.
#+begin_src matlab
tomo_align_no_dist = struct('t', t, 'MTr', MTr);
tomo_align_no_dist = simout;
save('./mat/experiment_tomography.mat', 'tomo_align_no_dist', '-append');
#+end_src
@@ -214,6 +233,8 @@ And we save the obtained data.
* Tomography Experiment with included perturbations
<<sec:tomo_dist>>
** Introduction :ignore:
In this section, we also perform a tomography experiment with the sample's center of mass aligned with the rotation axis.
However this time, we include perturbations such as ground motion and stage vibrations.
** Simulation Setup
We now activate the disturbances.
@@ -323,6 +344,10 @@ And we save the obtained data.
* Tomography when the micro-hexapod is not centered
<<sec:tomo_hexa_trans>>
** Introduction :ignore:
In this section, the sample's center of mass is not aligned with the rotation axis anymore.
This is due to the fact that the micro-hexapod has performed some displacement.
No disturbances are included.
** Simulation Setup
We first set the wanted translation of the Micro Hexapod.
@@ -447,6 +472,7 @@ And we save the obtained data.
* Raster Scans with the translation stage
<<sec:ty_scans>>
** Introduction :ignore:
In this section, scans with the translation stage are performed.
** Simulation Setup
We set the reference path.