650 lines
26 KiB
HTML
650 lines
26 KiB
HTML
<?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>
|
|
<!-- 2021-02-20 sam. 23:08 -->
|
|
<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="https://research.tdehaeze.xyz/css/style.css"/>
|
|
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.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="#org5e41cbf">1. Simscape Model</a></li>
|
|
<li><a href="#orge687eef">2. Tomography Experiment with no disturbances</a>
|
|
<ul>
|
|
<li><a href="#orgd7be9f9">2.1. Simulation Setup</a></li>
|
|
<li><a href="#org3cc37e4">2.2. Analysis</a></li>
|
|
<li><a href="#org635d5aa">2.3. Conclusion</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#orgbaff4a2">3. Tomography Experiment with included perturbations</a>
|
|
<ul>
|
|
<li><a href="#org2adb412">3.1. Simulation Setup</a></li>
|
|
<li><a href="#org0574e3b">3.2. Analysis</a></li>
|
|
<li><a href="#orga01299f">3.3. Conclusion</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#org2e6a61c">4. Tomography Experiment with Ty raster scans</a>
|
|
<ul>
|
|
<li><a href="#orgea8ee40">4.1. Simulation Setup</a></li>
|
|
<li><a href="#org10c7f76">4.2. Analysis</a></li>
|
|
<li><a href="#org9121d09">4.3. Conclusion</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#orgfc40faa">5. Tomography when the micro-hexapod is not centered</a>
|
|
<ul>
|
|
<li><a href="#orgbab9ef9">5.1. Simulation Setup</a></li>
|
|
<li><a href="#org012e268">5.2. Analysis</a></li>
|
|
<li><a href="#org75b29bc">5.3. Conclusion</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#org3ba6838">6. Raster Scans with the translation stage</a>
|
|
<ul>
|
|
<li><a href="#org5f4e508">6.1. Simulation Setup</a></li>
|
|
<li><a href="#orgf069548">6.2. Analysis</a></li>
|
|
<li><a href="#org3446ba0">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="#org5180d92">1</a> the Simscape model is initialized</li>
|
|
<li>In section <a href="#org141b5a6">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="#org95498dc">3</a>, the same is done but with disturbance included</li>
|
|
<li>In section <a href="#orgd1d4e24">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="#orgeec7f3c">6</a>, scans with the translation stage are simulated with no perturbation included</li>
|
|
</ul>
|
|
|
|
<div id="outline-container-org5e41cbf" class="outline-2">
|
|
<h2 id="org5e41cbf"><span class="section-number-2">1</span> Simscape Model</h2>
|
|
<div class="outline-text-2" id="text-1">
|
|
<p>
|
|
<a id="org5180d92"></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-orge687eef" class="outline-2">
|
|
<h2 id="orge687eef"><span class="section-number-2">2</span> Tomography Experiment with no disturbances</h2>
|
|
<div class="outline-text-2" id="text-2">
|
|
<p>
|
|
<a id="org141b5a6"></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-orgd7be9f9" class="outline-3">
|
|
<h3 id="orgd7be9f9"><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-org3cc37e4" class="outline-3">
|
|
<h3 id="org3cc37e4"><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="org3dd3ed3" 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-org635d5aa" class="outline-3">
|
|
<h3 id="org635d5aa"><span class="section-number-3">2.3</span> Conclusion</h3>
|
|
<div class="outline-text-3" id="text-2-3">
|
|
<div class="important" id="orgbee0f3e">
|
|
<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-orgbaff4a2" class="outline-2">
|
|
<h2 id="orgbaff4a2"><span class="section-number-2">3</span> Tomography Experiment with included perturbations</h2>
|
|
<div class="outline-text-2" id="text-3">
|
|
<p>
|
|
<a id="org95498dc"></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-org2adb412" class="outline-3">
|
|
<h3 id="org2adb412"><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-org0574e3b" class="outline-3">
|
|
<h3 id="org0574e3b"><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="org7188a2d" 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-orga01299f" class="outline-3">
|
|
<h3 id="orga01299f"><span class="section-number-3">3.3</span> Conclusion</h3>
|
|
<div class="outline-text-3" id="text-3-3">
|
|
<div class="important" id="org2449de1">
|
|
<p>
|
|
Here, no vibration is included in the X and Y directions.
|
|
</p>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org2e6a61c" class="outline-2">
|
|
<h2 id="org2e6a61c"><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="org4907e7b"></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-orgea8ee40" class="outline-3">
|
|
<h3 id="orgea8ee40"><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-org10c7f76" class="outline-3">
|
|
<h3 id="org10c7f76"><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="org125e802" 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-org9121d09" class="outline-3">
|
|
<h3 id="org9121d09"><span class="section-number-3">4.3</span> Conclusion</h3>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-orgfc40faa" class="outline-2">
|
|
<h2 id="orgfc40faa"><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="orgd1d4e24"></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-orgbab9ef9" class="outline-3">
|
|
<h3 id="orgbab9ef9"><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-org012e268" class="outline-3">
|
|
<h3 id="org012e268"><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="orge17b520" 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-org75b29bc" class="outline-3">
|
|
<h3 id="org75b29bc"><span class="section-number-3">5.3</span> Conclusion</h3>
|
|
<div class="outline-text-3" id="text-5-3">
|
|
<div class="important" id="org970013d">
|
|
<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-org3ba6838" class="outline-2">
|
|
<h2 id="org3ba6838"><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="orgeec7f3c"></a>
|
|
</p>
|
|
<p>
|
|
In this section, scans with the translation stage are performed.
|
|
</p>
|
|
</div>
|
|
<div id="outline-container-org5f4e508" class="outline-3">
|
|
<h3 id="org5f4e508"><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-orgf069548" class="outline-3">
|
|
<h3 id="orgf069548"><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="orgebbbb99" 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-org3446ba0" class="outline-3">
|
|
<h3 id="org3446ba0"><span class="section-number-3">6.3</span> Conclusion</h3>
|
|
<div class="outline-text-3" id="text-6-3">
|
|
<div class="important" id="orgf5f4292">
|
|
<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: 2021-02-20 sam. 23:08</p>
|
|
</div>
|
|
</body>
|
|
</html>
|