Add org-setup-file that all org file links to
This commit is contained in:
parent
a2d2d14ca1
commit
f868ad68f0
@ -4,237 +4,25 @@
|
||||
"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-04-17 ven. 09:36 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Active Damping with an uni-axial model</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
// @license-end
|
||||
</script>
|
||||
<script>
|
||||
MathJax = {
|
||||
tex: { macros: {
|
||||
bm: ["\\boldsymbol{#1}",1],
|
||||
}
|
||||
<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>
|
||||
<script>MathJax = {
|
||||
tex: {
|
||||
tags: 'ams',
|
||||
macros: {bm: ["\\boldsymbol{#1}",1],}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
@ -251,63 +39,63 @@
|
||||
<ul>
|
||||
<li><a href="#org7409841">1.1. Init</a></li>
|
||||
<li><a href="#org7514f31">1.2. Identification</a></li>
|
||||
<li><a href="#org380e20f">1.3. Sensitivity to disturbances</a></li>
|
||||
<li><a href="#org5ffc5f1">1.3. Sensitivity to disturbances</a></li>
|
||||
<li><a href="#orgdda82c0">1.4. Undamped Plant</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5a3389e">2. Integral Force Feedback</a>
|
||||
<ul>
|
||||
<li><a href="#orgbaae6a1">2.1. One degree-of-freedom example</a>
|
||||
<li><a href="#orgbe39d04">2.1. One degree-of-freedom example</a>
|
||||
<ul>
|
||||
<li><a href="#orgc436f05">2.1.1. Equations</a></li>
|
||||
<li><a href="#org238893b">2.1.2. Matlab Example</a></li>
|
||||
<li><a href="#orgdb4e3a8">2.1.1. Equations</a></li>
|
||||
<li><a href="#orgeec7ed9">2.1.2. Matlab Example</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org824be47">2.2. Control Design</a></li>
|
||||
<li><a href="#orgfdd4556">2.3. Identification of the damped plant</a></li>
|
||||
<li><a href="#org4802ab9">2.4. Sensitivity to disturbances</a></li>
|
||||
<li><a href="#org2cbe422">2.5. Damped Plant</a></li>
|
||||
<li><a href="#orgdade398">2.6. Conclusion</a></li>
|
||||
<li><a href="#org767264d">2.2. Control Design</a></li>
|
||||
<li><a href="#org945fe08">2.3. Identification of the damped plant</a></li>
|
||||
<li><a href="#orgfd53164">2.4. Sensitivity to disturbances</a></li>
|
||||
<li><a href="#org685bc2a">2.5. Damped Plant</a></li>
|
||||
<li><a href="#org6b26d75">2.6. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc4ca1b5">3. Relative Motion Control</a>
|
||||
<ul>
|
||||
<li><a href="#org39a3687">3.1. One degree-of-freedom example</a>
|
||||
<li><a href="#org54d13d6">3.1. One degree-of-freedom example</a>
|
||||
<ul>
|
||||
<li><a href="#org994b142">3.1.1. Equations</a></li>
|
||||
<li><a href="#org6a1f411">3.1.2. Matlab Example</a></li>
|
||||
<li><a href="#org54758f7">3.1.1. Equations</a></li>
|
||||
<li><a href="#org31ae910">3.1.2. Matlab Example</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org13a97a7">3.2. Control Design</a></li>
|
||||
<li><a href="#orge00b37b">3.3. Identification of the damped plant</a></li>
|
||||
<li><a href="#orgcd3874b">3.4. Sensitivity to disturbances</a></li>
|
||||
<li><a href="#orgfcc3787">3.5. Damped Plant</a></li>
|
||||
<li><a href="#org37ceb38">3.6. Conclusion</a></li>
|
||||
<li><a href="#orga66a259">3.2. Control Design</a></li>
|
||||
<li><a href="#org6a2522d">3.3. Identification of the damped plant</a></li>
|
||||
<li><a href="#org164a6e3">3.4. Sensitivity to disturbances</a></li>
|
||||
<li><a href="#org5f7ca3b">3.5. Damped Plant</a></li>
|
||||
<li><a href="#org7e0c0fc">3.6. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3cc03b0">4. Direct Velocity Feedback</a>
|
||||
<ul>
|
||||
<li><a href="#org20ee26e">4.1. One degree-of-freedom example</a>
|
||||
<li><a href="#org77792c1">4.1. One degree-of-freedom example</a>
|
||||
<ul>
|
||||
<li><a href="#org0d2ea8d">4.1.1. Equations</a></li>
|
||||
<li><a href="#orgaddbb82">4.1.2. Matlab Example</a></li>
|
||||
<li><a href="#org82cc039">4.1.1. Equations</a></li>
|
||||
<li><a href="#org935ed32">4.1.2. Matlab Example</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf1bd80b">4.2. Control Design</a></li>
|
||||
<li><a href="#org54ebde8">4.3. Identification of the damped plant</a></li>
|
||||
<li><a href="#org454c0c8">4.4. Sensitivity to disturbances</a></li>
|
||||
<li><a href="#org5f21dd1">4.5. Damped Plant</a></li>
|
||||
<li><a href="#org53572a3">4.6. Conclusion</a></li>
|
||||
<li><a href="#org6a45963">4.2. Control Design</a></li>
|
||||
<li><a href="#org9b2a9e2">4.3. Identification of the damped plant</a></li>
|
||||
<li><a href="#org7d01fa7">4.4. Sensitivity to disturbances</a></li>
|
||||
<li><a href="#org91db5e4">4.5. Damped Plant</a></li>
|
||||
<li><a href="#org228bb9f">4.6. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org21441bc">5. Comparison</a>
|
||||
<ul>
|
||||
<li><a href="#orgbe907b4">5.1. Load the plants</a></li>
|
||||
<li><a href="#orgde6308d">5.2. Sensitivity to Disturbance</a></li>
|
||||
<li><a href="#orga1cf9f2">5.3. Damped Plant</a></li>
|
||||
<li><a href="#org1de78b5">5.3. Damped Plant</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4d89cbd">6. Conclusion</a></li>
|
||||
<li><a href="#org1ff0703">6. Conclusion</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -421,8 +209,8 @@ And we save it for further analysis.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org380e20f" class="outline-3">
|
||||
<h3 id="org380e20f"><span class="section-number-3">1.3</span> Sensitivity to disturbances</h3>
|
||||
<div id="outline-container-org5ffc5f1" class="outline-3">
|
||||
<h3 id="org5ffc5f1"><span class="section-number-3">1.3</span> Sensitivity to disturbances</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
The sensitivity to disturbances are shown on figure <a href="#orgcf7fa15">1</a>.
|
||||
@ -480,15 +268,15 @@ Then, it is applied on the simscape model.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbaae6a1" class="outline-3">
|
||||
<h3 id="orgbaae6a1"><span class="section-number-3">2.1</span> One degree-of-freedom example</h3>
|
||||
<div id="outline-container-orgbe39d04" class="outline-3">
|
||||
<h3 id="orgbe39d04"><span class="section-number-3">2.1</span> One degree-of-freedom example</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
<a id="org7f37ded"></a>
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-orgc436f05" class="outline-4">
|
||||
<h4 id="orgc436f05"><span class="section-number-4">2.1.1</span> Equations</h4>
|
||||
<div id="outline-container-orgdb4e3a8" class="outline-4">
|
||||
<h4 id="orgdb4e3a8"><span class="section-number-4">2.1.1</span> Equations</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
|
||||
<div id="org1acdc30" class="figure">
|
||||
@ -554,8 +342,8 @@ This is attainable if we have:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org238893b" class="outline-4">
|
||||
<h4 id="org238893b"><span class="section-number-4">2.1.2</span> Matlab Example</h4>
|
||||
<div id="outline-container-orgeec7ed9" class="outline-4">
|
||||
<h4 id="orgeec7ed9"><span class="section-number-4">2.1.2</span> Matlab Example</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<p>
|
||||
Let define the system parameters.
|
||||
@ -618,8 +406,8 @@ And the closed loop system is computed below.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org824be47" class="outline-3">
|
||||
<h3 id="org824be47"><span class="section-number-3">2.2</span> Control Design</h3>
|
||||
<div id="outline-container-org767264d" class="outline-3">
|
||||
<h3 id="org767264d"><span class="section-number-3">2.2</span> Control Design</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Let’s load the undamped plant:
|
||||
@ -661,8 +449,8 @@ The corresponding loop gains are shown in figure <a href="#org36e3a94">7</a>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfdd4556" class="outline-3">
|
||||
<h3 id="orgfdd4556"><span class="section-number-3">2.3</span> Identification of the damped plant</h3>
|
||||
<div id="outline-container-org945fe08" class="outline-3">
|
||||
<h3 id="org945fe08"><span class="section-number-3">2.3</span> Identification of the damped plant</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Let’s initialize the system prior to identification.
|
||||
@ -715,8 +503,8 @@ And we save the damped plant for further analysis
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4802ab9" class="outline-3">
|
||||
<h3 id="org4802ab9"><span class="section-number-3">2.4</span> Sensitivity to disturbances</h3>
|
||||
<div id="outline-container-orgfd53164" class="outline-3">
|
||||
<h3 id="orgfd53164"><span class="section-number-3">2.4</span> Sensitivity to disturbances</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
As shown on figure <a href="#org38217ee">8</a>:
|
||||
@ -752,8 +540,8 @@ For instance, the plots are not the same when using <code>minreal</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2cbe422" class="outline-3">
|
||||
<h3 id="org2cbe422"><span class="section-number-3">2.5</span> Damped Plant</h3>
|
||||
<div id="outline-container-org685bc2a" class="outline-3">
|
||||
<h3 id="org685bc2a"><span class="section-number-3">2.5</span> Damped Plant</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
Now, look at the new damped plant to control.
|
||||
@ -782,8 +570,8 @@ However, it increases coupling at low frequency (figure <a href="#org8017b2f">11
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdade398" class="outline-3">
|
||||
<h3 id="orgdade398"><span class="section-number-3">2.6</span> Conclusion</h3>
|
||||
<div id="outline-container-org6b26d75" class="outline-3">
|
||||
<h3 id="org6b26d75"><span class="section-number-3">2.6</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<div class="important">
|
||||
<p>
|
||||
@ -817,15 +605,15 @@ In the Relative Motion Control (RMC), a derivative feedback is applied between t
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org39a3687" class="outline-3">
|
||||
<h3 id="org39a3687"><span class="section-number-3">3.1</span> One degree-of-freedom example</h3>
|
||||
<div id="outline-container-org54d13d6" class="outline-3">
|
||||
<h3 id="org54d13d6"><span class="section-number-3">3.1</span> One degree-of-freedom example</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
<a id="org6f16e09"></a>
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org994b142" class="outline-4">
|
||||
<h4 id="org994b142"><span class="section-number-4">3.1.1</span> Equations</h4>
|
||||
<div id="outline-container-org54758f7" class="outline-4">
|
||||
<h4 id="org54758f7"><span class="section-number-4">3.1.1</span> Equations</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
|
||||
<div id="org64900ec" class="figure">
|
||||
@ -884,8 +672,8 @@ This corresponds to a gain:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6a1f411" class="outline-4">
|
||||
<h4 id="org6a1f411"><span class="section-number-4">3.1.2</span> Matlab Example</h4>
|
||||
<div id="outline-container-org31ae910" class="outline-4">
|
||||
<h4 id="org31ae910"><span class="section-number-4">3.1.2</span> Matlab Example</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<p>
|
||||
Let define the system parameters.
|
||||
@ -948,8 +736,8 @@ And the closed loop system is computed below.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org13a97a7" class="outline-3">
|
||||
<h3 id="org13a97a7"><span class="section-number-3">3.2</span> Control Design</h3>
|
||||
<div id="outline-container-orga66a259" class="outline-3">
|
||||
<h3 id="orga66a259"><span class="section-number-3">3.2</span> Control Design</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
Let’s load the undamped plant:
|
||||
@ -992,8 +780,8 @@ The obtained loop gains are shown in figure <a href="#orga5b8f12">15</a>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge00b37b" class="outline-3">
|
||||
<h3 id="orge00b37b"><span class="section-number-3">3.3</span> Identification of the damped plant</h3>
|
||||
<div id="outline-container-org6a2522d" class="outline-3">
|
||||
<h3 id="org6a2522d"><span class="section-number-3">3.3</span> Identification of the damped plant</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<p>
|
||||
Let’s initialize the system prior to identification.
|
||||
@ -1046,8 +834,8 @@ And we save the damped plant for further analysis.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd3874b" class="outline-3">
|
||||
<h3 id="orgcd3874b"><span class="section-number-3">3.4</span> Sensitivity to disturbances</h3>
|
||||
<div id="outline-container-org164a6e3" class="outline-3">
|
||||
<h3 id="org164a6e3"><span class="section-number-3">3.4</span> Sensitivity to disturbances</h3>
|
||||
<div class="outline-text-3" id="text-3-4">
|
||||
<p>
|
||||
As shown in figure <a href="#org58aec78">16</a>, RMC control succeed in lowering the sensitivity to disturbances near resonance of the system.
|
||||
@ -1069,8 +857,8 @@ As shown in figure <a href="#org58aec78">16</a>, RMC control succeed in lowering
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfcc3787" class="outline-3">
|
||||
<h3 id="orgfcc3787"><span class="section-number-3">3.5</span> Damped Plant</h3>
|
||||
<div id="outline-container-org5f7ca3b" class="outline-3">
|
||||
<h3 id="org5f7ca3b"><span class="section-number-3">3.5</span> Damped Plant</h3>
|
||||
<div class="outline-text-3" id="text-3-5">
|
||||
|
||||
<div id="org2267bd4" class="figure">
|
||||
@ -1081,8 +869,8 @@ As shown in figure <a href="#org58aec78">16</a>, RMC control succeed in lowering
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org37ceb38" class="outline-3">
|
||||
<h3 id="org37ceb38"><span class="section-number-3">3.6</span> Conclusion</h3>
|
||||
<div id="outline-container-org7e0c0fc" class="outline-3">
|
||||
<h3 id="org7e0c0fc"><span class="section-number-3">3.6</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-3-6">
|
||||
<div class="important">
|
||||
<p>
|
||||
@ -1114,15 +902,15 @@ In the Relative Motion Control (RMC), a feedback is applied between the measured
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org20ee26e" class="outline-3">
|
||||
<h3 id="org20ee26e"><span class="section-number-3">4.1</span> One degree-of-freedom example</h3>
|
||||
<div id="outline-container-org77792c1" class="outline-3">
|
||||
<h3 id="org77792c1"><span class="section-number-3">4.1</span> One degree-of-freedom example</h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
<a id="org3a699cb"></a>
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org0d2ea8d" class="outline-4">
|
||||
<h4 id="org0d2ea8d"><span class="section-number-4">4.1.1</span> Equations</h4>
|
||||
<div id="outline-container-org82cc039" class="outline-4">
|
||||
<h4 id="org82cc039"><span class="section-number-4">4.1.1</span> Equations</h4>
|
||||
<div class="outline-text-4" id="text-4-1-1">
|
||||
|
||||
<div id="org93ae6e4" class="figure">
|
||||
@ -1181,8 +969,8 @@ This corresponds to a gain:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaddbb82" class="outline-4">
|
||||
<h4 id="orgaddbb82"><span class="section-number-4">4.1.2</span> Matlab Example</h4>
|
||||
<div id="outline-container-org935ed32" class="outline-4">
|
||||
<h4 id="org935ed32"><span class="section-number-4">4.1.2</span> Matlab Example</h4>
|
||||
<div class="outline-text-4" id="text-4-1-2">
|
||||
<p>
|
||||
Let define the system parameters.
|
||||
@ -1269,8 +1057,8 @@ The obtained sensitivity to disturbances is shown in figure <a href="#org1c3277a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf1bd80b" class="outline-3">
|
||||
<h3 id="orgf1bd80b"><span class="section-number-3">4.2</span> Control Design</h3>
|
||||
<div id="outline-container-org6a45963" class="outline-3">
|
||||
<h3 id="org6a45963"><span class="section-number-3">4.2</span> Control Design</h3>
|
||||
<div class="outline-text-3" id="text-4-2">
|
||||
<p>
|
||||
Let’s load the undamped plant:
|
||||
@ -1309,8 +1097,8 @@ The controller is defined below and the obtained loop gain is shown in figure <a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org54ebde8" class="outline-3">
|
||||
<h3 id="org54ebde8"><span class="section-number-3">4.3</span> Identification of the damped plant</h3>
|
||||
<div id="outline-container-org9b2a9e2" class="outline-3">
|
||||
<h3 id="org9b2a9e2"><span class="section-number-3">4.3</span> Identification of the damped plant</h3>
|
||||
<div class="outline-text-3" id="text-4-3">
|
||||
<p>
|
||||
Let’s initialize the system prior to identification.
|
||||
@ -1363,8 +1151,8 @@ And we save the damped plant for further analysis.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org454c0c8" class="outline-3">
|
||||
<h3 id="org454c0c8"><span class="section-number-3">4.4</span> Sensitivity to disturbances</h3>
|
||||
<div id="outline-container-org7d01fa7" class="outline-3">
|
||||
<h3 id="org7d01fa7"><span class="section-number-3">4.4</span> Sensitivity to disturbances</h3>
|
||||
<div class="outline-text-3" id="text-4-4">
|
||||
|
||||
<div id="org2558226" class="figure">
|
||||
@ -1383,8 +1171,8 @@ And we save the damped plant for further analysis.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5f21dd1" class="outline-3">
|
||||
<h3 id="org5f21dd1"><span class="section-number-3">4.5</span> Damped Plant</h3>
|
||||
<div id="outline-container-org91db5e4" class="outline-3">
|
||||
<h3 id="org91db5e4"><span class="section-number-3">4.5</span> Damped Plant</h3>
|
||||
<div class="outline-text-3" id="text-4-5">
|
||||
|
||||
<div id="org2fa3671" class="figure">
|
||||
@ -1395,8 +1183,8 @@ And we save the damped plant for further analysis.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org53572a3" class="outline-3">
|
||||
<h3 id="org53572a3"><span class="section-number-3">4.6</span> Conclusion</h3>
|
||||
<div id="outline-container-org228bb9f" class="outline-3">
|
||||
<h3 id="org228bb9f"><span class="section-number-3">4.6</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-4-6">
|
||||
<div class="important">
|
||||
<p>
|
||||
@ -1467,8 +1255,8 @@ Direct Velocity Feedback:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga1cf9f2" class="outline-3">
|
||||
<h3 id="orga1cf9f2"><span class="section-number-3">5.3</span> Damped Plant</h3>
|
||||
<div id="outline-container-org1de78b5" class="outline-3">
|
||||
<h3 id="org1de78b5"><span class="section-number-3">5.3</span> Damped Plant</h3>
|
||||
<div class="outline-text-3" id="text-5-3">
|
||||
|
||||
<div id="org043ecf3" class="figure">
|
||||
@ -1494,8 +1282,8 @@ Direct Velocity Feedback:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4d89cbd" class="outline-2">
|
||||
<h2 id="org4d89cbd"><span class="section-number-2">6</span> Conclusion</h2>
|
||||
<div id="outline-container-org1ff0703" class="outline-2">
|
||||
<h2 id="org1ff0703"><span class="section-number-2">6</span> Conclusion</h2>
|
||||
<div class="outline-text-2" id="text-6">
|
||||
<p>
|
||||
<a id="org58549a4"></a>
|
||||
@ -1505,7 +1293,7 @@ Direct Velocity Feedback:
|
||||
</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-04-17 ven. 09:36</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,227 +4,17 @@
|
||||
"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-05 dim. 19:43 -->
|
||||
<!-- 2020-04-17 ven. 09:34 -->
|
||||
<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>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
// @license-end
|
||||
</script>
|
||||
<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">
|
||||
@ -269,9 +59,9 @@ In order to start the simulation at steady state in presence of gravity:
|
||||
We don’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>
|
||||
|
||||
@ -279,8 +69,8 @@ We don’t inject any perturbations and no reference tracking.
|
||||
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>
|
||||
@ -295,28 +85,28 @@ Let’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>
|
||||
|
||||
@ -341,16 +131,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>
|
||||
|
||||
@ -358,13 +148,13 @@ We here wish to simulate the system in order to compute the required force in ea
|
||||
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>
|
||||
|
||||
@ -372,7 +162,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>
|
||||
|
||||
@ -385,7 +175,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>
|
||||
|
||||
@ -462,7 +252,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>
|
||||
|
||||
@ -522,7 +312,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>
|
||||
@ -536,16 +326,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>
|
||||
|
||||
@ -553,14 +343,14 @@ We now initialize the stages with the option <code>Foffset</code>.
|
||||
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>
|
||||
|
||||
@ -590,7 +380,7 @@ This initialization should be redone for each configuration (change of sample ma
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-04-05 dim. 19:43</p>
|
||||
<p class="date">Created: 2020-04-17 ven. 09:34</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,237 +4,25 @@
|
||||
"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:16 -->
|
||||
<!-- 2020-04-17 ven. 09:35 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Control of the Nano-Active-Stabilization-System</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
// @license-end
|
||||
</script>
|
||||
<script>
|
||||
MathJax = {
|
||||
tex: { macros: {
|
||||
bm: ["\\boldsymbol{#1}",1],
|
||||
}
|
||||
<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>
|
||||
<script>MathJax = {
|
||||
tex: {
|
||||
tags: 'ams',
|
||||
macros: {bm: ["\\boldsymbol{#1}",1],}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
@ -266,6 +54,8 @@
|
||||
<li><a href="#orgeb80da1">4.2. HAC-LAC using IFF and Tracking control in the Cartesian frame</a></li>
|
||||
<li><a href="#org8b2b21e">4.3. HAC-LAC using IFF - the HAC controller is positioning the sample w.r.t. the granite in the task space</a></li>
|
||||
<li><a href="#org1c04b26">4.4. HAC-LAC using IFF - the HAC controller is positioning the sample w.r.t. the granite in the space of the legs</a></li>
|
||||
<li><a href="#org83b9480">4.5. HAC-LAC using DVF - the HAC controller is positioning the sample w.r.t. the granite in the task space</a></li>
|
||||
<li><a href="#orgdbdd7d4">4.6. HAC-LAC using DVF - the HAC controller is positioning the sample w.r.t. the granite in the space of the legs</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgab73896">5. Cascade Architectures (link)</a>
|
||||
@ -275,6 +65,11 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4ac6d11">6. Force Control (link)</a></li>
|
||||
<li><a href="#org5840a0b">7. Other Control Architectures</a>
|
||||
<ul>
|
||||
<li><a href="#org5be51f2">7.1. Control to force the nano-hexapod to not do any vertical rotation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -620,6 +415,28 @@ Usually, the Low Authority Controller is first design, and then the High Authori
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org83b9480" class="outline-3">
|
||||
<h3 id="org83b9480"><span class="section-number-3">4.5</span> HAC-LAC using DVF - the HAC controller is positioning the sample w.r.t. the granite in the task space</h3>
|
||||
<div class="outline-text-3" id="text-4-5">
|
||||
|
||||
<div class="figure">
|
||||
<p><img src="figs/control_architecture_hac_dvf_pos_X.png" alt="control_architecture_hac_dvf_pos_X.png" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdbdd7d4" class="outline-3">
|
||||
<h3 id="orgdbdd7d4"><span class="section-number-3">4.6</span> HAC-LAC using DVF - the HAC controller is positioning the sample w.r.t. the granite in the space of the legs</h3>
|
||||
<div class="outline-text-3" id="text-4-6">
|
||||
|
||||
<div class="figure">
|
||||
<p><img src="figs/control_architecture_hac_dvf_pos_L.png" alt="control_architecture_hac_dvf_pos_L.png" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgab73896" class="outline-2">
|
||||
@ -629,13 +446,13 @@ Usually, the Low Authority Controller is first design, and then the High Authori
|
||||
<a id="orga038762"></a>
|
||||
</p>
|
||||
<p>
|
||||
The principle of Cascade control is shown in Figure <a href="#org03ef231">13</a> and explained as follow:
|
||||
The principle of Cascade control is shown in Figure <a href="#org03ef231">15</a> and explained as follow:
|
||||
</p>
|
||||
<blockquote>
|
||||
<p>
|
||||
To follow <b>two objectives</b> with different properties in one control system, usually a <b>hierarchy</b> of two feedback loops is used in practice.
|
||||
This kind of control topology is called <b>cascade control</b>, which is used when there are <b>several measurements and one prime control variable</b>.
|
||||
Cascade control is implemented by <b>nesting</b> the control loops, as shown in Figure <a href="#org03ef231">13</a>.
|
||||
Cascade control is implemented by <b>nesting</b> the control loops, as shown in Figure <a href="#org03ef231">15</a>.
|
||||
The output control loop is called the <b>primary loop</b>, while the inner loop is called the secondary loop and is used to fulfill a secondary objective in the closed-loop system. – <a class='org-ref-reference' href="#taghirad13_paral">taghirad13_paral</a>
|
||||
</p>
|
||||
</blockquote>
|
||||
@ -644,7 +461,7 @@ The output control loop is called the <b>primary loop</b>, while the inner loop
|
||||
<div id="org03ef231" class="figure">
|
||||
<p><img src="figs/control_architecture_cascade_control.png" alt="control_architecture_cascade_control.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 13: </span>Cascade Control Architecture</p>
|
||||
<p><span class="figure-number">Figure 15: </span>Cascade Control Architecture</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
@ -669,7 +486,7 @@ The inner loop can be composed of the system controlled with the HAC-LAC topolog
|
||||
<div id="orgff7dfc6" class="figure">
|
||||
<p><img src="figs/control_architecture_cascade_L.png" alt="control_architecture_cascade_L.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 14: </span>Cascaded Control consisting of (from inner to outer loop): IFF, Linearization Loop, Tracking Control in the frame of the Legs</p>
|
||||
<p><span class="figure-number">Figure 16: </span>Cascaded Control consisting of (from inner to outer loop): IFF, Linearization Loop, Tracking Control in the frame of the Legs</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -681,7 +498,7 @@ The inner loop can be composed of the system controlled with the HAC-LAC topolog
|
||||
<div id="org4bc4c4c" class="figure">
|
||||
<p><img src="figs/control_architecture_cascade_X.png" alt="control_architecture_cascade_X.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 15: </span>Cascaded Control consisting of (from inner to outer loop): IFF, Linearization Loop, Tracking Control in the Cartesian Frame</p>
|
||||
<p><span class="figure-number">Figure 17: </span>Cascaded Control consisting of (from inner to outer loop): IFF, Linearization Loop, Tracking Control in the Cartesian Frame</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -707,6 +524,43 @@ Signals:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5840a0b" class="outline-2">
|
||||
<h2 id="org5840a0b"><span class="section-number-2">7</span> Other Control Architectures</h2>
|
||||
<div class="outline-text-2" id="text-7">
|
||||
</div>
|
||||
<div id="outline-container-org5be51f2" class="outline-3">
|
||||
<h3 id="org5be51f2"><span class="section-number-3">7.1</span> Control to force the nano-hexapod to not do any vertical rotation</h3>
|
||||
<div class="outline-text-3" id="text-7-1">
|
||||
<p>
|
||||
As the sample rotation around the vertical axis is not measure, the best we can do with the nano-hexapod is to not rotate around this same axis.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
One way to do it is shown in Figure <a href="#orga8781eb">19</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The controller \(\bm{K}_{R_z}\) is decomposed as shown in Figure <a href="#org2f0522c">20</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="orga8781eb" class="figure">
|
||||
<p><img src="figs/control_architecture_fixed_rz.png" alt="control_architecture_fixed_rz.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 19: </span>Figure caption</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org2f0522c" class="figure">
|
||||
<p><img src="figs/control_architecture_fixed_Krz.png" alt="control_architecture_fixed_Krz.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 20: </span>Figure caption</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<p>
|
||||
|
||||
<h1 class='org-ref-bib-h1'>Bibliography</h1>
|
||||
@ -718,7 +572,7 @@ Signals:
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-04-01 mer. 16:16</p>
|
||||
<p class="date">Created: 2020-04-17 ven. 09:35</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,259 +4,25 @@
|
||||
"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-26 jeu. 17:25 -->
|
||||
<!-- 2020-04-17 ven. 09:36 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Active Damping applied on the Simscape Model</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this tag.
|
||||
|
||||
Copyright (C) 2012-2020 Free Software Foundation, Inc.
|
||||
|
||||
The JavaScript code in this tag is free software: you can
|
||||
redistribute it and/or modify it under the terms of the GNU
|
||||
General Public License (GNU GPL) as published by the Free Software
|
||||
Foundation, either version 3 of the License, or (at your option)
|
||||
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
|
||||
As additional permission under GNU GPL version 3 section 7, you
|
||||
may distribute non-source (e.g., minimized or compacted) forms of
|
||||
that code without the copy of the GNU GPL normally required by
|
||||
section 4, provided you include this license notice and a URL
|
||||
through which recipients can access the Corresponding Source.
|
||||
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this tag.
|
||||
*/
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
</script>
|
||||
<script>
|
||||
MathJax = {
|
||||
tex: { macros: {
|
||||
bm: ["\\boldsymbol{#1}",1],
|
||||
}
|
||||
<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>
|
||||
<script>MathJax = {
|
||||
tex: {
|
||||
tags: 'ams',
|
||||
macros: {bm: ["\\boldsymbol{#1}",1],}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
@ -273,17 +39,17 @@ for the JavaScript code in this tag.
|
||||
<ul>
|
||||
<li><a href="#orgb9bb91c">1.1. Identification of the dynamics for Active Damping</a>
|
||||
<ul>
|
||||
<li><a href="#org9be7a0a">1.1.1. Identification</a></li>
|
||||
<li><a href="#org0e0278d">1.1.1. Identification</a></li>
|
||||
<li><a href="#org821239d">1.1.2. Obtained Plants for Active Damping</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org21a2e91">1.2. Identification of the dynamics for High Authority Control</a>
|
||||
<ul>
|
||||
<li><a href="#orgae8b5f6">1.2.1. Identification</a></li>
|
||||
<li><a href="#org25cfa54">1.2.1. Identification</a></li>
|
||||
<li><a href="#orgff85811">1.2.2. Obtained Plants</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd249fa7">1.3. Tomography Experiment</a>
|
||||
<li><a href="#org2540d06">1.3. Tomography Experiment</a>
|
||||
<ul>
|
||||
<li><a href="#orgd5305ce">1.3.1. Simulation</a></li>
|
||||
<li><a href="#orgd64a4bc">1.3.2. Results</a></li>
|
||||
@ -303,55 +69,55 @@ for the JavaScript code in this tag.
|
||||
</li>
|
||||
<li><a href="#org47c5593">2.4. Variation of the Tilt Angle</a></li>
|
||||
<li><a href="#org047e39c">2.5. Scans of the Translation Stage</a></li>
|
||||
<li><a href="#orga3a88c5">2.6. Conclusion</a></li>
|
||||
<li><a href="#org6e25821">2.6. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org11ab68f">3. Integral Force Feedback</a>
|
||||
<ul>
|
||||
<li><a href="#org7469e89">3.1. Control Design</a>
|
||||
<li><a href="#orga4d47de">3.1. Control Design</a>
|
||||
<ul>
|
||||
<li><a href="#org50113d6">3.1.1. Plant</a></li>
|
||||
<li><a href="#org0279170">3.1.2. Control Design</a></li>
|
||||
<li><a href="#orge6bfce6">3.1.3. Diagonal Controller</a></li>
|
||||
<li><a href="#org506864d">3.1.1. Plant</a></li>
|
||||
<li><a href="#orgd147055">3.1.2. Control Design</a></li>
|
||||
<li><a href="#orgeed5a23">3.1.3. Diagonal Controller</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org93e3515">3.2. Tomography Experiment</a>
|
||||
<li><a href="#orge4bf8c1">3.2. Tomography Experiment</a>
|
||||
<ul>
|
||||
<li><a href="#org132e692">3.2.1. Simulation with IFF Controller</a></li>
|
||||
<li><a href="#orge17626d">3.2.2. Compare with Undamped system</a></li>
|
||||
<li><a href="#org9c3f302">3.2.2. Compare with Undamped system</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6bfc3c8">3.3. Conclusion</a></li>
|
||||
<li><a href="#orgd53cc4e">3.3. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org13393f4">4. Direct Velocity Feedback</a>
|
||||
<ul>
|
||||
<li><a href="#org6ab2a22">4.1. Control Design</a>
|
||||
<li><a href="#org22d12df">4.1. Control Design</a>
|
||||
<ul>
|
||||
<li><a href="#orged52a69">4.1.1. Plant</a></li>
|
||||
<li><a href="#org44b5b14">4.1.2. Control Design</a></li>
|
||||
<li><a href="#orgfb28f7d">4.1.3. Diagonal Controller</a></li>
|
||||
<li><a href="#org0b48ca9">4.1.1. Plant</a></li>
|
||||
<li><a href="#org59030a3">4.1.2. Control Design</a></li>
|
||||
<li><a href="#org59cf352">4.1.3. Diagonal Controller</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdc93329">4.2. Tomography Experiment</a>
|
||||
<li><a href="#org76bbcf0">4.2. Tomography Experiment</a>
|
||||
<ul>
|
||||
<li><a href="#orgaf91898">4.2.1. Initialize the Simulation</a></li>
|
||||
<li><a href="#orge68c2e6">4.2.2. Compare with Undamped system</a></li>
|
||||
<li><a href="#orge2c011b">4.2.1. Initialize the Simulation</a></li>
|
||||
<li><a href="#org8cb0050">4.2.2. Compare with Undamped system</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdd6b994">4.3. Conclusion</a></li>
|
||||
<li><a href="#org5f85708">4.3. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8f2508f">5. Inertial Control</a>
|
||||
<ul>
|
||||
<li><a href="#org78934a1">5.1. Control Design</a>
|
||||
<li><a href="#org9f4c2b3">5.1. Control Design</a>
|
||||
<ul>
|
||||
<li><a href="#orga97b3aa">5.1.1. Plant</a></li>
|
||||
<li><a href="#org92b0a5f">5.1.2. Control Design</a></li>
|
||||
<li><a href="#org9e08e48">5.1.3. Diagonal Controller</a></li>
|
||||
<li><a href="#org9ec605a">5.1.1. Plant</a></li>
|
||||
<li><a href="#org94a1419">5.1.2. Control Design</a></li>
|
||||
<li><a href="#orgc596f9b">5.1.3. Diagonal Controller</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org054aff8">5.2. Conclusion</a></li>
|
||||
<li><a href="#orgdc8e915">5.2. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3557ae9">6. Comparison</a>
|
||||
@ -366,16 +132,16 @@ for the JavaScript code in this tag.
|
||||
<ul>
|
||||
<li><a href="#org8642cf5">7.1. prepareLinearizeIdentification</a>
|
||||
<ul>
|
||||
<li><a href="#org6a968ef">Function Description</a></li>
|
||||
<li><a href="#orgc14eed3">Optional Parameters</a></li>
|
||||
<li><a href="#orgc7a07c5">Initialize the Simulation</a></li>
|
||||
<li><a href="#orga028903">Function Description</a></li>
|
||||
<li><a href="#orgbda1bf4">Optional Parameters</a></li>
|
||||
<li><a href="#org2131c58">Initialize the Simulation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgeb73896">7.2. prepareTomographyExperiment</a>
|
||||
<ul>
|
||||
<li><a href="#org34e8f09">Function Description</a></li>
|
||||
<li><a href="#org82d8c08">Optional Parameters</a></li>
|
||||
<li><a href="#org2ece687">Initialize the Simulation</a></li>
|
||||
<li><a href="#org889b896">Function Description</a></li>
|
||||
<li><a href="#orgf77fd6f">Optional Parameters</a></li>
|
||||
<li><a href="#org45b5800">Initialize the Simulation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -447,8 +213,8 @@ After that, a tomography experiment is simulation without any active damping tec
|
||||
<h3 id="orgb9bb91c"><span class="section-number-3">1.1</span> Identification of the dynamics for Active Damping</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
</div>
|
||||
<div id="outline-container-org9be7a0a" class="outline-4">
|
||||
<h4 id="org9be7a0a"><span class="section-number-4">1.1.1</span> Identification</h4>
|
||||
<div id="outline-container-org0e0278d" class="outline-4">
|
||||
<h4 id="org0e0278d"><span class="section-number-4">1.1.1</span> Identification</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<p>
|
||||
We initialize all the stages with the default parameters.
|
||||
@ -541,8 +307,8 @@ And we save them for further analysis.
|
||||
<h3 id="org21a2e91"><span class="section-number-3">1.2</span> Identification of the dynamics for High Authority Control</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
</div>
|
||||
<div id="outline-container-orgae8b5f6" class="outline-4">
|
||||
<h4 id="orgae8b5f6"><span class="section-number-4">1.2.1</span> Identification</h4>
|
||||
<div id="outline-container-org25cfa54" class="outline-4">
|
||||
<h4 id="org25cfa54"><span class="section-number-4">1.2.1</span> Identification</h4>
|
||||
<div class="outline-text-4" id="text-1-2-1">
|
||||
<p>
|
||||
We initialize all the stages with the default parameters.
|
||||
@ -611,8 +377,8 @@ And we save them for further analysis.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd249fa7" class="outline-3">
|
||||
<h3 id="orgd249fa7"><span class="section-number-3">1.3</span> Tomography Experiment</h3>
|
||||
<div id="outline-container-org2540d06" class="outline-3">
|
||||
<h3 id="org2540d06"><span class="section-number-3">1.3</span> Tomography Experiment</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
</div>
|
||||
<div id="outline-container-orgd5305ce" class="outline-4">
|
||||
@ -1000,8 +766,8 @@ We identify the dynamics at different positions (times) when scanning with the T
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga3a88c5" class="outline-3">
|
||||
<h3 id="orga3a88c5"><span class="section-number-3">2.6</span> Conclusion</h3>
|
||||
<div id="outline-container-org6e25821" class="outline-3">
|
||||
<h3 id="org6e25821"><span class="section-number-3">2.6</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<table id="orgbd1a9f9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 1:</span> Conclusion on the variability of the system dynamics for active damping</caption>
|
||||
@ -1092,12 +858,12 @@ The control architecture is represented in figure <a href="#org3a1dbf1">29</a> w
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7469e89" class="outline-3">
|
||||
<h3 id="org7469e89"><span class="section-number-3">3.1</span> Control Design</h3>
|
||||
<div id="outline-container-orga4d47de" class="outline-3">
|
||||
<h3 id="orga4d47de"><span class="section-number-3">3.1</span> Control Design</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
</div>
|
||||
<div id="outline-container-org50113d6" class="outline-4">
|
||||
<h4 id="org50113d6"><span class="section-number-4">3.1.1</span> Plant</h4>
|
||||
<div id="outline-container-org506864d" class="outline-4">
|
||||
<h4 id="org506864d"><span class="section-number-4">3.1.1</span> Plant</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<p>
|
||||
Let’s load the previously identified undamped plant:
|
||||
@ -1121,8 +887,8 @@ Let’s look at the transfer function from actuator forces in the nano-hexap
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0279170" class="outline-4">
|
||||
<h4 id="org0279170"><span class="section-number-4">3.1.2</span> Control Design</h4>
|
||||
<div id="outline-container-orgd147055" class="outline-4">
|
||||
<h4 id="orgd147055"><span class="section-number-4">3.1.2</span> Control Design</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<p>
|
||||
The controller for each pair of actuator/sensor is:
|
||||
@ -1146,8 +912,8 @@ The corresponding loop gains are shown in figure <a href="#org1f5c623">31</a>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge6bfce6" class="outline-4">
|
||||
<h4 id="orge6bfce6"><span class="section-number-4">3.1.3</span> Diagonal Controller</h4>
|
||||
<div id="outline-container-orgeed5a23" class="outline-4">
|
||||
<h4 id="orgeed5a23"><span class="section-number-4">3.1.3</span> Diagonal Controller</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<p>
|
||||
We create the diagonal controller and we add a minus sign as we have a positive
|
||||
@ -1169,8 +935,8 @@ We save the controller for further analysis.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org93e3515" class="outline-3">
|
||||
<h3 id="org93e3515"><span class="section-number-3">3.2</span> Tomography Experiment</h3>
|
||||
<div id="outline-container-orge4bf8c1" class="outline-3">
|
||||
<h3 id="orge4bf8c1"><span class="section-number-3">3.2</span> Tomography Experiment</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
</div>
|
||||
<div id="outline-container-org132e692" class="outline-4">
|
||||
@ -1222,8 +988,8 @@ save(<span class="org-string">'./mat/active_damping_tomo_exp.mat'</span>, <span
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge17626d" class="outline-4">
|
||||
<h4 id="orge17626d"><span class="section-number-4">3.2.2</span> Compare with Undamped system</h4>
|
||||
<div id="outline-container-org9c3f302" class="outline-4">
|
||||
<h4 id="org9c3f302"><span class="section-number-4">3.2.2</span> Compare with Undamped system</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
|
||||
<div id="org7547861" class="figure">
|
||||
@ -1249,8 +1015,8 @@ save(<span class="org-string">'./mat/active_damping_tomo_exp.mat'</span>, <span
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6bfc3c8" class="outline-3">
|
||||
<h3 id="org6bfc3c8"><span class="section-number-3">3.3</span> Conclusion</h3>
|
||||
<div id="outline-container-orgd53cc4e" class="outline-3">
|
||||
<h3 id="orgd53cc4e"><span class="section-number-3">3.3</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<div class="important">
|
||||
<p>
|
||||
@ -1285,12 +1051,12 @@ The actuator displacement can be measured with a capacitive sensor for instance.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6ab2a22" class="outline-3">
|
||||
<h3 id="org6ab2a22"><span class="section-number-3">4.1</span> Control Design</h3>
|
||||
<div id="outline-container-org22d12df" class="outline-3">
|
||||
<h3 id="org22d12df"><span class="section-number-3">4.1</span> Control Design</h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
</div>
|
||||
<div id="outline-container-orged52a69" class="outline-4">
|
||||
<h4 id="orged52a69"><span class="section-number-4">4.1.1</span> Plant</h4>
|
||||
<div id="outline-container-org0b48ca9" class="outline-4">
|
||||
<h4 id="org0b48ca9"><span class="section-number-4">4.1.1</span> Plant</h4>
|
||||
<div class="outline-text-4" id="text-4-1-1">
|
||||
<p>
|
||||
Let’s load the undamped plant:
|
||||
@ -1314,8 +1080,8 @@ Let’s look at the transfer function from actuator forces in the nano-hexap
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org44b5b14" class="outline-4">
|
||||
<h4 id="org44b5b14"><span class="section-number-4">4.1.2</span> Control Design</h4>
|
||||
<div id="outline-container-org59030a3" class="outline-4">
|
||||
<h4 id="org59030a3"><span class="section-number-4">4.1.2</span> Control Design</h4>
|
||||
<div class="outline-text-4" id="text-4-1-2">
|
||||
<p>
|
||||
The Direct Velocity Feedback is defined below.
|
||||
@ -1339,8 +1105,8 @@ The obtained loop gains are shown in figure <a href="#org3568457">36</a>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfb28f7d" class="outline-4">
|
||||
<h4 id="orgfb28f7d"><span class="section-number-4">4.1.3</span> Diagonal Controller</h4>
|
||||
<div id="outline-container-org59cf352" class="outline-4">
|
||||
<h4 id="org59cf352"><span class="section-number-4">4.1.3</span> Diagonal Controller</h4>
|
||||
<div class="outline-text-4" id="text-4-1-3">
|
||||
<p>
|
||||
We create the diagonal controller and we add a minus sign as we have a positive feedback architecture.
|
||||
@ -1361,12 +1127,12 @@ We save the controller for further analysis.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdc93329" class="outline-3">
|
||||
<h3 id="orgdc93329"><span class="section-number-3">4.2</span> Tomography Experiment</h3>
|
||||
<div id="outline-container-org76bbcf0" class="outline-3">
|
||||
<h3 id="org76bbcf0"><span class="section-number-3">4.2</span> Tomography Experiment</h3>
|
||||
<div class="outline-text-3" id="text-4-2">
|
||||
</div>
|
||||
<div id="outline-container-orgaf91898" class="outline-4">
|
||||
<h4 id="orgaf91898"><span class="section-number-4">4.2.1</span> Initialize the Simulation</h4>
|
||||
<div id="outline-container-orge2c011b" class="outline-4">
|
||||
<h4 id="orge2c011b"><span class="section-number-4">4.2.1</span> Initialize the Simulation</h4>
|
||||
<div class="outline-text-4" id="text-4-2-1">
|
||||
<p>
|
||||
We initialize elements for the tomography experiment.
|
||||
@ -1414,8 +1180,8 @@ save(<span class="org-string">'./mat/active_damping_tomo_exp.mat'</span>, <span
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge68c2e6" class="outline-4">
|
||||
<h4 id="orge68c2e6"><span class="section-number-4">4.2.2</span> Compare with Undamped system</h4>
|
||||
<div id="outline-container-org8cb0050" class="outline-4">
|
||||
<h4 id="org8cb0050"><span class="section-number-4">4.2.2</span> Compare with Undamped system</h4>
|
||||
<div class="outline-text-4" id="text-4-2-2">
|
||||
|
||||
<div id="orgfe01054" class="figure">
|
||||
@ -1441,8 +1207,8 @@ save(<span class="org-string">'./mat/active_damping_tomo_exp.mat'</span>, <span
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdd6b994" class="outline-3">
|
||||
<h3 id="orgdd6b994"><span class="section-number-3">4.3</span> Conclusion</h3>
|
||||
<div id="outline-container-org5f85708" class="outline-3">
|
||||
<h3 id="org5f85708"><span class="section-number-3">4.3</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-4-3">
|
||||
<div class="important">
|
||||
<p>
|
||||
@ -1474,12 +1240,12 @@ In Inertial Control, a feedback is applied between the measured <b>absolute</b>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org78934a1" class="outline-3">
|
||||
<h3 id="org78934a1"><span class="section-number-3">5.1</span> Control Design</h3>
|
||||
<div id="outline-container-org9f4c2b3" class="outline-3">
|
||||
<h3 id="org9f4c2b3"><span class="section-number-3">5.1</span> Control Design</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
</div>
|
||||
<div id="outline-container-orga97b3aa" class="outline-4">
|
||||
<h4 id="orga97b3aa"><span class="section-number-4">5.1.1</span> Plant</h4>
|
||||
<div id="outline-container-org9ec605a" class="outline-4">
|
||||
<h4 id="org9ec605a"><span class="section-number-4">5.1.1</span> Plant</h4>
|
||||
<div class="outline-text-4" id="text-5-1-1">
|
||||
<p>
|
||||
Let’s load the undamped plant:
|
||||
@ -1503,8 +1269,8 @@ Let’s look at the transfer function from actuator forces in the nano-hexap
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org92b0a5f" class="outline-4">
|
||||
<h4 id="org92b0a5f"><span class="section-number-4">5.1.2</span> Control Design</h4>
|
||||
<div id="outline-container-org94a1419" class="outline-4">
|
||||
<h4 id="org94a1419"><span class="section-number-4">5.1.2</span> Control Design</h4>
|
||||
<div class="outline-text-4" id="text-5-1-2">
|
||||
<p>
|
||||
The controller is defined below and the obtained loop gain is shown in figure <a href="#orga2f6fdb">41</a>.
|
||||
@ -1524,8 +1290,8 @@ The controller is defined below and the obtained loop gain is shown in figure <a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9e08e48" class="outline-4">
|
||||
<h4 id="org9e08e48"><span class="section-number-4">5.1.3</span> Diagonal Controller</h4>
|
||||
<div id="outline-container-orgc596f9b" class="outline-4">
|
||||
<h4 id="orgc596f9b"><span class="section-number-4">5.1.3</span> Diagonal Controller</h4>
|
||||
<div class="outline-text-4" id="text-5-1-3">
|
||||
<p>
|
||||
We create the diagonal controller and we add a minus sign as we have a positive feedback architecture.
|
||||
@ -1546,8 +1312,8 @@ We save the controller for further analysis.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org054aff8" class="outline-3">
|
||||
<h3 id="org054aff8"><span class="section-number-3">5.2</span> Conclusion</h3>
|
||||
<div id="outline-container-orgdc8e915" class="outline-3">
|
||||
<h3 id="orgdc8e915"><span class="section-number-3">5.2</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-5-2">
|
||||
<div class="important">
|
||||
<p>
|
||||
@ -1723,9 +1489,9 @@ This Matlab function is accessible <a href="src/prepareLinearizeIdentification.m
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6a968ef" class="outline-4">
|
||||
<h4 id="org6a968ef">Function Description</h4>
|
||||
<div class="outline-text-4" id="text-org6a968ef">
|
||||
<div id="outline-container-orga028903" class="outline-4">
|
||||
<h4 id="orga028903">Function Description</h4>
|
||||
<div class="outline-text-4" id="text-orga028903">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[]</span> = <span class="org-function-name">prepareLinearizeIdentification</span>(<span class="org-variable-name">args</span>)
|
||||
</pre>
|
||||
@ -1733,9 +1499,9 @@ This Matlab function is accessible <a href="src/prepareLinearizeIdentification.m
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc14eed3" class="outline-4">
|
||||
<h4 id="orgc14eed3">Optional Parameters</h4>
|
||||
<div class="outline-text-4" id="text-orgc14eed3">
|
||||
<div id="outline-container-orgbda1bf4" class="outline-4">
|
||||
<h4 id="orgbda1bf4">Optional Parameters</h4>
|
||||
<div class="outline-text-4" id="text-orgbda1bf4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
args.nass_actuator char {mustBeMember(args.nass_actuator,{<span class="org-string">'piezo'</span>, <span class="org-string">'lorentz'</span>})} = <span class="org-string">'piezo'</span>
|
||||
@ -1746,9 +1512,9 @@ This Matlab function is accessible <a href="src/prepareLinearizeIdentification.m
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc7a07c5" class="outline-4">
|
||||
<h4 id="orgc7a07c5">Initialize the Simulation</h4>
|
||||
<div class="outline-text-4" id="text-orgc7a07c5">
|
||||
<div id="outline-container-org2131c58" class="outline-4">
|
||||
<h4 id="org2131c58">Initialize the Simulation</h4>
|
||||
<div class="outline-text-4" id="text-org2131c58">
|
||||
<p>
|
||||
We initialize all the stages with the default parameters.
|
||||
</p>
|
||||
@ -1821,9 +1587,9 @@ This Matlab function is accessible <a href="src/prepareTomographyExperiment.m">h
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org34e8f09" class="outline-4">
|
||||
<h4 id="org34e8f09">Function Description</h4>
|
||||
<div class="outline-text-4" id="text-org34e8f09">
|
||||
<div id="outline-container-org889b896" class="outline-4">
|
||||
<h4 id="org889b896">Function Description</h4>
|
||||
<div class="outline-text-4" id="text-org889b896">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[]</span> = <span class="org-function-name">prepareTomographyExperiment</span>(<span class="org-variable-name">args</span>)
|
||||
</pre>
|
||||
@ -1831,9 +1597,9 @@ This Matlab function is accessible <a href="src/prepareTomographyExperiment.m">h
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org82d8c08" class="outline-4">
|
||||
<h4 id="org82d8c08">Optional Parameters</h4>
|
||||
<div class="outline-text-4" id="text-org82d8c08">
|
||||
<div id="outline-container-orgf77fd6f" class="outline-4">
|
||||
<h4 id="orgf77fd6f">Optional Parameters</h4>
|
||||
<div class="outline-text-4" id="text-orgf77fd6f">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
args.nass_actuator char {mustBeMember(args.nass_actuator,{<span class="org-string">'piezo'</span>, <span class="org-string">'lorentz'</span>})} = <span class="org-string">'piezo'</span>
|
||||
@ -1845,9 +1611,9 @@ This Matlab function is accessible <a href="src/prepareTomographyExperiment.m">h
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2ece687" class="outline-4">
|
||||
<h4 id="org2ece687">Initialize the Simulation</h4>
|
||||
<div class="outline-text-4" id="text-org2ece687">
|
||||
<div id="outline-container-org45b5800" class="outline-4">
|
||||
<h4 id="org45b5800">Initialize the Simulation</h4>
|
||||
<div class="outline-text-4" id="text-org45b5800">
|
||||
<p>
|
||||
We initialize all the stages with the default parameters.
|
||||
</p>
|
||||
@ -1915,7 +1681,7 @@ We log the signals.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-03-26 jeu. 17:25</p>
|
||||
<p class="date">Created: 2020-04-17 ven. 09:36</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,237 +4,25 @@
|
||||
"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:16 -->
|
||||
<!-- 2020-04-17 ven. 09:35 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Cascade Control applied on the Simscape Model</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
// @license-end
|
||||
</script>
|
||||
<script>
|
||||
MathJax = {
|
||||
tex: { macros: {
|
||||
bm: ["\\boldsymbol{#1}",1],
|
||||
}
|
||||
<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>
|
||||
<script>MathJax = {
|
||||
tex: {
|
||||
tags: 'ams',
|
||||
macros: {bm: ["\\boldsymbol{#1}",1],}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
@ -259,14 +47,14 @@
|
||||
<li><a href="#org101bfbc">3. High Authority Control in the joint space - \(\bm{K}_\mathcal{L}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org259240d">3.1. Identification of the damped plant</a></li>
|
||||
<li><a href="#orgb574395">3.2. Obtained Plant</a></li>
|
||||
<li><a href="#orgfc86b4c">3.2. Obtained Plant</a></li>
|
||||
<li><a href="#orgdea5e17">3.3. Controller Design and Loop Gain</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org58f9f32">4. Primary Controller in the task space - \(\bm{K}_\mathcal{X}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org82ca884">4.1. Identification of the linearized plant</a></li>
|
||||
<li><a href="#org3b0d2c2">4.2. Obtained Plant</a></li>
|
||||
<li><a href="#org6f5b22e">4.2. Obtained Plant</a></li>
|
||||
<li><a href="#org839cdb3">4.3. Controller Design</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
@ -495,8 +283,8 @@ isstable(Gl)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb574395" class="outline-3">
|
||||
<h3 id="orgb574395"><span class="section-number-3">3.2</span> Obtained Plant</h3>
|
||||
<div id="outline-container-orgfc86b4c" class="outline-3">
|
||||
<h3 id="orgfc86b4c"><span class="section-number-3">3.2</span> Obtained Plant</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
The obtain plant is shown in Figure <a href="#org455eb07">5</a>.
|
||||
@ -593,8 +381,8 @@ isstable(Gx)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3b0d2c2" class="outline-3">
|
||||
<h3 id="org3b0d2c2"><span class="section-number-3">4.2</span> Obtained Plant</h3>
|
||||
<div id="outline-container-org6f5b22e" class="outline-3">
|
||||
<h3 id="org6f5b22e"><span class="section-number-3">4.2</span> Obtained Plant</h3>
|
||||
<div class="outline-text-3" id="text-4-2">
|
||||
|
||||
<div id="orge364e46" class="figure">
|
||||
@ -704,7 +492,7 @@ Ts = t(2)<span class="org-type">-</span>t(1);
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-04-01 mer. 16:16</p>
|
||||
<p class="date">Created: 2020-04-17 ven. 09:35</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,259 +4,25 @@
|
||||
"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-26 jeu. 17:25 -->
|
||||
<!-- 2020-04-17 ven. 09:35 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Control in the Frame of the Legs applied on the Simscape Model</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this tag.
|
||||
|
||||
Copyright (C) 2012-2020 Free Software Foundation, Inc.
|
||||
|
||||
The JavaScript code in this tag is free software: you can
|
||||
redistribute it and/or modify it under the terms of the GNU
|
||||
General Public License (GNU GPL) as published by the Free Software
|
||||
Foundation, either version 3 of the License, or (at your option)
|
||||
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
|
||||
As additional permission under GNU GPL version 3 section 7, you
|
||||
may distribute non-source (e.g., minimized or compacted) forms of
|
||||
that code without the copy of the GNU GPL normally required by
|
||||
section 4, provided you include this license notice and a URL
|
||||
through which recipients can access the Corresponding Source.
|
||||
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this tag.
|
||||
*/
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
</script>
|
||||
<script>
|
||||
MathJax = {
|
||||
tex: { macros: {
|
||||
bm: ["\\boldsymbol{#1}",1],
|
||||
}
|
||||
<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>
|
||||
<script>MathJax = {
|
||||
tex: {
|
||||
tags: 'ams',
|
||||
macros: {bm: ["\\boldsymbol{#1}",1],}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
@ -271,26 +37,26 @@ for the JavaScript code in this tag.
|
||||
<ul>
|
||||
<li><a href="#org1f22cdb">1. Decentralized Control</a>
|
||||
<ul>
|
||||
<li><a href="#orgcd58f5e">1.1. Control Schematic</a></li>
|
||||
<li><a href="#org4318f13">1.2. Initialize the Simscape Model</a></li>
|
||||
<li><a href="#org01937c0">1.1. Control Schematic</a></li>
|
||||
<li><a href="#orgc9e3b66">1.2. Initialize the Simscape Model</a></li>
|
||||
<li><a href="#org42afc36">1.3. Identification of the plant</a></li>
|
||||
<li><a href="#org871560e">1.4. Plant Analysis</a></li>
|
||||
<li><a href="#orgdf3c9aa">1.5. Controller Design</a></li>
|
||||
<li><a href="#org753f2c4">1.6. Simulation</a></li>
|
||||
<li><a href="#orgd8c14ee">1.7. Results</a></li>
|
||||
<li><a href="#org296e3de">1.5. Controller Design</a></li>
|
||||
<li><a href="#orgb7afa1e">1.6. Simulation</a></li>
|
||||
<li><a href="#orgbb1dc16">1.7. Results</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfa4be92">2. HAC-LAC (IFF) Decentralized Control</a>
|
||||
<ul>
|
||||
<li><a href="#org744f1a3">2.1. Control Schematic</a></li>
|
||||
<li><a href="#org0e6472e">2.2. Initialize the Simscape Model</a></li>
|
||||
<li><a href="#orgbc4af09">2.1. Control Schematic</a></li>
|
||||
<li><a href="#org5ac6c37">2.2. Initialize the Simscape Model</a></li>
|
||||
<li><a href="#org0903106">2.3. Initialization</a></li>
|
||||
<li><a href="#orge739f61">2.4. Identification for IFF</a></li>
|
||||
<li><a href="#org08b6a99">2.5. Integral Force Feedback Controller</a></li>
|
||||
<li><a href="#org06b5c75">2.6. Identification of the damped plant</a></li>
|
||||
<li><a href="#orgf258d8b">2.7. Controller Design</a></li>
|
||||
<li><a href="#org5f74b9e">2.8. Simulation</a></li>
|
||||
<li><a href="#org42ecd75">2.9. Results</a></li>
|
||||
<li><a href="#org85a0730">2.7. Controller Design</a></li>
|
||||
<li><a href="#org58ffd80">2.8. Simulation</a></li>
|
||||
<li><a href="#orga01ccc6">2.9. Results</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org21a9294">3. Conclusion</a></li>
|
||||
@ -306,11 +72,11 @@ In this document, we apply some decentralized control to the NASS and see what l
|
||||
<h2 id="org1f22cdb"><span class="section-number-2">1</span> Decentralized Control</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgcd58f5e" class="outline-3">
|
||||
<h3 id="orgcd58f5e"><span class="section-number-3">1.1</span> Control Schematic</h3>
|
||||
<div id="outline-container-org01937c0" class="outline-3">
|
||||
<h3 id="org01937c0"><span class="section-number-3">1.1</span> Control Schematic</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
The control architecture is shown in Figure <a href="#org5b991df">1</a>.
|
||||
The control architecture is shown in Figure <a href="#org5b9133f">1</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -326,7 +92,7 @@ The signals are:
|
||||
</ul>
|
||||
|
||||
|
||||
<div id="org5b991df" class="figure">
|
||||
<div id="org5b9133f" class="figure">
|
||||
<p><img src="figs/decentralized_reference_tracking_L.png" alt="decentralized_reference_tracking_L.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 1: </span>Decentralized control for reference tracking</p>
|
||||
@ -334,8 +100,8 @@ The signals are:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4318f13" class="outline-3">
|
||||
<h3 id="org4318f13"><span class="section-number-3">1.2</span> Initialize the Simscape Model</h3>
|
||||
<div id="outline-container-orgc9e3b66" class="outline-3">
|
||||
<h3 id="orgc9e3b66"><span class="section-number-3">1.2</span> Initialize the Simscape Model</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
We initialize all the stages with the default parameters.
|
||||
@ -449,8 +215,8 @@ We can see that:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdf3c9aa" class="outline-3">
|
||||
<h3 id="orgdf3c9aa"><span class="section-number-3">1.5</span> Controller Design</h3>
|
||||
<div id="outline-container-org296e3de" class="outline-3">
|
||||
<h3 id="org296e3de"><span class="section-number-3">1.5</span> Controller Design</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
The controller consists of:
|
||||
@ -496,8 +262,8 @@ We add a minus sign to the controller as it is not included in the Simscape mode
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org753f2c4" class="outline-3">
|
||||
<h3 id="org753f2c4"><span class="section-number-3">1.6</span> Simulation</h3>
|
||||
<div id="outline-container-orgb7afa1e" class="outline-3">
|
||||
<h3 id="orgb7afa1e"><span class="section-number-3">1.6</span> Simulation</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">initializeController(<span class="org-string">'type'</span>, <span class="org-string">'ref-track-L'</span>);
|
||||
@ -523,8 +289,8 @@ save(<span class="org-string">'./mat/tomo_exp_decentalized.mat'</span>, <span cl
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd8c14ee" class="outline-3">
|
||||
<h3 id="orgd8c14ee"><span class="section-number-3">1.7</span> Results</h3>
|
||||
<div id="outline-container-orgbb1dc16" class="outline-3">
|
||||
<h3 id="orgbb1dc16"><span class="section-number-3">1.7</span> Results</h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
<p>
|
||||
The reference path and the position of the mobile platform are shown in Figure <a href="#org247b3a0">4</a>.
|
||||
@ -554,11 +320,11 @@ We here add an Active Damping Loop (Integral Force Feedback) prior to using the
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org744f1a3" class="outline-3">
|
||||
<h3 id="org744f1a3"><span class="section-number-3">2.1</span> Control Schematic</h3>
|
||||
<div id="outline-container-orgbc4af09" class="outline-3">
|
||||
<h3 id="orgbc4af09"><span class="section-number-3">2.1</span> Control Schematic</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
The control architecture is shown in Figure <a href="#org5b991df">1</a>.
|
||||
The control architecture is shown in Figure <a href="#org5b9133f">1</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -574,7 +340,7 @@ The signals are:
|
||||
</ul>
|
||||
|
||||
|
||||
<div id="orgda1b906" class="figure">
|
||||
<div id="org657383b" class="figure">
|
||||
<p><img src="figs/decentralized_reference_tracking_L.png" alt="decentralized_reference_tracking_L.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 5: </span>Decentralized control for reference tracking</p>
|
||||
@ -582,8 +348,8 @@ The signals are:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0e6472e" class="outline-3">
|
||||
<h3 id="org0e6472e"><span class="section-number-3">2.2</span> Initialize the Simscape Model</h3>
|
||||
<div id="outline-container-org5ac6c37" class="outline-3">
|
||||
<h3 id="org5ac6c37"><span class="section-number-3">2.2</span> Initialize the Simscape Model</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
We initialize all the stages with the default parameters.
|
||||
@ -719,8 +485,8 @@ Gd.OutputName = {<span class="org-string">'El1'</span>, <span class="org-string"
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf258d8b" class="outline-3">
|
||||
<h3 id="orgf258d8b"><span class="section-number-3">2.7</span> Controller Design</h3>
|
||||
<div id="outline-container-org85a0730" class="outline-3">
|
||||
<h3 id="org85a0730"><span class="section-number-3">2.7</span> Controller Design</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">wc = 2<span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>300;
|
||||
@ -748,8 +514,8 @@ Kl = diag(1<span class="org-type">./</span>diag(abs(freqresp(Gd, wc)))) <span cl
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org5f74b9e" class="outline-3">
|
||||
<h3 id="org5f74b9e"><span class="section-number-3">2.8</span> Simulation</h3>
|
||||
<div id="outline-container-org58ffd80" class="outline-3">
|
||||
<h3 id="org58ffd80"><span class="section-number-3">2.8</span> Simulation</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">initializeController(<span class="org-string">'type'</span>, <span class="org-string">'ref-track-iff-L'</span>);
|
||||
@ -775,8 +541,8 @@ save(<span class="org-string">'./mat/tomo_exp_decentalized.mat'</span>, <span cl
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org42ecd75" class="outline-3">
|
||||
<h3 id="org42ecd75"><span class="section-number-3">2.9</span> Results</h3>
|
||||
<div id="outline-container-orga01ccc6" class="outline-3">
|
||||
<h3 id="orga01ccc6"><span class="section-number-3">2.9</span> Results</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org21a9294" class="outline-2">
|
||||
@ -785,7 +551,7 @@ save(<span class="org-string">'./mat/tomo_exp_decentalized.mat'</span>, <span cl
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-03-26 jeu. 17:25</p>
|
||||
<p class="date">Created: 2020-04-17 ven. 09:35</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,263 +1,28 @@
|
||||
<?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-03-26 jeu. 17:25 -->
|
||||
<!-- 2020-04-17 ven. 09:35 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Force Control applied on the Simscape Model</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this tag.
|
||||
|
||||
Copyright (C) 2012-2020 Free Software Foundation, Inc.
|
||||
|
||||
The JavaScript code in this tag is free software: you can
|
||||
redistribute it and/or modify it under the terms of the GNU
|
||||
General Public License (GNU GPL) as published by the Free Software
|
||||
Foundation, either version 3 of the License, or (at your option)
|
||||
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
|
||||
As additional permission under GNU GPL version 3 section 7, you
|
||||
may distribute non-source (e.g., minimized or compacted) forms of
|
||||
that code without the copy of the GNU GPL normally required by
|
||||
section 4, provided you include this license notice and a URL
|
||||
through which recipients can access the Corresponding Source.
|
||||
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this tag.
|
||||
*/
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
</script>
|
||||
<script>
|
||||
MathJax = {
|
||||
tex: { macros: {
|
||||
bm: ["\\boldsymbol{#1}",1],
|
||||
}
|
||||
<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>
|
||||
<script>MathJax = {
|
||||
tex: {
|
||||
tags: 'ams',
|
||||
macros: {bm: ["\\boldsymbol{#1}",1],}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
@ -266,7 +31,6 @@ for the JavaScript code in this tag.
|
||||
<a accesskey="H" href="./index.html"> HOME </a>
|
||||
</div><div id="content">
|
||||
<h1 class="title">Force Control applied on the Simscape Model</h1>
|
||||
|
||||
<p>
|
||||
Cascade Control where the inner loop goal is to control the total wrench (forces and torques) applied to the upper part of the nano-hexapod.
|
||||
</p>
|
||||
@ -296,7 +60,7 @@ Ideas:
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-03-26 jeu. 17:25</p>
|
||||
<p class="date">Created: 2020-04-17 ven. 09:35</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,259 +4,25 @@
|
||||
"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-25 mer. 19:23 -->
|
||||
<!-- 2020-04-17 ven. 09:35 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>HAC-LAC applied on the Simscape Model</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this tag.
|
||||
|
||||
Copyright (C) 2012-2020 Free Software Foundation, Inc.
|
||||
|
||||
The JavaScript code in this tag is free software: you can
|
||||
redistribute it and/or modify it under the terms of the GNU
|
||||
General Public License (GNU GPL) as published by the Free Software
|
||||
Foundation, either version 3 of the License, or (at your option)
|
||||
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
|
||||
As additional permission under GNU GPL version 3 section 7, you
|
||||
may distribute non-source (e.g., minimized or compacted) forms of
|
||||
that code without the copy of the GNU GPL normally required by
|
||||
section 4, provided you include this license notice and a URL
|
||||
through which recipients can access the Corresponding Source.
|
||||
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this tag.
|
||||
*/
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
</script>
|
||||
<script>
|
||||
MathJax = {
|
||||
tex: { macros: {
|
||||
bm: ["\\boldsymbol{#1}",1],
|
||||
}
|
||||
<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>
|
||||
<script>MathJax = {
|
||||
tex: {
|
||||
tags: 'ams',
|
||||
macros: {bm: ["\\boldsymbol{#1}",1],}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
@ -584,7 +350,7 @@ load(<span class="org-string">'./mat/tomo_exp_hac_lac.mat'</span>, <span class="
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-03-25 mer. 19:23</p>
|
||||
<p class="date">Created: 2020-04-17 ven. 09:35</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,259 +4,25 @@
|
||||
"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-26 jeu. 17:25 -->
|
||||
<!-- 2020-04-17 ven. 09:36 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Control Requirements</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this tag.
|
||||
|
||||
Copyright (C) 2012-2020 Free Software Foundation, Inc.
|
||||
|
||||
The JavaScript code in this tag is free software: you can
|
||||
redistribute it and/or modify it under the terms of the GNU
|
||||
General Public License (GNU GPL) as published by the Free Software
|
||||
Foundation, either version 3 of the License, or (at your option)
|
||||
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
|
||||
As additional permission under GNU GPL version 3 section 7, you
|
||||
may distribute non-source (e.g., minimized or compacted) forms of
|
||||
that code without the copy of the GNU GPL normally required by
|
||||
section 4, provided you include this license notice and a URL
|
||||
through which recipients can access the Corresponding Source.
|
||||
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this tag.
|
||||
*/
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
</script>
|
||||
<script>
|
||||
MathJax = {
|
||||
tex: { macros: {
|
||||
bm: ["\\boldsymbol{#1}",1],
|
||||
}
|
||||
<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>
|
||||
<script>MathJax = {
|
||||
tex: {
|
||||
tags: 'ams',
|
||||
macros: {bm: ["\\boldsymbol{#1}",1],}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
@ -281,13 +47,13 @@ for the JavaScript code in this tag.
|
||||
<li><a href="#org19b83b7">2.1. Definition of the values</a></li>
|
||||
<li><a href="#org0e9811a">2.2. Control using \(d\)</a>
|
||||
<ul>
|
||||
<li><a href="#org9828aed">2.2.1. Control Architecture</a></li>
|
||||
<li><a href="#org47fb453">2.2.1. Control Architecture</a></li>
|
||||
<li><a href="#org5a120e1">2.2.2. Analytical Analysis</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga741e48">2.3. Control using \(F_m\)</a>
|
||||
<ul>
|
||||
<li><a href="#org4c74e08">2.3.1. Control Architecture</a></li>
|
||||
<li><a href="#org691c845">2.3.1. Control Architecture</a></li>
|
||||
<li><a href="#orgdd5134e">2.3.2. Pure Integrator</a></li>
|
||||
<li><a href="#org5011ab0">2.3.3. Low pass filter</a></li>
|
||||
</ul>
|
||||
@ -297,7 +63,7 @@ for the JavaScript code in this tag.
|
||||
<ul>
|
||||
<li><a href="#orgfab8395">2.5.1. Analytical analysis</a></li>
|
||||
<li><a href="#org625e3c2">2.5.2. Control implementation</a></li>
|
||||
<li><a href="#org3db77f5">2.5.3. Results</a></li>
|
||||
<li><a href="#org38d941f">2.5.3. Results</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -312,7 +78,7 @@ for the JavaScript code in this tag.
|
||||
<li><a href="#org50054f2">5.4. Generalized Weighted plant</a></li>
|
||||
<li><a href="#org949ab66">5.5. Synthesis</a></li>
|
||||
<li><a href="#orgfe970e4">5.6. Loop Gain</a></li>
|
||||
<li><a href="#org5211e8c">5.7. Results</a></li>
|
||||
<li><a href="#org387a405">5.7. Results</a></li>
|
||||
<li><a href="#orgb18d7df">5.8. Requirements</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
@ -608,8 +374,8 @@ Gpz = connect(Gn, S, Wsplit, Tw, Tmu, Sw, {<span class="org-string">'Fd'</span>,
|
||||
<h3 id="org0e9811a"><span class="section-number-3">2.2</span> Control using \(d\)</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
</div>
|
||||
<div id="outline-container-org9828aed" class="outline-4">
|
||||
<h4 id="org9828aed"><span class="section-number-4">2.2.1</span> Control Architecture</h4>
|
||||
<div id="outline-container-org47fb453" class="outline-4">
|
||||
<h4 id="org47fb453"><span class="section-number-4">2.2.1</span> Control Architecture</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<p>
|
||||
Let’s consider a feedback loop using \(d\) as shown in Figure <a href="#orgb50386a">4</a>.
|
||||
@ -692,8 +458,8 @@ And \(\epsilon = r - x\):
|
||||
<h3 id="orga741e48"><span class="section-number-3">2.3</span> Control using \(F_m\)</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
</div>
|
||||
<div id="outline-container-org4c74e08" class="outline-4">
|
||||
<h4 id="org4c74e08"><span class="section-number-4">2.3.1</span> Control Architecture</h4>
|
||||
<div id="outline-container-org691c845" class="outline-4">
|
||||
<h4 id="org691c845"><span class="section-number-4">2.3.1</span> Control Architecture</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<p>
|
||||
Let’s consider a feedback loop using \(Fm\) as shown in Figure <a href="#org5012ef2">5</a>.
|
||||
@ -1004,8 +770,8 @@ Gpz_fb_iff = connect(Gpz_iff, Kpz_iff, R, Sfb, F, {<span class="org-string">'r'<
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3db77f5" class="outline-4">
|
||||
<h4 id="org3db77f5"><span class="section-number-4">2.5.3</span> Results</h4>
|
||||
<div id="outline-container-org38d941f" class="outline-4">
|
||||
<h4 id="org38d941f"><span class="section-number-4">2.5.3</span> Results</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
|
||||
<div id="org2b4e783" class="figure">
|
||||
@ -1486,8 +1252,8 @@ Gvc_fb_dvf = connect(Gvc_dvf, <span class="org-type">-</span>Kvc_dvf, R, Sfb, F,
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5211e8c" class="outline-3">
|
||||
<h3 id="org5211e8c"><span class="section-number-3">5.7</span> Results</h3>
|
||||
<div id="outline-container-org387a405" class="outline-3">
|
||||
<h3 id="org387a405"><span class="section-number-3">5.7</span> Results</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgb18d7df" class="outline-3">
|
||||
<h3 id="orgb18d7df"><span class="section-number-3">5.8</span> Requirements</h3>
|
||||
@ -1528,7 +1294,7 @@ Gvc_fb_dvf = connect(Gvc_dvf, <span class="org-type">-</span>Kvc_dvf, R, Sfb, F,
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-03-26 jeu. 17:25</p>
|
||||
<p class="date">Created: 2020-04-17 ven. 09:36</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,237 +4,25 @@
|
||||
"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:16 -->
|
||||
<!-- 2020-04-17 ven. 09:35 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Control of the NASS with Voice coil actuators</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
// @license-end
|
||||
</script>
|
||||
<script>
|
||||
MathJax = {
|
||||
tex: { macros: {
|
||||
bm: ["\\boldsymbol{#1}",1],
|
||||
}
|
||||
<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>
|
||||
<script>MathJax = {
|
||||
tex: {
|
||||
tags: 'ams',
|
||||
macros: {bm: ["\\boldsymbol{#1}",1],}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
@ -249,10 +37,10 @@
|
||||
<ul>
|
||||
<li><a href="#orge379987">1. HAC-LAC + Cascade Control Topology</a>
|
||||
<ul>
|
||||
<li><a href="#org6d5d6b2">1.1. Initialization</a></li>
|
||||
<li><a href="#orgf283080">1.1. Initialization</a></li>
|
||||
<li><a href="#orgf95b045">1.2. Low Authority Control - Integral Force Feedback \(\bm{K}_\text{IFF}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orge9b2f08">1.2.1. Identification</a></li>
|
||||
<li><a href="#orgac9efbf">1.2.1. Identification</a></li>
|
||||
<li><a href="#org203d651">1.2.2. Plant</a></li>
|
||||
<li><a href="#orgccc21d2">1.2.3. Root Locus</a></li>
|
||||
<li><a href="#org1a8ee8a">1.2.4. Controller and Loop Gain</a></li>
|
||||
@ -261,49 +49,49 @@
|
||||
<li><a href="#org2a44e66">1.3. High Authority Control in the joint space - \(\bm{K}_\mathcal{L}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org989c2e9">1.3.1. Identification of the damped plant</a></li>
|
||||
<li><a href="#org45829b7">1.3.2. Obtained Plant</a></li>
|
||||
<li><a href="#org8d7c208">1.3.2. Obtained Plant</a></li>
|
||||
<li><a href="#orgd1632cf">1.3.3. Controller Design and Loop Gain</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0cd0c63">1.4. Primary Controller in the task space - \(\bm{K}_\mathcal{X}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orga960106">1.4.1. Identification of the linearized plant</a></li>
|
||||
<li><a href="#org40a9335">1.4.2. Obtained Plant</a></li>
|
||||
<li><a href="#org6b17d02">1.4.2. Obtained Plant</a></li>
|
||||
<li><a href="#org16f56fa">1.4.3. Controller Design</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0b05a3a">1.5. Simulation</a></li>
|
||||
<li><a href="#orga259533">1.5. Simulation</a></li>
|
||||
<li><a href="#org16024e0">1.6. Results</a>
|
||||
<ul>
|
||||
<li><a href="#orge126fd7">1.6.1. Load the simulation results</a></li>
|
||||
<li><a href="#orgf2436dc">1.6.1. Load the simulation results</a></li>
|
||||
<li><a href="#org0f974ff">1.6.2. Control effort</a></li>
|
||||
<li><a href="#org83a367c">1.6.3. Load the simulation results</a></li>
|
||||
<li><a href="#org8e90e5a">1.6.3. Load the simulation results</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org74d9dc7">1.7. Compliance of the nano-hexapod</a>
|
||||
<ul>
|
||||
<li><a href="#orgbdd14c0">1.7.1. Identification</a></li>
|
||||
<li><a href="#orgc6f70c3">1.7.1. Identification</a></li>
|
||||
<li><a href="#org1a1ad20">1.7.2. Obtained Compliance</a></li>
|
||||
<li><a href="#org5b81db9">1.7.3. Comparison with Piezo</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3652c0c">1.8. Robustness to Payload Variability</a>
|
||||
<li><a href="#org36ac22b">1.8. Robustness to Payload Variability</a>
|
||||
<ul>
|
||||
<li><a href="#orgecf0445">1.8.1. Initialization</a></li>
|
||||
<li><a href="#orgcaec167">1.8.1. Initialization</a></li>
|
||||
<li><a href="#org0d97c55">1.8.2. Low Authority Control</a></li>
|
||||
<li><a href="#orgab3ab98">1.8.3. High Authority Control</a></li>
|
||||
<li><a href="#org176695a">1.8.4. Primary Plant</a></li>
|
||||
<li><a href="#org049fbc5">1.8.5. Simulation</a></li>
|
||||
<li><a href="#org9406388">1.8.5. Simulation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd649256">2. Other analysis</a>
|
||||
<ul>
|
||||
<li><a href="#orgcc14bbe">2.1. Robustness to Payload Variability</a></li>
|
||||
<li><a href="#org3c7ca09">2.1. Robustness to Payload Variability</a></li>
|
||||
<li><a href="#org18b00fa">2.2. Direct HAC control in the task space - \(\bm{K}_\mathcal{X}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org14729d2">2.2.1. Identification</a></li>
|
||||
<li><a href="#org5fd28fd">2.2.1. Identification</a></li>
|
||||
<li><a href="#org1387536">2.2.2. Obtained Plant in the Task Space</a></li>
|
||||
<li><a href="#org50b9f75">2.2.3. Obtained Plant in the Joint Space</a></li>
|
||||
<li><a href="#org19db2cd">2.2.4. Controller Design in the Joint Space</a></li>
|
||||
@ -311,7 +99,7 @@
|
||||
</li>
|
||||
<li><a href="#org5e26e70">2.3. On the usefulness of the High Authority Control loop / Linearization loop</a>
|
||||
<ul>
|
||||
<li><a href="#orga867ed3">2.3.1. Identification</a></li>
|
||||
<li><a href="#org63f831b">2.3.1. Identification</a></li>
|
||||
<li><a href="#orgfab8847">2.3.2. Plant in the Task space</a></li>
|
||||
<li><a href="#org18aeea5">2.3.3. Plant in the Leg’s space</a></li>
|
||||
</ul>
|
||||
@ -319,7 +107,7 @@
|
||||
<li><a href="#org015f992">2.4. DVF instead of IFF?</a>
|
||||
<ul>
|
||||
<li><a href="#org17cfb9d">2.4.1. Initialization and Identification</a></li>
|
||||
<li><a href="#org1144ed5">2.4.2. Obtained Plant</a></li>
|
||||
<li><a href="#orgc3f6788">2.4.2. Obtained Plant</a></li>
|
||||
<li><a href="#org51c8027">2.4.3. Controller</a></li>
|
||||
<li><a href="#org33637f1">2.4.4. HAC Identification</a></li>
|
||||
<li><a href="#orgec66083">2.4.5. Conclusion</a></li>
|
||||
@ -342,8 +130,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6d5d6b2" class="outline-3">
|
||||
<h3 id="org6d5d6b2"><span class="section-number-3">1.1</span> Initialization</h3>
|
||||
<div id="outline-container-orgf283080" class="outline-3">
|
||||
<h3 id="orgf283080"><span class="section-number-3">1.1</span> Initialization</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
We initialize all the stages with the default parameters.
|
||||
@ -416,8 +204,8 @@ Kiff = tf(zeros(6));
|
||||
<a id="org224edef"></a>
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-orge9b2f08" class="outline-4">
|
||||
<h4 id="orge9b2f08"><span class="section-number-4">1.2.1</span> Identification</h4>
|
||||
<div id="outline-container-orgac9efbf" class="outline-4">
|
||||
<h4 id="orgac9efbf"><span class="section-number-4">1.2.1</span> Identification</h4>
|
||||
<div class="outline-text-4" id="text-1-2-1">
|
||||
<p>
|
||||
Let’s first identify the plant for the IFF controller.
|
||||
@ -542,8 +330,8 @@ isstable(Gl)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org45829b7" class="outline-4">
|
||||
<h4 id="org45829b7"><span class="section-number-4">1.3.2</span> Obtained Plant</h4>
|
||||
<div id="outline-container-org8d7c208" class="outline-4">
|
||||
<h4 id="org8d7c208"><span class="section-number-4">1.3.2</span> Obtained Plant</h4>
|
||||
<div class="outline-text-4" id="text-1-3-2">
|
||||
<p>
|
||||
The obtained dynamics is shown in Figure <a href="#orgd1818fd">5</a>.
|
||||
@ -640,8 +428,8 @@ Gpl.OutputName = {<span class="org-string">'El1'</span>, <span class="org-strin
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org40a9335" class="outline-4">
|
||||
<h4 id="org40a9335"><span class="section-number-4">1.4.2</span> Obtained Plant</h4>
|
||||
<div id="outline-container-org6b17d02" class="outline-4">
|
||||
<h4 id="org6b17d02"><span class="section-number-4">1.4.2</span> Obtained Plant</h4>
|
||||
<div class="outline-text-4" id="text-1-4-2">
|
||||
|
||||
<div id="org8e042d5" class="figure">
|
||||
@ -697,8 +485,8 @@ And now we include the Jacobian inside the controller.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0b05a3a" class="outline-3">
|
||||
<h3 id="org0b05a3a"><span class="section-number-3">1.5</span> Simulation</h3>
|
||||
<div id="outline-container-orga259533" class="outline-3">
|
||||
<h3 id="orga259533"><span class="section-number-3">1.5</span> Simulation</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
Let’s first save the 3 controllers for further analysis:
|
||||
@ -734,8 +522,8 @@ save(<span class="org-string">'./mat/cascade_hac_lac.mat'</span>, <span class="o
|
||||
<h3 id="org16024e0"><span class="section-number-3">1.6</span> Results</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
</div>
|
||||
<div id="outline-container-orge126fd7" class="outline-4">
|
||||
<h4 id="orge126fd7"><span class="section-number-4">1.6.1</span> Load the simulation results</h4>
|
||||
<div id="outline-container-orgf2436dc" class="outline-4">
|
||||
<h4 id="orgf2436dc"><span class="section-number-4">1.6.1</span> Load the simulation results</h4>
|
||||
<div class="outline-text-4" id="text-1-6-1">
|
||||
<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>);
|
||||
@ -757,8 +545,8 @@ load(<span class="org-string">'./mat/cascade_hac_lac.mat'</span>, <span class="o
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org83a367c" class="outline-4">
|
||||
<h4 id="org83a367c"><span class="section-number-4">1.6.3</span> Load the simulation results</h4>
|
||||
<div id="outline-container-org8e90e5a" class="outline-4">
|
||||
<h4 id="org8e90e5a"><span class="section-number-4">1.6.3</span> Load the simulation results</h4>
|
||||
<div class="outline-text-4" id="text-1-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">n_av = 4;
|
||||
@ -805,8 +593,8 @@ Ts = t(2)<span class="org-type">-</span>t(1);
|
||||
<h3 id="org74d9dc7"><span class="section-number-3">1.7</span> Compliance of the nano-hexapod</h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
</div>
|
||||
<div id="outline-container-orgbdd14c0" class="outline-4">
|
||||
<h4 id="orgbdd14c0"><span class="section-number-4">1.7.1</span> Identification</h4>
|
||||
<div id="outline-container-orgc6f70c3" class="outline-4">
|
||||
<h4 id="orgc6f70c3"><span class="section-number-4">1.7.1</span> Identification</h4>
|
||||
<div class="outline-text-4" id="text-1-7-1">
|
||||
<p>
|
||||
Let’s identify the Compliance of the NASS:
|
||||
@ -942,12 +730,12 @@ Gc_pz.OutputName = {<span class="org-string">'Ex'</span>, <span class="org-strin
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org3652c0c" class="outline-3">
|
||||
<h3 id="org3652c0c"><span class="section-number-3">1.8</span> Robustness to Payload Variability</h3>
|
||||
<div id="outline-container-org36ac22b" class="outline-3">
|
||||
<h3 id="org36ac22b"><span class="section-number-3">1.8</span> Robustness to Payload Variability</h3>
|
||||
<div class="outline-text-3" id="text-1-8">
|
||||
</div>
|
||||
<div id="outline-container-orgecf0445" class="outline-4">
|
||||
<h4 id="orgecf0445"><span class="section-number-4">1.8.1</span> Initialization</h4>
|
||||
<div id="outline-container-orgcaec167" class="outline-4">
|
||||
<h4 id="orgcaec167"><span class="section-number-4">1.8.1</span> Initialization</h4>
|
||||
<div class="outline-text-4" id="text-1-8-1">
|
||||
<p>
|
||||
Let’s change the payload mass, and see if the controller design for a payload mass of 1 still gives good performance.
|
||||
@ -1174,8 +962,8 @@ Kp = Kp<span class="org-type">.*</span>diag(1<span class="org-type">./</span>dia
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org049fbc5" class="outline-4">
|
||||
<h4 id="org049fbc5"><span class="section-number-4">1.8.5</span> Simulation</h4>
|
||||
<div id="outline-container-org9406388" class="outline-4">
|
||||
<h4 id="org9406388"><span class="section-number-4">1.8.5</span> Simulation</h4>
|
||||
<div class="outline-text-4" id="text-1-8-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">load(<span class="org-string">'mat/conf_simulink.mat'</span>);
|
||||
@ -1210,8 +998,8 @@ save(<span class="org-string">'./mat/cascade_hac_lac.mat'</span>, <span class="o
|
||||
<h2 id="orgd649256"><span class="section-number-2">2</span> Other analysis</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgcc14bbe" class="outline-3">
|
||||
<h3 id="orgcc14bbe"><span class="section-number-3">2.1</span> Robustness to Payload Variability</h3>
|
||||
<div id="outline-container-org3c7ca09" class="outline-3">
|
||||
<h3 id="org3c7ca09"><span class="section-number-3">2.1</span> Robustness to Payload Variability</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<ul class="org-ul">
|
||||
<li class="off"><code>[ ]</code> For 3/masses (1kg, 10kg, 50kg), plot each of the 3 plants</li>
|
||||
@ -1230,8 +1018,8 @@ save(<span class="org-string">'./mat/cascade_hac_lac.mat'</span>, <span class="o
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org14729d2" class="outline-4">
|
||||
<h4 id="org14729d2"><span class="section-number-4">2.2.1</span> Identification</h4>
|
||||
<div id="outline-container-org5fd28fd" class="outline-4">
|
||||
<h4 id="org5fd28fd"><span class="section-number-4">2.2.1</span> Identification</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">initializeController(<span class="org-string">'type'</span>, <span class="org-string">'hac-iff'</span>);
|
||||
@ -1346,8 +1134,8 @@ We can do that in two different ways:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga867ed3" class="outline-4">
|
||||
<h4 id="orga867ed3"><span class="section-number-4">2.3.1</span> Identification</h4>
|
||||
<div id="outline-container-org63f831b" class="outline-4">
|
||||
<h4 id="org63f831b"><span class="section-number-4">2.3.1</span> Identification</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">initializeController(<span class="org-string">'type'</span>, <span class="org-string">'hac-iff'</span>);
|
||||
@ -1435,8 +1223,8 @@ G_dvf.OutputName = {<span class="org-string">'Dlm1'</span>, <span class="org-str
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1144ed5" class="outline-4">
|
||||
<h4 id="org1144ed5"><span class="section-number-4">2.4.2</span> Obtained Plant</h4>
|
||||
<div id="outline-container-orgc3f6788" class="outline-4">
|
||||
<h4 id="orgc3f6788"><span class="section-number-4">2.4.2</span> Obtained Plant</h4>
|
||||
</div>
|
||||
<div id="outline-container-org51c8027" class="outline-4">
|
||||
<h4 id="org51c8027"><span class="section-number-4">2.4.3</span> Controller</h4>
|
||||
@ -1503,7 +1291,7 @@ DVF can be used instead of IFF.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-04-01 mer. 16:16</p>
|
||||
<p class="date">Created: 2020-04-17 ven. 09:35</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,237 +4,25 @@
|
||||
"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-17 mar. 17:31 -->
|
||||
<!-- 2020-04-17 ven. 09:35 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Identification of the disturbances</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
// @license-end
|
||||
</script>
|
||||
<script>
|
||||
MathJax = {
|
||||
tex: { macros: {
|
||||
bm: ["\\boldsymbol{#1}",1],
|
||||
}
|
||||
<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>
|
||||
<script>MathJax = {
|
||||
tex: {
|
||||
tags: 'ams',
|
||||
macros: {bm: ["\\boldsymbol{#1}",1],}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
@ -393,7 +181,6 @@ io(io_i) = linio([mdl, <span class="org-string">'/Disturbances'</span>], 1, <spa
|
||||
|
||||
io(io_i) = linio([mdl, <span class="org-string">'/Micro-Station/Granite/Modal Analysis/accelerometer'</span>], 1, <span class="org-string">'openoutput'</span>); io_i = io_i <span class="org-type">+</span> 1; <span class="org-comment">% Absolute motion - Granite</span>
|
||||
io(io_i) = linio([mdl, <span class="org-string">'/Micro-Station/Micro Hexapod/Modal Analysis/accelerometer'</span>], 1, <span class="org-string">'openoutput'</span>); io_i = io_i <span class="org-type">+</span> 1; <span class="org-comment">% Absolute Motion - Hexapod</span>
|
||||
<span class="org-comment">% io(io_i) = linio([mdl, '/Vm'], 1, 'openoutput'); io_i = io_i + 1; % Relative Velocity hexapod/granite</span>
|
||||
|
||||
<span class="org-comment">% Run the linearization</span>
|
||||
G = linearize(mdl, io, 0);
|
||||
@ -493,6 +280,18 @@ tyx = load(<span class="org-string">'./mat/pxe_ty_r.mat'</span>, <span class="or
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Because some 50Hz and harmonics were present in the ground motion measurement, we remove these peaks with the following code:
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">f0s = [50, 100, 150, 200, 250, 350, 450];
|
||||
<span class="org-keyword">for</span> <span class="org-variable-name">f0</span> = <span class="org-constant">f0s</span>
|
||||
<span class="org-constant">i</span> = find(gm.f <span class="org-type">></span> f0<span class="org-type">-</span>0.5 <span class="org-type">&</span> gm.f <span class="org-type"><</span> f0<span class="org-type">+</span>0.5);
|
||||
gm.psd_gm(<span class="org-constant">i</span>) = linspace(gm.psd_gm(<span class="org-constant">i</span>(1)), gm.psd_gm(<span class="org-constant">i</span>(end)), length(<span class="org-constant">i</span>));
|
||||
<span class="org-keyword">end</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
We now compute the relative velocity between the hexapod and the granite due to ground motion.
|
||||
</p>
|
||||
@ -768,7 +567,7 @@ Let’s now compare the effect of those perturbations on the position error
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-03-17 mar. 17:31</p>
|
||||
<p class="date">Created: 2020-04-17 ven. 09:35</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,227 +4,17 @@
|
||||
"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-17 mar. 12:32 -->
|
||||
<!-- 2020-04-17 ven. 10:25 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Simulation of Scientific Experiments</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="./css/zenburn.css"/>
|
||||
<script type="text/javascript" src="./js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
// @license-end
|
||||
</script>
|
||||
<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">
|
||||
@ -240,30 +30,37 @@
|
||||
<li><a href="#org03b2a76">1. Simscape Model</a></li>
|
||||
<li><a href="#org6ed78a0">2. Tomography Experiment with no disturbances</a>
|
||||
<ul>
|
||||
<li><a href="#org0ba0ddd">2.1. Simulation Setup</a></li>
|
||||
<li><a href="#org140576f">2.2. Analysis</a></li>
|
||||
<li><a href="#org26e3394">2.3. Conclusion</a></li>
|
||||
<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="#org3da7cb0">3.1. Simulation Setup</a></li>
|
||||
<li><a href="#orgdb56a7f">3.2. Analysis</a></li>
|
||||
<li><a href="#org722f52a">3.3. Conclusion</a></li>
|
||||
<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="#org72f01ab">4. Tomography when the micro-hexapod is not centered</a>
|
||||
<li><a href="#org7202245">4. Tomography Experiment with Ty raster scans</a>
|
||||
<ul>
|
||||
<li><a href="#org6137b17">4.1. Simulation Setup</a></li>
|
||||
<li><a href="#org92c4f21">4.2. Analysis</a></li>
|
||||
<li><a href="#org92f12cd">4.3. Conclusion</a></li>
|
||||
<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="#org8fa1632">5. Raster Scans with the translation stage</a>
|
||||
<li><a href="#org72f01ab">5. Tomography when the micro-hexapod is not centered</a>
|
||||
<ul>
|
||||
<li><a href="#org4110173">5.1. Simulation Setup</a></li>
|
||||
<li><a href="#org1e50cb1">5.2. Analysis</a></li>
|
||||
<li><a href="#org98199a0">5.3. Conclusion</a></li>
|
||||
<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>
|
||||
@ -291,8 +88,8 @@ The document in organized as follow:
|
||||
<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">4</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">5</a>, scans with the translation stage are simulated with no perturbation 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">
|
||||
@ -329,15 +126,6 @@ initializeSample(<span class="org-string">'mass'</span>, 1);
|
||||
</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>
|
||||
No controller is used (Open Loop).
|
||||
</p>
|
||||
@ -347,7 +135,7 @@ No controller is used (Open Loop).
|
||||
</div>
|
||||
|
||||
<p>
|
||||
And we put some gravity.
|
||||
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>);
|
||||
@ -375,8 +163,8 @@ In this section, a tomography experiment is performed with the sample aligned wi
|
||||
No disturbance is included.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org0ba0ddd" class="outline-3">
|
||||
<h3 id="org0ba0ddd"><span class="section-number-3">2.1</span> Simulation Setup</h3>
|
||||
<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.
|
||||
@ -393,6 +181,15 @@ And we initialize the disturbances to be equal to zero.
|
||||
</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>
|
||||
@ -412,8 +209,8 @@ save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span cl
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org140576f" class="outline-3">
|
||||
<h3 id="org140576f"><span class="section-number-3">2.2</span> Analysis</h3>
|
||||
<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>);
|
||||
@ -429,8 +226,8 @@ save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span cl
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org26e3394" class="outline-3">
|
||||
<h3 id="org26e3394"><span class="section-number-3">2.3</span> Conclusion</h3>
|
||||
<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>
|
||||
@ -454,8 +251,8 @@ In this section, we also perform a tomography experiment with the sample’s
|
||||
However this time, we include perturbations such as ground motion and stage vibrations.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org3da7cb0" class="outline-3">
|
||||
<h3 id="org3da7cb0"><span class="section-number-3">3.1</span> Simulation Setup</h3>
|
||||
<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.
|
||||
@ -465,13 +262,22 @@ We now activate the disturbances.
|
||||
<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">'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>
|
||||
@ -491,8 +297,8 @@ save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span cl
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdb56a7f" class="outline-3">
|
||||
<h3 id="orgdb56a7f"><span class="section-number-3">3.2</span> Analysis</h3>
|
||||
<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>);
|
||||
@ -508,12 +314,12 @@ save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span cl
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org722f52a" class="outline-3">
|
||||
<h3 id="org722f52a"><span class="section-number-3">3.3</span> Conclusion</h3>
|
||||
<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>
|
||||
Error motion is what expected from the disturbance measurements.
|
||||
Here, no vibration is included in the X and Y directions.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
@ -521,10 +327,90 @@ Error motion is what expected from the disturbance measurements.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org72f01ab" class="outline-2">
|
||||
<h2 id="org72f01ab"><span class="section-number-2">4</span> Tomography when the micro-hexapod is not centered</h2>
|
||||
<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>
|
||||
@ -536,9 +422,9 @@ This is due to the fact that the micro-hexapod has performed some displacement.
|
||||
No disturbances are included.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org6137b17" class="outline-3">
|
||||
<h3 id="org6137b17"><span class="section-number-3">4.1</span> Simulation Setup</h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<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>
|
||||
@ -597,9 +483,9 @@ save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span cl
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org92c4f21" class="outline-3">
|
||||
<h3 id="org92c4f21"><span class="section-number-3">4.2</span> Analysis</h3>
|
||||
<div class="outline-text-3" id="text-4-2">
|
||||
<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>
|
||||
@ -609,14 +495,14 @@ save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span cl
|
||||
<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 3: </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>
|
||||
<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-org92f12cd" class="outline-3">
|
||||
<h3 id="org92f12cd"><span class="section-number-3">4.3</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-4-3">
|
||||
<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.
|
||||
@ -629,8 +515,8 @@ This is mainly due to finite stiffness of the elements.
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8fa1632" class="outline-2">
|
||||
<h2 id="org8fa1632"><span class="section-number-2">5</span> Raster Scans with the translation stage</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<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>
|
||||
@ -638,9 +524,9 @@ This is mainly due to finite stiffness of the elements.
|
||||
In this section, scans with the translation stage are performed.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org4110173" class="outline-3">
|
||||
<h3 id="org4110173"><span class="section-number-3">5.1</span> Simulation Setup</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<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>
|
||||
@ -725,9 +611,9 @@ save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span cl
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e50cb1" class="outline-3">
|
||||
<h3 id="org1e50cb1"><span class="section-number-3">5.2</span> Analysis</h3>
|
||||
<div class="outline-text-3" id="text-5-2">
|
||||
<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>
|
||||
@ -737,14 +623,14 @@ save(<span class="org-string">'./mat/experiment_tomography.mat'</span>, <span cl
|
||||
<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 4: </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>
|
||||
<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-org98199a0" class="outline-3">
|
||||
<h3 id="org98199a0"><span class="section-number-3">5.3</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-5-3">
|
||||
<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.
|
||||
@ -762,7 +648,7 @@ Thus, this should be preferred.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-03-17 mar. 12:32</p>
|
||||
<p class="date">Created: 2020-04-17 ven. 10:25</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
BIN
docs/figs/exp_scans_rz_dist.pdf
Normal file
BIN
docs/figs/exp_scans_rz_dist.pdf
Normal file
Binary file not shown.
BIN
docs/figs/exp_scans_rz_dist.png
Normal file
BIN
docs/figs/exp_scans_rz_dist.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 109 KiB |
@ -3,7 +3,7 @@
|
||||
1 0 obj
|
||||
<<
|
||||
/Producer (Apache FOP Version 2.4.0-SNAPSHOT: PDFDocumentGraphics2D)
|
||||
/CreationDate (D:20200415181200+02'00')
|
||||
/CreationDate (D:20200417102501+02'00')
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@ -2061,274 +2061,284 @@ endobj
|
||||
344 0 obj
|
||||
<< /Length 345 0 R /Filter /FlateDecode >>
|
||||
stream
|
||||
xœÄ½É®%Ër8¿_q~àmzß |