Update html pages

This commit is contained in:
2020-04-05 19:43:43 +02:00
parent 4f3d8d42d1
commit 61495b2a36
2 changed files with 152 additions and 136 deletions

View File

@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<?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-01 mer. 16:14 -->
<!-- 2020-04-05 dim. 19:43 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Compensating the gravity forces to start at steady state</title>
@@ -270,9 +269,9 @@ In order to start the simulation at steady state in presence of gravity:
We don&rsquo;t inject any perturbations and no reference tracking.
</p>
<div class="org-src-container">
<pre class="src src-matlab">initializeReferences();
initializeDisturbances(<span class="org-string">'enable'</span>, <span class="org-constant">false</span>);
initializeController();
<pre class="src src-matlab"> initializeReferences();
initializeDisturbances(<span class="org-string">'enable'</span>, <span class="org-constant">false</span>);
initializeController();
</pre>
</div>
@@ -280,8 +279,8 @@ initializeController();
We include the gravity and log all the signals to display.
</p>
<div class="org-src-container">
<pre class="src src-matlab">initializeSimscapeConfiguration(<span class="org-string">'gravity'</span>, <span class="org-constant">true</span>);
initializeLoggingConfiguration(<span class="org-string">'log'</span>, <span class="org-string">'all'</span>);
<pre class="src src-matlab"> initializeSimscapeConfiguration(<span class="org-string">'gravity'</span>, <span class="org-constant">true</span>);
initializeLoggingConfiguration(<span class="org-string">'log'</span>, <span class="org-string">'all'</span>);
</pre>
</div>
</div>
@@ -296,28 +295,28 @@ Let&rsquo;s simulate the system without any compensation of gravity forces.
</p>
<div class="org-src-container">
<pre class="src src-matlab">initializeGround();
initializeGranite();
initializeTy();
initializeRy();
initializeRz();
initializeMicroHexapod();
initializeAxisc();
initializeMirror();
initializeNanoHexapod();
initializeSample();
<pre class="src src-matlab"> initializeGround();
initializeGranite();
initializeTy();
initializeRy();
initializeRz();
initializeMicroHexapod();
initializeAxisc();
initializeMirror();
initializeNanoHexapod();
initializeSample();
</pre>
</div>
<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">'0.5'</span>);
<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">'0.5'</span>);
</pre>
</div>
<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>);
sim_no_compensation = simout;
<pre class="src src-matlab"> <span class="org-matlab-simulink-keyword">sim</span>(<span class="org-string">'nass_model'</span>);
sim_no_compensation = simout;
</pre>
</div>
@@ -342,16 +341,16 @@ We here wish to simulate the system in order to compute the required force in ea
</p>
<div class="org-src-container">
<pre class="src src-matlab">initializeGround();
initializeGranite(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
initializeTy(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
initializeRy(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
initializeRz(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
initializeMicroHexapod(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
initializeAxisc();
initializeMirror();
initializeNanoHexapod(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
initializeSample(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
<pre class="src src-matlab"> initializeGround();
initializeGranite(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
initializeTy(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
initializeRy(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
initializeRz(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
initializeMicroHexapod(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
initializeAxisc();
initializeMirror();
initializeNanoHexapod(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
initializeSample(<span class="org-string">'type'</span>, <span class="org-string">'init'</span>);
</pre>
</div>
@@ -359,13 +358,13 @@ initializeSample(<span class="org-string">'type'</span>, <span class="org-string
We simulate for a short time period (all the bodies are solid, so nothing should move).
</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">'0.1'</span>);
<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">'0.1'</span>);
</pre>
</div>
<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 class="src src-matlab"> <span class="org-matlab-simulink-keyword">sim</span>(<span class="org-string">'nass_model'</span>);
</pre>
</div>
@@ -373,7 +372,7 @@ We simulate for a short time period (all the bodies are solid, so nothing should
Verification that nothing is moving by looking at the maximum displacement of the sample:
</p>
<div class="org-src-container">
<pre class="src src-matlab">max(max(simout.Em.En.Data))
<pre class="src src-matlab"> max(max(simout.Em.En.Data))
</pre>
</div>
@@ -386,7 +385,7 @@ Verification that nothing is moving by looking at the maximum displacement of th
We here show the measured total force/torque applied at the location of each joint.
</p>
<div class="org-src-container">
<pre class="src src-matlab">data2orgtable([Fgm 0 0 0; Ftym; Fym; Fsm], {<span class="org-string">'Granite'</span>, <span class="org-string">'Translation Stage'</span>, <span class="org-string">'Tilt Stage'</span>, <span class="org-string">'Sample'</span>}, {<span class="org-string">'Fx'</span>, <span class="org-string">'Fy'</span>, <span class="org-string">'Fz'</span>, <span class="org-string">'Mx'</span>, <span class="org-string">'My'</span>, <span class="org-string">'Mz'</span>}, <span class="org-string">' %.1e '</span>);
<pre class="src src-matlab"> data2orgtable([Fgm 0 0 0; Ftym; Fym; Fsm], {<span class="org-string">'Granite'</span>, <span class="org-string">'Translation Stage'</span>, <span class="org-string">'Tilt Stage'</span>, <span class="org-string">'Sample'</span>}, {<span class="org-string">'Fx'</span>, <span class="org-string">'Fy'</span>, <span class="org-string">'Fz'</span>, <span class="org-string">'Mx'</span>, <span class="org-string">'My'</span>, <span class="org-string">'Mz'</span>}, <span class="org-string">' %.1e '</span>);
</pre>
</div>
@@ -463,7 +462,7 @@ We here show the measured total force/torque applied at the location of each joi
</table>
<div class="org-src-container">
<pre class="src src-matlab">data2orgtable([Fhm; Fnm], {<span class="org-string">'Micro-Hexapod'</span>, <span class="org-string">'Nano-Hexapod'</span>}, {<span class="org-string">'F1'</span>, <span class="org-string">'F2'</span>, <span class="org-string">'F3'</span>, <span class="org-string">'F4'</span>, <span class="org-string">'F5'</span>, <span class="org-string">'F6'</span>}, <span class="org-string">' %.1e '</span>);
<pre class="src src-matlab"> data2orgtable([Fhm; Fnm], {<span class="org-string">'Micro-Hexapod'</span>, <span class="org-string">'Nano-Hexapod'</span>}, {<span class="org-string">'F1'</span>, <span class="org-string">'F2'</span>, <span class="org-string">'F3'</span>, <span class="org-string">'F4'</span>, <span class="org-string">'F5'</span>, <span class="org-string">'F6'</span>}, <span class="org-string">' %.1e '</span>);
</pre>
</div>
@@ -523,7 +522,7 @@ We here show the measured total force/torque applied at the location of each joi
We save these forces in <code>Foffset.mat</code>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">save(<span class="org-string">'mat/Foffset.mat'</span>, <span class="org-string">'Fgm'</span>, <span class="org-string">'Ftym'</span>, <span class="org-string">'Fym'</span>, <span class="org-string">'Fzm'</span>, <span class="org-string">'Fhm'</span>, <span class="org-string">'Fnm'</span>, <span class="org-string">'Fsm'</span>);
<pre class="src src-matlab"> save(<span class="org-string">'mat/Foffset.mat'</span>, <span class="org-string">'Fgm'</span>, <span class="org-string">'Ftym'</span>, <span class="org-string">'Fym'</span>, <span class="org-string">'Fzm'</span>, <span class="org-string">'Fhm'</span>, <span class="org-string">'Fnm'</span>, <span class="org-string">'Fsm'</span>);
</pre>
</div>
</div>
@@ -537,16 +536,16 @@ We save these forces in <code>Foffset.mat</code>.
We now initialize the stages with the option <code>Foffset</code>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">initializeGround();
initializeGranite(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
initializeTy(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
initializeRy(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
initializeRz(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
initializeMicroHexapod(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
initializeAxisc();
initializeMirror();
initializeNanoHexapod(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
initializeSample(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
<pre class="src src-matlab"> initializeGround();
initializeGranite(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
initializeTy(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
initializeRy(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
initializeRz(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
initializeMicroHexapod(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
initializeAxisc();
initializeMirror();
initializeNanoHexapod(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
initializeSample(<span class="org-string">'Foffset'</span>, <span class="org-constant">true</span>);
</pre>
</div>
@@ -554,14 +553,14 @@ initializeSample(<span class="org-string">'Foffset'</span>, <span class="org-con
And we simulate the system for 0.5 seconds.
</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">'0.5'</span>);
<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">'0.5'</span>);
</pre>
</div>
<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>);
sim_compensation = simout;
<pre class="src src-matlab"> <span class="org-matlab-simulink-keyword">sim</span>(<span class="org-string">'nass_model'</span>);
sim_compensation = simout;
</pre>
</div>
@@ -579,16 +578,19 @@ Verification that nothing is moving
<div id="outline-container-orgb714922" class="outline-2">
<h2 id="orgb714922"><span class="section-number-2">5</span> Conclusion</h2>
<div class="outline-text-2" id="text-5">
<div class="important">
<p>
This initialization technique permits to compute the required forces/torques to be applied in each joint in order to compensate for gravity forces.
This initialization should be redone for each configuration (change of sample mass, change of tilt angle), but not when changing the stiffness of joints, for instant when changing from lorentz based nano-hexapod or piezo based.
</p>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-04-01 mer. 16:14</p>
<p class="date">Created: 2020-04-05 dim. 19:43</p>
</div>
</body>
</html>