655 lines
26 KiB
HTML
655 lines
26 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"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-04-17 ven. 10:25 -->
|
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
|
<title>Simulation of Scientific Experiments</title>
|
|
<meta name="generator" content="Org mode" />
|
|
<meta name="author" content="Dehaeze Thomas" />
|
|
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
|
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
|
<script src="./js/jquery.min.js"></script>
|
|
<script src="./js/bootstrap.min.js"></script>
|
|
<script src="./js/jquery.stickytableheaders.min.js"></script>
|
|
<script src="./js/readtheorg.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="org-div-home-and-up">
|
|
<a accesskey="h" href="./index.html"> UP </a>
|
|
|
|
|
<a accesskey="H" href="./index.html"> HOME </a>
|
|
</div><div id="content">
|
|
<h1 class="title">Simulation of Scientific Experiments</h1>
|
|
<div id="table-of-contents">
|
|
<h2>Table of Contents</h2>
|
|
<div id="text-table-of-contents">
|
|
<ul>
|
|
<li><a href="#org03b2a76">1. Simscape Model</a></li>
|
|
<li><a href="#org6ed78a0">2. Tomography Experiment with no disturbances</a>
|
|
<ul>
|
|
<li><a href="#orgdebc736">2.1. Simulation Setup</a></li>
|
|
<li><a href="#orge0e2e88">2.2. Analysis</a></li>
|
|
<li><a href="#org38ba07f">2.3. Conclusion</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#org16d8e58">3. Tomography Experiment with included perturbations</a>
|
|
<ul>
|
|
<li><a href="#orgc2a0926">3.1. Simulation Setup</a></li>
|
|
<li><a href="#org388be58">3.2. Analysis</a></li>
|
|
<li><a href="#org51b3617">3.3. Conclusion</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#org7202245">4. Tomography Experiment with Ty raster scans</a>
|
|
<ul>
|
|
<li><a href="#org94c3461">4.1. Simulation Setup</a></li>
|
|
<li><a href="#org65d4246">4.2. Analysis</a></li>
|
|
<li><a href="#org41a2a1d">4.3. Conclusion</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#org72f01ab">5. Tomography when the micro-hexapod is not centered</a>
|
|
<ul>
|
|
<li><a href="#org8a5fae6">5.1. Simulation Setup</a></li>
|
|
<li><a href="#orgf8b4f39">5.2. Analysis</a></li>
|
|
<li><a href="#orgdd34703">5.3. Conclusion</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#org8fa1632">6. Raster Scans with the translation stage</a>
|
|
<ul>
|
|
<li><a href="#orge3f0741">6.1. Simulation Setup</a></li>
|
|
<li><a href="#org1836f98">6.2. Analysis</a></li>
|
|
<li><a href="#org8cf54cb">6.3. Conclusion</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<p>
|
|
The goal here is to simulate some scientific experiments with the Simscape model when no control is applied to the nano-hexapod.
|
|
</p>
|
|
|
|
<p>
|
|
This has several goals:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<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>
|
|
The document in organized as follow:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>In section <a href="#orgfc7d050">1</a> the Simscape model is initialized</li>
|
|
<li>In section <a href="#org3effbb8">2</a> a tomography experiment is performed where the sample is aligned with the rotation axis. No disturbance is included</li>
|
|
<li>In section <a href="#org4e7f626">3</a>, the same is done but with disturbance included</li>
|
|
<li>In section <a href="#orgb31e3fb">5</a> the micro-hexapod translate the sample such that its center of mass is no longer aligned with the rotation axis. No disturbance is included</li>
|
|
<li>In section <a href="#org6aaeb53">6</a>, scans with the translation stage are simulated with no perturbation included</li>
|
|
</ul>
|
|
|
|
<div id="outline-container-org03b2a76" class="outline-2">
|
|
<h2 id="org03b2a76"><span class="section-number-2">1</span> Simscape Model</h2>
|
|
<div class="outline-text-2" id="text-1">
|
|
<p>
|
|
<a id="orgfc7d050"></a>
|
|
</p>
|
|
|
|
<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">'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();
|
|
initializeGranite();
|
|
initializeTy();
|
|
initializeRy();
|
|
initializeRz();
|
|
initializeMicroHexapod();
|
|
initializeAxisc();
|
|
initializeMirror();
|
|
initializeNanoHexapod(<span class="org-string">'type'</span>, <span class="org-string">'rigid'</span>);
|
|
initializeSample(<span class="org-string">'mass'</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>
|
|
We don’t gravity.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">initializeSimscapeConfiguration(<span class="org-string">'gravity'</span>, <span class="org-constant">false</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>
|
|
|
|
<div id="outline-container-org6ed78a0" class="outline-2">
|
|
<h2 id="org6ed78a0"><span class="section-number-2">2</span> Tomography Experiment with no disturbances</h2>
|
|
<div class="outline-text-2" id="text-2">
|
|
<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-orgdebc736" class="outline-3">
|
|
<h3 id="orgdebc736"><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.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">initializeDisturbances(...
|
|
<span class="org-string">'Dwx'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Ground Motion - X direction</span>
|
|
<span class="org-string">'Dwy'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Ground Motion - Y direction</span>
|
|
<span class="org-string">'Dwz'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Ground Motion - Z direction</span>
|
|
<span class="org-string">'Fty_x'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Translation Stage - X direction</span>
|
|
<span class="org-string">'Fty_z'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Translation Stage - Z direction</span>
|
|
<span class="org-string">'Frz_z'</span>, <span class="org-constant">false</span> ...<span class="org-comment"> % Spindle - Z direction</span>
|
|
);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
We initialize the reference path for all the stages.
|
|
All stage is set to its zero position except the Spindle which is rotating at 60rpm.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<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>
|
|
We simulate the model.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab"><span class="org-matlab-simulink-keyword">sim</span>(<span class="org-string">'nass_model'</span>);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
And we save the obtained data.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<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-orge0e2e88" class="outline-3">
|
|
<h3 id="orge0e2e88"><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>);
|
|
</pre>
|
|
</div>
|
|
|
|
|
|
<div id="orgfcc6055" class="figure">
|
|
<p><img src="figs/exp_tomo_without_dist.png" alt="exp_tomo_without_dist.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 1: </span>X-Y-Z translation of the sample w.r.t. granite when performing tomography experiment with no disturbances (<a href="./figs/exp_tomo_without_dist.png">png</a>, <a href="./figs/exp_tomo_without_dist.pdf">pdf</a>)</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org38ba07f" class="outline-3">
|
|
<h3 id="org38ba07f"><span class="section-number-3">2.3</span> Conclusion</h3>
|
|
<div class="outline-text-3" id="text-2-3">
|
|
<div class="important">
|
|
<p>
|
|
When everything is aligned, the resulting error motion is very small (nm range) and is quite negligible with respect to the error when disturbances are included.
|
|
This residual error motion probably comes from a small misalignment somewhere.
|
|
</p>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org16d8e58" class="outline-2">
|
|
<h2 id="org16d8e58"><span class="section-number-2">3</span> Tomography Experiment with included perturbations</h2>
|
|
<div class="outline-text-2" id="text-3">
|
|
<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-orgc2a0926" class="outline-3">
|
|
<h3 id="orgc2a0926"><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.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">initializeDisturbances(...
|
|
<span class="org-string">'Dwx'</span>, <span class="org-constant">true</span>, ...<span class="org-comment"> % Ground Motion - X direction</span>
|
|
<span class="org-string">'Dwy'</span>, <span class="org-constant">true</span>, ...<span class="org-comment"> % Ground Motion - Y direction</span>
|
|
<span class="org-string">'Dwz'</span>, <span class="org-constant">true</span>, ...<span class="org-comment"> % Ground Motion - Z direction</span>
|
|
<span class="org-string">'Fty_x'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Translation Stage - X direction</span>
|
|
<span class="org-string">'Fty_z'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Translation Stage - Z direction</span>
|
|
<span class="org-string">'Frz_z'</span>, <span class="org-constant">true</span> ...<span class="org-comment"> % Spindle - Z direction</span>
|
|
);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
We initialize the reference path for all the stages.
|
|
All stage is set to its zero position except the Spindle which is rotating at 60rpm.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<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>
|
|
We simulate the model.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab"><span class="org-matlab-simulink-keyword">sim</span>(<span class="org-string">'nass_model'</span>);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
And we save the obtained data.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">tomo_align_dist = simout;
|
|
save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span class="org-string">'tomo_align_dist'</span>, <span class="org-string">'-append'</span>);
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org388be58" class="outline-3">
|
|
<h3 id="org388be58"><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>, <span class="org-string">'tomo_align_no_dist'</span>);
|
|
</pre>
|
|
</div>
|
|
|
|
|
|
<div id="org8030dba" class="figure">
|
|
<p><img src="figs/exp_tomo_dist.png" alt="exp_tomo_dist.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 2: </span>X-Y-Z translations and rotations of the sample w.r.t. the granite when performing tomography experiment with disturbances (<a href="./figs/exp_tomo_dist.png">png</a>, <a href="./figs/exp_tomo_dist.pdf">pdf</a>)</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org51b3617" class="outline-3">
|
|
<h3 id="org51b3617"><span class="section-number-3">3.3</span> Conclusion</h3>
|
|
<div class="outline-text-3" id="text-3-3">
|
|
<div class="important">
|
|
<p>
|
|
Here, no vibration is included in the X and Y directions.
|
|
</p>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org7202245" class="outline-2">
|
|
<h2 id="org7202245"><span class="section-number-2">4</span> Tomography Experiment with Ty raster scans</h2>
|
|
<div class="outline-text-2" id="text-4">
|
|
<p>
|
|
<a id="orgd4f0240"></a>
|
|
</p>
|
|
<p>
|
|
In this section, we also perform a tomography experiment with scans of the Translation stage.
|
|
All the perturbations are included.
|
|
</p>
|
|
</div>
|
|
<div id="outline-container-org94c3461" class="outline-3">
|
|
<h3 id="org94c3461"><span class="section-number-3">4.1</span> Simulation Setup</h3>
|
|
<div class="outline-text-3" id="text-4-1">
|
|
<p>
|
|
We now activate the disturbances.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">initializeDisturbances(...
|
|
<span class="org-string">'Dwx'</span>, <span class="org-constant">true</span>, ...<span class="org-comment"> % Ground Motion - X direction</span>
|
|
<span class="org-string">'Dwy'</span>, <span class="org-constant">true</span>, ...<span class="org-comment"> % Ground Motion - Y direction</span>
|
|
<span class="org-string">'Dwz'</span>, <span class="org-constant">true</span>, ...<span class="org-comment"> % Ground Motion - Z direction</span>
|
|
<span class="org-string">'Fty_x'</span>, <span class="org-constant">true</span>, ...<span class="org-comment"> % Translation Stage - X direction</span>
|
|
<span class="org-string">'Fty_z'</span>, <span class="org-constant">true</span>, ...<span class="org-comment"> % Translation Stage - Z direction</span>
|
|
<span class="org-string">'Frz_z'</span>, <span class="org-constant">true</span> ...<span class="org-comment"> % Spindle - Z direction</span>
|
|
);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
We initialize the reference path for all the stages.
|
|
The Spindle which is rotating at 60rpm and the translation stage not moving as it would take a long time to simulate.
|
|
However, vibrations of the Ty stage are included.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<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>
|
|
We simulate the model.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab"><span class="org-matlab-simulink-keyword">sim</span>(<span class="org-string">'nass_model'</span>);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
And we save the obtained data.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">scans_rz_align_dist = simout;
|
|
save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span class="org-string">'scans_rz_align_dist'</span>, <span class="org-string">'-append'</span>);
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org65d4246" class="outline-3">
|
|
<h3 id="org65d4246"><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">'scans_rz_align_dist'</span>);
|
|
</pre>
|
|
</div>
|
|
|
|
|
|
<div id="org38e229c" class="figure">
|
|
<p><img src="figs/exp_scans_rz_dist.png" alt="exp_scans_rz_dist.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 3: </span>X-Y-Z translations and rotations of the sample w.r.t. the granite when performing tomography experiment and scans with the translation stage at the same time</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org41a2a1d" class="outline-3">
|
|
<h3 id="org41a2a1d"><span class="section-number-3">4.3</span> Conclusion</h3>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org72f01ab" class="outline-2">
|
|
<h2 id="org72f01ab"><span class="section-number-2">5</span> Tomography when the micro-hexapod is not centered</h2>
|
|
<div class="outline-text-2" id="text-5">
|
|
<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-org8a5fae6" class="outline-3">
|
|
<h3 id="org8a5fae6"><span class="section-number-3">5.1</span> Simulation Setup</h3>
|
|
<div class="outline-text-3" id="text-5-1">
|
|
<p>
|
|
We first set the wanted translation of the Micro Hexapod.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">P_micro_hexapod = [0.01; 0; 0]; <span class="org-comment">% [m]</span>
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
We initialize the reference path.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">initializeReferences(<span class="org-string">'Dh_pos'</span>, [P_micro_hexapod; 0; 0; 0], <span class="org-string">'Rz_type'</span>, <span class="org-string">'rotating'</span>, <span class="org-string">'Rz_period'</span>, 1);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
We initialize the stages.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">initializeMicroHexapod(<span class="org-string">'AP'</span>, P_micro_hexapod);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
And we initialize the disturbances to zero.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">initializeDisturbances(...
|
|
<span class="org-string">'Dwx'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Ground Motion - X direction</span>
|
|
<span class="org-string">'Dwy'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Ground Motion - Y direction</span>
|
|
<span class="org-string">'Dwz'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Ground Motion - Z direction</span>
|
|
<span class="org-string">'Fty_x'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Translation Stage - X direction</span>
|
|
<span class="org-string">'Fty_z'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Translation Stage - Z direction</span>
|
|
<span class="org-string">'Frz_z'</span>, <span class="org-constant">false</span> ...<span class="org-comment"> % Spindle - Z direction</span>
|
|
);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
We simulate the model.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab"><span class="org-matlab-simulink-keyword">sim</span>(<span class="org-string">'nass_model'</span>);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
And we save the obtained data.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">tomo_not_align = simout;
|
|
save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span class="org-string">'tomo_not_align'</span>, <span class="org-string">'-append'</span>);
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-orgf8b4f39" class="outline-3">
|
|
<h3 id="orgf8b4f39"><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">'tomo_not_align'</span>, <span class="org-string">'tomo_align_no_dist'</span>);
|
|
</pre>
|
|
</div>
|
|
|
|
|
|
<div id="orgb824a01" class="figure">
|
|
<p><img src="figs/exp_tomo_offset.png" alt="exp_tomo_offset.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 4: </span>X-Y-Z translation of the sample w.r.t. granite when performing tomography experiment with no disturbances (<a href="./figs/exp_tomo_offset.png">png</a>, <a href="./figs/exp_tomo_offset.pdf">pdf</a>)</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-orgdd34703" class="outline-3">
|
|
<h3 id="orgdd34703"><span class="section-number-3">5.3</span> Conclusion</h3>
|
|
<div class="outline-text-3" id="text-5-3">
|
|
<div class="important">
|
|
<p>
|
|
The main motion error are 1Hz X-Y translations and constant Ry error.
|
|
This is mainly due to finite stiffness of the elements.
|
|
</p>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org8fa1632" class="outline-2">
|
|
<h2 id="org8fa1632"><span class="section-number-2">6</span> Raster Scans with the translation stage</h2>
|
|
<div class="outline-text-2" id="text-6">
|
|
<p>
|
|
<a id="org6aaeb53"></a>
|
|
</p>
|
|
<p>
|
|
In this section, scans with the translation stage are performed.
|
|
</p>
|
|
</div>
|
|
<div id="outline-container-orge3f0741" class="outline-3">
|
|
<h3 id="orge3f0741"><span class="section-number-3">6.1</span> Simulation Setup</h3>
|
|
<div class="outline-text-3" id="text-6-1">
|
|
<p>
|
|
We initialize the stages.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">initializeGround();
|
|
initializeGranite();
|
|
initializeTy();
|
|
initializeRy();
|
|
initializeRz();
|
|
initializeMicroHexapod();
|
|
initializeAxisc();
|
|
initializeMirror();
|
|
initializeNanoHexapod(<span class="org-string">'type'</span>, <span class="org-string">'rigid'</span>);
|
|
initializeSample(<span class="org-string">'mass'</span>, 1);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
And we initialize the disturbances to zero.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">initializeDisturbances(...
|
|
<span class="org-string">'Dwx'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Ground Motion - X direction</span>
|
|
<span class="org-string">'Dwy'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Ground Motion - Y direction</span>
|
|
<span class="org-string">'Dwz'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Ground Motion - Z direction</span>
|
|
<span class="org-string">'Fty_x'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Translation Stage - X direction</span>
|
|
<span class="org-string">'Fty_z'</span>, <span class="org-constant">false</span>, ...<span class="org-comment"> % Translation Stage - Z direction</span>
|
|
<span class="org-string">'Frz_z'</span>, <span class="org-constant">false</span> ...<span class="org-comment"> % Spindle - Z direction</span>
|
|
);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
We set the reference path to be a triangular signal for the Translation Stage.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">initializeReferences(<span class="org-string">'Dy_type'</span>, <span class="org-string">'triangular'</span>, <span class="org-string">'Dy_amplitude'</span>, 10e<span class="org-type">-</span>3, <span class="org-string">'Dy_period'</span>, 1);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
We simulate the model.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab"><span class="org-matlab-simulink-keyword">sim</span>(<span class="org-string">'nass_model'</span>);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
And we save the obtained data.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">ty_scan_triangle = simout;
|
|
save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span class="org-string">'ty_scan_triangle'</span>, <span class="org-string">'-append'</span>);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
We now set the reference path to be a sinusoidal signal for the Translation Stage.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">initializeReferences(<span class="org-string">'Dy_type'</span>, <span class="org-string">'sinusoidal'</span>, <span class="org-string">'Dy_amplitude'</span>, 10e<span class="org-type">-</span>3, <span class="org-string">'Dy_period'</span>, 1);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
We simulate the model.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab"><span class="org-matlab-simulink-keyword">sim</span>(<span class="org-string">'nass_model'</span>);
|
|
</pre>
|
|
</div>
|
|
|
|
<p>
|
|
And we save the obtained data.
|
|
</p>
|
|
<div class="org-src-container">
|
|
<pre class="src src-matlab">ty_scan_sinus = simout;
|
|
save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span class="org-string">'ty_scan_sinus'</span>, <span class="org-string">'-append'</span>);
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org1836f98" class="outline-3">
|
|
<h3 id="org1836f98"><span class="section-number-3">6.2</span> Analysis</h3>
|
|
<div class="outline-text-3" id="text-6-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_triangle'</span>, <span class="org-string">'ty_scan_sinus'</span>);
|
|
</pre>
|
|
</div>
|
|
|
|
|
|
<div id="org888f0bf" class="figure">
|
|
<p><img src="figs/exp_ty_scan.png" alt="exp_ty_scan.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 5: </span>X-Y-Z translation of the sample w.r.t. granite when performing tomography experiment with no disturbances (<a href="./figs/exp_ty_scan.png">png</a>, <a href="./figs/exp_ty_scan.pdf">pdf</a>)</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org8cf54cb" class="outline-3">
|
|
<h3 id="org8cf54cb"><span class="section-number-3">6.3</span> Conclusion</h3>
|
|
<div class="outline-text-3" id="text-6-3">
|
|
<div class="important">
|
|
<p>
|
|
Scans with the translation stage induces some errors in the Y direction and Rx translations.
|
|
</p>
|
|
|
|
<p>
|
|
Also, scanning with a sinusoidal wave induces less position errors and at lower frequencies.
|
|
Thus, this should be preferred.
|
|
</p>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="postamble" class="status">
|
|
<p class="author">Author: Dehaeze Thomas</p>
|
|
<p class="date">Created: 2020-04-17 ven. 10:25</p>
|
|
</div>
|
|
</body>
|
|
</html>
|