Started to rework the experiment file

This commit is contained in:
Thomas Dehaeze 2020-03-17 11:23:39 +01:00
parent c7207b96cb
commit 0e28b2d4f5
9 changed files with 123 additions and 57 deletions

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>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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.