Work on Control (HAC-LAC) + Models
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
"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-02-25 mar. 18:20 -->
|
||||
<!-- 2020-03-13 ven. 17:39 -->
|
||||
<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>
|
||||
@@ -202,50 +202,28 @@
|
||||
<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.
|
||||
*/
|
||||
// @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;
|
||||
}
|
||||
/*]]>*///-->
|
||||
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 = {
|
||||
@@ -273,17 +251,17 @@ for the JavaScript code in this tag.
|
||||
<ul>
|
||||
<li><a href="#orga668d6d">1.1. Identification of the dynamics for Active Damping</a>
|
||||
<ul>
|
||||
<li><a href="#orgd1a656e">1.1.1. Identification</a></li>
|
||||
<li><a href="#org4d53135">1.1.1. Identification</a></li>
|
||||
<li><a href="#orge632d78">1.1.2. Obtained Plants for Active Damping</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgacbac97">1.2. Identification of the dynamics for High Authority Control</a>
|
||||
<ul>
|
||||
<li><a href="#org9dde5ce">1.2.1. Identification</a></li>
|
||||
<li><a href="#org71a0d47">1.2.1. Identification</a></li>
|
||||
<li><a href="#org245ebc9">1.2.2. Obtained Plants</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc633a52">1.3. Tomography Experiment</a>
|
||||
<li><a href="#org6dbda79">1.3. Tomography Experiment</a>
|
||||
<ul>
|
||||
<li><a href="#orgd2384a9">1.3.1. Simulation</a></li>
|
||||
<li><a href="#orgd00d359">1.3.2. Results</a></li>
|
||||
@@ -303,55 +281,55 @@ for the JavaScript code in this tag.
|
||||
</li>
|
||||
<li><a href="#org89179a2">2.4. Variation of the Tilt Angle</a></li>
|
||||
<li><a href="#org701d7f3">2.5. Scans of the Translation Stage</a></li>
|
||||
<li><a href="#org1b61fb2">2.6. Conclusion</a></li>
|
||||
<li><a href="#org8edc6af">2.6. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org28bb8b8">3. Integral Force Feedback</a>
|
||||
<ul>
|
||||
<li><a href="#org8147539">3.1. Control Design</a>
|
||||
<li><a href="#orgd40d19e">3.1. Control Design</a>
|
||||
<ul>
|
||||
<li><a href="#org7579fa1">3.1.1. Plant</a></li>
|
||||
<li><a href="#org1069779">3.1.2. Control Design</a></li>
|
||||
<li><a href="#org0929a5f">3.1.3. Diagonal Controller</a></li>
|
||||
<li><a href="#orgae652a4">3.1.1. Plant</a></li>
|
||||
<li><a href="#org3cc819b">3.1.2. Control Design</a></li>
|
||||
<li><a href="#orgd4051da">3.1.3. Diagonal Controller</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org92b7e4a">3.2. Tomography Experiment</a>
|
||||
<li><a href="#org394b3ba">3.2. Tomography Experiment</a>
|
||||
<ul>
|
||||
<li><a href="#orge827289">3.2.1. Simulation with IFF Controller</a></li>
|
||||
<li><a href="#org34c04f2">3.2.2. Compare with Undamped system</a></li>
|
||||
<li><a href="#orgeb184b2">3.2.2. Compare with Undamped system</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge208898">3.3. Conclusion</a></li>
|
||||
<li><a href="#org6b98a86">3.3. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge2515a1">4. Direct Velocity Feedback</a>
|
||||
<ul>
|
||||
<li><a href="#org2454b5d">4.1. Control Design</a>
|
||||
<li><a href="#orgac2118b">4.1. Control Design</a>
|
||||
<ul>
|
||||
<li><a href="#orgd36a459">4.1.1. Plant</a></li>
|
||||
<li><a href="#orgf771969">4.1.2. Control Design</a></li>
|
||||
<li><a href="#org1fa78ea">4.1.3. Diagonal Controller</a></li>
|
||||
<li><a href="#orgb031bdb">4.1.1. Plant</a></li>
|
||||
<li><a href="#orgd082061">4.1.2. Control Design</a></li>
|
||||
<li><a href="#orgd3a0a62">4.1.3. Diagonal Controller</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdc2cc7d">4.2. Tomography Experiment</a>
|
||||
<li><a href="#orge87de8b">4.2. Tomography Experiment</a>
|
||||
<ul>
|
||||
<li><a href="#org315e901">4.2.1. Initialize the Simulation</a></li>
|
||||
<li><a href="#orgbe122b9">4.2.2. Compare with Undamped system</a></li>
|
||||
<li><a href="#orge6278a1">4.2.1. Initialize the Simulation</a></li>
|
||||
<li><a href="#orge7a0ad9">4.2.2. Compare with Undamped system</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2edf5bd">4.3. Conclusion</a></li>
|
||||
<li><a href="#orgc00cb88">4.3. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5047e99">5. Inertial Control</a>
|
||||
<ul>
|
||||
<li><a href="#org5bec512">5.1. Control Design</a>
|
||||
<li><a href="#org40e3ea7">5.1. Control Design</a>
|
||||
<ul>
|
||||
<li><a href="#org16795b0">5.1.1. Plant</a></li>
|
||||
<li><a href="#org9ce4e10">5.1.2. Control Design</a></li>
|
||||
<li><a href="#org132c666">5.1.3. Diagonal Controller</a></li>
|
||||
<li><a href="#orgbceccd1">5.1.1. Plant</a></li>
|
||||
<li><a href="#orgc8e27a6">5.1.2. Control Design</a></li>
|
||||
<li><a href="#org165dd29">5.1.3. Diagonal Controller</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org408de58">5.2. Conclusion</a></li>
|
||||
<li><a href="#org5587c6f">5.2. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd2a9c18">6. Comparison</a>
|
||||
@@ -366,16 +344,16 @@ for the JavaScript code in this tag.
|
||||
<ul>
|
||||
<li><a href="#orgcf56890">7.1. prepareLinearizeIdentification</a>
|
||||
<ul>
|
||||
<li><a href="#org2b7c7da">Function Description</a></li>
|
||||
<li><a href="#org6e16103">Optional Parameters</a></li>
|
||||
<li><a href="#org552f1ca">Initialize the Simulation</a></li>
|
||||
<li><a href="#orgbcbb56e">Function Description</a></li>
|
||||
<li><a href="#orgb2bfb6d">Optional Parameters</a></li>
|
||||
<li><a href="#org491e801">Initialize the Simulation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc2b4408">7.2. prepareTomographyExperiment</a>
|
||||
<ul>
|
||||
<li><a href="#org6dacc19">Function Description</a></li>
|
||||
<li><a href="#org65022a7">Optional Parameters</a></li>
|
||||
<li><a href="#orga0e6a80">Initialize the Simulation</a></li>
|
||||
<li><a href="#org8c658fc">Function Description</a></li>
|
||||
<li><a href="#org80c975b">Optional Parameters</a></li>
|
||||
<li><a href="#org65e26b7">Initialize the Simulation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -447,8 +425,8 @@ After that, a tomography experiment is simulation without any active damping tec
|
||||
<h3 id="orga668d6d"><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-orgd1a656e" class="outline-4">
|
||||
<h4 id="orgd1a656e"><span class="section-number-4">1.1.1</span> Identification</h4>
|
||||
<div id="outline-container-org4d53135" class="outline-4">
|
||||
<h4 id="org4d53135"><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.
|
||||
@@ -499,7 +477,7 @@ G_ine = minreal(G({<span class="org-string">'Vnlm1'</span>, <span class="org-str
|
||||
And we save them for further analysis.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">save(<span class="org-string">'./active_damping/mat/undamped_plants.mat'</span>, <span class="org-string">'G_iff'</span>, <span class="org-string">'G_dvf'</span>, <span class="org-string">'G_ine'</span>);
|
||||
<pre class="src src-matlab">save(<span class="org-string">'./mat/active_damping_undamped_plants.mat'</span>, <span class="org-string">'G_iff'</span>, <span class="org-string">'G_dvf'</span>, <span class="org-string">'G_ine'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
@@ -509,7 +487,7 @@ And we save them for further analysis.
|
||||
<h4 id="orge632d78"><span class="section-number-4">1.1.2</span> Obtained Plants for Active Damping</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./active_damping/mat/undamped_plants.mat'</span>, <span class="org-string">'G_iff'</span>, <span class="org-string">'G_dvf'</span>, <span class="org-string">'G_ine'</span>);
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./mat/active_damping_undamped_plants.mat'</span>, <span class="org-string">'G_iff'</span>, <span class="org-string">'G_dvf'</span>, <span class="org-string">'G_ine'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@@ -541,8 +519,8 @@ And we save them for further analysis.
|
||||
<h3 id="orgacbac97"><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-org9dde5ce" class="outline-4">
|
||||
<h4 id="org9dde5ce"><span class="section-number-4">1.2.1</span> Identification</h4>
|
||||
<div id="outline-container-org71a0d47" class="outline-4">
|
||||
<h4 id="org71a0d47"><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.
|
||||
@@ -579,7 +557,7 @@ io(io_i) = linio([mdl, <span class="org-string">'/Tracking Error'</span>], 1, <s
|
||||
And we save them for further analysis.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">save(<span class="org-string">'./active_damping/mat/cart_plants.mat'</span>, <span class="org-string">'G_cart'</span>, <span class="org-string">'masses'</span>);
|
||||
<pre class="src src-matlab">save(<span class="org-string">'./mat/active_damping_cart_plants.mat'</span>, <span class="org-string">'G_cart'</span>, <span class="org-string">'masses'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
@@ -589,7 +567,7 @@ And we save them for further analysis.
|
||||
<h4 id="org245ebc9"><span class="section-number-4">1.2.2</span> Obtained Plants</h4>
|
||||
<div class="outline-text-4" id="text-1-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./active_damping/mat/cart_plants.mat'</span>, <span class="org-string">'G_cart'</span>, <span class="org-string">'masses'</span>);
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./mat/active_damping_cart_plants.mat'</span>, <span class="org-string">'G_cart'</span>, <span class="org-string">'masses'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@@ -611,8 +589,8 @@ And we save them for further analysis.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc633a52" class="outline-3">
|
||||
<h3 id="orgc633a52"><span class="section-number-3">1.3</span> Tomography Experiment</h3>
|
||||
<div id="outline-container-org6dbda79" class="outline-3">
|
||||
<h3 id="org6dbda79"><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-orgd2384a9" class="outline-4">
|
||||
@@ -647,7 +625,7 @@ And we simulate the system.
|
||||
Finally, we save the simulation results for further analysis
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">save(<span class="org-string">'./active_damping/mat/tomo_exp.mat'</span>, <span class="org-string">'En'</span>, <span class="org-string">'Eg'</span>, <span class="org-string">'-append'</span>);
|
||||
<pre class="src src-matlab">save(<span class="org-string">'./mat/active_damping_tomo_exp.mat'</span>, <span class="org-string">'En'</span>, <span class="org-string">'Eg'</span>, <span class="org-string">'-append'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
@@ -660,7 +638,7 @@ Finally, we save the simulation results for further analysis
|
||||
We load the results of tomography experiments.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./active_damping/mat/tomo_exp.mat'</span>, <span class="org-string">'En'</span>);
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./mat/active_damping_tomo_exp.mat'</span>, <span class="org-string">'En'</span>);
|
||||
Fs = 1e3; <span class="org-comment">% Sampling Frequency of the Data</span>
|
||||
t = (1<span class="org-type">/</span>Fs)<span class="org-type">*</span>[0<span class="org-type">:</span>length(En(<span class="org-type">:</span>,1))<span class="org-type">-</span>1];
|
||||
</pre>
|
||||
@@ -1000,8 +978,8 @@ We identify the dynamics at different positions (times) when scanning with the T
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1b61fb2" class="outline-3">
|
||||
<h3 id="org1b61fb2"><span class="section-number-3">2.6</span> Conclusion</h3>
|
||||
<div id="outline-container-org8edc6af" class="outline-3">
|
||||
<h3 id="org8edc6af"><span class="section-number-3">2.6</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<table id="org664ed44" 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,19 +1070,19 @@ The control architecture is represented in figure <a href="#org03ecebf">29</a> w
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8147539" class="outline-3">
|
||||
<h3 id="org8147539"><span class="section-number-3">3.1</span> Control Design</h3>
|
||||
<div id="outline-container-orgd40d19e" class="outline-3">
|
||||
<h3 id="orgd40d19e"><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-org7579fa1" class="outline-4">
|
||||
<h4 id="org7579fa1"><span class="section-number-4">3.1.1</span> Plant</h4>
|
||||
<div id="outline-container-orgae652a4" class="outline-4">
|
||||
<h4 id="orgae652a4"><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:
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./active_damping/mat/undamped_plants.mat'</span>, <span class="org-string">'G_iff'</span>);
|
||||
load(<span class="org-string">'./active_damping/mat/plants_variable.mat'</span>, <span class="org-string">'masses'</span>, <span class="org-string">'Gm_iff'</span>);
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./mat/active_damping_undamped_plants.mat'</span>, <span class="org-string">'G_iff'</span>);
|
||||
load(<span class="org-string">'./mat/active_damping_plants_variable.mat'</span>, <span class="org-string">'masses'</span>, <span class="org-string">'Gm_iff'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@@ -1121,8 +1099,8 @@ Let’s look at the transfer function from actuator forces in the nano-hexap
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1069779" class="outline-4">
|
||||
<h4 id="org1069779"><span class="section-number-4">3.1.2</span> Control Design</h4>
|
||||
<div id="outline-container-org3cc819b" class="outline-4">
|
||||
<h4 id="org3cc819b"><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 +1124,8 @@ The corresponding loop gains are shown in figure <a href="#orge32c0c8">31</a>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0929a5f" class="outline-4">
|
||||
<h4 id="org0929a5f"><span class="section-number-4">3.1.3</span> Diagonal Controller</h4>
|
||||
<div id="outline-container-orgd4051da" class="outline-4">
|
||||
<h4 id="orgd4051da"><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
|
||||
@@ -1162,15 +1140,15 @@ feedback architecture.
|
||||
We save the controller for further analysis.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">save(<span class="org-string">'./active_damping/mat/K_iff.mat'</span>, <span class="org-string">'K_iff'</span>);
|
||||
<pre class="src src-matlab">save(<span class="org-string">'./mat/active_damping_K_iff.mat'</span>, <span class="org-string">'K_iff'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org92b7e4a" class="outline-3">
|
||||
<h3 id="org92b7e4a"><span class="section-number-3">3.2</span> Tomography Experiment</h3>
|
||||
<div id="outline-container-org394b3ba" class="outline-3">
|
||||
<h3 id="org394b3ba"><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-orge827289" class="outline-4">
|
||||
@@ -1188,7 +1166,7 @@ We initialize elements for the tomography experiment.
|
||||
We set the IFF controller.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./active_damping/mat/K_iff.mat'</span>, <span class="org-string">'K_iff'</span>);
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./mat/active_damping_K_iff.mat'</span>, <span class="org-string">'K_iff'</span>);
|
||||
initializeController(<span class="org-string">'type'</span>, <span class="org-string">'iff'</span>, <span class="org-string">'K'</span>, K_iff);
|
||||
</pre>
|
||||
</div>
|
||||
@@ -1216,14 +1194,14 @@ Finally, we save the simulation results for further analysis
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">En_iff = En;
|
||||
Eg_iff = Eg;
|
||||
save(<span class="org-string">'./active_damping/mat/tomo_exp.mat'</span>, <span class="org-string">'En_iff'</span>, <span class="org-string">'Eg_iff'</span>, <span class="org-string">'-append'</span>);
|
||||
save(<span class="org-string">'./mat/active_damping_tomo_exp.mat'</span>, <span class="org-string">'En_iff'</span>, <span class="org-string">'Eg_iff'</span>, <span class="org-string">'-append'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org34c04f2" class="outline-4">
|
||||
<h4 id="org34c04f2"><span class="section-number-4">3.2.2</span> Compare with Undamped system</h4>
|
||||
<div id="outline-container-orgeb184b2" class="outline-4">
|
||||
<h4 id="orgeb184b2"><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="orgc83ffab" class="figure">
|
||||
@@ -1249,8 +1227,8 @@ save(<span class="org-string">'./active_damping/mat/tomo_exp.mat'</span>, <span
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge208898" class="outline-3">
|
||||
<h3 id="orge208898"><span class="section-number-3">3.3</span> Conclusion</h3>
|
||||
<div id="outline-container-org6b98a86" class="outline-3">
|
||||
<h3 id="org6b98a86"><span class="section-number-3">3.3</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<div class="important">
|
||||
<p>
|
||||
@@ -1285,19 +1263,19 @@ The actuator displacement can be measured with a capacitive sensor for instance.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2454b5d" class="outline-3">
|
||||
<h3 id="org2454b5d"><span class="section-number-3">4.1</span> Control Design</h3>
|
||||
<div id="outline-container-orgac2118b" class="outline-3">
|
||||
<h3 id="orgac2118b"><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-orgd36a459" class="outline-4">
|
||||
<h4 id="orgd36a459"><span class="section-number-4">4.1.1</span> Plant</h4>
|
||||
<div id="outline-container-orgb031bdb" class="outline-4">
|
||||
<h4 id="orgb031bdb"><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:
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./active_damping/mat/undamped_plants.mat'</span>, <span class="org-string">'G_dvf'</span>);
|
||||
load(<span class="org-string">'./active_damping/mat/plants_variable.mat'</span>, <span class="org-string">'masses'</span>, <span class="org-string">'Gm_dvf'</span>);
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./mat/active_damping_undamped_plants.mat'</span>, <span class="org-string">'G_dvf'</span>);
|
||||
load(<span class="org-string">'./mat/active_damping_plants_variable.mat'</span>, <span class="org-string">'masses'</span>, <span class="org-string">'Gm_dvf'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@@ -1314,8 +1292,8 @@ Let’s look at the transfer function from actuator forces in the nano-hexap
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf771969" class="outline-4">
|
||||
<h4 id="orgf771969"><span class="section-number-4">4.1.2</span> Control Design</h4>
|
||||
<div id="outline-container-orgd082061" class="outline-4">
|
||||
<h4 id="orgd082061"><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 +1317,8 @@ The obtained loop gains are shown in figure <a href="#org713f5d4">36</a>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1fa78ea" class="outline-4">
|
||||
<h4 id="org1fa78ea"><span class="section-number-4">4.1.3</span> Diagonal Controller</h4>
|
||||
<div id="outline-container-orgd3a0a62" class="outline-4">
|
||||
<h4 id="orgd3a0a62"><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.
|
||||
@@ -1354,19 +1332,19 @@ We create the diagonal controller and we add a minus sign as we have a positive
|
||||
We save the controller for further analysis.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">save(<span class="org-string">'./active_damping/mat/K_dvf.mat'</span>, <span class="org-string">'K_dvf'</span>);
|
||||
<pre class="src src-matlab">save(<span class="org-string">'./mat/active_damping_K_dvf.mat'</span>, <span class="org-string">'K_dvf'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdc2cc7d" class="outline-3">
|
||||
<h3 id="orgdc2cc7d"><span class="section-number-3">4.2</span> Tomography Experiment</h3>
|
||||
<div id="outline-container-orge87de8b" class="outline-3">
|
||||
<h3 id="orge87de8b"><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-org315e901" class="outline-4">
|
||||
<h4 id="org315e901"><span class="section-number-4">4.2.1</span> Initialize the Simulation</h4>
|
||||
<div id="outline-container-orge6278a1" class="outline-4">
|
||||
<h4 id="orge6278a1"><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.
|
||||
@@ -1380,7 +1358,7 @@ We initialize elements for the tomography experiment.
|
||||
We set the DVF controller.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./active_damping/mat/K_dvf.mat'</span>, <span class="org-string">'K_dvf'</span>);
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./mat/active_damping_K_dvf.mat'</span>, <span class="org-string">'K_dvf'</span>);
|
||||
initializeController(<span class="org-string">'type'</span>, <span class="org-string">'dvf'</span>, <span class="org-string">'K'</span>, K_dvf);
|
||||
</pre>
|
||||
</div>
|
||||
@@ -1408,14 +1386,14 @@ Finally, we save the simulation results for further analysis
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">En_dvf = En;
|
||||
Eg_dvf = Eg;
|
||||
save(<span class="org-string">'./active_damping/mat/tomo_exp.mat'</span>, <span class="org-string">'En_dvf'</span>, <span class="org-string">'Eg_dvf'</span>, <span class="org-string">'-append'</span>);
|
||||
save(<span class="org-string">'./mat/active_damping_tomo_exp.mat'</span>, <span class="org-string">'En_dvf'</span>, <span class="org-string">'Eg_dvf'</span>, <span class="org-string">'-append'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbe122b9" class="outline-4">
|
||||
<h4 id="orgbe122b9"><span class="section-number-4">4.2.2</span> Compare with Undamped system</h4>
|
||||
<div id="outline-container-orge7a0ad9" class="outline-4">
|
||||
<h4 id="orge7a0ad9"><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="orge2d1a4a" class="figure">
|
||||
@@ -1441,8 +1419,8 @@ save(<span class="org-string">'./active_damping/mat/tomo_exp.mat'</span>, <span
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2edf5bd" class="outline-3">
|
||||
<h3 id="org2edf5bd"><span class="section-number-3">4.3</span> Conclusion</h3>
|
||||
<div id="outline-container-orgc00cb88" class="outline-3">
|
||||
<h3 id="orgc00cb88"><span class="section-number-3">4.3</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-4-3">
|
||||
<div class="important">
|
||||
<p>
|
||||
@@ -1474,19 +1452,19 @@ In Inertial Control, a feedback is applied between the measured <b>absolute</b>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5bec512" class="outline-3">
|
||||
<h3 id="org5bec512"><span class="section-number-3">5.1</span> Control Design</h3>
|
||||
<div id="outline-container-org40e3ea7" class="outline-3">
|
||||
<h3 id="org40e3ea7"><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-org16795b0" class="outline-4">
|
||||
<h4 id="org16795b0"><span class="section-number-4">5.1.1</span> Plant</h4>
|
||||
<div id="outline-container-orgbceccd1" class="outline-4">
|
||||
<h4 id="orgbceccd1"><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:
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./active_damping/mat/undamped_plants.mat'</span>, <span class="org-string">'G_ine'</span>);
|
||||
load(<span class="org-string">'./active_damping/mat/plants_variable.mat'</span>, <span class="org-string">'masses'</span>, <span class="org-string">'Gm_ine'</span>);
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./mat/active_damping_undamped_plants.mat'</span>, <span class="org-string">'G_ine'</span>);
|
||||
load(<span class="org-string">'./mat/active_damping_plants_variable.mat'</span>, <span class="org-string">'masses'</span>, <span class="org-string">'Gm_ine'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@@ -1503,8 +1481,8 @@ Let’s look at the transfer function from actuator forces in the nano-hexap
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9ce4e10" class="outline-4">
|
||||
<h4 id="org9ce4e10"><span class="section-number-4">5.1.2</span> Control Design</h4>
|
||||
<div id="outline-container-orgc8e27a6" class="outline-4">
|
||||
<h4 id="orgc8e27a6"><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="#org76d929a">41</a>.
|
||||
@@ -1524,8 +1502,8 @@ The controller is defined below and the obtained loop gain is shown in figure <a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org132c666" class="outline-4">
|
||||
<h4 id="org132c666"><span class="section-number-4">5.1.3</span> Diagonal Controller</h4>
|
||||
<div id="outline-container-org165dd29" class="outline-4">
|
||||
<h4 id="org165dd29"><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.
|
||||
@@ -1539,15 +1517,15 @@ We create the diagonal controller and we add a minus sign as we have a positive
|
||||
We save the controller for further analysis.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">save(<span class="org-string">'./active_damping/mat/K_ine.mat'</span>, <span class="org-string">'K_ine'</span>);
|
||||
<pre class="src src-matlab">save(<span class="org-string">'./mat/active_damping_K_ine.mat'</span>, <span class="org-string">'K_ine'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org408de58" class="outline-3">
|
||||
<h3 id="org408de58"><span class="section-number-3">5.2</span> Conclusion</h3>
|
||||
<div id="outline-container-org5587c6f" class="outline-3">
|
||||
<h3 id="org5587c6f"><span class="section-number-3">5.2</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-5-2">
|
||||
<div class="important">
|
||||
<p>
|
||||
@@ -1570,7 +1548,7 @@ Inertial Control should not be used.
|
||||
<h3 id="org68994db"><span class="section-number-3">6.1</span> Load the plants</h3>
|
||||
<div class="outline-text-3" id="text-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./active_damping/mat/plants.mat'</span>, <span class="org-string">'G'</span>, <span class="org-string">'G_iff'</span>, <span class="org-string">'G_ine'</span>, <span class="org-string">'G_dvf'</span>);
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./mat/active_damping_plants.mat'</span>, <span class="org-string">'G'</span>, <span class="org-string">'G_iff'</span>, <span class="org-string">'G_ine'</span>, <span class="org-string">'G_dvf'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1648,7 +1626,7 @@ Inertial Control should not be used.
|
||||
<h3 id="orgd49b825"><span class="section-number-3">6.4</span> Tomography Experiment - Frequency Domain analysis</h3>
|
||||
<div class="outline-text-3" id="text-6-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./active_damping/mat/tomo_exp.mat'</span>, <span class="org-string">'En'</span>, <span class="org-string">'En_iff'</span>, <span class="org-string">'En_dvf'</span>);
|
||||
<pre class="src src-matlab">load(<span class="org-string">'./mat/active_damping_tomo_exp.mat'</span>, <span class="org-string">'En'</span>, <span class="org-string">'En_iff'</span>, <span class="org-string">'En_dvf'</span>);
|
||||
Fs = 1e3; <span class="org-comment">% Sampling Frequency of the Data</span>
|
||||
t = (1<span class="org-type">/</span>Fs)<span class="org-type">*</span>[0<span class="org-type">:</span>length(En(<span class="org-type">:</span>,1))<span class="org-type">-</span>1];
|
||||
</pre>
|
||||
@@ -1723,9 +1701,9 @@ This Matlab function is accessible <a href="src/prepareLinearizeIdentification.m
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b7c7da" class="outline-4">
|
||||
<h4 id="org2b7c7da">Function Description</h4>
|
||||
<div class="outline-text-4" id="text-org2b7c7da">
|
||||
<div id="outline-container-orgbcbb56e" class="outline-4">
|
||||
<h4 id="orgbcbb56e">Function Description</h4>
|
||||
<div class="outline-text-4" id="text-orgbcbb56e">
|
||||
<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 +1711,9 @@ This Matlab function is accessible <a href="src/prepareLinearizeIdentification.m
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6e16103" class="outline-4">
|
||||
<h4 id="org6e16103">Optional Parameters</h4>
|
||||
<div class="outline-text-4" id="text-org6e16103">
|
||||
<div id="outline-container-orgb2bfb6d" class="outline-4">
|
||||
<h4 id="orgb2bfb6d">Optional Parameters</h4>
|
||||
<div class="outline-text-4" id="text-orgb2bfb6d">
|
||||
<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 +1724,9 @@ This Matlab function is accessible <a href="src/prepareLinearizeIdentification.m
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org552f1ca" class="outline-4">
|
||||
<h4 id="org552f1ca">Initialize the Simulation</h4>
|
||||
<div class="outline-text-4" id="text-org552f1ca">
|
||||
<div id="outline-container-org491e801" class="outline-4">
|
||||
<h4 id="org491e801">Initialize the Simulation</h4>
|
||||
<div class="outline-text-4" id="text-org491e801">
|
||||
<p>
|
||||
We initialize all the stages with the default parameters.
|
||||
</p>
|
||||
@@ -1821,9 +1799,9 @@ This Matlab function is accessible <a href="src/prepareTomographyExperiment.m">h
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6dacc19" class="outline-4">
|
||||
<h4 id="org6dacc19">Function Description</h4>
|
||||
<div class="outline-text-4" id="text-org6dacc19">
|
||||
<div id="outline-container-org8c658fc" class="outline-4">
|
||||
<h4 id="org8c658fc">Function Description</h4>
|
||||
<div class="outline-text-4" id="text-org8c658fc">
|
||||
<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 +1809,9 @@ This Matlab function is accessible <a href="src/prepareTomographyExperiment.m">h
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org65022a7" class="outline-4">
|
||||
<h4 id="org65022a7">Optional Parameters</h4>
|
||||
<div class="outline-text-4" id="text-org65022a7">
|
||||
<div id="outline-container-org80c975b" class="outline-4">
|
||||
<h4 id="org80c975b">Optional Parameters</h4>
|
||||
<div class="outline-text-4" id="text-org80c975b">
|
||||
<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 +1823,9 @@ This Matlab function is accessible <a href="src/prepareTomographyExperiment.m">h
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga0e6a80" class="outline-4">
|
||||
<h4 id="orga0e6a80">Initialize the Simulation</h4>
|
||||
<div class="outline-text-4" id="text-orga0e6a80">
|
||||
<div id="outline-container-org65e26b7" class="outline-4">
|
||||
<h4 id="org65e26b7">Initialize the Simulation</h4>
|
||||
<div class="outline-text-4" id="text-org65e26b7">
|
||||
<p>
|
||||
We initialize all the stages with the default parameters.
|
||||
</p>
|
||||
@@ -1915,7 +1893,7 @@ We log the signals.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-02-25 mar. 18:20</p>
|
||||
<p class="date">Created: 2020-03-13 ven. 17:39</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
Reference in New Issue
Block a user