Add two reference

This commit is contained in:
Thomas Dehaeze 2020-04-08 22:50:49 +02:00
parent 68a77f69a2
commit 4edd3a3d03
5 changed files with 101 additions and 81 deletions

View File

@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2020-03-13 ven. 10:34 -->
<!-- 2020-03-16 lun. 11:21 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Vibration Isolation</title>
@ -250,28 +249,28 @@
<li><a href="#orgf86b757">1. HAC-LAC (Cascade) Control - Integral Control</a>
<ul>
<li><a href="#org3a9f4d4">1.1. Introduction</a></li>
<li><a href="#org42643f7">1.2. Initialization</a></li>
<li><a href="#orgd24dcff">1.3. Identification</a>
<li><a href="#org58e2ab0">1.2. Initialization</a></li>
<li><a href="#orgab56a44">1.3. Identification</a>
<ul>
<li><a href="#org8048e33">1.3.1. HAC - Without LAC</a></li>
<li><a href="#org937f315">1.3.2. HAC - IFF</a></li>
<li><a href="#org83d8630">1.3.3. HAC - DVF</a></li>
<li><a href="#org2309d71">1.3.1. HAC - Without LAC</a></li>
<li><a href="#orgd3d2942">1.3.2. HAC - IFF</a></li>
<li><a href="#org492aabc">1.3.3. HAC - DVF</a></li>
</ul>
</li>
<li><a href="#org4d7a6d8">1.4. Control Architecture</a></li>
<li><a href="#org3e1b1b7">1.5. 6x6 Plant Comparison</a></li>
<li><a href="#org22da139">1.6. HAC - DVF</a>
<li><a href="#org14108ef">1.6. HAC - DVF</a>
<ul>
<li><a href="#orgc0e6f7d">1.6.1. Plant</a></li>
<li><a href="#org91edbdd">1.6.2. Controller Design</a></li>
<li><a href="#org5e71990">1.6.3. Obtained Performance</a></li>
<li><a href="#org71d45ac">1.6.1. Plant</a></li>
<li><a href="#org8236bd6">1.6.2. Controller Design</a></li>
<li><a href="#org7810516">1.6.3. Obtained Performance</a></li>
</ul>
</li>
<li><a href="#orgd3d2942">1.7. HAC - IFF</a>
<li><a href="#org55f17b6">1.7. HAC - IFF</a>
<ul>
<li><a href="#org71d45ac">1.7.1. Plant</a></li>
<li><a href="#org8236bd6">1.7.2. Controller Design</a></li>
<li><a href="#org7810516">1.7.3. Obtained Performance</a></li>
<li><a href="#org87cf3a4">1.7.1. Plant</a></li>
<li><a href="#org6d26667">1.7.2. Controller Design</a></li>
<li><a href="#orgef0abff">1.7.3. Obtained Performance</a></li>
</ul>
</li>
<li><a href="#org81c1767">1.8. Comparison</a></li>
@ -279,11 +278,11 @@
</li>
<li><a href="#org6f94eba">2. MIMO Analysis</a>
<ul>
<li><a href="#orgc26d5f4">2.1. Initialization</a></li>
<li><a href="#org308b8f7">2.2. Identification</a>
<li><a href="#org925bb20">2.1. Initialization</a></li>
<li><a href="#org57c87f0">2.2. Identification</a>
<ul>
<li><a href="#org2309d71">2.2.1. HAC - Without LAC</a></li>
<li><a href="#org492aabc">2.2.2. HAC - DVF</a></li>
<li><a href="#org661b495">2.2.1. HAC - Without LAC</a></li>
<li><a href="#orgdd8b824">2.2.2. HAC - DVF</a></li>
<li><a href="#orgf606814">2.2.3. Cartesian Frame</a></li>
</ul>
</li>
@ -292,13 +291,13 @@
</li>
<li><a href="#orgc8479b7">3. Diagonal Control based on the damped plant</a>
<ul>
<li><a href="#orga3f0f82">3.1. Initialization</a></li>
<li><a href="#orgab56a44">3.2. Identification</a></li>
<li><a href="#org99665a2">3.1. Initialization</a></li>
<li><a href="#org42a5e98">3.2. Identification</a></li>
<li><a href="#orgae85e0d">3.3. Steady State Decoupling</a>
<ul>
<li><a href="#org1e2bbe7">3.3.1. Pre-Compensator Design</a></li>
<li><a href="#org077e6f6">3.3.2. Diagonal Control Design</a></li>
<li><a href="#org4e0fae0">3.3.3. Results</a></li>
<li><a href="#orgf7c304f">3.3.3. Results</a></li>
</ul>
</li>
<li><a href="#orgad35bf9">3.4. Decoupling at Crossover</a></li>
@ -306,10 +305,10 @@
</li>
<li><a href="#org846cef9">4. Time Domain Simulation</a>
<ul>
<li><a href="#org58e2ab0">4.1. Initialization</a></li>
<li><a href="#org2a9e89f">4.1. Initialization</a></li>
<li><a href="#org8dbc004">4.2. HAC IFF</a></li>
<li><a href="#org7dc4716">4.3. HAC-DVF</a></li>
<li><a href="#orgf7c304f">4.4. Results</a></li>
<li><a href="#org65730fb">4.4. Results</a></li>
</ul>
</li>
<li><a href="#org69ebad1">5. Functions</a>
@ -364,8 +363,8 @@ First, the LAC loop is closed (the LAC control is described <a href="active-damp
</div>
</div>
<div id="outline-container-org42643f7" class="outline-3">
<h3 id="org42643f7"><span class="section-number-3">1.2</span> Initialization</h3>
<div id="outline-container-org58e2ab0" class="outline-3">
<h3 id="org58e2ab0"><span class="section-number-3">1.2</span> Initialization</h3>
<div class="outline-text-3" id="text-1-2">
<p>
We first initialize the Stewart platform.
@ -396,8 +395,8 @@ payload = initializePayload(<span class="org-string">'type'</span>, <span class=
</div>
</div>
<div id="outline-container-orgd24dcff" class="outline-3">
<h3 id="orgd24dcff"><span class="section-number-3">1.3</span> Identification</h3>
<div id="outline-container-orgab56a44" class="outline-3">
<h3 id="orgab56a44"><span class="section-number-3">1.3</span> Identification</h3>
<div class="outline-text-3" id="text-1-3">
<p>
We identify the transfer function from the actuator forces \(\bm{\tau}\) to the absolute displacement of the mobile platform \(\bm{\mathcal{X}}\) in three different cases:
@ -409,8 +408,8 @@ We identify the transfer function from the actuator forces \(\bm{\tau}\) to the
</ul>
</div>
<div id="outline-container-org8048e33" class="outline-4">
<h4 id="org8048e33"><span class="section-number-4">1.3.1</span> HAC - Without LAC</h4>
<div id="outline-container-org2309d71" class="outline-4">
<h4 id="org2309d71"><span class="section-number-4">1.3.1</span> HAC - Without LAC</h4>
<div class="outline-text-4" id="text-1-3-1">
<div class="org-src-container">
<pre class="src src-matlab">controller = initializeController(<span class="org-string">'type'</span>, <span class="org-string">'open-loop'</span>);
@ -435,8 +434,8 @@ G_ol.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-string
</div>
</div>
<div id="outline-container-org937f315" class="outline-4">
<h4 id="org937f315"><span class="section-number-4">1.3.2</span> HAC - IFF</h4>
<div id="outline-container-orgd3d2942" class="outline-4">
<h4 id="orgd3d2942"><span class="section-number-4">1.3.2</span> HAC - IFF</h4>
<div class="outline-text-4" id="text-1-3-2">
<div class="org-src-container">
<pre class="src src-matlab">controller = initializeController(<span class="org-string">'type'</span>, <span class="org-string">'iff'</span>);
@ -462,8 +461,8 @@ G_iff.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-strin
</div>
</div>
<div id="outline-container-org83d8630" class="outline-4">
<h4 id="org83d8630"><span class="section-number-4">1.3.3</span> HAC - DVF</h4>
<div id="outline-container-org492aabc" class="outline-4">
<h4 id="org492aabc"><span class="section-number-4">1.3.3</span> HAC - DVF</h4>
<div class="outline-text-4" id="text-1-3-3">
<div class="org-src-container">
<pre class="src src-matlab">controller = initializeController(<span class="org-string">'type'</span>, <span class="org-string">'dvf'</span>);
@ -527,12 +526,12 @@ We then design a controller based on the transfer functions from \(\bm{\mathcal{
</div>
</div>
<div id="outline-container-org22da139" class="outline-3">
<h3 id="org22da139"><span class="section-number-3">1.6</span> HAC - DVF</h3>
<div id="outline-container-org14108ef" class="outline-3">
<h3 id="org14108ef"><span class="section-number-3">1.6</span> HAC - DVF</h3>
<div class="outline-text-3" id="text-1-6">
</div>
<div id="outline-container-orgc0e6f7d" class="outline-4">
<h4 id="orgc0e6f7d"><span class="section-number-4">1.6.1</span> Plant</h4>
<div id="outline-container-org71d45ac" class="outline-4">
<h4 id="org71d45ac"><span class="section-number-4">1.6.1</span> Plant</h4>
<div class="outline-text-4" id="text-1-6-1">
<div id="org487a558" class="figure">
@ -543,8 +542,8 @@ We then design a controller based on the transfer functions from \(\bm{\mathcal{
</div>
</div>
<div id="outline-container-org91edbdd" class="outline-4">
<h4 id="org91edbdd"><span class="section-number-4">1.6.2</span> Controller Design</h4>
<div id="outline-container-org8236bd6" class="outline-4">
<h4 id="org8236bd6"><span class="section-number-4">1.6.2</span> Controller Design</h4>
<div class="outline-text-4" id="text-1-6-2">
<p>
We design a diagonal controller with equal bandwidth for the 6 terms.
@ -579,8 +578,8 @@ Finally, we pre-multiply the diagonal controller by \(\bm{J}^{-T}\) prior implem
</div>
</div>
<div id="outline-container-org5e71990" class="outline-4">
<h4 id="org5e71990"><span class="section-number-4">1.6.3</span> Obtained Performance</h4>
<div id="outline-container-org7810516" class="outline-4">
<h4 id="org7810516"><span class="section-number-4">1.6.3</span> Obtained Performance</h4>
<div class="outline-text-4" id="text-1-6-3">
<p>
We identify the transmissibility and compliance of the system.
@ -617,12 +616,12 @@ We identify the transmissibility and compliance of the system.
</div>
</div>
<div id="outline-container-orgd3d2942" class="outline-3">
<h3 id="orgd3d2942"><span class="section-number-3">1.7</span> HAC - IFF</h3>
<div id="outline-container-org55f17b6" class="outline-3">
<h3 id="org55f17b6"><span class="section-number-3">1.7</span> HAC - IFF</h3>
<div class="outline-text-3" id="text-1-7">
</div>
<div id="outline-container-org71d45ac" class="outline-4">
<h4 id="org71d45ac"><span class="section-number-4">1.7.1</span> Plant</h4>
<div id="outline-container-org87cf3a4" class="outline-4">
<h4 id="org87cf3a4"><span class="section-number-4">1.7.1</span> Plant</h4>
<div class="outline-text-4" id="text-1-7-1">
<div id="org0fc8dea" class="figure">
@ -633,8 +632,8 @@ We identify the transmissibility and compliance of the system.
</div>
</div>
<div id="outline-container-org8236bd6" class="outline-4">
<h4 id="org8236bd6"><span class="section-number-4">1.7.2</span> Controller Design</h4>
<div id="outline-container-org6d26667" class="outline-4">
<h4 id="org6d26667"><span class="section-number-4">1.7.2</span> Controller Design</h4>
<div class="outline-text-4" id="text-1-7-2">
<p>
We design a diagonal controller with equal bandwidth for the 6 terms.
@ -669,8 +668,8 @@ Finally, we pre-multiply the diagonal controller by \(\bm{J}^{-T}\) prior implem
</div>
</div>
<div id="outline-container-org7810516" class="outline-4">
<h4 id="org7810516"><span class="section-number-4">1.7.3</span> Obtained Performance</h4>
<div id="outline-container-orgef0abff" class="outline-4">
<h4 id="orgef0abff"><span class="section-number-4">1.7.3</span> Obtained Performance</h4>
<div class="outline-text-4" id="text-1-7-3">
<p>
We identify the transmissibility and compliance of the system.
@ -826,8 +825,8 @@ Let&rsquo;s define the system as shown in figure <a href="#orgac8f77c">13</a>.
</table>
</div>
<div id="outline-container-orgc26d5f4" class="outline-3">
<h3 id="orgc26d5f4"><span class="section-number-3">2.1</span> Initialization</h3>
<div id="outline-container-org925bb20" class="outline-3">
<h3 id="org925bb20"><span class="section-number-3">2.1</span> Initialization</h3>
<div class="outline-text-3" id="text-2-1">
<p>
We first initialize the Stewart platform.
@ -858,12 +857,12 @@ payload = initializePayload(<span class="org-string">'type'</span>, <span class=
</div>
</div>
<div id="outline-container-org308b8f7" class="outline-3">
<h3 id="org308b8f7"><span class="section-number-3">2.2</span> Identification</h3>
<div id="outline-container-org57c87f0" class="outline-3">
<h3 id="org57c87f0"><span class="section-number-3">2.2</span> Identification</h3>
<div class="outline-text-3" id="text-2-2">
</div>
<div id="outline-container-org2309d71" class="outline-4">
<h4 id="org2309d71"><span class="section-number-4">2.2.1</span> HAC - Without LAC</h4>
<div id="outline-container-org661b495" class="outline-4">
<h4 id="org661b495"><span class="section-number-4">2.2.1</span> HAC - Without LAC</h4>
<div class="outline-text-4" id="text-2-2-1">
<div class="org-src-container">
<pre class="src src-matlab">controller = initializeController(<span class="org-string">'type'</span>, <span class="org-string">'open-loop'</span>);
@ -888,8 +887,8 @@ G_ol.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-string
</div>
</div>
<div id="outline-container-org492aabc" class="outline-4">
<h4 id="org492aabc"><span class="section-number-4">2.2.2</span> HAC - DVF</h4>
<div id="outline-container-orgdd8b824" class="outline-4">
<h4 id="orgdd8b824"><span class="section-number-4">2.2.2</span> HAC - DVF</h4>
<div class="outline-text-4" id="text-2-2-2">
<div class="org-src-container">
<pre class="src src-matlab">controller = initializeController(<span class="org-string">'type'</span>, <span class="org-string">'dvf'</span>);
@ -987,8 +986,8 @@ There are mainly three different cases:
</ol>
</div>
<div id="outline-container-orga3f0f82" class="outline-3">
<h3 id="orga3f0f82"><span class="section-number-3">3.1</span> Initialization</h3>
<div id="outline-container-org99665a2" class="outline-3">
<h3 id="org99665a2"><span class="section-number-3">3.1</span> Initialization</h3>
<div class="outline-text-3" id="text-3-1">
<p>
We first initialize the Stewart platform.
@ -1019,8 +1018,8 @@ payload = initializePayload(<span class="org-string">'type'</span>, <span class=
</div>
</div>
<div id="outline-container-orgab56a44" class="outline-3">
<h3 id="orgab56a44"><span class="section-number-3">3.2</span> Identification</h3>
<div id="outline-container-org42a5e98" class="outline-3">
<h3 id="org42a5e98"><span class="section-number-3">3.2</span> Identification</h3>
<div class="outline-text-3" id="text-3-2">
<div class="org-src-container">
<pre class="src src-matlab">controller = initializeController(<span class="org-string">'type'</span>, <span class="org-string">'dvf'</span>);
@ -1135,8 +1134,8 @@ The overall controller is then \(K(s) = W_1 K_s(s)\) as shown in Figure <a href=
</div>
</div>
<div id="outline-container-org4e0fae0" class="outline-4">
<h4 id="org4e0fae0"><span class="section-number-4">3.3.3</span> Results</h4>
<div id="outline-container-orgf7c304f" class="outline-4">
<h4 id="orgf7c304f"><span class="section-number-4">3.3.3</span> Results</h4>
<div class="outline-text-4" id="text-3-3-3">
<p>
We identify the transmissibility and compliance of the Stewart platform under open-loop and closed-loop control.
@ -1184,8 +1183,8 @@ The results are shown in figure
<h2 id="org846cef9"><span class="section-number-2">4</span> Time Domain Simulation</h2>
<div class="outline-text-2" id="text-4">
</div>
<div id="outline-container-org58e2ab0" class="outline-3">
<h3 id="org58e2ab0"><span class="section-number-3">4.1</span> Initialization</h3>
<div id="outline-container-org2a9e89f" class="outline-3">
<h3 id="org2a9e89f"><span class="section-number-3">4.1</span> Initialization</h3>
<div class="outline-text-3" id="text-4-1">
<p>
We first initialize the Stewart platform.
@ -1308,8 +1307,8 @@ K_hac_dvf = inv(stewart.kinematics.J<span class="org-type">'</span>)<span class=
</div>
</div>
<div id="outline-container-orgf7c304f" class="outline-3">
<h3 id="orgf7c304f"><span class="section-number-3">4.4</span> Results</h3>
<div id="outline-container-org65730fb" class="outline-3">
<h3 id="org65730fb"><span class="section-number-3">4.4</span> Results</h3>
<div class="outline-text-3" id="text-4-4">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
@ -1418,7 +1417,7 @@ ylabel(<span class="org-string">'Orientation error [rad]'</span>);
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-03-13 ven. 10:34</p>
<p class="date">Created: 2020-03-16 lun. 11:21</p>
</div>
</body>
</html>

View File

@ -46,6 +46,8 @@ Things to add:
- cite:beijen18_exper_estim_trans_matric_indus
- cite:xie17_model_contr_hybrid_passiv_activ
- cite:chi15_desig_exper_study_vcm_based
- cite:guo08_cascad_contr_hydraul_driven_paral
- cite:zheng18_stewar_isolat_with_high_static
* Books
| | <c> |

View File

@ -610,7 +610,7 @@ This will simplify the design of the controller as all the elements of the diago
#+end_src
#+name: fig:plant_centralized_L
#+caption: Diagonal and off-diagonal elements of the plant $\bm{K}\bm{G}$ ([[./figs/plant_centralized_L.png][png]], [[./figs/plant_centralized_L.pdf][pdf]])
#+caption: Diagonal and off-diagonal elements of the plant $\bm{J}\bm{G}$ ([[./figs/plant_centralized_L.png][png]], [[./figs/plant_centralized_L.pdf][pdf]])
[[file:figs/plant_centralized_L.png]]
We can see that this *totally decouples the system at low frequency*.

View File

@ -39,17 +39,6 @@
:END:
* Introduction :ignore:
Control architectures can be divided in different ways.
It can depend on the sensor used:
- Sensors located in each strut: relative motion, force sensor, inertial sensor
- Sensors measuring the relative motion between the fixed base and the mobile platform
- Inertial sensors located on the mobile platform
It can also depends on the control objective:
- Reference Tracking
- Active Damping
- Vibration Isolation
* HAC-LAC (Cascade) Control - Integral Control
** Introduction

View File

@ -1330,3 +1330,33 @@
url = {https://doi.org/10.1016/j.actaastro.2020.02.033},
tags = {parallel robot},
}
@article{guo08_cascad_contr_hydraul_driven_paral,
author = {HongBo Guo and YongGuang Liu and GuiRong Liu and HongRen
Li},
title = {Cascade Control of a Hydraulically Driven 6-dof Parallel
Robot Manipulator Based on a Sliding Mode},
journal = {Control Engineering Practice},
volume = 16,
number = 9,
pages = {1055-1068},
year = 2008,
doi = {10.1016/j.conengprac.2007.11.005},
url = {https://doi.org/10.1016/j.conengprac.2007.11.005},
tags = {parallel robot},
}
@article{zheng18_stewar_isolat_with_high_static,
author = {Yisheng Zheng and Qingpin Li and Bo Yan and Yajun Luo and
Xinong Zhang},
title = {A Stewart Isolator With High-Static-Low-Dynamic Stiffness
Struts Based on Negative Stiffness Magnetic Springs},
journal = {Journal of Sound and Vibration},
volume = 422,
number = {nil},
pages = {390-408},
year = 2018,
doi = {10.1016/j.jsv.2018.02.046},
url = {https://doi.org/10.1016/j.jsv.2018.02.046},
tags = {parallel robot},
}