Merge few figures

This commit is contained in:
2020-03-16 11:23:15 +01:00
parent 8fe6e814f2
commit cdecb24470
34 changed files with 252 additions and 374 deletions

View File

@@ -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-13 ven. 13:23 -->
<!-- 2020-03-16 lun. 11:22 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Stewart Platform - Tracking Control</title>
@@ -248,42 +248,42 @@
<ul>
<li><a href="#orgd7b25e5">1. Decentralized Control Architecture using Strut Length</a>
<ul>
<li><a href="#orga470275">1.1. Control Schematic</a></li>
<li><a href="#org3cdd958">1.2. Initialize the Stewart platform</a></li>
<li><a href="#org8ae8979">1.3. Identification of the plant</a></li>
<li><a href="#org486a2e4">1.4. Plant Analysis</a></li>
<li><a href="#org484c823">1.5. Controller Design</a></li>
<li><a href="#org013a9ba">1.6. Simulation</a></li>
<li><a href="#orgaf4f125">1.1. Control Schematic</a></li>
<li><a href="#org5efa5dc">1.2. Initialize the Stewart platform</a></li>
<li><a href="#orgf2a4e09">1.3. Identification of the plant</a></li>
<li><a href="#org346704a">1.4. Plant Analysis</a></li>
<li><a href="#org303d728">1.5. Controller Design</a></li>
<li><a href="#orgac9e2fb">1.6. Simulation</a></li>
<li><a href="#org974b430">1.7. Results</a></li>
<li><a href="#org19a6760">1.8. Conclusion</a></li>
<li><a href="#org8f3d960">1.8. Conclusion</a></li>
</ul>
</li>
<li><a href="#orga519721">2. Centralized Control Architecture using Pose Measurement</a>
<ul>
<li><a href="#orga5acf65">2.1. Control Schematic</a></li>
<li><a href="#org0250b01">2.2. Initialize the Stewart platform</a></li>
<li><a href="#orgf2a4e09">2.3. Identification of the plant</a></li>
<li><a href="#org373826d">2.1. Control Schematic</a></li>
<li><a href="#orgdb540d4">2.2. Initialize the Stewart platform</a></li>
<li><a href="#org7e2bbea">2.3. Identification of the plant</a></li>
<li><a href="#org2223469">2.4. Diagonal Control - Leg&rsquo;s Frame</a>
<ul>
<li><a href="#org8e1e62c">2.4.1. Control Architecture</a></li>
<li><a href="#org133ca61">2.4.2. Plant Analysis</a></li>
<li><a href="#org6afc297">2.4.3. Controller Design</a></li>
<li><a href="#orgdb24c37">2.4.4. Simulation</a></li>
<li><a href="#org42dc407">2.4.1. Control Architecture</a></li>
<li><a href="#org33774e9">2.4.2. Plant Analysis</a></li>
<li><a href="#orgc7ddab1">2.4.3. Controller Design</a></li>
<li><a href="#org3021cf3">2.4.4. Simulation</a></li>
</ul>
</li>
<li><a href="#org26a8857">2.5. Diagonal Control - Cartesian Frame</a>
<ul>
<li><a href="#org0f41ce9">2.5.1. Control Architecture</a></li>
<li><a href="#org9691244">2.5.2. Plant Analysis</a></li>
<li><a href="#org7f32f8e">2.5.3. Controller Design</a></li>
<li><a href="#orgac9e2fb">2.5.4. Simulation</a></li>
<li><a href="#org185190b">2.5.1. Control Architecture</a></li>
<li><a href="#orgac4e8f3">2.5.2. Plant Analysis</a></li>
<li><a href="#org87c1a48">2.5.3. Controller Design</a></li>
<li><a href="#org73875ca">2.5.4. Simulation</a></li>
</ul>
</li>
<li><a href="#orgad7bc54">2.6. Diagonal Control - Steady State Decoupling</a>
<ul>
<li><a href="#org42dc407">2.6.1. Control Architecture</a></li>
<li><a href="#org346704a">2.6.2. Plant Analysis</a></li>
<li><a href="#org8b2a544">2.6.3. Controller Design</a></li>
<li><a href="#orgdeee29c">2.6.1. Control Architecture</a></li>
<li><a href="#org4c98210">2.6.2. Plant Analysis</a></li>
<li><a href="#orgbf66d4c">2.6.3. Controller Design</a></li>
</ul>
</li>
<li><a href="#orga2eadeb">2.7. Comparison</a>
@@ -292,29 +292,29 @@
<li><a href="#org23ae479">2.7.2. Simulation Results</a></li>
</ul>
</li>
<li><a href="#orgc7e00b3">2.8. Conclusion</a></li>
<li><a href="#orgd2764a2">2.8. Conclusion</a></li>
</ul>
</li>
<li><a href="#org4b8c360">3. Hybrid Control Architecture - HAC-LAC with relative DVF</a>
<ul>
<li><a href="#orgaf4f125">3.1. Control Schematic</a></li>
<li><a href="#org5efa5dc">3.2. Initialize the Stewart platform</a></li>
<li><a href="#org539565c">3.1. Control Schematic</a></li>
<li><a href="#orga9bdd4e">3.2. Initialize the Stewart platform</a></li>
<li><a href="#org3274a98">3.3. First Control Loop - \(\bm{K}_\mathcal{L}\)</a>
<ul>
<li><a href="#orgfb552d7">3.3.1. Identification</a></li>
<li><a href="#orge84aa66">3.3.2. Obtained Plant</a></li>
<li><a href="#orgfeef351">3.3.3. Controller Design</a></li>
<li><a href="#orgd69b37c">3.3.1. Identification</a></li>
<li><a href="#org2a634da">3.3.2. Obtained Plant</a></li>
<li><a href="#org23695fa">3.3.3. Controller Design</a></li>
</ul>
</li>
<li><a href="#org8440c0b">3.4. Second Control Loop - \(\bm{K}_\mathcal{X}\)</a>
<ul>
<li><a href="#orgd69b37c">3.4.1. Identification</a></li>
<li><a href="#org2a634da">3.4.2. Obtained Plant</a></li>
<li><a href="#org303d728">3.4.3. Controller Design</a></li>
<li><a href="#orgeec6c35">3.4.1. Identification</a></li>
<li><a href="#org57836ee">3.4.2. Obtained Plant</a></li>
<li><a href="#orgcebb0d5">3.4.3. Controller Design</a></li>
</ul>
</li>
<li><a href="#org74d3dcd">3.5. Simulations</a></li>
<li><a href="#org8f3d960">3.6. Conclusion</a></li>
<li><a href="#org771bea0">3.6. Conclusion</a></li>
</ul>
</li>
<li><a href="#org798d54f">4. Comparison of all the methods</a></li>
@@ -351,11 +351,11 @@ The control configuration are compare in section <a href="#orgb3403cb">4</a>.
<a id="orgea7df6c"></a>
</p>
</div>
<div id="outline-container-orga470275" class="outline-3">
<h3 id="orga470275"><span class="section-number-3">1.1</span> Control Schematic</h3>
<div id="outline-container-orgaf4f125" class="outline-3">
<h3 id="orgaf4f125"><span class="section-number-3">1.1</span> Control Schematic</h3>
<div class="outline-text-3" id="text-1-1">
<p>
The control architecture is shown in Figure <a href="#org4f704a1">1</a>.
The control architecture is shown in Figure <a href="#org897886b">1</a>.
</p>
<p>
@@ -367,16 +367,16 @@ Then, a diagonal (decentralized) controller \(\bm{K}_\mathcal{L}\) is used such
</p>
<div id="org4f704a1" class="figure">
<p><img src="figs/control_measure_rotating_2dof.png" alt="control_measure_rotating_2dof.png" />
<div id="org897886b" class="figure">
<p><img src="figs/decentralized_reference_tracking_L.png" alt="decentralized_reference_tracking_L.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Decentralized control for reference tracking</p>
</div>
</div>
</div>
<div id="outline-container-org3cdd958" class="outline-3">
<h3 id="org3cdd958"><span class="section-number-3">1.2</span> Initialize the Stewart platform</h3>
<div id="outline-container-org5efa5dc" class="outline-3">
<h3 id="org5efa5dc"><span class="section-number-3">1.2</span> Initialize the Stewart platform</h3>
<div class="outline-text-3" id="text-1-2">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-comment">% Stewart Platform</span>
@@ -407,8 +407,8 @@ references = initializeReferences(stewart);
</div>
</div>
<div id="outline-container-org8ae8979" class="outline-3">
<h3 id="org8ae8979"><span class="section-number-3">1.3</span> Identification of the plant</h3>
<div id="outline-container-orgf2a4e09" class="outline-3">
<h3 id="orgf2a4e09"><span class="section-number-3">1.3</span> Identification of the plant</h3>
<div class="outline-text-3" id="text-1-3">
<p>
Let&rsquo;s identify the transfer function from \(\bm{\tau}\) to \(\bm{\mathcal{L}}\).
@@ -431,43 +431,29 @@ G.OutputName = {<span class="org-string">'L1'</span>, <span class="org-string">'
</div>
</div>
<div id="outline-container-org486a2e4" class="outline-3">
<h3 id="org486a2e4"><span class="section-number-3">1.4</span> Plant Analysis</h3>
<div id="outline-container-org346704a" class="outline-3">
<h3 id="org346704a"><span class="section-number-3">1.4</span> Plant Analysis</h3>
<div class="outline-text-3" id="text-1-4">
<p>
The diagonal terms of the plant is shown in Figure <a href="#org8c82316">2</a>.
The diagonal and off-diagonal terms of the plant are shown in Figure <a href="#org50fb6db">2</a>.
</p>
<p>
All the diagonal terms are equal.
</p>
<div id="org8c82316" class="figure">
<p><img src="figs/plant_decentralized_diagonal.png" alt="plant_decentralized_diagonal.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Diagonal Elements of the Plant (<a href="./figs/plant_decentralized_diagonal.png">png</a>, <a href="./figs/plant_decentralized_diagonal.pdf">pdf</a>)</p>
</div>
<p>
The off-diagonal terms are shown in Figure <a href="#org2ba5482">3</a>.
</p>
<p>
We see that the plant is decoupled at low frequency which indicate that decentralized control may be a good idea.
</p>
<div id="org2ba5482" class="figure">
<p><img src="figs/plant_decentralized_off_diagonal.png" alt="plant_decentralized_off_diagonal.png" />
<div id="org50fb6db" class="figure">
<p><img src="figs/plant_decentralized_L.png" alt="plant_decentralized_L.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Diagonal Elements of the Plant (<a href="./figs/plant_decentralized_off_diagonal.png">png</a>, <a href="./figs/plant_decentralized_off_diagonal.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 2: </span>Obtain Diagonal and off diagonal dynamics (<a href="./figs/plant_decentralized_L.png">png</a>, <a href="./figs/plant_decentralized_L.pdf">pdf</a>)</p>
</div>
</div>
</div>
<div id="outline-container-org484c823" class="outline-3">
<h3 id="org484c823"><span class="section-number-3">1.5</span> Controller Design</h3>
<div id="outline-container-org303d728" class="outline-3">
<h3 id="org303d728"><span class="section-number-3">1.5</span> Controller Design</h3>
<div class="outline-text-3" id="text-1-5">
<p>
The controller consists of:
@@ -478,7 +464,7 @@ The controller consists of:
</ul>
<p>
The obtained loop gains corresponding to the diagonal elements are shown in Figure <a href="#org08e591a">4</a>.
The obtained loop gains corresponding to the diagonal elements are shown in Figure <a href="#org08e591a">3</a>.
</p>
<div class="org-src-container">
@@ -491,13 +477,13 @@ Kl = diag(1<span class="org-type">./</span>diag(abs(freqresp(G, wc)))) <span cla
<div id="org08e591a" class="figure">
<p><img src="figs/loop_gain_decentralized_L.png" alt="loop_gain_decentralized_L.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Loop Gain of the diagonal elements (<a href="./figs/loop_gain_decentralized_L.png">png</a>, <a href="./figs/loop_gain_decentralized_L.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 3: </span>Loop Gain of the diagonal elements (<a href="./figs/loop_gain_decentralized_L.png">png</a>, <a href="./figs/loop_gain_decentralized_L.pdf">pdf</a>)</p>
</div>
</div>
</div>
<div id="outline-container-org013a9ba" class="outline-3">
<h3 id="org013a9ba"><span class="section-number-3">1.6</span> Simulation</h3>
<div id="outline-container-orgac9e2fb" class="outline-3">
<h3 id="orgac9e2fb"><span class="section-number-3">1.6</span> Simulation</h3>
<div class="outline-text-3" id="text-1-6">
<p>
Let&rsquo;s define some reference path to follow.
@@ -516,7 +502,7 @@ references = initializeReferences(stewart, <span class="org-string">'t'</span>,
</div>
<p>
The reference path is shown in Figure <a href="#orga6384f7">5</a>.
The reference path is shown in Figure <a href="#orga6384f7">4</a>.
</p>
<div class="org-src-container">
@@ -532,7 +518,7 @@ zlabel(<span class="org-string">'Z [m]'</span>);
<div id="orga6384f7" class="figure">
<p><img src="figs/tracking_control_reference_path.png" alt="tracking_control_reference_path.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Reference path used for Tracking control (<a href="./figs/tracking_control_reference_path.png">png</a>, <a href="./figs/tracking_control_reference_path.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 4: </span>Reference path used for Tracking control (<a href="./figs/tracking_control_reference_path.png">png</a>, <a href="./figs/tracking_control_reference_path.pdf">pdf</a>)</p>
</div>
<div class="org-src-container">
@@ -558,7 +544,7 @@ simout_D = simout;
<h3 id="org974b430"><span class="section-number-3">1.7</span> Results</h3>
<div class="outline-text-3" id="text-1-7">
<p>
The reference path and the position of the mobile platform are shown in Figure <a href="#orge497f54">6</a>.
The reference path and the position of the mobile platform are shown in Figure <a href="#orge497f54">5</a>.
</p>
<div class="org-src-container">
@@ -577,27 +563,27 @@ zlim([0, <span class="org-constant">inf</span>]);
<div id="orge497f54" class="figure">
<p><img src="figs/decentralized_control_3d_pos.png" alt="decentralized_control_3d_pos.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Reference path and Obtained Position (<a href="./figs/decentralized_control_3d_pos.png">png</a>, <a href="./figs/decentralized_control_3d_pos.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 5: </span>Reference path and Obtained Position (<a href="./figs/decentralized_control_3d_pos.png">png</a>, <a href="./figs/decentralized_control_3d_pos.pdf">pdf</a>)</p>
</div>
<div id="org1ac9124" class="figure">
<p><img src="figs/decentralized_control_Ex.png" alt="decentralized_control_Ex.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Position error \(\bm{\epsilon}_\mathcal{X}\) (<a href="./figs/decentralized_control_Ex.png">png</a>, <a href="./figs/decentralized_control_Ex.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 6: </span>Position error \(\bm{\epsilon}_\mathcal{X}\) (<a href="./figs/decentralized_control_Ex.png">png</a>, <a href="./figs/decentralized_control_Ex.pdf">pdf</a>)</p>
</div>
<div id="org10eb8ae" class="figure">
<p><img src="figs/decentralized_control_El.png" alt="decentralized_control_El.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Position error \(\bm{\epsilon}_\mathcal{L}\) (<a href="./figs/decentralized_control_El.png">png</a>, <a href="./figs/decentralized_control_El.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 7: </span>Position error \(\bm{\epsilon}_\mathcal{L}\) (<a href="./figs/decentralized_control_El.png">png</a>, <a href="./figs/decentralized_control_El.pdf">pdf</a>)</p>
</div>
</div>
</div>
<div id="outline-container-org19a6760" class="outline-3">
<h3 id="org19a6760"><span class="section-number-3">1.8</span> Conclusion</h3>
<div id="outline-container-org8f3d960" class="outline-3">
<h3 id="org8f3d960"><span class="section-number-3">1.8</span> Conclusion</h3>
<div class="outline-text-3" id="text-1-8">
<p>
Such control architecture is easy to implement and give good results.
@@ -618,11 +604,11 @@ However, as \(\mathcal{X}\) is not directly measured, it is possible that import
<a id="org48604d1"></a>
</p>
</div>
<div id="outline-container-orga5acf65" class="outline-3">
<h3 id="orga5acf65"><span class="section-number-3">2.1</span> Control Schematic</h3>
<div id="outline-container-org373826d" class="outline-3">
<h3 id="org373826d"><span class="section-number-3">2.1</span> Control Schematic</h3>
<div class="outline-text-3" id="text-2-1">
<p>
The centralized controller takes the position error \(\bm{\epsilon}_\mathcal{X}\) as an inputs and generate actuator forces \(\bm{\tau}\) (see Figure <a href="#org97ec686">9</a>).
The centralized controller takes the position error \(\bm{\epsilon}_\mathcal{X}\) as an inputs and generate actuator forces \(\bm{\tau}\) (see Figure <a href="#org97ec686">8</a>).
The signals are:
</p>
<ul class="org-ul">
@@ -636,7 +622,7 @@ The signals are:
<div id="org97ec686" class="figure">
<p><img src="figs/centralized_reference_tracking.png" alt="centralized_reference_tracking.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Centralized Controller</p>
<p><span class="figure-number">Figure 8: </span>Centralized Controller</p>
</div>
<p>
@@ -649,7 +635,7 @@ We can think of two ways to make the plant more diagonal that are described in s
<div class="important">
<p>
Note here that the subtraction shown in Figure <a href="#org97ec686">9</a> is not a real subtraction.
Note here that the subtraction shown in Figure <a href="#org97ec686">8</a> is not a real subtraction.
It is indeed a more complex computation explained in section <a href="#org5f61540">5</a>.
</p>
@@ -657,8 +643,8 @@ It is indeed a more complex computation explained in section <a href="#org5f6154
</div>
</div>
<div id="outline-container-org0250b01" class="outline-3">
<h3 id="org0250b01"><span class="section-number-3">2.2</span> Initialize the Stewart platform</h3>
<div id="outline-container-orgdb540d4" class="outline-3">
<h3 id="orgdb540d4"><span class="section-number-3">2.2</span> Initialize the Stewart platform</h3>
<div class="outline-text-3" id="text-2-2">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-comment">% Stewart Platform</span>
@@ -689,8 +675,8 @@ references = initializeReferences(stewart);
</div>
</div>
<div id="outline-container-orgf2a4e09" class="outline-3">
<h3 id="orgf2a4e09"><span class="section-number-3">2.3</span> Identification of the plant</h3>
<div id="outline-container-org7e2bbea" class="outline-3">
<h3 id="org7e2bbea"><span class="section-number-3">2.3</span> Identification of the plant</h3>
<div class="outline-text-3" id="text-2-3">
<p>
Let&rsquo;s identify the transfer function from \(\bm{\tau}\) to \(\bm{\mathcal{X}}\).
@@ -720,13 +706,13 @@ G.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-string">'
<a id="org31fd942"></a>
</p>
</div>
<div id="outline-container-org8e1e62c" class="outline-4">
<h4 id="org8e1e62c"><span class="section-number-4">2.4.1</span> Control Architecture</h4>
<div id="outline-container-org42dc407" class="outline-4">
<h4 id="org42dc407"><span class="section-number-4">2.4.1</span> Control Architecture</h4>
<div class="outline-text-4" id="text-2-4-1">
<p>
The pose error \(\bm{\epsilon}_\mathcal{X}\) is first converted in the frame of the leg by using the Jacobian matrix.
Then a diagonal controller \(\bm{K}_\mathcal{L}\) is designed.
The final implemented controller is \(\bm{K} = \bm{K}_\mathcal{L} \cdot \bm{J}\) as shown in Figure <a href="#orgb1f5ad2">10</a>
The final implemented controller is \(\bm{K} = \bm{K}_\mathcal{L} \cdot \bm{J}\) as shown in Figure <a href="#orgb1f5ad2">9</a>
</p>
<p>
@@ -737,16 +723,16 @@ Note here that the transformation from the pose error \(\bm{\epsilon}_\mathcal{X
<div id="orgb1f5ad2" class="figure">
<p><img src="figs/centralized_reference_tracking_L.png" alt="centralized_reference_tracking_L.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Controller in the frame of the legs</p>
<p><span class="figure-number">Figure 9: </span>Controller in the frame of the legs</p>
</div>
</div>
</div>
<div id="outline-container-org133ca61" class="outline-4">
<h4 id="org133ca61"><span class="section-number-4">2.4.2</span> Plant Analysis</h4>
<div id="outline-container-org33774e9" class="outline-4">
<h4 id="org33774e9"><span class="section-number-4">2.4.2</span> Plant Analysis</h4>
<div class="outline-text-4" id="text-2-4-2">
<p>
We now multiply the plant by the Jacobian matrix as shown in Figure <a href="#orgb1f5ad2">10</a> to obtain a more diagonal plant.
We now multiply the plant by the Jacobian matrix as shown in Figure <a href="#orgb1f5ad2">9</a> to obtain a more diagonal plant.
</p>
<div class="org-src-container">
@@ -755,27 +741,17 @@ Gl.OutputName = {<span class="org-string">'D1'</span>, <span class="org-string"
</pre>
</div>
<div id="org6658ce5" class="figure">
<p><img src="figs/plant_centralized_diagonal_L.png" alt="plant_centralized_diagonal_L.png" />
</p>
<p><span class="figure-number">Figure 11: </span>Diagonal Elements of the plant \(\bm{J} \bm{G}\) (<a href="./figs/plant_centralized_diagonal_L.png">png</a>, <a href="./figs/plant_centralized_diagonal_L.pdf">pdf</a>)</p>
</div>
<p>
All the diagonal elements are identical.
The bode plot of the plant is shown in Figure <a href="#org6c8d99f">10</a>.
We can see that the diagonal elements are identical.
This will simplify the design of the controller as all the elements of the diagonal controller can be made identical.
</p>
<p>
The off-diagonal terms of the controller are shown in Figure <a href="#orgba050e4">12</a>.
</p>
<div id="orgba050e4" class="figure">
<p><img src="figs/plant_centralized_off_diagonal_L.png" alt="plant_centralized_off_diagonal_L.png" />
<div id="org6c8d99f" class="figure">
<p><img src="figs/plant_centralized_L.png" alt="plant_centralized_L.png" />
</p>
<p><span class="figure-number">Figure 12: </span>Off Diagonal Elements of the plant \(\bm{J} \bm{G}\) (<a href="./figs/plant_centralized_off_diagonal_L.png">png</a>, <a href="./figs/plant_centralized_off_diagonal_L.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 10: </span>Diagonal and off-diagonal elements of the plant \(\bm{K}\bm{G}\) (<a href="./figs/plant_centralized_L.png">png</a>, <a href="./figs/plant_centralized_L.pdf">pdf</a>)</p>
</div>
<p>
@@ -793,8 +769,8 @@ Thus \(J \cdot G(\omega = 0) = J \cdot \frac{\delta\bm{\mathcal{X}}}{\delta\bm{\
</div>
</div>
<div id="outline-container-org6afc297" class="outline-4">
<h4 id="org6afc297"><span class="section-number-4">2.4.3</span> Controller Design</h4>
<div id="outline-container-orgc7ddab1" class="outline-4">
<h4 id="orgc7ddab1"><span class="section-number-4">2.4.3</span> Controller Design</h4>
<div class="outline-text-4" id="text-2-4-3">
<p>
The controller consists of:
@@ -805,7 +781,7 @@ The controller consists of:
</ul>
<p>
The obtained loop gains corresponding to the diagonal elements are shown in Figure <a href="#orga803083">13</a>.
The obtained loop gains corresponding to the diagonal elements are shown in Figure <a href="#orga803083">11</a>.
</p>
<div class="org-src-container">
@@ -818,7 +794,7 @@ Kl = diag(1<span class="org-type">./</span>diag(abs(freqresp(Gl, wc)))) <span cl
<div id="orga803083" class="figure">
<p><img src="figs/loop_gain_centralized_L.png" alt="loop_gain_centralized_L.png" />
</p>
<p><span class="figure-number">Figure 13: </span>Loop Gain of the diagonal elements (<a href="./figs/loop_gain_centralized_L.png">png</a>, <a href="./figs/loop_gain_centralized_L.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 11: </span>Loop Gain of the diagonal elements (<a href="./figs/loop_gain_centralized_L.png">png</a>, <a href="./figs/loop_gain_centralized_L.pdf">pdf</a>)</p>
</div>
<p>
@@ -831,8 +807,8 @@ The controller \(\bm{K} = \bm{K}_\mathcal{L} \bm{J}\) is computed.
</div>
</div>
<div id="outline-container-orgdb24c37" class="outline-4">
<h4 id="orgdb24c37"><span class="section-number-4">2.4.4</span> Simulation</h4>
<div id="outline-container-org3021cf3" class="outline-4">
<h4 id="org3021cf3"><span class="section-number-4">2.4.4</span> Simulation</h4>
<div class="outline-text-4" id="text-2-4-4">
<p>
We specify the reference path to follow.
@@ -876,11 +852,11 @@ save(<span class="org-string">'./mat/control_tracking.mat'</span>, <span class="
<a id="orgfd201c3"></a>
</p>
</div>
<div id="outline-container-org0f41ce9" class="outline-4">
<h4 id="org0f41ce9"><span class="section-number-4">2.5.1</span> Control Architecture</h4>
<div id="outline-container-org185190b" class="outline-4">
<h4 id="org185190b"><span class="section-number-4">2.5.1</span> Control Architecture</h4>
<div class="outline-text-4" id="text-2-5-1">
<p>
A diagonal controller \(\bm{K}_\mathcal{X}\) take the pose error \(\bm{\epsilon}_\mathcal{X}\) and generate cartesian forces \(\bm{\mathcal{F}}\) that are then converted to actuators forces using the Jacobian as shown in Figure e <a href="#org6b158db">14</a>.
A diagonal controller \(\bm{K}_\mathcal{X}\) take the pose error \(\bm{\epsilon}_\mathcal{X}\) and generate cartesian forces \(\bm{\mathcal{F}}\) that are then converted to actuators forces using the Jacobian as shown in Figure e <a href="#org6b158db">12</a>.
</p>
<p>
@@ -891,16 +867,16 @@ The final implemented controller is \(\bm{K} = \bm{J}^{-T} \cdot \bm{K}_\mathcal
<div id="org6b158db" class="figure">
<p><img src="figs/centralized_reference_tracking_X.png" alt="centralized_reference_tracking_X.png" />
</p>
<p><span class="figure-number">Figure 14: </span>Controller in the cartesian frame</p>
<p><span class="figure-number">Figure 12: </span>Controller in the cartesian frame</p>
</div>
</div>
</div>
<div id="outline-container-org9691244" class="outline-4">
<h4 id="org9691244"><span class="section-number-4">2.5.2</span> Plant Analysis</h4>
<div id="outline-container-orgac4e8f3" class="outline-4">
<h4 id="orgac4e8f3"><span class="section-number-4">2.5.2</span> Plant Analysis</h4>
<div class="outline-text-4" id="text-2-5-2">
<p>
We now multiply the plant by the Jacobian matrix as shown in Figure <a href="#org6b158db">14</a> to obtain a more diagonal plant.
We now multiply the plant by the Jacobian matrix as shown in Figure <a href="#org6b158db">12</a> to obtain a more diagonal plant.
</p>
<div class="org-src-container">
@@ -910,10 +886,10 @@ Gx.InputName = {<span class="org-string">'Fx'</span>, <span class="org-string">
</div>
<div id="org2b61181" class="figure">
<p><img src="figs/plant_centralized_diagonal_X.png" alt="plant_centralized_diagonal_X.png" />
<div id="org0173211" class="figure">
<p><img src="figs/plant_centralized_X.png" alt="plant_centralized_X.png" />
</p>
<p><span class="figure-number">Figure 15: </span>Diagonal Elements of the plant \(\bm{G} \bm{J}^{-T}\) (<a href="./figs/plant_centralized_diagonal_X.png">png</a>, <a href="./figs/plant_centralized_diagonal_X.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 13: </span>Diagonal and off-diagonal elements of the plant \(\bm{G} \bm{J}^{-T}\) (<a href="./figs/plant_centralized_X.png">png</a>, <a href="./figs/plant_centralized_X.pdf">pdf</a>)</p>
</div>
<p>
@@ -922,13 +898,6 @@ The resonances of the system are &ldquo;decoupled&rdquo;.
For instance, the vertical resonance of the system is only present on the diagonal term corresponding to \(D_z/\mathcal{F}_z\).
</p>
<div id="org1ff5b9c" class="figure">
<p><img src="figs/plant_centralized_off_diagonal_X.png" alt="plant_centralized_off_diagonal_X.png" />
</p>
<p><span class="figure-number">Figure 16: </span>Off Diagonal Elements of the plant \(\bm{G} \bm{J}^{-T}\) (<a href="./figs/plant_centralized_off_diagonal_X.png">png</a>, <a href="./figs/plant_centralized_off_diagonal_X.pdf">pdf</a>)</p>
</div>
<p>
Here the system is almost decoupled at all frequencies except for the transfer functions \(\frac{R_y}{\mathcal{F}_x}\) and \(\frac{R_x}{\mathcal{F}_y}\).
</p>
@@ -1019,8 +988,8 @@ This control architecture can also give a dynamically decoupled plant if the Cen
</div>
</div>
<div id="outline-container-org7f32f8e" class="outline-4">
<h4 id="org7f32f8e"><span class="section-number-4">2.5.3</span> Controller Design</h4>
<div id="outline-container-org87c1a48" class="outline-4">
<h4 id="org87c1a48"><span class="section-number-4">2.5.3</span> Controller Design</h4>
<div class="outline-text-4" id="text-2-5-3">
<p>
The controller consists of:
@@ -1031,7 +1000,7 @@ The controller consists of:
</ul>
<p>
The obtained loop gains corresponding to the diagonal elements are shown in Figure <a href="#org9051c86">17</a>.
The obtained loop gains corresponding to the diagonal elements are shown in Figure <a href="#org9051c86">14</a>.
</p>
<div class="org-src-container">
@@ -1044,7 +1013,7 @@ Kx = diag(1<span class="org-type">./</span>diag(abs(freqresp(Gx, wc)))) <span cl
<div id="org9051c86" class="figure">
<p><img src="figs/loop_gain_centralized_X.png" alt="loop_gain_centralized_X.png" />
</p>
<p><span class="figure-number">Figure 17: </span>Loop Gain of the diagonal elements (<a href="./figs/loop_gain_centralized_X.png">png</a>, <a href="./figs/loop_gain_centralized_X.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 14: </span>Loop Gain of the diagonal elements (<a href="./figs/loop_gain_centralized_X.png">png</a>, <a href="./figs/loop_gain_centralized_X.pdf">pdf</a>)</p>
</div>
<p>
@@ -1057,8 +1026,8 @@ The controller \(\bm{K} = \bm{J}^{-T} \bm{K}_\mathcal{X}\) is computed.
</div>
</div>
<div id="outline-container-orgac9e2fb" class="outline-4">
<h4 id="orgac9e2fb"><span class="section-number-4">2.5.4</span> Simulation</h4>
<div id="outline-container-org73875ca" class="outline-4">
<h4 id="org73875ca"><span class="section-number-4">2.5.4</span> Simulation</h4>
<div class="outline-text-4" id="text-2-5-4">
<p>
We specify the reference path to follow.
@@ -1102,8 +1071,8 @@ save(<span class="org-string">'./mat/control_tracking.mat'</span>, <span class="
<a id="org789ba4a"></a>
</p>
</div>
<div id="outline-container-org42dc407" class="outline-4">
<h4 id="org42dc407"><span class="section-number-4">2.6.1</span> Control Architecture</h4>
<div id="outline-container-orgdeee29c" class="outline-4">
<h4 id="orgdeee29c"><span class="section-number-4">2.6.1</span> Control Architecture</h4>
<div class="outline-text-4" id="text-2-6-1">
<p>
The plant \(\bm{G}\) is pre-multiply by \(\bm{G}^{-1}(\omega = 0)\) such that the &ldquo;shaped plant&rdquo; \(\bm{G}_0 = \bm{G} \bm{G}^{-1}(\omega = 0)\) is diagonal at low frequency.
@@ -1114,24 +1083,24 @@ Then a diagonal controller \(\bm{K}_0\) is designed.
</p>
<p>
The control architecture is shown in Figure <a href="#orgb226e44">18</a>.
The control architecture is shown in Figure <a href="#orgb226e44">15</a>.
</p>
<div id="orgb226e44" class="figure">
<p><img src="figs/centralized_reference_tracking_S.png" alt="centralized_reference_tracking_S.png" />
</p>
<p><span class="figure-number">Figure 18: </span>Static Decoupling of the Plant</p>
<p><span class="figure-number">Figure 15: </span>Static Decoupling of the Plant</p>
</div>
</div>
</div>
<div id="outline-container-org346704a" class="outline-4">
<h4 id="org346704a"><span class="section-number-4">2.6.2</span> Plant Analysis</h4>
<div id="outline-container-org4c98210" class="outline-4">
<h4 id="org4c98210"><span class="section-number-4">2.6.2</span> Plant Analysis</h4>
<div class="outline-text-4" id="text-2-6-2">
<p>
The plant is pre-multiplied by \(\bm{G}^{-1}(\omega = 0)\).
The diagonal elements of the shaped plant are shown in Figure <a href="#orgc15aa83">19</a>.
The diagonal and off-diagonal elements of the shaped plant are shown in Figure <a href="#org0b73eca">16</a>.
</p>
<div class="org-src-container">
@@ -1140,23 +1109,16 @@ The diagonal elements of the shaped plant are shown in Figure <a href="#orgc15aa
</div>
<div id="orgc15aa83" class="figure">
<p><img src="figs/plant_centralized_diagonal_SD.png" alt="plant_centralized_diagonal_SD.png" />
<div id="org0b73eca" class="figure">
<p><img src="figs/plant_centralized_SD.png" alt="plant_centralized_SD.png" />
</p>
<p><span class="figure-number">Figure 19: </span>Diagonal Elements of the plant \(\bm{G} \bm{G}^{-1}(\omega = 0)\) (<a href="./figs/plant_centralized_diagonal_SD.png">png</a>, <a href="./figs/plant_centralized_diagonal_SD.pdf">pdf</a>)</p>
</div>
<div id="orga6b8b41" class="figure">
<p><img src="figs/plant_centralized_off_diagonal_SD.png" alt="plant_centralized_off_diagonal_SD.png" />
</p>
<p><span class="figure-number">Figure 20: </span>Off Diagonal Elements of the plant \(\bm{G} \bm{J}^{-T}\) (<a href="./figs/plant_centralized_off_diagonal_SD.png">png</a>, <a href="./figs/plant_centralized_off_diagonal_SD.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 16: </span>Diagonal and off-diagonal elements of the plant \(\bm{G} \bm{G}^{-1}(\omega = 0)\) (<a href="./figs/plant_centralized_SD.png">png</a>, <a href="./figs/plant_centralized_SD.pdf">pdf</a>)</p>
</div>
</div>
</div>
<div id="outline-container-org8b2a544" class="outline-4">
<h4 id="org8b2a544"><span class="section-number-4">2.6.3</span> Controller Design</h4>
<div id="outline-container-orgbf66d4c" class="outline-4">
<h4 id="orgbf66d4c"><span class="section-number-4">2.6.3</span> Controller Design</h4>
<div class="outline-text-4" id="text-2-6-3">
<p>
We have that:
@@ -1188,7 +1150,7 @@ We have that \(\bm{K}_0(s)\) commutes with \(\bm{G}^{-1}(\omega = 0)\) and thus
<div id="orgf4c7f15" class="figure">
<p><img src="figs/centralized_control_comp_K.png" alt="centralized_control_comp_K.png" />
</p>
<p><span class="figure-number">Figure 21: </span>Comparison of the MIMO controller \(\bm{K}\) for both centralized architectures (<a href="./figs/centralized_control_comp_K.png">png</a>, <a href="./figs/centralized_control_comp_K.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 17: </span>Comparison of the MIMO controller \(\bm{K}\) for both centralized architectures (<a href="./figs/centralized_control_comp_K.png">png</a>, <a href="./figs/centralized_control_comp_K.pdf">pdf</a>)</p>
</div>
</div>
</div>
@@ -1197,11 +1159,11 @@ We have that \(\bm{K}_0(s)\) commutes with \(\bm{G}^{-1}(\omega = 0)\) and thus
<h4 id="org23ae479"><span class="section-number-4">2.7.2</span> Simulation Results</h4>
<div class="outline-text-4" id="text-2-7-2">
<p>
The position error \(\bm{\epsilon}_\mathcal{X}\) for both centralized architecture are shown in Figure <a href="#org9fa8c8a">22</a>.
The position error \(\bm{\epsilon}_\mathcal{X}\) for both centralized architecture are shown in Figure <a href="#org9fa8c8a">18</a>.
</p>
<p>
Based on Figure <a href="#org9fa8c8a">22</a>, we can see that:
Based on Figure <a href="#org9fa8c8a">18</a>, we can see that:
</p>
<ul class="org-ul">
<li>There is some tracking error \(\epsilon_x\)</li>
@@ -1216,14 +1178,14 @@ This error is much lower when using the diagonal control in the frame of the leg
<div id="org9fa8c8a" class="figure">
<p><img src="figs/centralized_control_comp_Ex.png" alt="centralized_control_comp_Ex.png" />
</p>
<p><span class="figure-number">Figure 22: </span>Comparison of the position error \(\bm{\epsilon}_\mathcal{X}\) for both centralized controllers (<a href="./figs/centralized_control_comp_Ex.png">png</a>, <a href="./figs/centralized_control_comp_Ex.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 18: </span>Comparison of the position error \(\bm{\epsilon}_\mathcal{X}\) for both centralized controllers (<a href="./figs/centralized_control_comp_Ex.png">png</a>, <a href="./figs/centralized_control_comp_Ex.pdf">pdf</a>)</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgc7e00b3" class="outline-3">
<h3 id="orgc7e00b3"><span class="section-number-3">2.8</span> Conclusion</h3>
<div id="outline-container-orgd2764a2" class="outline-3">
<h3 id="orgd2764a2"><span class="section-number-3">2.8</span> Conclusion</h3>
<div class="outline-text-3" id="text-2-8">
<p>
Both control architecture gives similar results even tough the control in the Leg&rsquo;s frame gives slightly better results.
@@ -1306,11 +1268,11 @@ Thus, this method should be quite robust against parameter variation (e.g. the p
<a id="org14e3e5f"></a>
</p>
</div>
<div id="outline-container-orgaf4f125" class="outline-3">
<h3 id="orgaf4f125"><span class="section-number-3">3.1</span> Control Schematic</h3>
<div id="outline-container-org539565c" class="outline-3">
<h3 id="org539565c"><span class="section-number-3">3.1</span> Control Schematic</h3>
<div class="outline-text-3" id="text-3-1">
<p>
Let&rsquo;s consider the control schematic shown in Figure <a href="#org3a1b1db">23</a>.
Let&rsquo;s consider the control schematic shown in Figure <a href="#org3a1b1db">19</a>.
</p>
<p>
@@ -1343,13 +1305,13 @@ This second loop is responsible for the reference tracking.
<div id="org3a1b1db" class="figure">
<p><img src="figs/hybrid_reference_tracking.png" alt="hybrid_reference_tracking.png" />
</p>
<p><span class="figure-number">Figure 23: </span>Hybrid Control Architecture</p>
<p><span class="figure-number">Figure 19: </span>Hybrid Control Architecture</p>
</div>
</div>
</div>
<div id="outline-container-org5efa5dc" class="outline-3">
<h3 id="org5efa5dc"><span class="section-number-3">3.2</span> Initialize the Stewart platform</h3>
<div id="outline-container-orga9bdd4e" class="outline-3">
<h3 id="orga9bdd4e"><span class="section-number-3">3.2</span> Initialize the Stewart platform</h3>
<div class="outline-text-3" id="text-3-2">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-comment">% Stewart Platform</span>
@@ -1384,8 +1346,8 @@ references = initializeReferences(stewart);
<h3 id="org3274a98"><span class="section-number-3">3.3</span> First Control Loop - \(\bm{K}_\mathcal{L}\)</h3>
<div class="outline-text-3" id="text-3-3">
</div>
<div id="outline-container-orgfb552d7" class="outline-4">
<h4 id="orgfb552d7"><span class="section-number-4">3.3.1</span> Identification</h4>
<div id="outline-container-orgd69b37c" class="outline-4">
<h4 id="orgd69b37c"><span class="section-number-4">3.3.1</span> Identification</h4>
<div class="outline-text-4" id="text-3-3-1">
<p>
Let&rsquo;s identify the transfer function from \(\bm{\tau}\) to \(\bm{L}\).
@@ -1408,31 +1370,24 @@ Gl.OutputName = {<span class="org-string">'L1'</span>, <span class="org-string">
</div>
</div>
<div id="outline-container-orge84aa66" class="outline-4">
<h4 id="orge84aa66"><span class="section-number-4">3.3.2</span> Obtained Plant</h4>
<div id="outline-container-org2a634da" class="outline-4">
<h4 id="org2a634da"><span class="section-number-4">3.3.2</span> Obtained Plant</h4>
<div class="outline-text-4" id="text-3-3-2">
<p>
The diagonal elements of the plant are shown in Figure <a href="#org687a922">24</a> while the off diagonal terms are shown in Figure <a href="#orge568b8a">25</a>.
The obtained plant is shown in Figure <a href="#orgf627577">20</a>.
</p>
<div id="org687a922" class="figure">
<p><img src="figs/hybrid_control_Kl_plant_diagonal.png" alt="hybrid_control_Kl_plant_diagonal.png" />
<div id="orgf627577" class="figure">
<p><img src="figs/hybrid_control_Kl_plant.png" alt="hybrid_control_Kl_plant.png" />
</p>
<p><span class="figure-number">Figure 24: </span>Diagonal elements of the plant for the design of \(\bm{K}_\mathcal{L}\) (<a href="./figs/hybrid_control_Kl_plant_diagonal.png">png</a>, <a href="./figs/hybrid_control_Kl_plant_diagonal.pdf">pdf</a>)</p>
</div>
<div id="orge568b8a" class="figure">
<p><img src="figs/hybrid_control_Kl_plant_off_diagonal.png" alt="hybrid_control_Kl_plant_off_diagonal.png" />
</p>
<p><span class="figure-number">Figure 25: </span>Off-diagonal elements of the plant for the design of \(\bm{K}_\mathcal{L}\) (<a href="./figs/hybrid_control_Kl_plant_off_diagonal.png">png</a>, <a href="./figs/hybrid_control_Kl_plant_off_diagonal.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 20: </span>Diagonal and off-diagonal elements of the plant for the design of \(\bm{K}_\mathcal{L}\) (<a href="./figs/hybrid_control_Kl_plant.png">png</a>, <a href="./figs/hybrid_control_Kl_plant.pdf">pdf</a>)</p>
</div>
</div>
</div>
<div id="outline-container-orgfeef351" class="outline-4">
<h4 id="orgfeef351"><span class="section-number-4">3.3.3</span> Controller Design</h4>
<div id="outline-container-org23695fa" class="outline-4">
<h4 id="org23695fa"><span class="section-number-4">3.3.3</span> Controller Design</h4>
<div class="outline-text-4" id="text-3-3-3">
<p>
We apply a decentralized (diagonal) direct velocity feedback.
@@ -1442,7 +1397,7 @@ The gain of the controller is chosen such that the resonances are critically dam
</p>
<p>
The obtain loop gain is shown in Figure <a href="#orgb74befe">26</a>.
The obtain loop gain is shown in Figure <a href="#orgb74befe">21</a>.
</p>
<div class="org-src-container">
@@ -1454,7 +1409,7 @@ The obtain loop gain is shown in Figure <a href="#orgb74befe">26</a>.
<div id="orgb74befe" class="figure">
<p><img src="figs/hybrid_control_Kl_loop_gain.png" alt="hybrid_control_Kl_loop_gain.png" />
</p>
<p><span class="figure-number">Figure 26: </span>Obtain Loop Gain for the DVF control loop (<a href="./figs/hybrid_control_Kl_loop_gain.png">png</a>, <a href="./figs/hybrid_control_Kl_loop_gain.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 21: </span>Obtain Loop Gain for the DVF control loop (<a href="./figs/hybrid_control_Kl_loop_gain.png">png</a>, <a href="./figs/hybrid_control_Kl_loop_gain.pdf">pdf</a>)</p>
</div>
</div>
</div>
@@ -1464,8 +1419,8 @@ The obtain loop gain is shown in Figure <a href="#orgb74befe">26</a>.
<h3 id="org8440c0b"><span class="section-number-3">3.4</span> Second Control Loop - \(\bm{K}_\mathcal{X}\)</h3>
<div class="outline-text-3" id="text-3-4">
</div>
<div id="outline-container-orgd69b37c" class="outline-4">
<h4 id="orgd69b37c"><span class="section-number-4">3.4.1</span> Identification</h4>
<div id="outline-container-orgeec6c35" class="outline-4">
<h4 id="orgeec6c35"><span class="section-number-4">3.4.1</span> Identification</h4>
<div class="outline-text-4" id="text-3-4-1">
<div class="org-src-container">
<pre class="src src-matlab">Kx = tf(zeros(6));
@@ -1492,8 +1447,8 @@ G.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-string">'
</div>
</div>
<div id="outline-container-org2a634da" class="outline-4">
<h4 id="org2a634da"><span class="section-number-4">3.4.2</span> Obtained Plant</h4>
<div id="outline-container-org57836ee" class="outline-4">
<h4 id="org57836ee"><span class="section-number-4">3.4.2</span> Obtained Plant</h4>
<div class="outline-text-4" id="text-3-4-2">
<p>
We use the Jacobian matrix to apply forces in the cartesian frame.
@@ -1505,19 +1460,19 @@ Gx.InputName = {<span class="org-string">'Fx'</span>, <span class="org-string">
</div>
<p>
The obtained plant is shown in Figure <a href="#org2517e3d">27</a>.
The obtained plant is shown in Figure <a href="#org2517e3d">22</a>.
</p>
<div id="org2517e3d" class="figure">
<p><img src="figs/hybrid_control_Kx_plant.png" alt="hybrid_control_Kx_plant.png" />
</p>
<p><span class="figure-number">Figure 27: </span>Diagonal and Off-diagonal elements of the plant for the design of \(\bm{K}_\mathcal{L}\) (<a href="./figs/hybrid_control_Kx_plant.png">png</a>, <a href="./figs/hybrid_control_Kx_plant.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 22: </span>Diagonal and Off-diagonal elements of the plant for the design of \(\bm{K}_\mathcal{L}\) (<a href="./figs/hybrid_control_Kx_plant.png">png</a>, <a href="./figs/hybrid_control_Kx_plant.pdf">pdf</a>)</p>
</div>
</div>
</div>
<div id="outline-container-org303d728" class="outline-4">
<h4 id="org303d728"><span class="section-number-4">3.4.3</span> Controller Design</h4>
<div id="outline-container-orgcebb0d5" class="outline-4">
<h4 id="orgcebb0d5"><span class="section-number-4">3.4.3</span> Controller Design</h4>
<div class="outline-text-4" id="text-3-4-3">
<p>
The controller consists of:
@@ -1545,7 +1500,7 @@ Kx = Kx<span class="org-type">.*</span>diag(1<span class="org-type">./</span>dia
<div id="org30ad867" class="figure">
<p><img src="figs/hybrid_control_Kx_loop_gain.png" alt="hybrid_control_Kx_loop_gain.png" />
</p>
<p><span class="figure-number">Figure 28: </span>Obtained Loop Gain for the controller \(\bm{K}_\mathcal{X}\) (<a href="./figs/hybrid_control_Kx_loop_gain.png">png</a>, <a href="./figs/hybrid_control_Kx_loop_gain.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 23: </span>Obtained Loop Gain for the controller \(\bm{K}_\mathcal{X}\) (<a href="./figs/hybrid_control_Kx_loop_gain.png">png</a>, <a href="./figs/hybrid_control_Kx_loop_gain.pdf">pdf</a>)</p>
</div>
<p>
@@ -1590,20 +1545,20 @@ save(<span class="org-string">'./mat/control_tracking.mat'</span>, <span class="
</div>
<p>
The obtained position error is shown in Figure <a href="#org19456cf">29</a>.
The obtained position error is shown in Figure <a href="#org19456cf">24</a>.
</p>
<div id="org19456cf" class="figure">
<p><img src="figs/hybrid_control_Ex.png" alt="hybrid_control_Ex.png" />
</p>
<p><span class="figure-number">Figure 29: </span>Obtained position error \(\bm{\epsilon}_\mathcal{X}\) (<a href="./figs/hybrid_control_Ex.png">png</a>, <a href="./figs/hybrid_control_Ex.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 24: </span>Obtained position error \(\bm{\epsilon}_\mathcal{X}\) (<a href="./figs/hybrid_control_Ex.png">png</a>, <a href="./figs/hybrid_control_Ex.pdf">pdf</a>)</p>
</div>
</div>
</div>
<div id="outline-container-org8f3d960" class="outline-3">
<h3 id="org8f3d960"><span class="section-number-3">3.6</span> Conclusion</h3>
<div id="outline-container-org771bea0" class="outline-3">
<h3 id="org771bea0"><span class="section-number-3">3.6</span> Conclusion</h3>
</div>
</div>
@@ -1615,7 +1570,7 @@ The obtained position error is shown in Figure <a href="#org19456cf">29</a>.
</p>
<p>
Let&rsquo;s load the simulation results and compare them in Figure <a href="#org6fa53fa">30</a>.
Let&rsquo;s load the simulation results and compare them in Figure <a href="#org6fa53fa">25</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/control_tracking.mat'</span>, <span class="org-string">'simout_D'</span>, <span class="org-string">'simout_L'</span>, <span class="org-string">'simout_X'</span>, <span class="org-string">'simout_H'</span>);
@@ -1626,7 +1581,7 @@ Let&rsquo;s load the simulation results and compare them in Figure <a href="#org
<div id="org6fa53fa" class="figure">
<p><img src="figs/reference_tracking_performance_comparison.png" alt="reference_tracking_performance_comparison.png" />
</p>
<p><span class="figure-number">Figure 30: </span>Comparison of the position errors for all the Control architecture used (<a href="./figs/reference_tracking_performance_comparison.png">png</a>, <a href="./figs/reference_tracking_performance_comparison.pdf">pdf</a>)</p>
<p><span class="figure-number">Figure 25: </span>Comparison of the position errors for all the Control architecture used (<a href="./figs/reference_tracking_performance_comparison.png">png</a>, <a href="./figs/reference_tracking_performance_comparison.pdf">pdf</a>)</p>
</div>
</div>
</div>
@@ -1767,7 +1722,7 @@ Erz = atan2(<span class="org-type">-</span>T(1, 2)<span class="org-type">/</span
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-03-13 ven. 13:23</p>
<p class="date">Created: 2020-03-16 lun. 11:22</p>
</div>
</body>
</html>