Rework the control files
This commit is contained in:
parent
158fc1d065
commit
2a5c629df7
@ -1,10 +1,11 @@
|
||||
<?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-12 jeu. 18:06 -->
|
||||
<!-- 2020-03-13 ven. 10:34 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Stewart Platform - Decentralized Active Damping</title>
|
||||
@ -246,35 +247,35 @@
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgd59c804">1. Inertial Control</a>
|
||||
<li><a href="#orgc22d5d6">1. Inertial Control</a>
|
||||
<ul>
|
||||
<li><a href="#org5f749c8">1.1. Identification of the Dynamics</a></li>
|
||||
<li><a href="#org81b6713">1.2. Effect of the Flexible Joint stiffness and Actuator amplification on the Dynamics</a></li>
|
||||
<li><a href="#orge328103">1.3. Obtained Damping</a></li>
|
||||
<li><a href="#org48c963f">1.4. Conclusion</a></li>
|
||||
<li><a href="#org1671c0b">1.1. Identification of the Dynamics</a></li>
|
||||
<li><a href="#org89b6ab8">1.2. Effect of the Flexible Joint stiffness and Actuator amplification on the Dynamics</a></li>
|
||||
<li><a href="#orgf4665ef">1.3. Obtained Damping</a></li>
|
||||
<li><a href="#orgf2dd409">1.4. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org74c7eb4">2. Integral Force Feedback</a>
|
||||
<li><a href="#org89e426a">2. Integral Force Feedback</a>
|
||||
<ul>
|
||||
<li><a href="#org5364f58">2.1. Identification of the Dynamics with perfect Joints</a></li>
|
||||
<li><a href="#org2656032">2.2. Effect of the Flexible Joint stiffness and Actuator amplification on the Dynamics</a></li>
|
||||
<li><a href="#org55bd5fb">2.3. Obtained Damping</a></li>
|
||||
<li><a href="#org4e07d49">2.4. Conclusion</a></li>
|
||||
<li><a href="#orgbcaaa33">2.1. Identification of the Dynamics with perfect Joints</a></li>
|
||||
<li><a href="#org422d0e7">2.2. Effect of the Flexible Joint stiffness and Actuator amplification on the Dynamics</a></li>
|
||||
<li><a href="#orgbf1f2d6">2.3. Obtained Damping</a></li>
|
||||
<li><a href="#orgb9ae491">2.4. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org08917d6">3. Direct Velocity Feedback</a>
|
||||
<li><a href="#org47a29be">3. Direct Velocity Feedback</a>
|
||||
<ul>
|
||||
<li><a href="#org693d6f2">3.1. Identification of the Dynamics with perfect Joints</a></li>
|
||||
<li><a href="#org07bfe55">3.2. Effect of the Flexible Joint stiffness and Actuator amplification on the Dynamics</a></li>
|
||||
<li><a href="#org6f708ec">3.3. Obtained Damping</a></li>
|
||||
<li><a href="#org12f722c">3.4. Conclusion</a></li>
|
||||
<li><a href="#orge88ed78">3.1. Identification of the Dynamics with perfect Joints</a></li>
|
||||
<li><a href="#org8ebebbc">3.2. Effect of the Flexible Joint stiffness and Actuator amplification on the Dynamics</a></li>
|
||||
<li><a href="#org9dac8fd">3.3. Obtained Damping</a></li>
|
||||
<li><a href="#org8c078af">3.4. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org183f3f2">4. Compliance and Transmissibility Comparison</a>
|
||||
<li><a href="#orgc84bb75">4. Compliance and Transmissibility Comparison</a>
|
||||
<ul>
|
||||
<li><a href="#org0ed1499">4.1. Initialization</a></li>
|
||||
<li><a href="#orgcd64c04">4.2. Identification</a></li>
|
||||
<li><a href="#orgd30c62d">4.3. Results</a></li>
|
||||
<li><a href="#orgebeb03b">4.1. Initialization</a></li>
|
||||
<li><a href="#orgdde930c">4.2. Identification</a></li>
|
||||
<li><a href="#orgcfd0381">4.3. Results</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -285,16 +286,16 @@
|
||||
The following decentralized active damping techniques are briefly studied:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>Inertial Control (proportional feedback of the absolute velocity): Section <a href="#orgeb37c7d">1</a></li>
|
||||
<li>Integral Force Feedback: Section <a href="#orgab5e6b5">2</a></li>
|
||||
<li>Direct feedback of the relative velocity of each strut: Section <a href="#org0aa816a">3</a></li>
|
||||
<li>Inertial Control (proportional feedback of the absolute velocity): Section <a href="#orgb2aa4b3">1</a></li>
|
||||
<li>Integral Force Feedback: Section <a href="#org44cadc6">2</a></li>
|
||||
<li>Direct feedback of the relative velocity of each strut: Section <a href="#orgbdd1eba">3</a></li>
|
||||
</ul>
|
||||
|
||||
<div id="outline-container-orgd59c804" class="outline-2">
|
||||
<h2 id="orgd59c804"><span class="section-number-2">1</span> Inertial Control</h2>
|
||||
<div id="outline-container-orgc22d5d6" class="outline-2">
|
||||
<h2 id="orgc22d5d6"><span class="section-number-2">1</span> Inertial Control</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
<a id="orgeb37c7d"></a>
|
||||
<a id="orgb2aa4b3"></a>
|
||||
</p>
|
||||
|
||||
<div class="note">
|
||||
@ -309,8 +310,8 @@ To run the script, open the Simulink Project, and type <code>run active_damping_
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5f749c8" class="outline-3">
|
||||
<h3 id="org5f749c8"><span class="section-number-3">1.1</span> Identification of the Dynamics</h3>
|
||||
<div id="outline-container-org1671c0b" class="outline-3">
|
||||
<h3 id="org1671c0b"><span class="section-number-3">1.1</span> Identification of the Dynamics</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">stewart = initializeStewartPlatform();
|
||||
@ -355,10 +356,10 @@ G.OutputName = {<span class="org-string">'Vm1'</span>, <span class="org-string">
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The transfer function from actuator forces to force sensors is shown in Figure <a href="#org834d990">1</a>.
|
||||
The transfer function from actuator forces to force sensors is shown in Figure <a href="#org116ea42">1</a>.
|
||||
</p>
|
||||
|
||||
<div id="org834d990" class="figure">
|
||||
<div id="org116ea42" class="figure">
|
||||
<p><img src="figs/inertial_plant_coupling.png" alt="inertial_plant_coupling.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 1: </span>Transfer function from the Actuator force \(F_{i}\) to the absolute velocity of the same leg \(v_{m,i}\) and to the absolute velocity of the other legs \(v_{m,j}\) with \(i \neq j\) in grey (<a href="./figs/inertial_plant_coupling.png">png</a>, <a href="./figs/inertial_plant_coupling.pdf">pdf</a>)</p>
|
||||
@ -366,8 +367,8 @@ The transfer function from actuator forces to force sensors is shown in Figure <
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org81b6713" class="outline-3">
|
||||
<h3 id="org81b6713"><span class="section-number-3">1.2</span> Effect of the Flexible Joint stiffness and Actuator amplification on the Dynamics</h3>
|
||||
<div id="outline-container-org89b6ab8" class="outline-3">
|
||||
<h3 id="org89b6ab8"><span class="section-number-3">1.2</span> Effect of the Flexible Joint stiffness and Actuator amplification on the Dynamics</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
We add some stiffness and damping in the flexible joints and we re-identify the dynamics.
|
||||
@ -392,10 +393,10 @@ Ga.OutputName = {<span class="org-string">'Vm1'</span>, <span class="org-string"
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The new dynamics from force actuator to force sensor is shown in Figure <a href="#org683c779">2</a>.
|
||||
The new dynamics from force actuator to force sensor is shown in Figure <a href="#org620efcd">2</a>.
|
||||
</p>
|
||||
|
||||
<div id="org683c779" class="figure">
|
||||
<div id="org620efcd" class="figure">
|
||||
<p><img src="figs/inertial_plant_flexible_joint_decentralized.png" alt="inertial_plant_flexible_joint_decentralized.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 2: </span>Transfer function from the Actuator force \(F_{i}\) to the absolute velocity sensor \(v_{m,i}\) (<a href="./figs/inertial_plant_flexible_joint_decentralized.png">png</a>, <a href="./figs/inertial_plant_flexible_joint_decentralized.pdf">pdf</a>)</p>
|
||||
@ -403,8 +404,8 @@ The new dynamics from force actuator to force sensor is shown in Figure <a href=
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge328103" class="outline-3">
|
||||
<h3 id="orge328103"><span class="section-number-3">1.3</span> Obtained Damping</h3>
|
||||
<div id="outline-container-orgf4665ef" class="outline-3">
|
||||
<h3 id="orgf4665ef"><span class="section-number-3">1.3</span> Obtained Damping</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
The control is a performed in a decentralized manner.
|
||||
@ -418,10 +419,10 @@ The \(6 \times 6\) control is a diagonal matrix with pure proportional action on
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The root locus is shown in figure <a href="#org9af9e33">3</a>.
|
||||
The root locus is shown in figure <a href="#org9cabaee">3</a>.
|
||||
</p>
|
||||
|
||||
<div id="org9af9e33" class="figure">
|
||||
<div id="org9cabaee" class="figure">
|
||||
<p><img src="figs/root_locus_inertial_rot_stiffness.png" alt="root_locus_inertial_rot_stiffness.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 3: </span>Root Locus plot with Decentralized Inertial Control when considering the stiffness of flexible joints (<a href="./figs/root_locus_inertial_rot_stiffness.png">png</a>, <a href="./figs/root_locus_inertial_rot_stiffness.pdf">pdf</a>)</p>
|
||||
@ -429,8 +430,8 @@ The root locus is shown in figure <a href="#org9af9e33">3</a>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org48c963f" class="outline-3">
|
||||
<h3 id="org48c963f"><span class="section-number-3">1.4</span> Conclusion</h3>
|
||||
<div id="outline-container-orgf2dd409" class="outline-3">
|
||||
<h3 id="orgf2dd409"><span class="section-number-3">1.4</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="important">
|
||||
<p>
|
||||
@ -442,11 +443,11 @@ We do not have guaranteed stability with Inertial control. This is because of th
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org74c7eb4" class="outline-2">
|
||||
<h2 id="org74c7eb4"><span class="section-number-2">2</span> Integral Force Feedback</h2>
|
||||
<div id="outline-container-org89e426a" class="outline-2">
|
||||
<h2 id="org89e426a"><span class="section-number-2">2</span> Integral Force Feedback</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
<a id="orgab5e6b5"></a>
|
||||
<a id="org44cadc6"></a>
|
||||
</p>
|
||||
|
||||
<div class="note">
|
||||
@ -461,8 +462,8 @@ To run the script, open the Simulink Project, and type <code>run active_damping_
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5364f58" class="outline-3">
|
||||
<h3 id="org5364f58"><span class="section-number-3">2.1</span> Identification of the Dynamics with perfect Joints</h3>
|
||||
<div id="outline-container-orgbcaaa33" class="outline-3">
|
||||
<h3 id="orgbcaaa33"><span class="section-number-3">2.1</span> Identification of the Dynamics with perfect Joints</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
We first initialize the Stewart platform without joint stiffness.
|
||||
@ -509,10 +510,10 @@ G.OutputName = {<span class="org-string">'Fm1'</span>, <span class="org-string">
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The transfer function from actuator forces to force sensors is shown in Figure <a href="#org3fca9dd">4</a>.
|
||||
The transfer function from actuator forces to force sensors is shown in Figure <a href="#org8f016dc">4</a>.
|
||||
</p>
|
||||
|
||||
<div id="org3fca9dd" class="figure">
|
||||
<div id="org8f016dc" class="figure">
|
||||
<p><img src="figs/iff_plant_coupling.png" alt="iff_plant_coupling.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 4: </span>Transfer function from the Actuator force \(F_{i}\) to the Force sensor of the same leg \(F_{m,i}\) and to the force sensor of the other legs \(F_{m,j}\) with \(i \neq j\) in grey (<a href="./figs/iff_plant_coupling.png">png</a>, <a href="./figs/iff_plant_coupling.pdf">pdf</a>)</p>
|
||||
@ -520,8 +521,8 @@ The transfer function from actuator forces to force sensors is shown in Figure <
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2656032" class="outline-3">
|
||||
<h3 id="org2656032"><span class="section-number-3">2.2</span> Effect of the Flexible Joint stiffness and Actuator amplification on the Dynamics</h3>
|
||||
<div id="outline-container-org422d0e7" class="outline-3">
|
||||
<h3 id="org422d0e7"><span class="section-number-3">2.2</span> Effect of the Flexible Joint stiffness and Actuator amplification on the Dynamics</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
We add some stiffness and damping in the flexible joints and we re-identify the dynamics.
|
||||
@ -546,10 +547,10 @@ Ga.OutputName = {<span class="org-string">'Fm1'</span>, <span class="org-string"
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The new dynamics from force actuator to force sensor is shown in Figure <a href="#org090868b">5</a>.
|
||||
The new dynamics from force actuator to force sensor is shown in Figure <a href="#org4a92e1b">5</a>.
|
||||
</p>
|
||||
|
||||
<div id="org090868b" class="figure">
|
||||
<div id="org4a92e1b" class="figure">
|
||||
<p><img src="figs/iff_plant_flexible_joint_decentralized.png" alt="iff_plant_flexible_joint_decentralized.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 5: </span>Transfer function from the Actuator force \(F_{i}\) to the force sensor \(F_{m,i}\) (<a href="./figs/iff_plant_flexible_joint_decentralized.png">png</a>, <a href="./figs/iff_plant_flexible_joint_decentralized.pdf">pdf</a>)</p>
|
||||
@ -557,8 +558,8 @@ The new dynamics from force actuator to force sensor is shown in Figure <a href=
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org55bd5fb" class="outline-3">
|
||||
<h3 id="org55bd5fb"><span class="section-number-3">2.3</span> Obtained Damping</h3>
|
||||
<div id="outline-container-orgbf1f2d6" class="outline-3">
|
||||
<h3 id="orgbf1f2d6"><span class="section-number-3">2.3</span> Obtained Damping</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
The control is a performed in a decentralized manner.
|
||||
@ -572,17 +573,17 @@ The \(6 \times 6\) control is a diagonal matrix with pure integration action on
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The root locus is shown in figure <a href="#orge21bbea">6</a> and the obtained pole damping function of the control gain is shown in figure <a href="#org94d6943">7</a>.
|
||||
The root locus is shown in figure <a href="#orgc8981ba">6</a> and the obtained pole damping function of the control gain is shown in figure <a href="#orgd7fefc7">7</a>.
|
||||
</p>
|
||||
|
||||
<div id="orge21bbea" class="figure">
|
||||
<div id="orgc8981ba" class="figure">
|
||||
<p><img src="figs/root_locus_iff_rot_stiffness.png" alt="root_locus_iff_rot_stiffness.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 6: </span>Root Locus plot with Decentralized Integral Force Feedback when considering the stiffness of flexible joints (<a href="./figs/root_locus_iff_rot_stiffness.png">png</a>, <a href="./figs/root_locus_iff_rot_stiffness.pdf">pdf</a>)</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org94d6943" class="figure">
|
||||
<div id="orgd7fefc7" class="figure">
|
||||
<p><img src="figs/pole_damping_gain_iff_rot_stiffness.png" alt="pole_damping_gain_iff_rot_stiffness.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 7: </span>Damping of the poles with respect to the gain of the Decentralized Integral Force Feedback when considering the stiffness of flexible joints (<a href="./figs/pole_damping_gain_iff_rot_stiffness.png">png</a>, <a href="./figs/pole_damping_gain_iff_rot_stiffness.pdf">pdf</a>)</p>
|
||||
@ -590,8 +591,8 @@ The root locus is shown in figure <a href="#orge21bbea">6</a> and the obtained p
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4e07d49" class="outline-3">
|
||||
<h3 id="org4e07d49"><span class="section-number-3">2.4</span> Conclusion</h3>
|
||||
<div id="outline-container-orgb9ae491" class="outline-3">
|
||||
<h3 id="orgb9ae491"><span class="section-number-3">2.4</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<div class="important">
|
||||
<p>
|
||||
@ -604,11 +605,11 @@ Thus, if Integral Force Feedback is to be used in a Stewart platform with flexib
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org08917d6" class="outline-2">
|
||||
<h2 id="org08917d6"><span class="section-number-2">3</span> Direct Velocity Feedback</h2>
|
||||
<div id="outline-container-org47a29be" class="outline-2">
|
||||
<h2 id="org47a29be"><span class="section-number-2">3</span> Direct Velocity Feedback</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
<a id="org0aa816a"></a>
|
||||
<a id="orgbdd1eba"></a>
|
||||
</p>
|
||||
|
||||
<div class="note">
|
||||
@ -623,8 +624,8 @@ To run the script, open the Simulink Project, and type <code>run active_damping_
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org693d6f2" class="outline-3">
|
||||
<h3 id="org693d6f2"><span class="section-number-3">3.1</span> Identification of the Dynamics with perfect Joints</h3>
|
||||
<div id="outline-container-orge88ed78" class="outline-3">
|
||||
<h3 id="orge88ed78"><span class="section-number-3">3.1</span> Identification of the Dynamics with perfect Joints</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
We first initialize the Stewart platform without joint stiffness.
|
||||
@ -675,10 +676,10 @@ G.OutputName = {<span class="org-string">'Dm1'</span>, <span class="org-string">
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The transfer function from actuator forces to relative motion sensors is shown in Figure <a href="#orgcc86228">8</a>.
|
||||
The transfer function from actuator forces to relative motion sensors is shown in Figure <a href="#org6de423c">8</a>.
|
||||
</p>
|
||||
|
||||
<div id="orgcc86228" class="figure">
|
||||
<div id="org6de423c" class="figure">
|
||||
<p><img src="figs/dvf_plant_coupling.png" alt="dvf_plant_coupling.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 8: </span>Transfer function from the Actuator force \(F_{i}\) to the Relative Motion Sensor \(D_{m,j}\) with \(i \neq j\) (<a href="./figs/dvf_plant_coupling.png">png</a>, <a href="./figs/dvf_plant_coupling.pdf">pdf</a>)</p>
|
||||
@ -687,8 +688,8 @@ The transfer function from actuator forces to relative motion sensors is shown i
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org07bfe55" class="outline-3">
|
||||
<h3 id="org07bfe55"><span class="section-number-3">3.2</span> Effect of the Flexible Joint stiffness and Actuator amplification on the Dynamics</h3>
|
||||
<div id="outline-container-org8ebebbc" class="outline-3">
|
||||
<h3 id="org8ebebbc"><span class="section-number-3">3.2</span> Effect of the Flexible Joint stiffness and Actuator amplification on the Dynamics</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
We add some stiffness and damping in the flexible joints and we re-identify the dynamics.
|
||||
@ -713,10 +714,10 @@ Ga.OutputName = {<span class="org-string">'Dm1'</span>, <span class="org-string"
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The new dynamics from force actuator to relative motion sensor is shown in Figure <a href="#org5a86447">9</a>.
|
||||
The new dynamics from force actuator to relative motion sensor is shown in Figure <a href="#org5f559a9">9</a>.
|
||||
</p>
|
||||
|
||||
<div id="org5a86447" class="figure">
|
||||
<div id="org5f559a9" class="figure">
|
||||
<p><img src="figs/dvf_plant_flexible_joint_decentralized.png" alt="dvf_plant_flexible_joint_decentralized.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 9: </span>Transfer function from the Actuator force \(F_{i}\) to the relative displacement sensor \(D_{m,i}\) (<a href="./figs/dvf_plant_flexible_joint_decentralized.png">png</a>, <a href="./figs/dvf_plant_flexible_joint_decentralized.pdf">pdf</a>)</p>
|
||||
@ -724,8 +725,8 @@ The new dynamics from force actuator to relative motion sensor is shown in Figur
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6f708ec" class="outline-3">
|
||||
<h3 id="org6f708ec"><span class="section-number-3">3.3</span> Obtained Damping</h3>
|
||||
<div id="outline-container-org9dac8fd" class="outline-3">
|
||||
<h3 id="org9dac8fd"><span class="section-number-3">3.3</span> Obtained Damping</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<p>
|
||||
The control is a performed in a decentralized manner.
|
||||
@ -739,10 +740,10 @@ The \(6 \times 6\) control is a diagonal matrix with pure derivative action on t
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The root locus is shown in figure <a href="#org277d60d">10</a>.
|
||||
The root locus is shown in figure <a href="#org5e168d0">10</a>.
|
||||
</p>
|
||||
|
||||
<div id="org277d60d" class="figure">
|
||||
<div id="org5e168d0" class="figure">
|
||||
<p><img src="figs/root_locus_dvf_rot_stiffness.png" alt="root_locus_dvf_rot_stiffness.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 10: </span>Root Locus plot with Direct Velocity Feedback when considering the Stiffness of flexible joints (<a href="./figs/root_locus_dvf_rot_stiffness.png">png</a>, <a href="./figs/root_locus_dvf_rot_stiffness.pdf">pdf</a>)</p>
|
||||
@ -750,8 +751,8 @@ The root locus is shown in figure <a href="#org277d60d">10</a>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org12f722c" class="outline-3">
|
||||
<h3 id="org12f722c"><span class="section-number-3">3.4</span> Conclusion</h3>
|
||||
<div id="outline-container-org8c078af" class="outline-3">
|
||||
<h3 id="org8c078af"><span class="section-number-3">3.4</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-3-4">
|
||||
<div class="important">
|
||||
<p>
|
||||
@ -763,12 +764,12 @@ Joint stiffness does increase the resonance frequencies of the system but does n
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org183f3f2" class="outline-2">
|
||||
<h2 id="org183f3f2"><span class="section-number-2">4</span> Compliance and Transmissibility Comparison</h2>
|
||||
<div id="outline-container-orgc84bb75" class="outline-2">
|
||||
<h2 id="orgc84bb75"><span class="section-number-2">4</span> Compliance and Transmissibility Comparison</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org0ed1499" class="outline-3">
|
||||
<h3 id="org0ed1499"><span class="section-number-3">4.1</span> Initialization</h3>
|
||||
<div id="outline-container-orgebeb03b" class="outline-3">
|
||||
<h3 id="orgebeb03b"><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 without joint stiffness.
|
||||
@ -800,8 +801,8 @@ controller = initializeController(<span class="org-string">'type'</span>, <span
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd64c04" class="outline-3">
|
||||
<h3 id="orgcd64c04"><span class="section-number-3">4.2</span> Identification</h3>
|
||||
<div id="outline-container-orgdde930c" class="outline-3">
|
||||
<h3 id="orgdde930c"><span class="section-number-3">4.2</span> Identification</h3>
|
||||
<div class="outline-text-3" id="text-4-2">
|
||||
<p>
|
||||
Let’s first identify the transmissibility and compliance in the open-loop case.
|
||||
@ -839,25 +840,25 @@ K_dvf = 1e4<span class="org-type">*</span>s<span class="org-type">/</span>(1<spa
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd30c62d" class="outline-3">
|
||||
<h3 id="orgd30c62d"><span class="section-number-3">4.3</span> Results</h3>
|
||||
<div id="outline-container-orgcfd0381" class="outline-3">
|
||||
<h3 id="orgcfd0381"><span class="section-number-3">4.3</span> Results</h3>
|
||||
<div class="outline-text-3" id="text-4-3">
|
||||
|
||||
<div id="org6691389" class="figure">
|
||||
<div id="orgc1f4c92" class="figure">
|
||||
<p><img src="figs/transmissibility_iff_dvf.png" alt="transmissibility_iff_dvf.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 11: </span>Obtained transmissibility for Open-Loop Control (Blue), Integral Force Feedback (Red) and Direct Velocity Feedback (Yellow) (<a href="./figs/transmissibility_iff_dvf.png">png</a>, <a href="./figs/transmissibility_iff_dvf.pdf">pdf</a>)</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="orgd29218a" class="figure">
|
||||
<div id="org2d1b516" class="figure">
|
||||
<p><img src="figs/compliance_iff_dvf.png" alt="compliance_iff_dvf.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 12: </span>Obtained compliance for Open-Loop Control (Blue), Integral Force Feedback (Red) and Direct Velocity Feedback (Yellow) (<a href="./figs/compliance_iff_dvf.png">png</a>, <a href="./figs/compliance_iff_dvf.pdf">pdf</a>)</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org2ee9711" class="figure">
|
||||
<div id="orgf9b6a2b" class="figure">
|
||||
<p><img src="figs/frobenius_norm_T_C_iff_dvf.png" alt="frobenius_norm_T_C_iff_dvf.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 13: </span>Frobenius norm of the Transmissibility and Compliance Matrices (<a href="./figs/frobenius_norm_T_C_iff_dvf.png">png</a>, <a href="./figs/frobenius_norm_T_C_iff_dvf.pdf">pdf</a>)</p>
|
||||
@ -868,7 +869,7 @@ K_dvf = 1e4<span class="org-type">*</span>s<span class="org-type">/</span>(1<spa
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-03-12 jeu. 18:06</p>
|
||||
<p class="date">Created: 2020-03-13 ven. 10:34</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,10 +1,11 @@
|
||||
<?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-12 jeu. 18:06 -->
|
||||
<!-- 2020-03-13 ven. 10:34 -->
|
||||
<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>
|
||||
@ -246,79 +247,79 @@
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org272e7f8">1. HAC-LAC (Cascade) Control - Integral Control</a>
|
||||
<li><a href="#orgf86b757">1. HAC-LAC (Cascade) Control - Integral Control</a>
|
||||
<ul>
|
||||
<li><a href="#orga5c9b98">1.1. Introduction</a></li>
|
||||
<li><a href="#org8418e03">1.2. Initialization</a></li>
|
||||
<li><a href="#org827d3cd">1.3. Identification</a>
|
||||
<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>
|
||||
<ul>
|
||||
<li><a href="#org9a68faf">1.3.1. HAC - Without LAC</a></li>
|
||||
<li><a href="#org2abd2cc">1.3.2. HAC - IFF</a></li>
|
||||
<li><a href="#org65a7b31">1.3.3. HAC - DVF</a></li>
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org61a6098">1.4. Control Architecture</a></li>
|
||||
<li><a href="#orgdca8b1b">1.5. 6x6 Plant Comparison</a></li>
|
||||
<li><a href="#org56a04ba">1.6. HAC - DVF</a>
|
||||
<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>
|
||||
<ul>
|
||||
<li><a href="#org9060c71">1.6.1. Plant</a></li>
|
||||
<li><a href="#org57d2db6">1.6.2. Controller Design</a></li>
|
||||
<li><a href="#orgc77ad88">1.6.3. Obtained Performance</a></li>
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga7519aa">1.7. HAC - IFF</a>
|
||||
<li><a href="#orgd3d2942">1.7. HAC - IFF</a>
|
||||
<ul>
|
||||
<li><a href="#orgdcb3512">1.7.1. Plant</a></li>
|
||||
<li><a href="#org7775b79">1.7.2. Controller Design</a></li>
|
||||
<li><a href="#org37a736f">1.7.3. Obtained Performance</a></li>
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9224c01">1.8. Comparison</a></li>
|
||||
<li><a href="#org81c1767">1.8. Comparison</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgde62390">2. MIMO Analysis</a>
|
||||
<li><a href="#org6f94eba">2. MIMO Analysis</a>
|
||||
<ul>
|
||||
<li><a href="#orgf2ef3bf">2.1. Initialization</a></li>
|
||||
<li><a href="#org169782d">2.2. Identification</a>
|
||||
<li><a href="#orgc26d5f4">2.1. Initialization</a></li>
|
||||
<li><a href="#org308b8f7">2.2. Identification</a>
|
||||
<ul>
|
||||
<li><a href="#org39e10f2">2.2.1. HAC - Without LAC</a></li>
|
||||
<li><a href="#org0f4faf4">2.2.2. HAC - DVF</a></li>
|
||||
<li><a href="#orgf7913d5">2.2.3. Cartesian Frame</a></li>
|
||||
<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="#orgf606814">2.2.3. Cartesian Frame</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf9a6267">2.3. Singular Value Decomposition</a></li>
|
||||
<li><a href="#org8349fa6">2.3. Singular Value Decomposition</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgebf6121">3. Diagonal Control based on the damped plant</a>
|
||||
<li><a href="#orgc8479b7">3. Diagonal Control based on the damped plant</a>
|
||||
<ul>
|
||||
<li><a href="#org8c2f437">3.1. Initialization</a></li>
|
||||
<li><a href="#orge2b1c03">3.2. Identification</a></li>
|
||||
<li><a href="#orgab6bc6f">3.3. Steady State Decoupling</a>
|
||||
<li><a href="#orga3f0f82">3.1. Initialization</a></li>
|
||||
<li><a href="#orgab56a44">3.2. Identification</a></li>
|
||||
<li><a href="#orgae85e0d">3.3. Steady State Decoupling</a>
|
||||
<ul>
|
||||
<li><a href="#orga589a4a">3.3.1. Pre-Compensator Design</a></li>
|
||||
<li><a href="#org9eaf88f">3.3.2. Diagonal Control Design</a></li>
|
||||
<li><a href="#org5d77351">3.3.3. Results</a></li>
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7af13df">3.4. Decoupling at Crossover</a></li>
|
||||
<li><a href="#orgad35bf9">3.4. Decoupling at Crossover</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgde0f265">4. Time Domain Simulation</a>
|
||||
<li><a href="#org846cef9">4. Time Domain Simulation</a>
|
||||
<ul>
|
||||
<li><a href="#org327858f">4.1. Initialization</a></li>
|
||||
<li><a href="#org27ed7aa">4.2. HAC IFF</a></li>
|
||||
<li><a href="#orgfd6afac">4.3. HAC-DVF</a></li>
|
||||
<li><a href="#orgd68da79">4.4. Results</a></li>
|
||||
<li><a href="#org58e2ab0">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>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1ce6b23">5. Functions</a>
|
||||
<li><a href="#org69ebad1">5. Functions</a>
|
||||
<ul>
|
||||
<li><a href="#org9b036f8">5.1. <code>initializeController</code>: Initialize the Controller</a>
|
||||
<li><a href="#orgc7bcc65">5.1. <code>initializeController</code>: Initialize the Controller</a>
|
||||
<ul>
|
||||
<li><a href="#org89608d1">Function description</a></li>
|
||||
<li><a href="#orgb457316">Optional Parameters</a></li>
|
||||
<li><a href="#orgad0bd08">Structure initialization</a></li>
|
||||
<li><a href="#org05c3878">Add Type</a></li>
|
||||
<li><a href="#orgf672f64">Function description</a></li>
|
||||
<li><a href="#org941466e">Optional Parameters</a></li>
|
||||
<li><a href="#org65d3a7d">Structure initialization</a></li>
|
||||
<li><a href="#org32be93f">Add Type</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -327,41 +328,19 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Control architectures can be divided in different ways.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It can depend on the sensor used:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>Sensors located in each strut: relative motion, force sensor, inertial sensor</li>
|
||||
<li>Sensors measuring the relative motion between the fixed base and the mobile platform</li>
|
||||
<li>Inertial sensors located on the mobile platform</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
It can also depends on the control objective:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>Reference Tracking</li>
|
||||
<li>Active Damping</li>
|
||||
<li>Vibration Isolation</li>
|
||||
</ul>
|
||||
|
||||
<div id="outline-container-org272e7f8" class="outline-2">
|
||||
<h2 id="org272e7f8"><span class="section-number-2">1</span> HAC-LAC (Cascade) Control - Integral Control</h2>
|
||||
<div id="outline-container-orgf86b757" class="outline-2">
|
||||
<h2 id="orgf86b757"><span class="section-number-2">1</span> HAC-LAC (Cascade) Control - Integral Control</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orga5c9b98" class="outline-3">
|
||||
<h3 id="orga5c9b98"><span class="section-number-3">1.1</span> Introduction</h3>
|
||||
<div id="outline-container-org3a9f4d4" class="outline-3">
|
||||
<h3 id="org3a9f4d4"><span class="section-number-3">1.1</span> Introduction</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
In this section, we wish to study the use of the High Authority Control - Low Authority Control (HAC-LAC) architecture on the Stewart platform.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The control architectures are shown in Figures <a href="#orgf85634b">1</a> and <a href="#orgd068ad1">2</a>.
|
||||
The control architectures are shown in Figures <a href="#org63523c7">1</a> and <a href="#org7ad8618">2</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -369,7 +348,7 @@ First, the LAC loop is closed (the LAC control is described <a href="active-damp
|
||||
</p>
|
||||
|
||||
|
||||
<div id="orgf85634b" class="figure">
|
||||
<div id="org63523c7" class="figure">
|
||||
<p><img src="figs/control_arch_hac_iff.png" alt="control_arch_hac_iff.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 1: </span>HAC-LAC architecture with IFF</p>
|
||||
@ -377,7 +356,7 @@ First, the LAC loop is closed (the LAC control is described <a href="active-damp
|
||||
|
||||
|
||||
|
||||
<div id="orgd068ad1" class="figure">
|
||||
<div id="org7ad8618" class="figure">
|
||||
<p><img src="figs/control_arch_hac_dvf.png" alt="control_arch_hac_dvf.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 2: </span>HAC-LAC architecture with DVF</p>
|
||||
@ -385,8 +364,8 @@ First, the LAC loop is closed (the LAC control is described <a href="active-damp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8418e03" class="outline-3">
|
||||
<h3 id="org8418e03"><span class="section-number-3">1.2</span> Initialization</h3>
|
||||
<div id="outline-container-org42643f7" class="outline-3">
|
||||
<h3 id="org42643f7"><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.
|
||||
@ -417,8 +396,8 @@ payload = initializePayload(<span class="org-string">'type'</span>, <span class=
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org827d3cd" class="outline-3">
|
||||
<h3 id="org827d3cd"><span class="section-number-3">1.3</span> Identification</h3>
|
||||
<div id="outline-container-orgd24dcff" class="outline-3">
|
||||
<h3 id="orgd24dcff"><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:
|
||||
@ -430,8 +409,8 @@ We identify the transfer function from the actuator forces \(\bm{\tau}\) to the
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9a68faf" class="outline-4">
|
||||
<h4 id="org9a68faf"><span class="section-number-4">1.3.1</span> HAC - Without LAC</h4>
|
||||
<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 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>);
|
||||
@ -456,8 +435,8 @@ G_ol.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-string
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2abd2cc" class="outline-4">
|
||||
<h4 id="org2abd2cc"><span class="section-number-4">1.3.2</span> HAC - IFF</h4>
|
||||
<div id="outline-container-org937f315" class="outline-4">
|
||||
<h4 id="org937f315"><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>);
|
||||
@ -483,8 +462,8 @@ G_iff.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-strin
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org65a7b31" class="outline-4">
|
||||
<h4 id="org65a7b31"><span class="section-number-4">1.3.3</span> HAC - DVF</h4>
|
||||
<div id="outline-container-org83d8630" class="outline-4">
|
||||
<h4 id="org83d8630"><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>);
|
||||
@ -511,8 +490,8 @@ G_dvf.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-strin
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org61a6098" class="outline-3">
|
||||
<h3 id="org61a6098"><span class="section-number-3">1.4</span> Control Architecture</h3>
|
||||
<div id="outline-container-org4d7a6d8" class="outline-3">
|
||||
<h3 id="org4d7a6d8"><span class="section-number-3">1.4</span> Control Architecture</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
We use the Jacobian to express the actuator forces in the cartesian frame, and thus we obtain the transfer functions from \(\bm{\mathcal{F}}\) to \(\bm{\mathcal{X}}\).
|
||||
@ -536,11 +515,11 @@ We then design a controller based on the transfer functions from \(\bm{\mathcal{
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdca8b1b" class="outline-3">
|
||||
<h3 id="orgdca8b1b"><span class="section-number-3">1.5</span> 6x6 Plant Comparison</h3>
|
||||
<div id="outline-container-org3e1b1b7" class="outline-3">
|
||||
<h3 id="org3e1b1b7"><span class="section-number-3">1.5</span> 6x6 Plant Comparison</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
|
||||
<div id="org4aa226f" class="figure">
|
||||
<div id="orgbee4071" class="figure">
|
||||
<p><img src="figs/hac_lac_coupling_jacobian.png" alt="hac_lac_coupling_jacobian.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 3: </span>Norm of the transfer functions from \(\bm{\mathcal{F}}\) to \(\bm{\mathcal{X}}\) (<a href="./figs/hac_lac_coupling_jacobian.png">png</a>, <a href="./figs/hac_lac_coupling_jacobian.pdf">pdf</a>)</p>
|
||||
@ -548,15 +527,15 @@ We then design a controller based on the transfer functions from \(\bm{\mathcal{
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org56a04ba" class="outline-3">
|
||||
<h3 id="org56a04ba"><span class="section-number-3">1.6</span> HAC - DVF</h3>
|
||||
<div id="outline-container-org22da139" class="outline-3">
|
||||
<h3 id="org22da139"><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-org9060c71" class="outline-4">
|
||||
<h4 id="org9060c71"><span class="section-number-4">1.6.1</span> Plant</h4>
|
||||
<div id="outline-container-orgc0e6f7d" class="outline-4">
|
||||
<h4 id="orgc0e6f7d"><span class="section-number-4">1.6.1</span> Plant</h4>
|
||||
<div class="outline-text-4" id="text-1-6-1">
|
||||
|
||||
<div id="orgbe936ef" class="figure">
|
||||
<div id="org487a558" class="figure">
|
||||
<p><img src="figs/hac_lac_plant_dvf.png" alt="hac_lac_plant_dvf.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 4: </span>Diagonal elements of the plant for HAC control when DVF is previously applied (<a href="./figs/hac_lac_plant_dvf.png">png</a>, <a href="./figs/hac_lac_plant_dvf.pdf">pdf</a>)</p>
|
||||
@ -564,8 +543,8 @@ We then design a controller based on the transfer functions from \(\bm{\mathcal{
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org57d2db6" class="outline-4">
|
||||
<h4 id="org57d2db6"><span class="section-number-4">1.6.2</span> Controller Design</h4>
|
||||
<div id="outline-container-org91edbdd" class="outline-4">
|
||||
<h4 id="org91edbdd"><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.
|
||||
@ -583,7 +562,7 @@ Kd_dvf = diag(1<span class="org-type">./</span>abs(diag(freqresp(1<span class="o
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org6fb90ba" class="figure">
|
||||
<div id="org5d0e2e3" class="figure">
|
||||
<p><img src="figs/hac_lac_loop_gain_dvf.png" alt="hac_lac_loop_gain_dvf.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 5: </span>Diagonal elements of the Loop Gain for the HAC control (<a href="./figs/hac_lac_loop_gain_dvf.png">png</a>, <a href="./figs/hac_lac_loop_gain_dvf.pdf">pdf</a>)</p>
|
||||
@ -600,8 +579,8 @@ Finally, we pre-multiply the diagonal controller by \(\bm{J}^{-T}\) prior implem
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc77ad88" class="outline-4">
|
||||
<h4 id="orgc77ad88"><span class="section-number-4">1.6.3</span> Obtained Performance</h4>
|
||||
<div id="outline-container-org5e71990" class="outline-4">
|
||||
<h4 id="org5e71990"><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.
|
||||
@ -629,7 +608,7 @@ We identify the transmissibility and compliance of the system.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="orge8167aa" class="figure">
|
||||
<div id="orga06a318" class="figure">
|
||||
<p><img src="figs/hac_lac_C_T_dvf.png" alt="hac_lac_C_T_dvf.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 6: </span>Obtained Compliance and Transmissibility (<a href="./figs/hac_lac_C_T_dvf.png">png</a>, <a href="./figs/hac_lac_C_T_dvf.pdf">pdf</a>)</p>
|
||||
@ -638,15 +617,15 @@ We identify the transmissibility and compliance of the system.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga7519aa" class="outline-3">
|
||||
<h3 id="orga7519aa"><span class="section-number-3">1.7</span> HAC - IFF</h3>
|
||||
<div id="outline-container-orgd3d2942" class="outline-3">
|
||||
<h3 id="orgd3d2942"><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-orgdcb3512" class="outline-4">
|
||||
<h4 id="orgdcb3512"><span class="section-number-4">1.7.1</span> Plant</h4>
|
||||
<div id="outline-container-org71d45ac" class="outline-4">
|
||||
<h4 id="org71d45ac"><span class="section-number-4">1.7.1</span> Plant</h4>
|
||||
<div class="outline-text-4" id="text-1-7-1">
|
||||
|
||||
<div id="orgcb10b82" class="figure">
|
||||
<div id="org0fc8dea" class="figure">
|
||||
<p><img src="figs/hac_lac_plant_iff.png" alt="hac_lac_plant_iff.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 7: </span>Diagonal elements of the plant for HAC control when IFF is previously applied (<a href="./figs/hac_lac_plant_iff.png">png</a>, <a href="./figs/hac_lac_plant_iff.pdf">pdf</a>)</p>
|
||||
@ -654,8 +633,8 @@ We identify the transmissibility and compliance of the system.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7775b79" class="outline-4">
|
||||
<h4 id="org7775b79"><span class="section-number-4">1.7.2</span> Controller Design</h4>
|
||||
<div id="outline-container-org8236bd6" class="outline-4">
|
||||
<h4 id="org8236bd6"><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.
|
||||
@ -673,7 +652,7 @@ Kd_iff = diag(1<span class="org-type">./</span>abs(diag(freqresp(1<span class="o
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org5ef2d56" class="figure">
|
||||
<div id="org211b595" class="figure">
|
||||
<p><img src="figs/hac_lac_loop_gain_iff.png" alt="hac_lac_loop_gain_iff.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 8: </span>Diagonal elements of the Loop Gain for the HAC control (<a href="./figs/hac_lac_loop_gain_iff.png">png</a>, <a href="./figs/hac_lac_loop_gain_iff.pdf">pdf</a>)</p>
|
||||
@ -690,8 +669,8 @@ Finally, we pre-multiply the diagonal controller by \(\bm{J}^{-T}\) prior implem
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org37a736f" class="outline-4">
|
||||
<h4 id="org37a736f"><span class="section-number-4">1.7.3</span> Obtained Performance</h4>
|
||||
<div id="outline-container-org7810516" class="outline-4">
|
||||
<h4 id="org7810516"><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.
|
||||
@ -719,7 +698,7 @@ We identify the transmissibility and compliance of the system.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="orgfd7029e" class="figure">
|
||||
<div id="orgc47bfe0" class="figure">
|
||||
<p><img src="figs/hac_lac_C_T_iff.png" alt="hac_lac_C_T_iff.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 9: </span>Obtained Compliance and Transmissibility (<a href="./figs/hac_lac_C_T_iff.png">png</a>, <a href="./figs/hac_lac_C_T_iff.pdf">pdf</a>)</p>
|
||||
@ -728,25 +707,25 @@ We identify the transmissibility and compliance of the system.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9224c01" class="outline-3">
|
||||
<h3 id="org9224c01"><span class="section-number-3">1.8</span> Comparison</h3>
|
||||
<div id="outline-container-org81c1767" class="outline-3">
|
||||
<h3 id="org81c1767"><span class="section-number-3">1.8</span> Comparison</h3>
|
||||
<div class="outline-text-3" id="text-1-8">
|
||||
|
||||
<div id="org77494cc" class="figure">
|
||||
<div id="orgf042a3f" class="figure">
|
||||
<p><img src="figs/hac_lac_C_full_comparison.png" alt="hac_lac_C_full_comparison.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 10: </span>Comparison of the norm of the Compliance matrices for the HAC-LAC architecture (<a href="./figs/hac_lac_C_full_comparison.png">png</a>, <a href="./figs/hac_lac_C_full_comparison.pdf">pdf</a>)</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org41b4aec" class="figure">
|
||||
<div id="org5a9df7e" class="figure">
|
||||
<p><img src="figs/hac_lac_T_full_comparison.png" alt="hac_lac_T_full_comparison.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 11: </span>Comparison of the norm of the Transmissibility matrices for the HAC-LAC architecture (<a href="./figs/hac_lac_T_full_comparison.png">png</a>, <a href="./figs/hac_lac_T_full_comparison.pdf">pdf</a>)</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="orgddec129" class="figure">
|
||||
<div id="orgdc12a99" class="figure">
|
||||
<p><img src="figs/hac_lac_C_T_comparison.png" alt="hac_lac_C_T_comparison.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 12: </span>Comparison of the Frobenius norm of the Compliance and Transmissibility for the HAC-LAC architecture with both IFF and DVF (<a href="./figs/hac_lac_C_T_comparison.png">png</a>, <a href="./figs/hac_lac_C_T_comparison.pdf">pdf</a>)</p>
|
||||
@ -755,21 +734,21 @@ We identify the transmissibility and compliance of the system.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgde62390" class="outline-2">
|
||||
<h2 id="orgde62390"><span class="section-number-2">2</span> MIMO Analysis</h2>
|
||||
<div id="outline-container-org6f94eba" class="outline-2">
|
||||
<h2 id="org6f94eba"><span class="section-number-2">2</span> MIMO Analysis</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
Let’s define the system as shown in figure <a href="#orgba6519a">13</a>.
|
||||
Let’s define the system as shown in figure <a href="#orgac8f77c">13</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="orgba6519a" class="figure">
|
||||
<div id="orgac8f77c" class="figure">
|
||||
<p><img src="figs/general_control_names.png" alt="general_control_names.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 13: </span>General Control Architecture</p>
|
||||
</div>
|
||||
|
||||
<table id="org1daae94" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc2ee4b0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 1:</span> Signals definition for the generalized plant</caption>
|
||||
|
||||
<colgroup>
|
||||
@ -847,8 +826,8 @@ Let’s define the system as shown in figure <a href="#orgba6519a">13</a>.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf2ef3bf" class="outline-3">
|
||||
<h3 id="orgf2ef3bf"><span class="section-number-3">2.1</span> Initialization</h3>
|
||||
<div id="outline-container-orgc26d5f4" class="outline-3">
|
||||
<h3 id="orgc26d5f4"><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.
|
||||
@ -879,12 +858,12 @@ payload = initializePayload(<span class="org-string">'type'</span>, <span class=
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org169782d" class="outline-3">
|
||||
<h3 id="org169782d"><span class="section-number-3">2.2</span> Identification</h3>
|
||||
<div id="outline-container-org308b8f7" class="outline-3">
|
||||
<h3 id="org308b8f7"><span class="section-number-3">2.2</span> Identification</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
</div>
|
||||
<div id="outline-container-org39e10f2" class="outline-4">
|
||||
<h4 id="org39e10f2"><span class="section-number-4">2.2.1</span> HAC - Without LAC</h4>
|
||||
<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 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>);
|
||||
@ -909,8 +888,8 @@ G_ol.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-string
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0f4faf4" class="outline-4">
|
||||
<h4 id="org0f4faf4"><span class="section-number-4">2.2.2</span> HAC - DVF</h4>
|
||||
<div id="outline-container-org492aabc" class="outline-4">
|
||||
<h4 id="org492aabc"><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>);
|
||||
@ -936,8 +915,8 @@ G_dvf.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-strin
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf7913d5" class="outline-4">
|
||||
<h4 id="orgf7913d5"><span class="section-number-4">2.2.3</span> Cartesian Frame</h4>
|
||||
<div id="outline-container-orgf606814" class="outline-4">
|
||||
<h4 id="orgf606814"><span class="section-number-4">2.2.3</span> Cartesian Frame</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">Gc_ol = minreal(G_ol)<span class="org-type">/</span>stewart.kinematics.J<span class="org-type">'</span>;
|
||||
@ -951,8 +930,8 @@ Gc_dvf.InputName = {<span class="org-string">'Fx'</span>, <span class="org-strin
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf9a6267" class="outline-3">
|
||||
<h3 id="orgf9a6267"><span class="section-number-3">2.3</span> Singular Value Decomposition</h3>
|
||||
<div id="outline-container-org8349fa6" class="outline-3">
|
||||
<h3 id="org8349fa6"><span class="section-number-3">2.3</span> Singular Value Decomposition</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">freqs = logspace(1, 4, 1000);
|
||||
@ -982,8 +961,8 @@ V_dvf = zeros(6,6,length(freqs));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgebf6121" class="outline-2">
|
||||
<h2 id="orgebf6121"><span class="section-number-2">3</span> Diagonal Control based on the damped plant</h2>
|
||||
<div id="outline-container-orgc8479b7" class="outline-2">
|
||||
<h2 id="orgc8479b7"><span class="section-number-2">3</span> Diagonal Control based on the damped plant</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
From <a class='org-ref-reference' href="#skogestad07_multiv_feedb_contr">skogestad07_multiv_feedb_contr</a>, a simple approach to multivariable control is the following two-step procedure:
|
||||
@ -1008,8 +987,8 @@ There are mainly three different cases:
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8c2f437" class="outline-3">
|
||||
<h3 id="org8c2f437"><span class="section-number-3">3.1</span> Initialization</h3>
|
||||
<div id="outline-container-orga3f0f82" class="outline-3">
|
||||
<h3 id="orga3f0f82"><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.
|
||||
@ -1040,8 +1019,8 @@ payload = initializePayload(<span class="org-string">'type'</span>, <span class=
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge2b1c03" class="outline-3">
|
||||
<h3 id="orge2b1c03"><span class="section-number-3">3.2</span> Identification</h3>
|
||||
<div id="outline-container-orgab56a44" class="outline-3">
|
||||
<h3 id="orgab56a44"><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>);
|
||||
@ -1067,12 +1046,12 @@ G_dvf.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-strin
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgab6bc6f" class="outline-3">
|
||||
<h3 id="orgab6bc6f"><span class="section-number-3">3.3</span> Steady State Decoupling</h3>
|
||||
<div id="outline-container-orgae85e0d" class="outline-3">
|
||||
<h3 id="orgae85e0d"><span class="section-number-3">3.3</span> Steady State Decoupling</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
</div>
|
||||
<div id="outline-container-orga589a4a" class="outline-4">
|
||||
<h4 id="orga589a4a"><span class="section-number-4">3.3.1</span> Pre-Compensator Design</h4>
|
||||
<div id="outline-container-org1e2bbe7" class="outline-4">
|
||||
<h4 id="org1e2bbe7"><span class="section-number-4">3.3.1</span> Pre-Compensator Design</h4>
|
||||
<div class="outline-text-4" id="text-3-3-1">
|
||||
<p>
|
||||
We choose \(W_1 = G^{-1}(0)\).
|
||||
@ -1102,18 +1081,18 @@ In the case of the Stewart platform, the pre-compensator for static decoupling i
|
||||
\end{align*}
|
||||
|
||||
<p>
|
||||
The static decoupled plant is schematic shown in Figure <a href="#org2d65021">14</a> and the bode plots of its diagonal elements are shown in Figure <a href="#org4a3c33d">15</a>.
|
||||
The static decoupled plant is schematic shown in Figure <a href="#org76617c6">14</a> and the bode plots of its diagonal elements are shown in Figure <a href="#org96093e0">15</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org2d65021" class="figure">
|
||||
<div id="org76617c6" class="figure">
|
||||
<p><img src="figs/control_arch_static_decoupling.png" alt="control_arch_static_decoupling.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 14: </span>Static Decoupling of the Stewart platform</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org4a3c33d" class="figure">
|
||||
<div id="org96093e0" class="figure">
|
||||
<p><img src="figs/static_decoupling_diagonal_plant.png" alt="static_decoupling_diagonal_plant.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 15: </span>Bode plot of the diagonal elements of \(G_s(s)\) (<a href="./figs/static_decoupling_diagonal_plant.png">png</a>, <a href="./figs/static_decoupling_diagonal_plant.pdf">pdf</a>)</p>
|
||||
@ -1121,8 +1100,8 @@ The static decoupled plant is schematic shown in Figure <a href="#org2d65021">14
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9eaf88f" class="outline-4">
|
||||
<h4 id="org9eaf88f"><span class="section-number-4">3.3.2</span> Diagonal Control Design</h4>
|
||||
<div id="outline-container-org077e6f6" class="outline-4">
|
||||
<h4 id="org077e6f6"><span class="section-number-4">3.3.2</span> Diagonal Control Design</h4>
|
||||
<div class="outline-text-4" id="text-3-3-2">
|
||||
<p>
|
||||
We design a diagonal controller \(K_s(s)\) that consist of a pure integrator and a lead around the crossover.
|
||||
@ -1139,7 +1118,7 @@ Ks_dvf = diag(1<span class="org-type">./</span>abs(diag(freqresp(1<span class="o
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The overall controller is then \(K(s) = W_1 K_s(s)\) as shown in Figure <a href="#org6068962">16</a>.
|
||||
The overall controller is then \(K(s) = W_1 K_s(s)\) as shown in Figure <a href="#org4d1ce48">16</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1148,7 +1127,7 @@ The overall controller is then \(K(s) = W_1 K_s(s)\) as shown in Figure <a href=
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org6068962" class="figure">
|
||||
<div id="org4d1ce48" class="figure">
|
||||
<p><img src="figs/control_arch_static_decoupling_K.png" alt="control_arch_static_decoupling_K.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 16: </span>Controller including the static decoupling matrix</p>
|
||||
@ -1156,8 +1135,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-org5d77351" class="outline-4">
|
||||
<h4 id="org5d77351"><span class="section-number-4">3.3.3</span> Results</h4>
|
||||
<div id="outline-container-org4e0fae0" class="outline-4">
|
||||
<h4 id="org4e0fae0"><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.
|
||||
@ -1182,7 +1161,7 @@ The results are shown in figure
|
||||
</p>
|
||||
|
||||
|
||||
<div id="orgedc3353" class="figure">
|
||||
<div id="orge29798b" class="figure">
|
||||
<p><img src="figs/static_decoupling_C_T_frobenius_norm.png" alt="static_decoupling_C_T_frobenius_norm.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 17: </span>Frobenius norm of the Compliance and transmissibility matrices (<a href="./figs/static_decoupling_C_T_frobenius_norm.png">png</a>, <a href="./figs/static_decoupling_C_T_frobenius_norm.pdf">pdf</a>)</p>
|
||||
@ -1191,8 +1170,8 @@ The results are shown in figure
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7af13df" class="outline-3">
|
||||
<h3 id="org7af13df"><span class="section-number-3">3.4</span> Decoupling at Crossover</h3>
|
||||
<div id="outline-container-orgad35bf9" class="outline-3">
|
||||
<h3 id="orgad35bf9"><span class="section-number-3">3.4</span> Decoupling at Crossover</h3>
|
||||
<div class="outline-text-3" id="text-3-4">
|
||||
<ul class="org-ul">
|
||||
<li class="off"><code>[ ]</code> Find a method for real approximation of a complex matrix</li>
|
||||
@ -1201,12 +1180,12 @@ The results are shown in figure
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgde0f265" class="outline-2">
|
||||
<h2 id="orgde0f265"><span class="section-number-2">4</span> Time Domain Simulation</h2>
|
||||
<div id="outline-container-org846cef9" class="outline-2">
|
||||
<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-org327858f" class="outline-3">
|
||||
<h3 id="org327858f"><span class="section-number-3">4.1</span> Initialization</h3>
|
||||
<div id="outline-container-org58e2ab0" class="outline-3">
|
||||
<h3 id="org58e2ab0"><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.
|
||||
@ -1242,8 +1221,8 @@ payload = initializePayload(<span class="org-string">'type'</span>, <span class=
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org27ed7aa" class="outline-3">
|
||||
<h3 id="org27ed7aa"><span class="section-number-3">4.2</span> HAC IFF</h3>
|
||||
<div id="outline-container-org8dbc004" class="outline-3">
|
||||
<h3 id="org8dbc004"><span class="section-number-3">4.2</span> HAC IFF</h3>
|
||||
<div class="outline-text-3" id="text-4-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>);
|
||||
@ -1285,8 +1264,8 @@ K_hac_iff = inv(stewart.kinematics.J<span class="org-type">'</span>)<span class=
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfd6afac" class="outline-3">
|
||||
<h3 id="orgfd6afac"><span class="section-number-3">4.3</span> HAC-DVF</h3>
|
||||
<div id="outline-container-org7dc4716" class="outline-3">
|
||||
<h3 id="org7dc4716"><span class="section-number-3">4.3</span> HAC-DVF</h3>
|
||||
<div class="outline-text-3" id="text-4-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>);
|
||||
@ -1329,8 +1308,8 @@ K_hac_dvf = inv(stewart.kinematics.J<span class="org-type">'</span>)<span class=
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd68da79" class="outline-3">
|
||||
<h3 id="orgd68da79"><span class="section-number-3">4.4</span> Results</h3>
|
||||
<div id="outline-container-orgf7c304f" class="outline-3">
|
||||
<h3 id="orgf7c304f"><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>;
|
||||
@ -1358,21 +1337,21 @@ ylabel(<span class="org-string">'Orientation error [rad]'</span>);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1ce6b23" class="outline-2">
|
||||
<h2 id="org1ce6b23"><span class="section-number-2">5</span> Functions</h2>
|
||||
<div id="outline-container-org69ebad1" class="outline-2">
|
||||
<h2 id="org69ebad1"><span class="section-number-2">5</span> Functions</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
</div>
|
||||
<div id="outline-container-org9b036f8" class="outline-3">
|
||||
<h3 id="org9b036f8"><span class="section-number-3">5.1</span> <code>initializeController</code>: Initialize the Controller</h3>
|
||||
<div id="outline-container-orgc7bcc65" class="outline-3">
|
||||
<h3 id="orgc7bcc65"><span class="section-number-3">5.1</span> <code>initializeController</code>: Initialize the Controller</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<p>
|
||||
<a id="org339969f"></a>
|
||||
<a id="org33a5401"></a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org89608d1" class="outline-4">
|
||||
<h4 id="org89608d1">Function description</h4>
|
||||
<div class="outline-text-4" id="text-org89608d1">
|
||||
<div id="outline-container-orgf672f64" class="outline-4">
|
||||
<h4 id="orgf672f64">Function description</h4>
|
||||
<div class="outline-text-4" id="text-orgf672f64">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[controller]</span> = <span class="org-function-name">initializeController</span>(<span class="org-variable-name">args</span>)
|
||||
<span class="org-comment">% initializeController - Initialize the Controller</span>
|
||||
@ -1386,9 +1365,9 @@ ylabel(<span class="org-string">'Orientation error [rad]'</span>);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb457316" class="outline-4">
|
||||
<h4 id="orgb457316">Optional Parameters</h4>
|
||||
<div class="outline-text-4" id="text-orgb457316">
|
||||
<div id="outline-container-org941466e" class="outline-4">
|
||||
<h4 id="org941466e">Optional Parameters</h4>
|
||||
<div class="outline-text-4" id="text-org941466e">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
args.type char {mustBeMember(args.type, {<span class="org-string">'open-loop'</span>, <span class="org-string">'iff'</span>, <span class="org-string">'dvf'</span>, <span class="org-string">'hac-iff'</span>, <span class="org-string">'hac-dvf'</span>, <span class="org-string">'ref-track-L'</span>, <span class="org-string">'ref-track-X'</span>, <span class="org-string">'ref-track-hac-dvf'</span>})} = <span class="org-string">'open-loop'</span>
|
||||
@ -1398,9 +1377,9 @@ ylabel(<span class="org-string">'Orientation error [rad]'</span>);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgad0bd08" class="outline-4">
|
||||
<h4 id="orgad0bd08">Structure initialization</h4>
|
||||
<div class="outline-text-4" id="text-orgad0bd08">
|
||||
<div id="outline-container-org65d3a7d" class="outline-4">
|
||||
<h4 id="org65d3a7d">Structure initialization</h4>
|
||||
<div class="outline-text-4" id="text-org65d3a7d">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">controller = struct();
|
||||
</pre>
|
||||
@ -1408,9 +1387,9 @@ ylabel(<span class="org-string">'Orientation error [rad]'</span>);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org05c3878" class="outline-4">
|
||||
<h4 id="org05c3878">Add Type</h4>
|
||||
<div class="outline-text-4" id="text-org05c3878">
|
||||
<div id="outline-container-org32be93f" class="outline-4">
|
||||
<h4 id="org32be93f">Add Type</h4>
|
||||
<div class="outline-text-4" id="text-org32be93f">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-keyword">switch</span> <span class="org-constant">args.type</span>
|
||||
<span class="org-keyword">case</span> <span class="org-string">'open-loop'</span>
|
||||
@ -1439,7 +1418,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-12 jeu. 18:06</p>
|
||||
<p class="date">Created: 2020-03-13 ven. 10:34</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -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-03-03 mar. 16:04 -->
|
||||
<!-- 2020-03-13 ven. 10:34 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Stewart Platforms</title>
|
||||
@ -241,10 +241,9 @@
|
||||
<li><a href="#orgf1c7b3b">3. Simscape Model of the Stewart Platform (link)</a></li>
|
||||
<li><a href="#org369c8bb">4. Kinematic Analysis (link)</a></li>
|
||||
<li><a href="#org2e3169e">5. Identification of the Stewart Dynamics (link)</a></li>
|
||||
<li><a href="#orgc3a4c87">6. Active Damping (link)</a></li>
|
||||
<li><a href="#org5b4e9b0">7. Motion Control of the Stewart Platform (link)</a></li>
|
||||
<li><a href="#org1f468b1">8. Cubic Configuration (link)</a></li>
|
||||
<li><a href="#orga2bd0e9">9. Bibliography (link)</a></li>
|
||||
<li><a href="#org0fdb910">6. Control</a></li>
|
||||
<li><a href="#org1f468b1">7. Cubic Configuration (link)</a></li>
|
||||
<li><a href="#orga2bd0e9">8. Bibliography (link)</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -349,37 +348,53 @@ The code that is used for identification is explained <a href="identification.ht
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc3a4c87" class="outline-2">
|
||||
<h2 id="orgc3a4c87"><span class="section-number-2">6</span> Active Damping (<a href="active-damping.html">link</a>)</h2>
|
||||
<div id="outline-container-org0fdb910" class="outline-2">
|
||||
<h2 id="org0fdb910"><span class="section-number-2">6</span> Control</h2>
|
||||
<div class="outline-text-2" id="text-6">
|
||||
<p>
|
||||
The use of different sensors are compared for active damping:
|
||||
The use of active control for Stewart platforms is a wide subject.
|
||||
Many aspect can be studied.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The sensors used is of primary important. We can have:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>Inertial Sensor in each strut</li>
|
||||
<li>Inertial Sensor fixed to the mobile platform</li>
|
||||
<li>Force Sensor in each strut</li>
|
||||
<li>Relative Motion Sensor in each strut</li>
|
||||
<li>Sensors located in each strut: relative motion, force sensor, inertial sensor</li>
|
||||
<li>Sensors measuring the relative motion between the fixed base and the mobile platform</li>
|
||||
<li>Inertial sensors located on the mobile platform</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The result of the analysis is accessible <a href="active-damping.html">here</a>.
|
||||
The control objective can also vary:
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="org-ul">
|
||||
<li>Reference Tracking</li>
|
||||
<li>Active Damping</li>
|
||||
<li>Vibration Isolation</li>
|
||||
</ul>
|
||||
|
||||
<div id="outline-container-org5b4e9b0" class="outline-2">
|
||||
<h2 id="org5b4e9b0"><span class="section-number-2">7</span> Motion Control of the Stewart Platform (<a href="control-study.html">link</a>)</h2>
|
||||
<div class="outline-text-2" id="text-7">
|
||||
<p>
|
||||
Some control architecture for motion control of the Stewart platform are applied on the Simscape model and compared in <a href="control-study.html">this</a> document.
|
||||
The Control for Stewart platforms is here studied in the following files:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li><b>Active Damping</b> (<a href="control-active-damping.html">link</a>).
|
||||
The use of different sensors are compared for active damping:
|
||||
<ul class="org-ul">
|
||||
<li>Inertial Sensor in each strut or fixed to the mobile platform</li>
|
||||
<li>Force Sensor in each strut</li>
|
||||
<li>Relative Motion Sensor in each strut</li>
|
||||
</ul></li>
|
||||
<li><b>Motion Control</b> (<a href="control-tracking.html">link</a>).
|
||||
Different control architectures (centralized and decentralized) are compared for the position control of the Stewart platform.</li>
|
||||
<li><b>Vibration Isolation</b> (<a href="control-vibration-isolation.html">link</a>)</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1f468b1" class="outline-2">
|
||||
<h2 id="org1f468b1"><span class="section-number-2">8</span> Cubic Configuration (<a href="cubic-configuration.html">link</a>)</h2>
|
||||
<div class="outline-text-2" id="text-8">
|
||||
<h2 id="org1f468b1"><span class="section-number-2">7</span> Cubic Configuration (<a href="cubic-configuration.html">link</a>)</h2>
|
||||
<div class="outline-text-2" id="text-7">
|
||||
<p>
|
||||
The cubic configuration is a special class of Stewart platform that has interesting properties.
|
||||
</p>
|
||||
@ -391,8 +406,8 @@ These properties are studied in <a href="cubic-configuration.html">this</a> docu
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga2bd0e9" class="outline-2">
|
||||
<h2 id="orga2bd0e9"><span class="section-number-2">9</span> Bibliography (<a href="bibliography.html">link</a>)</h2>
|
||||
<div class="outline-text-2" id="text-9">
|
||||
<h2 id="orga2bd0e9"><span class="section-number-2">8</span> Bibliography (<a href="bibliography.html">link</a>)</h2>
|
||||
<div class="outline-text-2" id="text-8">
|
||||
<p>
|
||||
Many text books, PhD thesis and articles related to parallel robots and Stewart platforms are gathered in <a href="bibliography.html">this</a> document.
|
||||
</p>
|
||||
@ -401,7 +416,7 @@ Many text books, PhD thesis and articles related to parallel robots and Stewart
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-03-03 mar. 16:04</p>
|
||||
<p class="date">Created: 2020-03-13 ven. 10:34</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -63,17 +63,29 @@ It is possible to:
|
||||
|
||||
The code that is used for identification is explained [[file:identification.org][here]].
|
||||
|
||||
* Active Damping ([[file:active-damping.org][link]])
|
||||
The use of different sensors are compared for active damping:
|
||||
- Inertial Sensor in each strut
|
||||
- Inertial Sensor fixed to the mobile platform
|
||||
- Force Sensor in each strut
|
||||
- Relative Motion Sensor in each strut
|
||||
* Control
|
||||
The use of active control for Stewart platforms is a wide subject.
|
||||
Many aspect can be studied.
|
||||
|
||||
The result of the analysis is accessible [[file:active-damping.org][here]].
|
||||
The sensors used is of primary important. We can have:
|
||||
- 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
|
||||
|
||||
* Motion Control of the Stewart Platform ([[file:control-study.org][link]])
|
||||
Some control architecture for motion control of the Stewart platform are applied on the Simscape model and compared in [[file:control-study.org][this]] document.
|
||||
The control objective can also vary:
|
||||
- Reference Tracking
|
||||
- Active Damping
|
||||
- Vibration Isolation
|
||||
|
||||
The Control for Stewart platforms is here studied in the following files:
|
||||
- *Active Damping* ([[file:control-active-damping.org][link]]).
|
||||
The use of different sensors are compared for active damping:
|
||||
- Inertial Sensor in each strut or fixed to the mobile platform
|
||||
- Force Sensor in each strut
|
||||
- Relative Motion Sensor in each strut
|
||||
- *Motion Control* ([[file:control-tracking.org][link]]).
|
||||
Different control architectures (centralized and decentralized) are compared for the position control of the Stewart platform.
|
||||
- *Vibration Isolation* ([[file:control-vibration-isolation.org][link]])
|
||||
|
||||
* Cubic Configuration ([[file:cubic-configuration.org][link]])
|
||||
The cubic configuration is a special class of Stewart platform that has interesting properties.
|
||||
|
Loading…
Reference in New Issue
Block a user