Started to rework the experiment file
This commit is contained in:
parent
c7207b96cb
commit
0e28b2d4f5
@ -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’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’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
mat/conf_log.mat
BIN
mat/conf_log.mat
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
mat/dist_psd.mat
BIN
mat/dist_psd.mat
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
mat/stages.mat
BIN
mat/stages.mat
Binary file not shown.
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user